↑ Up

DT2H2X---1.9.5.THM-Ref.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : DT2H2X---1.9.5
% Problem  : ITP198^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 : n004.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:56:21 AM UTC 2026

% Result   : Theorem 2.87s 1.62s
% Output   : Refutation 2.87s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : ITP198^2 : TPTP v9.2.1. Released v7.5.0.
% 0.11/0.13  % Command  : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.15/0.34  % Computer : n004.cluster.edu
% 0.15/0.34  % Model    : x86_64 x86_64
% 0.15/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.34  % Memory   : 8042.1875MB
% 0.15/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.34  % CPULimit : 300
% 0.15/0.34  % WCLimit  : 300
% 0.15/0.34  % DateTime : Tue Feb 24 08:30:11 EST 2026
% 0.15/0.34  % CPUTime  : 
% 0.15/0.34  Running /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.28/0.46  ---- Original DTF file ---
% 0.28/0.47  thf(spec,logic,$$dhol).
% 0.28/0.47  %------------------------------------------------------------------------------
% 0.28/0.47  % File     : ITP198^2 : TPTP v9.2.1. Released v7.5.0.
% 0.28/0.47  % Domain   : Interactive Theorem Proving
% 0.28/0.47  % Problem  : Sledgehammer USubst problem prob_1023__6346468_1
% 0.28/0.47  % Version  : Especial.
% 0.28/0.47  % English  :
% 0.28/0.47  
% 0.28/0.47  % Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% 0.28/0.47  %          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% 0.28/0.47  % Source   : [Des21]
% 0.28/0.47  % Names    : USubst/prob_1023__6346468_1 [Des21]
% 0.28/0.47  
% 0.28/0.47  % Status   : Theorem
% 0.28/0.47  % Rating   : 0.33 v8.1.0, 0.25 v7.5.0
% 0.28/0.47  % Syntax   : Number of formulae    :  312 ( 159 unt;  52 typ;   0 def)
% 0.28/0.47  %            Number of atoms       :  534 ( 320 equ;   0 cnn)
% 0.28/0.47  %            Maximal formula atoms :    6 (   2 avg)
% 0.28/0.47  %            Number of connectives : 4525 (  58   ~;   9   |;  48   &;4206   @)
% 0.28/0.47  %                                         (   0 <=>; 204  =>;   0  <=;   0 <~>)
% 0.28/0.47  %            Maximal formula depth :   28 (   8 avg)
% 0.28/0.47  %            Number of types       :    6 (   5 usr)
% 0.28/0.47  %            Number of type conns  :  547 ( 547   >;   0   *;   0   +;   0  <<)
% 0.28/0.47  %            Number of symbols     :   50 (  47 usr;   6 con; 0-7 aty)
% 0.28/0.47  %            Number of variables   : 1467 ( 191   ^;1196   !;  16   ?;1467   :)
% 0.28/0.47  %                                         (  64  !>;   0  ?*;   0  @-;   0  @+)
% 0.28/0.47  % SPC      : TH1_THM_EQU_NAR
% 0.28/0.47  
% 0.28/0.47  % Comments : This file was generated by Sledgehammer 2021-02-23 16:21:47.305
% 0.28/0.47  %------------------------------------------------------------------------------
% 0.28/0.47  % Could-be-implicit typings (7)
% 0.28/0.47  thf(ty_t_Denotational__Semantics_Ointerp,type,
% 0.28/0.47      denotational_interp: $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Product__Type_Ounit,type,
% 0.28/0.47      product_unit: $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Product__Type_Oprod,type,
% 0.28/0.47      product_prod: $tType > $tType > $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Syntax_Ovariable,type,
% 0.28/0.47      variable: $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_String_Ochar,type,
% 0.28/0.47      char: $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Real_Oreal,type,
% 0.28/0.47      real: $tType ).
% 0.28/0.47  
% 0.28/0.47  thf(ty_t_Set_Oset,type,
% 0.28/0.47      set: $tType > $tType ).
% 0.28/0.47  
% 0.28/0.47  % Explicit typings (45)
% 0.28/0.47  thf(sy_c_BNF__Def_OGr,type,
% 0.28/0.47      bNF_Gr: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( set @ A ) > ( A > B ) > ( set @ ( product_prod @ A @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Denotational__Semantics_OConsts,type,
% 0.28/0.47      denotational_Consts: denotational_interp > char > real ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Denotational__Semantics_OFuncs,type,
% 0.28/0.47      denotational_Funcs: denotational_interp > char > real > real ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Denotational__Semantics_OGames,type,
% 0.28/0.47      denotational_Games: denotational_interp > char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Denotational__Semantics_OPreds,type,
% 0.28/0.47      denotational_Preds: denotational_interp > char > real > $o ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Denotational__Semantics_Omkinterp,type,
% 0.28/0.47      denota1150374853interp: ( product_prod @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) ) > denotational_interp ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Denotational__Semantics_Oworlds,type,
% 0.28/0.47      denotational_worlds: set @ ( variable > real ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Fun__Def_Oreduction__pair,type,
% 0.28/0.47      fun_reduction_pair: 
% 0.28/0.47        !>[A: $tType] : ( ( product_prod @ ( set @ ( product_prod @ A @ A ) ) @ ( set @ ( product_prod @ A @ A ) ) ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Fun__Def_Orp__inv__image,type,
% 0.28/0.47      fun_rp_inv_image: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( product_prod @ ( set @ ( product_prod @ A @ A ) ) @ ( set @ ( product_prod @ A @ A ) ) ) > ( B > A ) > ( product_prod @ ( set @ ( product_prod @ B @ B ) ) @ ( set @ ( product_prod @ B @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_HOL_OThe,type,
% 0.28/0.47      the: 
% 0.28/0.47        !>[A: $tType] : ( ( A > $o ) > A ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_If,type,
% 0.28/0.47      if: 
% 0.28/0.47        !>[A: $tType] : ( $o > A > A > A ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Orderings_Obot__class_Obot,type,
% 0.28/0.47      bot_bot: 
% 0.28/0.47        !>[A: $tType] : A ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 0.28/0.47      ord_less_eq: 
% 0.28/0.47        !>[A: $tType] : ( A > A > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Orderings_Oorder__class_Omono,type,
% 0.28/0.47      order_mono: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > B ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Orderings_Otop__class_Otop,type,
% 0.28/0.47      top_top: 
% 0.28/0.47        !>[A: $tType] : A ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_OPair,type,
% 0.28/0.47      product_Pair: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_OPair__Rep,type,
% 0.28/0.47      product_Pair_Rep: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( A > B > A > B > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_OSigma,type,
% 0.28/0.47      product_Sigma: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( set @ A ) > ( A > ( set @ B ) ) > ( set @ ( product_prod @ A @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Ocurry,type,
% 0.28/0.47      product_curry: 
% 0.28/0.47        !>[A: $tType,B: $tType,C: $tType] : ( ( ( product_prod @ A @ B ) > C ) > A > B > C ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 0.28/0.47      produc2004651681e_prod: 
% 0.28/0.47        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Omap__prod,type,
% 0.28/0.47      product_map_prod: 
% 0.28/0.47        !>[A: $tType,C: $tType,B: $tType,D: $tType] : ( ( A > C ) > ( B > D ) > ( product_prod @ A @ B ) > ( product_prod @ C @ D ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oold_Obool_Orec__bool,type,
% 0.28/0.47      product_rec_bool: 
% 0.28/0.47        !>[T: $tType] : ( T > T > $o > T ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oold_Obool_Orec__set__bool,type,
% 0.28/0.47      product_rec_set_bool: 
% 0.28/0.47        !>[T: $tType] : ( T > T > $o > T > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 0.28/0.47      product_rec_prod: 
% 0.28/0.47        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oold_Oprod_Orec__set__prod,type,
% 0.28/0.47      product_rec_set_prod: 
% 0.28/0.47        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oold_Ounit_Orec__set__unit,type,
% 0.28/0.47      product_rec_set_unit: 
% 0.28/0.47        !>[T: $tType] : ( T > product_unit > T > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oold_Ounit_Orec__unit,type,
% 0.28/0.47      product_rec_unit: 
% 0.28/0.47        !>[T: $tType] : ( T > product_unit > T ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oprod_OAbs__prod,type,
% 0.28/0.47      product_Abs_prod: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > B > $o ) > ( product_prod @ A @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oprod_Ocase__prod,type,
% 0.28/0.47      product_case_prod: 
% 0.28/0.47        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oprod_Ofst,type,
% 0.28/0.47      product_fst: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > A ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oprod_Osnd,type,
% 0.28/0.47      product_snd: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > B ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oprod_Oswap,type,
% 0.28/0.47      product_swap: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > ( product_prod @ B @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Product__Type_Oproduct,type,
% 0.28/0.47      product_product: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( set @ A ) > ( set @ B ) > ( set @ ( product_prod @ A @ B ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Relation_Oinv__image,type,
% 0.28/0.47      inv_image: 
% 0.28/0.47        !>[B: $tType,A: $tType] : ( ( set @ ( product_prod @ B @ B ) ) > ( A > B ) > ( set @ ( product_prod @ A @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Relation_Oinv__imagep,type,
% 0.28/0.47      inv_imagep: 
% 0.28/0.47        !>[B: $tType,A: $tType] : ( ( B > B > $o ) > ( A > B ) > A > A > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Set_OCollect,type,
% 0.28/0.47      collect: 
% 0.28/0.47        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Set_Oimage,type,
% 0.28/0.47      image: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > B ) > ( set @ A ) > ( set @ B ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Set_Othe__elem,type,
% 0.28/0.47      the_elem: 
% 0.28/0.47        !>[A: $tType] : ( ( set @ A ) > A ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_USubst__Mirabelle__nnnzepxswx_Orepc,type,
% 0.28/0.47      uSubst761942615e_repc: denotational_interp > char > real > denotational_interp ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Wellfounded_Olex__prod,type,
% 0.28/0.47      lex_prod: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ B @ B ) ) > ( set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_Wfrec_Osame__fst,type,
% 0.28/0.47      same_fst: 
% 0.28/0.47        !>[A: $tType,B: $tType] : ( ( A > $o ) > ( A > ( set @ ( product_prod @ B @ B ) ) ) > ( set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_c_member,type,
% 0.28/0.47      member: 
% 0.28/0.47        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_v_I,type,
% 0.28/0.47      i: denotational_interp ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_v_d,type,
% 0.28/0.47      d: real ).
% 0.28/0.47  
% 0.28/0.47  thf(sy_v_f,type,
% 0.28/0.47      f: char ).
% 0.28/0.47  
% 0.28/0.47  % Relevant facts (256)
% 0.28/0.47  thf(fact_0_Preds__mkinterp,axiom,
% 0.28/0.47      ! [C2: char > real,F: char > real > real,P: char > real > $o,G: char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) )] :
% 0.28/0.47        ( ( denotational_Preds @ ( denota1150374853interp @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) @ C2 @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ F @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ P @ G ) ) ) ) )
% 0.28/0.47        = P ) ).
% 0.28/0.47  
% 0.28/0.47  % Preds_mkinterp
% 0.28/0.47  thf(fact_1_Funcs__mkinterp,axiom,
% 0.28/0.47      ! [C2: char > real,F: char > real > real,P: char > real > $o,G: char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) )] :
% 0.28/0.47        ( ( denotational_Funcs @ ( denota1150374853interp @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) @ C2 @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ F @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ P @ G ) ) ) ) )
% 0.28/0.47        = F ) ).
% 0.28/0.47  
% 0.28/0.47  % Funcs_mkinterp
% 0.28/0.47  thf(fact_2_Consts__mkinterp,axiom,
% 0.28/0.47      ! [C2: char > real,F: char > real > real,P: char > real > $o,G: char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) )] :
% 0.28/0.47        ( ( denotational_Consts @ ( denota1150374853interp @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) @ C2 @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ F @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ P @ G ) ) ) ) )
% 0.28/0.47        = C2 ) ).
% 0.28/0.47  
% 0.28/0.47  % Consts_mkinterp
% 0.28/0.47  thf(fact_3_mkinterp__eq,axiom,
% 0.28/0.47      ! [I: denotational_interp,J: denotational_interp] :
% 0.28/0.47        ( ( ( ( denotational_Consts @ I )
% 0.28/0.47            = ( denotational_Consts @ J ) )
% 0.28/0.47          & ( ( denotational_Funcs @ I )
% 0.28/0.47            = ( denotational_Funcs @ J ) )
% 0.28/0.47          & ( ( denotational_Preds @ I )
% 0.28/0.47            = ( denotational_Preds @ J ) )
% 0.28/0.47          & ( ( denotational_Games @ I )
% 0.28/0.47            = ( denotational_Games @ J ) ) )
% 0.28/0.47        = ( I = J ) ) ).
% 0.28/0.47  
% 0.28/0.47  % mkinterp_eq
% 0.28/0.47  thf(fact_4_repc__def,axiom,
% 0.28/0.47      ( uSubst761942615e_repc
% 0.28/0.47      = ( ^ [I2: denotational_interp,F2: char,D2: real] :
% 0.28/0.47            ( denota1150374853interp
% 0.28/0.47            @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) )
% 0.28/0.47              @ ^ [C3: char] : ( if @ real @ ( C3 = F2 ) @ D2 @ ( denotational_Consts @ I2 @ C3 ) )
% 0.28/0.47              @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ ( denotational_Funcs @ I2 ) @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ ( denotational_Preds @ I2 ) @ ( denotational_Games @ I2 ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % repc_def
% 0.28/0.47  thf(fact_5_prod__cases4,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 0.28/0.47        ~ ! [A2: A,B2: B,C4: C,D3: D] :
% 0.28/0.47            ( Y
% 0.28/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C4 @ D3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_cases4
% 0.28/0.47  thf(fact_6_prod__cases5,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 0.28/0.47        ~ ! [A2: A,B2: B,C4: C,D3: D,E2: E] :
% 0.28/0.47            ( Y
% 0.28/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C4 @ ( product_Pair @ D @ E @ D3 @ E2 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_cases5
% 0.28/0.47  thf(fact_7_prod__cases6,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) )] :
% 0.28/0.47        ~ ! [A2: A,B2: B,C4: C,D3: D,E2: E,F4: F3] :
% 0.28/0.47            ( Y
% 0.28/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) @ C4 @ ( product_Pair @ D @ ( product_prod @ E @ F3 ) @ D3 @ ( product_Pair @ E @ F3 @ E2 @ F4 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_cases6
% 0.28/0.47  thf(fact_8_prod__cases7,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F3: $tType,G2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) )] :
% 0.28/0.47        ~ ! [A2: A,B2: B,C4: C,D3: D,E2: E,F4: F3,G3: G2] :
% 0.28/0.47            ( Y
% 0.28/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) @ C4 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) @ D3 @ ( product_Pair @ E @ ( product_prod @ F3 @ G2 ) @ E2 @ ( product_Pair @ F3 @ G2 @ F4 @ G3 ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_cases7
% 0.28/0.47  thf(fact_9_prod__induct4,axiom,
% 0.28/0.47      ! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 0.28/0.47        ( ! [A2: A,B2: B,C4: C,D3: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C4 @ D3 ) ) ) )
% 0.28/0.47       => ( P @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_induct4
% 0.28/0.47  thf(fact_10_prod__induct5,axiom,
% 0.28/0.47      ! [E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 0.28/0.47        ( ! [A2: A,B2: B,C4: C,D3: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C4 @ ( product_Pair @ D @ E @ D3 @ E2 ) ) ) ) )
% 0.28/0.47       => ( P @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_induct5
% 0.28/0.47  thf(fact_11_prod__induct6,axiom,
% 0.28/0.47      ! [F3: $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 @ F3 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) )] :
% 0.28/0.47        ( ! [A2: A,B2: B,C4: C,D3: D,E2: E,F4: F3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) @ C4 @ ( product_Pair @ D @ ( product_prod @ E @ F3 ) @ D3 @ ( product_Pair @ E @ F3 @ E2 @ F4 ) ) ) ) ) )
% 0.28/0.47       => ( P @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_induct6
% 0.28/0.47  thf(fact_12_old_Oprod_Oinject,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
% 0.28/0.47        ( ( ( product_Pair @ A @ B @ A3 @ B3 )
% 0.28/0.47          = ( product_Pair @ A @ B @ A4 @ B4 ) )
% 0.28/0.47        = ( ( A3 = A4 )
% 0.28/0.47          & ( B3 = B4 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % old.prod.inject
% 0.28/0.47  thf(fact_13_prod_Oinject,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X1: A,X2: B,Y1: A,Y2: B] :
% 0.28/0.47        ( ( ( product_Pair @ A @ B @ X1 @ X2 )
% 0.28/0.47          = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
% 0.28/0.47        = ( ( X1 = Y1 )
% 0.28/0.47          & ( X2 = Y2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.inject
% 0.28/0.47  thf(fact_14_repc__consts,axiom,
% 0.28/0.47      ! [C5: char,F5: char,I: denotational_interp,D4: real] :
% 0.28/0.47        ( ( ( C5 = F5 )
% 0.28/0.47         => ( ( denotational_Consts @ ( uSubst761942615e_repc @ I @ F5 @ D4 ) @ C5 )
% 0.28/0.47            = D4 ) )
% 0.28/0.47        & ( ( C5 != F5 )
% 0.28/0.47         => ( ( denotational_Consts @ ( uSubst761942615e_repc @ I @ F5 @ D4 ) @ C5 )
% 0.28/0.47            = ( denotational_Consts @ I @ C5 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % repc_consts
% 0.28/0.47  thf(fact_15_repc__funcs,axiom,
% 0.28/0.47      ! [I: denotational_interp,F5: char,D4: real] :
% 0.28/0.47        ( ( denotational_Funcs @ ( uSubst761942615e_repc @ I @ F5 @ D4 ) )
% 0.28/0.47        = ( denotational_Funcs @ I ) ) ).
% 0.28/0.47  
% 0.28/0.47  % repc_funcs
% 0.28/0.47  thf(fact_16_old_Oprod_Oinducts,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 0.28/0.47        ( ! [A2: A,B2: B] : ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.28/0.47       => ( P @ Prod ) ) ).
% 0.28/0.47  
% 0.28/0.47  % old.prod.inducts
% 0.28/0.47  thf(fact_17_old_Oprod_Oexhaust,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 0.28/0.47        ~ ! [A2: A,B2: B] :
% 0.28/0.47            ( Y
% 0.28/0.47           != ( product_Pair @ A @ B @ A2 @ B2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % old.prod.exhaust
% 0.28/0.47  thf(fact_18_Pair__inject,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
% 0.28/0.47        ( ( ( product_Pair @ A @ B @ A3 @ B3 )
% 0.28/0.47          = ( product_Pair @ A @ B @ A4 @ B4 ) )
% 0.28/0.47       => ~ ( ( A3 = A4 )
% 0.28/0.47           => ( B3 != B4 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Pair_inject
% 0.28/0.47  thf(fact_19_prod__cases,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 0.28/0.47        ( ! [A2: A,B2: B] : ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.28/0.47       => ( P @ P2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_cases
% 0.28/0.47  thf(fact_20_surj__pair,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 0.28/0.47      ? [X3: A,Y3: B] :
% 0.28/0.47        ( P2
% 0.28/0.47        = ( product_Pair @ A @ B @ X3 @ Y3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % surj_pair
% 0.28/0.47  thf(fact_21_prod__induct3,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.28/0.47        ( ! [A2: A,B2: B,C4: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C4 ) ) )
% 0.28/0.47       => ( P @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_induct3
% 0.28/0.47  thf(fact_22_prod__cases3,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.28/0.47        ~ ! [A2: A,B2: B,C4: C] :
% 0.28/0.47            ( Y
% 0.28/0.47           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C4 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_cases3
% 0.28/0.47  thf(fact_23_prod__induct7,axiom,
% 0.28/0.47      ! [G2: $tType,F3: $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 @ F3 @ G2 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) )] :
% 0.28/0.47        ( ! [A2: A,B2: B,C4: C,D3: D,E2: E,F4: F3,G3: G2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) @ C4 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) @ D3 @ ( product_Pair @ E @ ( product_prod @ F3 @ G2 ) @ E2 @ ( product_Pair @ F3 @ G2 @ F4 @ G3 ) ) ) ) ) ) )
% 0.28/0.47       => ( P @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_induct7
% 0.28/0.47  thf(fact_24_old_Oprod_Orec,axiom,
% 0.28/0.47      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A3: A,B3: B] :
% 0.28/0.47        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.28/0.47        = ( F1 @ A3 @ B3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % old.prod.rec
% 0.28/0.47  thf(fact_25_Games__mkinterp,axiom,
% 0.28/0.47      ! [G: char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ),C2: char > real,F: char > real > real,P: char > real > $o] :
% 0.28/0.47        ( ! [A2: char] : ( order_mono @ ( set @ ( variable > real ) ) @ ( set @ ( variable > real ) ) @ ( G @ A2 ) )
% 0.28/0.47       => ( ( denotational_Games @ ( denota1150374853interp @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) @ C2 @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ F @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ P @ G ) ) ) ) )
% 0.28/0.47          = G ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Games_mkinterp
% 0.28/0.47  thf(fact_26_pred__equals__eq2,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ( ( ^ [X4: A,Y4: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y4 ) @ R ) )
% 0.28/0.47          = ( ^ [X4: A,Y4: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y4 ) @ S ) ) )
% 0.28/0.47        = ( R = S ) ) ).
% 0.28/0.47  
% 0.28/0.47  % pred_equals_eq2
% 0.28/0.47  thf(fact_27_internal__case__prod__conv,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,C: $tType,C5: B > C > A,A3: B,B3: C] :
% 0.28/0.47        ( ( produc2004651681e_prod @ B @ C @ A @ C5 @ ( product_Pair @ B @ C @ A3 @ B3 ) )
% 0.28/0.47        = ( C5 @ A3 @ B3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % internal_case_prod_conv
% 0.28/0.47  thf(fact_28_ssubst__Pair__rhs,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,R2: A,S2: B,R: set @ ( product_prod @ A @ B ),S3: B] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R2 @ S2 ) @ R )
% 0.28/0.47       => ( ( S3 = S2 )
% 0.28/0.47         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R2 @ S3 ) @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ssubst_Pair_rhs
% 0.28/0.47  thf(fact_29_curry__conv,axiom,
% 0.28/0.47      ! [A: $tType,C: $tType,B: $tType] :
% 0.28/0.47        ( ( product_curry @ B @ C @ A )
% 0.28/0.47        = ( ^ [F2: ( product_prod @ B @ C ) > A,A5: B,B5: C] : ( F2 @ ( product_Pair @ B @ C @ A5 @ B5 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % curry_conv
% 0.28/0.47  thf(fact_30_curry__def,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_curry @ A @ B @ C )
% 0.28/0.47        = ( ^ [C3: ( product_prod @ A @ B ) > C,X4: A,Y4: B] : ( C3 @ ( product_Pair @ A @ B @ X4 @ Y4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % curry_def
% 0.28/0.47  thf(fact_31_curryI,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: ( product_prod @ A @ B ) > $o,A3: A,B3: B] :
% 0.28/0.47        ( ( F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.28/0.47       => ( product_curry @ A @ B @ $o @ F5 @ A3 @ B3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % curryI
% 0.28/0.47  thf(fact_32_worlds__def,axiom,
% 0.28/0.47      ( denotational_worlds
% 0.28/0.47      = ( collect @ ( variable > real )
% 0.28/0.47        @ ^ [Nu: variable > real] : $true ) ) ).
% 0.28/0.47  
% 0.28/0.47  % worlds_def
% 0.28/0.47  thf(fact_33_swap__simp,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: B,Y: A] :
% 0.28/0.47        ( ( product_swap @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) )
% 0.28/0.47        = ( product_Pair @ A @ B @ Y @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % swap_simp
% 0.28/0.47  thf(fact_34_Pair__Rep__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_Pair_Rep @ A @ B )
% 0.28/0.47        = ( ^ [A5: A,B5: B,X4: A,Y4: B] :
% 0.28/0.47              ( ( X4 = A5 )
% 0.28/0.47              & ( Y4 = B5 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Pair_Rep_def
% 0.28/0.47  thf(fact_35_swap__swap,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
% 0.28/0.47        ( ( product_swap @ B @ A @ ( product_swap @ A @ B @ P2 ) )
% 0.28/0.47        = P2 ) ).
% 0.28/0.47  
% 0.28/0.47  % swap_swap
% 0.28/0.47  thf(fact_36_curry__K,axiom,
% 0.28/0.47      ! [B: $tType,C: $tType,A: $tType,C5: C] :
% 0.28/0.47        ( ( product_curry @ A @ B @ C
% 0.28/0.47          @ ^ [X4: product_prod @ A @ B] : C5 )
% 0.28/0.47        = ( ^ [X4: A,Y4: B] : C5 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % curry_K
% 0.28/0.47  thf(fact_37_curryD,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: ( product_prod @ A @ B ) > $o,A3: A,B3: B] :
% 0.28/0.47        ( ( product_curry @ A @ B @ $o @ F5 @ A3 @ B3 )
% 0.28/0.47       => ( F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % curryD
% 0.28/0.47  thf(fact_38_curryE,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: ( product_prod @ A @ B ) > $o,A3: A,B3: B] :
% 0.28/0.47        ( ( product_curry @ A @ B @ $o @ F5 @ A3 @ B3 )
% 0.28/0.47       => ( F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % curryE
% 0.28/0.47  thf(fact_39_Pair__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_Pair @ A @ B )
% 0.28/0.47        = ( ^ [A5: A,B5: B] : ( product_Abs_prod @ A @ B @ ( product_Pair_Rep @ A @ B @ A5 @ B5 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Pair_def
% 0.28/0.47  thf(fact_40_in__inv__imagep,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( inv_imagep @ A @ B )
% 0.28/0.47        = ( ^ [R3: A > A > $o,F2: B > A,X4: B,Y4: B] : ( R3 @ ( F2 @ X4 ) @ ( F2 @ Y4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % in_inv_imagep
% 0.28/0.47  thf(fact_41_pair__in__swap__image,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Y: A,X: B,A6: set @ ( product_prod @ B @ A )] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Y @ X ) @ ( image @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A ) @ A6 ) )
% 0.28/0.47        = ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X @ Y ) @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % pair_in_swap_image
% 0.28/0.47  thf(fact_42_in__inv__image,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: A,Y: A,R2: set @ ( product_prod @ B @ B ),F5: A > B] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( inv_image @ B @ A @ R2 @ F5 ) )
% 0.28/0.47        = ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ ( F5 @ X ) @ ( F5 @ Y ) ) @ R2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % in_inv_image
% 0.28/0.47  thf(fact_43_inv__imagep__def,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType] :
% 0.28/0.47        ( ( inv_imagep @ B @ A )
% 0.28/0.47        = ( ^ [R3: B > B > $o,F2: A > B,X4: A,Y4: A] : ( R3 @ ( F2 @ X4 ) @ ( F2 @ Y4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % inv_imagep_def
% 0.28/0.47  thf(fact_44_old_Orec__prod__def,axiom,
% 0.28/0.47      ! [T: $tType,B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_rec_prod @ A @ B @ T )
% 0.28/0.47        = ( ^ [F12: A > B > T,X4: product_prod @ A @ B] : ( the @ T @ ( product_rec_set_prod @ A @ B @ T @ F12 @ X4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % old.rec_prod_def
% 0.28/0.47  thf(fact_45_mem__Collect__eq,axiom,
% 0.28/0.47      ! [A: $tType,A3: A,P: A > $o] :
% 0.28/0.47        ( ( member @ A @ A3 @ ( collect @ A @ P ) )
% 0.28/0.47        = ( P @ A3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % mem_Collect_eq
% 0.28/0.47  thf(fact_46_Collect__mem__eq,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] :
% 0.28/0.47        ( ( collect @ A
% 0.28/0.47          @ ^ [X4: A] : ( member @ A @ X4 @ A6 ) )
% 0.28/0.47        = A6 ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_mem_eq
% 0.28/0.47  thf(fact_47_Collect__cong,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( P @ X3 )
% 0.28/0.47            = ( Q @ X3 ) )
% 0.28/0.47       => ( ( collect @ A @ P )
% 0.28/0.47          = ( collect @ A @ Q ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_cong
% 0.28/0.47  thf(fact_48_ext,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F5: A > B,G4: A > B] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( F5 @ X3 )
% 0.28/0.47            = ( G4 @ X3 ) )
% 0.28/0.47       => ( F5 = G4 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ext
% 0.28/0.47  thf(fact_49_internal__case__prod__def,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType] :
% 0.28/0.47        ( ( produc2004651681e_prod @ A @ B @ C )
% 0.28/0.47        = ( product_case_prod @ A @ B @ C ) ) ).
% 0.28/0.47  
% 0.28/0.47  % internal_case_prod_def
% 0.28/0.47  thf(fact_50_case__swap,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C: $tType,F5: C > B > A,P2: product_prod @ C @ B] :
% 0.28/0.47        ( ( product_case_prod @ B @ C @ A
% 0.28/0.47          @ ^ [Y4: B,X4: C] : ( F5 @ X4 @ Y4 )
% 0.28/0.47          @ ( product_swap @ C @ B @ P2 ) )
% 0.28/0.47        = ( product_case_prod @ C @ B @ A @ F5 @ P2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_swap
% 0.28/0.47  thf(fact_51_old_Obool_Osimps_I5_J,axiom,
% 0.28/0.47      ! [T: $tType,F1: T,F22: T] :
% 0.28/0.47        ( ( product_rec_bool @ T @ F1 @ F22 @ $true )
% 0.28/0.47        = F1 ) ).
% 0.28/0.47  
% 0.28/0.47  % old.bool.simps(5)
% 0.28/0.47  thf(fact_52_The__split__eq,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: A,Y: B] :
% 0.28/0.47        ( ( the @ ( product_prod @ A @ B )
% 0.28/0.47          @ ( product_case_prod @ A @ B @ $o
% 0.28/0.47            @ ^ [X5: A,Y5: B] :
% 0.28/0.47                ( ( X = X5 )
% 0.28/0.47                & ( Y = Y5 ) ) ) )
% 0.28/0.47        = ( product_Pair @ A @ B @ X @ Y ) ) ).
% 0.28/0.47  
% 0.28/0.47  % The_split_eq
% 0.28/0.47  thf(fact_53_case__prodI2,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P2: product_prod @ A @ B,C5: A > B > $o] :
% 0.28/0.47        ( ! [A2: A,B2: B] :
% 0.28/0.47            ( ( P2
% 0.28/0.47              = ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.28/0.47           => ( C5 @ A2 @ B2 ) )
% 0.28/0.47       => ( product_case_prod @ A @ B @ $o @ C5 @ P2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prodI2
% 0.28/0.47  thf(fact_54_case__prodI,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: A > B > $o,A3: A,B3: B] :
% 0.28/0.47        ( ( F5 @ A3 @ B3 )
% 0.28/0.47       => ( product_case_prod @ A @ B @ $o @ F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prodI
% 0.28/0.47  thf(fact_55_mem__case__prodI2,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,P2: product_prod @ A @ B,Z: C,C5: A > B > ( set @ C )] :
% 0.28/0.47        ( ! [A2: A,B2: B] :
% 0.28/0.47            ( ( P2
% 0.28/0.47              = ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.28/0.47           => ( member @ C @ Z @ ( C5 @ A2 @ B2 ) ) )
% 0.28/0.47       => ( member @ C @ Z @ ( product_case_prod @ A @ B @ ( set @ C ) @ C5 @ P2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % mem_case_prodI2
% 0.28/0.47  thf(fact_56_mem__case__prodI,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C: $tType,Z: A,C5: B > C > ( set @ A ),A3: B,B3: C] :
% 0.28/0.47        ( ( member @ A @ Z @ ( C5 @ A3 @ B3 ) )
% 0.28/0.47       => ( member @ A @ Z @ ( product_case_prod @ B @ C @ ( set @ A ) @ C5 @ ( product_Pair @ B @ C @ A3 @ B3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % mem_case_prodI
% 0.28/0.47  thf(fact_57_case__prodI2_H,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C: $tType,P2: product_prod @ A @ B,C5: A > B > C > $o,X: C] :
% 0.28/0.47        ( ! [A2: A,B2: B] :
% 0.28/0.47            ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.28/0.47              = P2 )
% 0.28/0.47           => ( C5 @ A2 @ B2 @ X ) )
% 0.28/0.47       => ( product_case_prod @ A @ B @ ( C > $o ) @ C5 @ P2 @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prodI2'
% 0.28/0.47  thf(fact_58_old_Obool_Osimps_I6_J,axiom,
% 0.28/0.47      ! [T: $tType,F1: T,F22: T] :
% 0.28/0.47        ( ( product_rec_bool @ T @ F1 @ F22 @ $false )
% 0.28/0.47        = F22 ) ).
% 0.28/0.47  
% 0.28/0.47  % old.bool.simps(6)
% 0.28/0.47  thf(fact_59_case__prod__conv,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,C: $tType,F5: B > C > A,A3: B,B3: C] :
% 0.28/0.47        ( ( product_case_prod @ B @ C @ A @ F5 @ ( product_Pair @ B @ C @ A3 @ B3 ) )
% 0.28/0.47        = ( F5 @ A3 @ B3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prod_conv
% 0.28/0.47  thf(fact_60_curry__case__prod,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,F5: A > B > C] :
% 0.28/0.47        ( ( product_curry @ A @ B @ C @ ( product_case_prod @ A @ B @ C @ F5 ) )
% 0.28/0.47        = F5 ) ).
% 0.28/0.47  
% 0.28/0.47  % curry_case_prod
% 0.28/0.47  thf(fact_61_case__prod__curry,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,F5: ( product_prod @ A @ B ) > C] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ C @ ( product_curry @ A @ B @ C @ F5 ) )
% 0.28/0.47        = F5 ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prod_curry
% 0.28/0.47  thf(fact_62_pair__imageI,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,A3: A,B3: B,A6: set @ ( product_prod @ A @ B ),F5: A > B > C] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ A6 )
% 0.28/0.47       => ( member @ C @ ( F5 @ A3 @ B3 ) @ ( image @ ( product_prod @ A @ B ) @ C @ ( product_case_prod @ A @ B @ C @ F5 ) @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % pair_imageI
% 0.28/0.47  thf(fact_63_prod_Ocase__distrib,axiom,
% 0.28/0.47      ! [C: $tType,D: $tType,B: $tType,A: $tType,H: C > D,F5: A > B > C,Prod: product_prod @ A @ B] :
% 0.28/0.47        ( ( H @ ( product_case_prod @ A @ B @ C @ F5 @ Prod ) )
% 0.28/0.47        = ( product_case_prod @ A @ B @ D
% 0.28/0.47          @ ^ [X12: A,X22: B] : ( H @ ( F5 @ X12 @ X22 ) )
% 0.28/0.47          @ Prod ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.case_distrib
% 0.28/0.47  thf(fact_64_inv__image__def,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType] :
% 0.28/0.47        ( ( inv_image @ B @ A )
% 0.28/0.47        = ( ^ [R3: set @ ( product_prod @ B @ B ),F2: A > B] :
% 0.28/0.47              ( collect @ ( product_prod @ A @ A )
% 0.28/0.47              @ ( product_case_prod @ A @ A @ $o
% 0.28/0.47                @ ^ [X4: A,Y4: A] : ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ ( F2 @ X4 ) @ ( F2 @ Y4 ) ) @ R3 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % inv_image_def
% 0.28/0.47  thf(fact_65_mem__case__prodE,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,C: $tType,Z: A,C5: B > C > ( set @ A ),P2: product_prod @ B @ C] :
% 0.28/0.47        ( ( member @ A @ Z @ ( product_case_prod @ B @ C @ ( set @ A ) @ C5 @ P2 ) )
% 0.28/0.47       => ~ ! [X3: B,Y3: C] :
% 0.28/0.47              ( ( P2
% 0.28/0.47                = ( product_Pair @ B @ C @ X3 @ Y3 ) )
% 0.28/0.47             => ~ ( member @ A @ Z @ ( C5 @ X3 @ Y3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % mem_case_prodE
% 0.28/0.47  thf(fact_66_old_Oprod_Ocase,axiom,
% 0.28/0.47      ! [A: $tType,C: $tType,B: $tType,F5: A > B > C,X1: A,X2: B] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ C @ F5 @ ( product_Pair @ A @ B @ X1 @ X2 ) )
% 0.28/0.47        = ( F5 @ X1 @ X2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % old.prod.case
% 0.28/0.47  thf(fact_67_case__prodE,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C5: A > B > $o,P2: product_prod @ A @ B] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ $o @ C5 @ P2 )
% 0.28/0.47       => ~ ! [X3: A,Y3: B] :
% 0.28/0.47              ( ( P2
% 0.28/0.47                = ( product_Pair @ A @ B @ X3 @ Y3 ) )
% 0.28/0.47             => ~ ( C5 @ X3 @ Y3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prodE
% 0.28/0.47  thf(fact_68_case__prodD,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: A > B > $o,A3: A,B3: B] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ $o @ F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.28/0.47       => ( F5 @ A3 @ B3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prodD
% 0.28/0.47  thf(fact_69_case__prodE_H,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,C: $tType,C5: A > B > C > $o,P2: product_prod @ A @ B,Z: C] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ ( C > $o ) @ C5 @ P2 @ Z )
% 0.28/0.47       => ~ ! [X3: A,Y3: B] :
% 0.28/0.47              ( ( P2
% 0.28/0.47                = ( product_Pair @ A @ B @ X3 @ Y3 ) )
% 0.28/0.47             => ~ ( C5 @ X3 @ Y3 @ Z ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prodE'
% 0.28/0.47  thf(fact_70_case__prodD_H,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,C: $tType,R: A > B > C > $o,A3: A,B3: B,C5: C] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ ( C > $o ) @ R @ ( product_Pair @ A @ B @ A3 @ B3 ) @ C5 )
% 0.28/0.47       => ( R @ A3 @ B3 @ C5 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prodD'
% 0.28/0.47  thf(fact_71_cond__case__prod__eta,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,F5: A > B > C,G4: ( product_prod @ A @ B ) > C] :
% 0.28/0.47        ( ! [X3: A,Y3: B] :
% 0.28/0.47            ( ( F5 @ X3 @ Y3 )
% 0.28/0.47            = ( G4 @ ( product_Pair @ A @ B @ X3 @ Y3 ) ) )
% 0.28/0.47       => ( ( product_case_prod @ A @ B @ C @ F5 )
% 0.28/0.47          = G4 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % cond_case_prod_eta
% 0.28/0.47  thf(fact_72_case__prod__eta,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,F5: ( product_prod @ A @ B ) > C] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ C
% 0.28/0.47          @ ^ [X4: A,Y4: B] : ( F5 @ ( product_Pair @ A @ B @ X4 @ Y4 ) ) )
% 0.28/0.47        = F5 ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prod_eta
% 0.28/0.47  thf(fact_73_case__prodE2,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,C: $tType,Q: A > $o,P: B > C > A,Z: product_prod @ B @ C] :
% 0.28/0.47        ( ( Q @ ( product_case_prod @ B @ C @ A @ P @ Z ) )
% 0.28/0.47       => ~ ! [X3: B,Y3: C] :
% 0.28/0.47              ( ( Z
% 0.28/0.47                = ( product_Pair @ B @ C @ X3 @ Y3 ) )
% 0.28/0.47             => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prodE2
% 0.28/0.47  thf(fact_74_old_Orec__bool__def,axiom,
% 0.28/0.47      ! [T: $tType] :
% 0.28/0.47        ( ( product_rec_bool @ T )
% 0.28/0.47        = ( ^ [F12: T,F23: T,X4: $o] : ( the @ T @ ( product_rec_set_bool @ T @ F12 @ F23 @ X4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % old.rec_bool_def
% 0.28/0.47  thf(fact_75_the__sym__eq__trivial,axiom,
% 0.28/0.47      ! [A: $tType,X: A] :
% 0.28/0.47        ( ( the @ A
% 0.28/0.47          @ ( ^ [Y6: A,Z2: A] : ( Y6 = Z2 )
% 0.28/0.47            @ X ) )
% 0.28/0.47        = X ) ).
% 0.28/0.47  
% 0.28/0.47  % the_sym_eq_trivial
% 0.28/0.47  thf(fact_76_the__eq__trivial,axiom,
% 0.28/0.47      ! [A: $tType,A3: A] :
% 0.28/0.47        ( ( the @ A
% 0.28/0.47          @ ^ [X4: A] : ( X4 = A3 ) )
% 0.28/0.47        = A3 ) ).
% 0.28/0.47  
% 0.28/0.47  % the_eq_trivial
% 0.28/0.47  thf(fact_77_the__equality,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,A3: A] :
% 0.28/0.47        ( ( P @ A3 )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( ( P @ X3 )
% 0.28/0.47             => ( X3 = A3 ) )
% 0.28/0.47         => ( ( the @ A @ P )
% 0.28/0.47            = A3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % the_equality
% 0.28/0.47  thf(fact_78_image__ident,axiom,
% 0.28/0.47      ! [A: $tType,Y7: set @ A] :
% 0.28/0.47        ( ( image @ A @ A
% 0.28/0.47          @ ^ [X4: A] : X4
% 0.28/0.47          @ Y7 )
% 0.28/0.47        = Y7 ) ).
% 0.28/0.47  
% 0.28/0.47  % image_ident
% 0.28/0.47  thf(fact_79_image__eqI,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,B3: A,F5: B > A,X: B,A6: set @ B] :
% 0.28/0.47        ( ( B3
% 0.28/0.47          = ( F5 @ X ) )
% 0.28/0.47       => ( ( member @ B @ X @ A6 )
% 0.28/0.47         => ( member @ A @ B3 @ ( image @ B @ A @ F5 @ A6 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_eqI
% 0.28/0.47  thf(fact_80_split__cong,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,Q2: product_prod @ A @ B,F5: A > B > C,G4: A > B > C,P2: product_prod @ A @ B] :
% 0.28/0.47        ( ! [X3: A,Y3: B] :
% 0.28/0.47            ( ( ( product_Pair @ A @ B @ X3 @ Y3 )
% 0.28/0.47              = Q2 )
% 0.28/0.47           => ( ( F5 @ X3 @ Y3 )
% 0.28/0.47              = ( G4 @ X3 @ Y3 ) ) )
% 0.28/0.47       => ( ( P2 = Q2 )
% 0.28/0.47         => ( ( product_case_prod @ A @ B @ C @ F5 @ P2 )
% 0.28/0.47            = ( product_case_prod @ A @ B @ C @ G4 @ Q2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % split_cong
% 0.28/0.47  thf(fact_81_the1__equality,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,A3: A] :
% 0.28/0.47        ( ? [X6: A] :
% 0.28/0.47            ( ( P @ X6 )
% 0.28/0.47            & ! [Y3: A] :
% 0.28/0.47                ( ( P @ Y3 )
% 0.28/0.47               => ( Y3 = X6 ) ) )
% 0.28/0.47       => ( ( P @ A3 )
% 0.28/0.47         => ( ( the @ A @ P )
% 0.28/0.47            = A3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % the1_equality
% 0.28/0.47  thf(fact_82_split__part,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: $o,Q: A > B > $o] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ $o
% 0.28/0.47          @ ^ [A5: A,B5: B] :
% 0.28/0.47              ( P
% 0.28/0.47              & ( Q @ A5 @ B5 ) ) )
% 0.28/0.47        = ( ^ [Ab: product_prod @ A @ B] :
% 0.28/0.47              ( P
% 0.28/0.47              & ( product_case_prod @ A @ B @ $o @ Q @ Ab ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % split_part
% 0.28/0.47  thf(fact_83_prod_Odisc__eq__case,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 0.28/0.47        ( product_case_prod @ A @ B @ $o
% 0.28/0.47        @ ^ [Uu: A,Uv: B] : $true
% 0.28/0.47        @ Prod ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.disc_eq_case
% 0.28/0.47  thf(fact_84_rev__image__eqI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: A,A6: set @ A,B3: B,F5: A > B] :
% 0.28/0.47        ( ( member @ A @ X @ A6 )
% 0.28/0.47       => ( ( B3
% 0.28/0.47            = ( F5 @ X ) )
% 0.28/0.47         => ( member @ B @ B3 @ ( image @ A @ B @ F5 @ A6 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rev_image_eqI
% 0.28/0.47  thf(fact_85_ball__imageD,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B,P: A > $o] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( member @ A @ X3 @ ( image @ B @ A @ F5 @ A6 ) )
% 0.28/0.47           => ( P @ X3 ) )
% 0.28/0.47       => ! [X6: B] :
% 0.28/0.47            ( ( member @ B @ X6 @ A6 )
% 0.28/0.47           => ( P @ ( F5 @ X6 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ball_imageD
% 0.28/0.47  thf(fact_86_image__cong,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,M: set @ A,N: set @ A,F5: A > B,G4: A > B] :
% 0.28/0.47        ( ( M = N )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( ( member @ A @ X3 @ N )
% 0.28/0.47             => ( ( F5 @ X3 )
% 0.28/0.47                = ( G4 @ X3 ) ) )
% 0.28/0.47         => ( ( image @ A @ B @ F5 @ M )
% 0.28/0.47            = ( image @ A @ B @ G4 @ N ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_cong
% 0.28/0.47  thf(fact_87_bex__imageD,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B,P: A > $o] :
% 0.28/0.47        ( ? [X6: A] :
% 0.28/0.47            ( ( member @ A @ X6 @ ( image @ B @ A @ F5 @ A6 ) )
% 0.28/0.47            & ( P @ X6 ) )
% 0.28/0.47       => ? [X3: B] :
% 0.28/0.47            ( ( member @ B @ X3 @ A6 )
% 0.28/0.47            & ( P @ ( F5 @ X3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % bex_imageD
% 0.28/0.47  thf(fact_88_image__iff,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,Z: A,F5: B > A,A6: set @ B] :
% 0.28/0.47        ( ( member @ A @ Z @ ( image @ B @ A @ F5 @ A6 ) )
% 0.28/0.47        = ( ? [X4: B] :
% 0.28/0.47              ( ( member @ B @ X4 @ A6 )
% 0.28/0.47              & ( Z
% 0.28/0.47                = ( F5 @ X4 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_iff
% 0.28/0.47  thf(fact_89_imageI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: A,A6: set @ A,F5: A > B] :
% 0.28/0.47        ( ( member @ A @ X @ A6 )
% 0.28/0.47       => ( member @ B @ ( F5 @ X ) @ ( image @ A @ B @ F5 @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % imageI
% 0.28/0.47  thf(fact_90_imageE,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,B3: A,F5: B > A,A6: set @ B] :
% 0.28/0.47        ( ( member @ A @ B3 @ ( image @ B @ A @ F5 @ A6 ) )
% 0.28/0.47       => ~ ! [X3: B] :
% 0.28/0.47              ( ( B3
% 0.28/0.47                = ( F5 @ X3 ) )
% 0.28/0.47             => ~ ( member @ B @ X3 @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % imageE
% 0.28/0.47  thf(fact_91_image__image,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C: $tType,F5: B > A,G4: C > B,A6: set @ C] :
% 0.28/0.47        ( ( image @ B @ A @ F5 @ ( image @ C @ B @ G4 @ A6 ) )
% 0.28/0.47        = ( image @ C @ A
% 0.28/0.47          @ ^ [X4: C] : ( F5 @ ( G4 @ X4 ) )
% 0.28/0.47          @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_image
% 0.28/0.47  thf(fact_92_Compr__image__eq,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B,P: A > $o] :
% 0.28/0.47        ( ( collect @ A
% 0.28/0.47          @ ^ [X4: A] :
% 0.28/0.47              ( ( member @ A @ X4 @ ( image @ B @ A @ F5 @ A6 ) )
% 0.28/0.47              & ( P @ X4 ) ) )
% 0.28/0.47        = ( image @ B @ A @ F5
% 0.28/0.47          @ ( collect @ B
% 0.28/0.47            @ ^ [X4: B] :
% 0.28/0.47                ( ( member @ B @ X4 @ A6 )
% 0.28/0.47                & ( P @ ( F5 @ X4 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Compr_image_eq
% 0.28/0.47  thf(fact_93_theI,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,A3: A] :
% 0.28/0.47        ( ( P @ A3 )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( ( P @ X3 )
% 0.28/0.47             => ( X3 = A3 ) )
% 0.28/0.47         => ( P @ ( the @ A @ P ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % theI
% 0.28/0.47  thf(fact_94_theI_H,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o] :
% 0.28/0.47        ( ? [X6: A] :
% 0.28/0.47            ( ( P @ X6 )
% 0.28/0.47            & ! [Y3: A] :
% 0.28/0.47                ( ( P @ Y3 )
% 0.28/0.47               => ( Y3 = X6 ) ) )
% 0.28/0.47       => ( P @ ( the @ A @ P ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % theI'
% 0.28/0.47  thf(fact_95_theI2,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,A3: A,Q: A > $o] :
% 0.28/0.47        ( ( P @ A3 )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( ( P @ X3 )
% 0.28/0.47             => ( X3 = A3 ) )
% 0.28/0.47         => ( ! [X3: A] :
% 0.28/0.47                ( ( P @ X3 )
% 0.28/0.47               => ( Q @ X3 ) )
% 0.28/0.47           => ( Q @ ( the @ A @ P ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % theI2
% 0.28/0.47  thf(fact_96_If__def,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( if @ A )
% 0.28/0.47        = ( ^ [P3: $o,X4: A,Y4: A] :
% 0.28/0.47              ( the @ A
% 0.28/0.47              @ ^ [Z3: A] :
% 0.28/0.47                  ( ( P3
% 0.28/0.47                   => ( Z3 = X4 ) )
% 0.28/0.47                  & ( ~ P3
% 0.28/0.47                   => ( Z3 = Y4 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % If_def
% 0.28/0.47  thf(fact_97_the1I2,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.28/0.47        ( ? [X6: A] :
% 0.28/0.47            ( ( P @ X6 )
% 0.28/0.47            & ! [Y3: A] :
% 0.28/0.47                ( ( P @ Y3 )
% 0.28/0.47               => ( Y3 = X6 ) ) )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( ( P @ X3 )
% 0.28/0.47             => ( Q @ X3 ) )
% 0.28/0.47         => ( Q @ ( the @ A @ P ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % the1I2
% 0.28/0.47  thf(fact_98_rp__inv__image__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( fun_rp_inv_image @ A @ B )
% 0.28/0.47        = ( product_case_prod @ ( set @ ( product_prod @ A @ A ) ) @ ( set @ ( product_prod @ A @ A ) ) @ ( ( B > A ) > ( product_prod @ ( set @ ( product_prod @ B @ B ) ) @ ( set @ ( product_prod @ B @ B ) ) ) )
% 0.28/0.47          @ ^ [R4: set @ ( product_prod @ A @ A ),S4: set @ ( product_prod @ A @ A ),F2: B > A] : ( product_Pair @ ( set @ ( product_prod @ B @ B ) ) @ ( set @ ( product_prod @ B @ B ) ) @ ( inv_image @ A @ B @ R4 @ F2 ) @ ( inv_image @ A @ B @ S4 @ F2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rp_inv_image_def
% 0.28/0.47  thf(fact_99_case__prod__app,axiom,
% 0.28/0.47      ! [A: $tType,D: $tType,C: $tType,B: $tType] :
% 0.28/0.47        ( ( product_case_prod @ B @ C @ ( D > A ) )
% 0.28/0.47        = ( ^ [F2: B > C > D > A,X4: product_prod @ B @ C,Y4: D] :
% 0.28/0.47              ( product_case_prod @ B @ C @ A
% 0.28/0.47              @ ^ [L: B,R3: C] : ( F2 @ L @ R3 @ Y4 )
% 0.28/0.47              @ X4 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prod_app
% 0.28/0.47  thf(fact_100_Inf_OINF__identity__eq,axiom,
% 0.28/0.47      ! [A: $tType,Inf: ( set @ A ) > A,A6: set @ A] :
% 0.28/0.47        ( ( Inf
% 0.28/0.47          @ ( image @ A @ A
% 0.28/0.47            @ ^ [X4: A] : X4
% 0.28/0.47            @ A6 ) )
% 0.28/0.47        = ( Inf @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Inf.INF_identity_eq
% 0.28/0.47  thf(fact_101_Sup_OSUP__identity__eq,axiom,
% 0.28/0.47      ! [A: $tType,Sup: ( set @ A ) > A,A6: set @ A] :
% 0.28/0.47        ( ( Sup
% 0.28/0.47          @ ( image @ A @ A
% 0.28/0.47            @ ^ [X4: A] : X4
% 0.28/0.47            @ A6 ) )
% 0.28/0.47        = ( Sup @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Sup.SUP_identity_eq
% 0.28/0.47  thf(fact_102_case__prod__Pair__iden,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B ) @ P2 )
% 0.28/0.47        = P2 ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prod_Pair_iden
% 0.28/0.47  thf(fact_103_old_Orec__unit__def,axiom,
% 0.28/0.47      ! [T: $tType] :
% 0.28/0.47        ( ( product_rec_unit @ T )
% 0.28/0.47        = ( ^ [F12: T,X4: product_unit] : ( the @ T @ ( product_rec_set_unit @ T @ F12 @ X4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % old.rec_unit_def
% 0.28/0.47  thf(fact_104_Inf_OINF__cong,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A6: set @ B,B6: set @ B,C2: B > A,D5: B > A,Inf: ( set @ A ) > A] :
% 0.28/0.47        ( ( A6 = B6 )
% 0.28/0.47       => ( ! [X3: B] :
% 0.28/0.47              ( ( member @ B @ X3 @ B6 )
% 0.28/0.47             => ( ( C2 @ X3 )
% 0.28/0.47                = ( D5 @ X3 ) ) )
% 0.28/0.47         => ( ( Inf @ ( image @ B @ A @ C2 @ A6 ) )
% 0.28/0.47            = ( Inf @ ( image @ B @ A @ D5 @ B6 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Inf.INF_cong
% 0.28/0.47  thf(fact_105_Sup_OSUP__cong,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A6: set @ B,B6: set @ B,C2: B > A,D5: B > A,Sup: ( set @ A ) > A] :
% 0.28/0.47        ( ( A6 = B6 )
% 0.28/0.47       => ( ! [X3: B] :
% 0.28/0.47              ( ( member @ B @ X3 @ B6 )
% 0.28/0.47             => ( ( C2 @ X3 )
% 0.28/0.47                = ( D5 @ X3 ) ) )
% 0.28/0.47         => ( ( Sup @ ( image @ B @ A @ C2 @ A6 ) )
% 0.28/0.47            = ( Sup @ ( image @ B @ A @ D5 @ B6 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Sup.SUP_cong
% 0.28/0.47  thf(fact_106_rp__inv__image__rp,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,P: product_prod @ ( set @ ( product_prod @ A @ A ) ) @ ( set @ ( product_prod @ A @ A ) ),F5: B > A] :
% 0.28/0.47        ( ( fun_reduction_pair @ A @ P )
% 0.28/0.47       => ( fun_reduction_pair @ B @ ( fun_rp_inv_image @ A @ B @ P @ F5 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rp_inv_image_rp
% 0.28/0.47  thf(fact_107_image__paired__Times,axiom,
% 0.28/0.47      ! [C: $tType,D: $tType,B: $tType,A: $tType,F5: C > A,G4: D > B,A6: set @ C,B6: set @ D] :
% 0.28/0.47        ( ( image @ ( product_prod @ C @ D ) @ ( product_prod @ A @ B )
% 0.28/0.47          @ ( product_case_prod @ C @ D @ ( product_prod @ A @ B )
% 0.28/0.47            @ ^ [X4: C,Y4: D] : ( product_Pair @ A @ B @ ( F5 @ X4 ) @ ( G4 @ Y4 ) ) )
% 0.28/0.47          @ ( product_Sigma @ C @ D @ A6
% 0.28/0.47            @ ^ [Uu: C] : B6 ) )
% 0.28/0.47        = ( product_Sigma @ A @ B @ ( image @ C @ A @ F5 @ A6 )
% 0.28/0.47          @ ^ [Uu: A] : ( image @ D @ B @ G4 @ B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_paired_Times
% 0.28/0.47  thf(fact_108_Nitpick_OThe__psimp,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,X: A] :
% 0.28/0.47        ( ( P
% 0.28/0.47          = ( ^ [Y6: A,Z2: A] : ( Y6 = Z2 )
% 0.28/0.47            @ X ) )
% 0.28/0.47       => ( ( the @ A @ P )
% 0.28/0.47          = X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Nitpick.The_psimp
% 0.28/0.47  thf(fact_109_theI__unique,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,X: A] :
% 0.28/0.47        ( ? [X6: A] :
% 0.28/0.47            ( ( P @ X6 )
% 0.28/0.47            & ! [Y3: A] :
% 0.28/0.47                ( ( P @ Y3 )
% 0.28/0.47               => ( Y3 = X6 ) ) )
% 0.28/0.47       => ( ( P @ X )
% 0.28/0.47          = ( X
% 0.28/0.47            = ( the @ A @ P ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % theI_unique
% 0.28/0.47  thf(fact_110_surj__swap,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( image @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A ) @ ( top_top @ ( set @ ( product_prod @ B @ A ) ) ) )
% 0.28/0.47        = ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % surj_swap
% 0.28/0.47  thf(fact_111_UNIV__I,axiom,
% 0.28/0.47      ! [A: $tType,X: A] : ( member @ A @ X @ ( top_top @ ( set @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % UNIV_I
% 0.28/0.47  thf(fact_112_SigmaI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A3: A,A6: set @ A,B3: B,B6: A > ( set @ B )] :
% 0.28/0.47        ( ( member @ A @ A3 @ A6 )
% 0.28/0.47       => ( ( member @ B @ B3 @ ( B6 @ A3 ) )
% 0.28/0.47         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % SigmaI
% 0.28/0.47  thf(fact_113_mem__Sigma__iff,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 0.28/0.47        = ( ( member @ A @ A3 @ A6 )
% 0.28/0.47          & ( member @ B @ B3 @ ( B6 @ A3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % mem_Sigma_iff
% 0.28/0.47  thf(fact_114_Collect__case__prod,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: A > $o,Q: B > $o] :
% 0.28/0.47        ( ( collect @ ( product_prod @ A @ B )
% 0.28/0.47          @ ( product_case_prod @ A @ B @ $o
% 0.28/0.47            @ ^ [A5: A,B5: B] :
% 0.28/0.47                ( ( P @ A5 )
% 0.28/0.47                & ( Q @ B5 ) ) ) )
% 0.28/0.47        = ( product_Sigma @ A @ B @ ( collect @ A @ P )
% 0.28/0.47          @ ^ [Uu: A] : ( collect @ B @ Q ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_case_prod
% 0.28/0.47  thf(fact_115_UNIV__Times__UNIV,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_Sigma @ A @ B @ ( top_top @ ( set @ A ) )
% 0.28/0.47          @ ^ [Uu: A] : ( top_top @ ( set @ B ) ) )
% 0.28/0.47        = ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % UNIV_Times_UNIV
% 0.28/0.47  thf(fact_116_SigmaE2,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 0.28/0.47       => ~ ( ( member @ A @ A3 @ A6 )
% 0.28/0.47           => ~ ( member @ B @ B3 @ ( B6 @ A3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % SigmaE2
% 0.28/0.47  thf(fact_117_SigmaD2,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 0.28/0.47       => ( member @ B @ B3 @ ( B6 @ A3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % SigmaD2
% 0.28/0.47  thf(fact_118_SigmaD1,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 0.28/0.47       => ( member @ A @ A3 @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % SigmaD1
% 0.28/0.47  thf(fact_119_SigmaE,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,C5: product_prod @ A @ B,A6: set @ A,B6: A > ( set @ B )] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ C5 @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 0.28/0.47       => ~ ! [X3: A] :
% 0.28/0.47              ( ( member @ A @ X3 @ A6 )
% 0.28/0.47             => ! [Y3: B] :
% 0.28/0.47                  ( ( member @ B @ Y3 @ ( B6 @ X3 ) )
% 0.28/0.47                 => ( C5
% 0.28/0.47                   != ( product_Pair @ A @ B @ X3 @ Y3 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % SigmaE
% 0.28/0.47  thf(fact_120_Sigma__cong,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ A,C2: A > ( set @ B ),D5: A > ( set @ B )] :
% 0.28/0.47        ( ( A6 = B6 )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( ( member @ A @ X3 @ B6 )
% 0.28/0.47             => ( ( C2 @ X3 )
% 0.28/0.47                = ( D5 @ X3 ) ) )
% 0.28/0.47         => ( ( product_Sigma @ A @ B @ A6 @ C2 )
% 0.28/0.47            = ( product_Sigma @ A @ B @ B6 @ D5 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Sigma_cong
% 0.28/0.47  thf(fact_121_Times__eq__cancel2,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: A,C2: set @ A,A6: set @ B,B6: set @ B] :
% 0.28/0.47        ( ( member @ A @ X @ C2 )
% 0.28/0.47       => ( ( ( product_Sigma @ B @ A @ A6
% 0.28/0.47              @ ^ [Uu: B] : C2 )
% 0.28/0.47            = ( product_Sigma @ B @ A @ B6
% 0.28/0.47              @ ^ [Uu: B] : C2 ) )
% 0.28/0.47          = ( A6 = B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Times_eq_cancel2
% 0.28/0.47  thf(fact_122_UNIV__def,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( top_top @ ( set @ A ) )
% 0.28/0.47        = ( collect @ A
% 0.28/0.47          @ ^ [X4: A] : $true ) ) ).
% 0.28/0.47  
% 0.28/0.47  % UNIV_def
% 0.28/0.47  thf(fact_123_UNIV__eq__I,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] :
% 0.28/0.47        ( ! [X3: A] : ( member @ A @ X3 @ A6 )
% 0.28/0.47       => ( ( top_top @ ( set @ A ) )
% 0.28/0.47          = A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % UNIV_eq_I
% 0.28/0.47  thf(fact_124_UNIV__witness,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47      ? [X3: A] : ( member @ A @ X3 @ ( top_top @ ( set @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % UNIV_witness
% 0.28/0.47  thf(fact_125_rangeI,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: B > A,X: B] : ( member @ A @ ( F5 @ X ) @ ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rangeI
% 0.28/0.47  thf(fact_126_range__eqI,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,B3: A,F5: B > A,X: B] :
% 0.28/0.47        ( ( B3
% 0.28/0.47          = ( F5 @ X ) )
% 0.28/0.47       => ( member @ A @ B3 @ ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % range_eqI
% 0.28/0.47  thf(fact_127_Collect__case__prod__Sigma,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: A > $o,Q: A > B > $o] :
% 0.28/0.47        ( ( collect @ ( product_prod @ A @ B )
% 0.28/0.47          @ ( product_case_prod @ A @ B @ $o
% 0.28/0.47            @ ^ [X4: A,Y4: B] :
% 0.28/0.47                ( ( P @ X4 )
% 0.28/0.47                & ( Q @ X4 @ Y4 ) ) ) )
% 0.28/0.47        = ( product_Sigma @ A @ B @ ( collect @ A @ P )
% 0.28/0.47          @ ^ [X4: A] : ( collect @ B @ ( Q @ X4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_case_prod_Sigma
% 0.28/0.47  thf(fact_128_rangeE,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,B3: A,F5: B > A] :
% 0.28/0.47        ( ( member @ A @ B3 @ ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) ) )
% 0.28/0.47       => ~ ! [X3: B] :
% 0.28/0.47              ( B3
% 0.28/0.47             != ( F5 @ X3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % rangeE
% 0.28/0.47  thf(fact_129_range__composition,axiom,
% 0.28/0.47      ! [A: $tType,C: $tType,B: $tType,F5: C > A,G4: B > C] :
% 0.28/0.47        ( ( image @ B @ A
% 0.28/0.47          @ ^ [X4: B] : ( F5 @ ( G4 @ X4 ) )
% 0.28/0.47          @ ( top_top @ ( set @ B ) ) )
% 0.28/0.47        = ( image @ C @ A @ F5 @ ( image @ B @ C @ G4 @ ( top_top @ ( set @ B ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % range_composition
% 0.28/0.47  thf(fact_130_product__swap,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ B,B6: set @ A] :
% 0.28/0.47        ( ( image @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A )
% 0.28/0.47          @ ( product_Sigma @ B @ A @ A6
% 0.28/0.47            @ ^ [Uu: B] : B6 ) )
% 0.28/0.47        = ( product_Sigma @ A @ B @ B6
% 0.28/0.47          @ ^ [Uu: A] : A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % product_swap
% 0.28/0.47  thf(fact_131_swap__product,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ B,B6: set @ A] :
% 0.28/0.47        ( ( image @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B )
% 0.28/0.47          @ ( product_case_prod @ B @ A @ ( product_prod @ A @ B )
% 0.28/0.47            @ ^ [I3: B,J2: A] : ( product_Pair @ A @ B @ J2 @ I3 ) )
% 0.28/0.47          @ ( product_Sigma @ B @ A @ A6
% 0.28/0.47            @ ^ [Uu: B] : B6 ) )
% 0.28/0.47        = ( product_Sigma @ A @ B @ B6
% 0.28/0.47          @ ^ [Uu: A] : A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % swap_product
% 0.28/0.47  thf(fact_132_same__fst__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( same_fst @ A @ B )
% 0.28/0.47        = ( ^ [P3: A > $o,R4: A > ( set @ ( product_prod @ B @ B ) )] :
% 0.28/0.47              ( collect @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) )
% 0.28/0.47              @ ( product_case_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ $o
% 0.28/0.47                @ ( product_case_prod @ A @ B @ ( ( product_prod @ A @ B ) > $o )
% 0.28/0.47                  @ ^ [X5: A,Y5: B] :
% 0.28/0.47                      ( product_case_prod @ A @ B @ $o
% 0.28/0.47                      @ ^ [X4: A,Y4: B] :
% 0.28/0.47                          ( ( X5 = X4 )
% 0.28/0.47                          & ( P3 @ X4 )
% 0.28/0.47                          & ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ Y5 @ Y4 ) @ ( R4 @ X4 ) ) ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % same_fst_def
% 0.28/0.47  thf(fact_133_same__fstI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: A > $o,X: A,Y8: B,Y: B,R: A > ( set @ ( product_prod @ B @ B ) )] :
% 0.28/0.47        ( ( P @ X )
% 0.28/0.47       => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ Y8 @ Y ) @ ( R @ X ) )
% 0.28/0.47         => ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y8 ) @ ( product_Pair @ A @ B @ X @ Y ) ) @ ( same_fst @ A @ B @ P @ R ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % same_fstI
% 0.28/0.47  thf(fact_134_surj__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F5: B > A] :
% 0.28/0.47        ( ( ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) )
% 0.28/0.47          = ( top_top @ ( set @ A ) ) )
% 0.28/0.47        = ( ! [Y4: A] :
% 0.28/0.47            ? [X4: B] :
% 0.28/0.47              ( Y4
% 0.28/0.47              = ( F5 @ X4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % surj_def
% 0.28/0.47  thf(fact_135_surjI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,G4: B > A,F5: A > B] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( G4 @ ( F5 @ X3 ) )
% 0.28/0.47            = X3 )
% 0.28/0.47       => ( ( image @ B @ A @ G4 @ ( top_top @ ( set @ B ) ) )
% 0.28/0.47          = ( top_top @ ( set @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % surjI
% 0.28/0.47  thf(fact_136_surjE,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: B > A,Y: A] :
% 0.28/0.47        ( ( ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) )
% 0.28/0.47          = ( top_top @ ( set @ A ) ) )
% 0.28/0.47       => ~ ! [X3: B] :
% 0.28/0.47              ( Y
% 0.28/0.47             != ( F5 @ X3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % surjE
% 0.28/0.47  thf(fact_137_surjD,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: B > A,Y: A] :
% 0.28/0.47        ( ( ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) )
% 0.28/0.47          = ( top_top @ ( set @ A ) ) )
% 0.28/0.47       => ? [X3: B] :
% 0.28/0.47            ( Y
% 0.28/0.47            = ( F5 @ X3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % surjD
% 0.28/0.47  thf(fact_138_lex__prod__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( lex_prod @ A @ B )
% 0.28/0.47        = ( ^ [Ra: set @ ( product_prod @ A @ A ),Rb: set @ ( product_prod @ B @ B )] :
% 0.28/0.47              ( collect @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) )
% 0.28/0.47              @ ( product_case_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ $o
% 0.28/0.47                @ ( product_case_prod @ A @ B @ ( ( product_prod @ A @ B ) > $o )
% 0.28/0.47                  @ ^ [A5: A,B5: B] :
% 0.28/0.47                      ( product_case_prod @ A @ B @ $o
% 0.28/0.47                      @ ^ [A7: A,B7: B] :
% 0.28/0.47                          ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A5 @ A7 ) @ Ra )
% 0.28/0.47                          | ( ( A5 = A7 )
% 0.28/0.47                            & ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ B5 @ B7 ) @ Rb ) ) ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % lex_prod_def
% 0.28/0.47  thf(fact_139_Product__Type_Oproduct__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_product @ A @ B )
% 0.28/0.47        = ( ^ [A8: set @ A,B8: set @ B] :
% 0.28/0.47              ( product_Sigma @ A @ B @ A8
% 0.28/0.47              @ ^ [Uu: A] : B8 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Product_Type.product_def
% 0.28/0.47  thf(fact_140_member__product,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: product_prod @ A @ B,A6: set @ A,B6: set @ B] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ X @ ( product_product @ A @ B @ A6 @ B6 ) )
% 0.28/0.47        = ( member @ ( product_prod @ A @ B ) @ X
% 0.28/0.47          @ ( product_Sigma @ A @ B @ A6
% 0.28/0.47            @ ^ [Uu: A] : B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % member_product
% 0.28/0.47  thf(fact_141_map__prod__surj,axiom,
% 0.28/0.47      ! [A: $tType,C: $tType,D: $tType,B: $tType,F5: A > B,G4: C > D] :
% 0.28/0.47        ( ( ( image @ A @ B @ F5 @ ( top_top @ ( set @ A ) ) )
% 0.28/0.47          = ( top_top @ ( set @ B ) ) )
% 0.28/0.47       => ( ( ( image @ C @ D @ G4 @ ( top_top @ ( set @ C ) ) )
% 0.28/0.47            = ( top_top @ ( set @ D ) ) )
% 0.28/0.47         => ( ( image @ ( product_prod @ A @ C ) @ ( product_prod @ B @ D ) @ ( product_map_prod @ A @ B @ C @ D @ F5 @ G4 ) @ ( top_top @ ( set @ ( product_prod @ A @ C ) ) ) )
% 0.28/0.47            = ( top_top @ ( set @ ( product_prod @ B @ D ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_prod_surj
% 0.28/0.47  thf(fact_142_map__prod__ident,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_map_prod @ A @ A @ B @ B
% 0.28/0.47          @ ^ [X4: A] : X4
% 0.28/0.47          @ ^ [Y4: B] : Y4 )
% 0.28/0.47        = ( ^ [Z3: product_prod @ A @ B] : Z3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_prod_ident
% 0.28/0.47  thf(fact_143_map__prod__simp,axiom,
% 0.28/0.47      ! [C: $tType,A: $tType,B: $tType,D: $tType,F5: C > A,G4: D > B,A3: C,B3: D] :
% 0.28/0.47        ( ( product_map_prod @ C @ A @ D @ B @ F5 @ G4 @ ( product_Pair @ C @ D @ A3 @ B3 ) )
% 0.28/0.47        = ( product_Pair @ A @ B @ ( F5 @ A3 ) @ ( G4 @ B3 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_prod_simp
% 0.28/0.47  thf(fact_144_map__prod__imageI,axiom,
% 0.28/0.47      ! [D: $tType,C: $tType,B: $tType,A: $tType,A3: A,B3: B,R: set @ ( product_prod @ A @ B ),F5: A > C,G4: B > D] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R )
% 0.28/0.47       => ( member @ ( product_prod @ C @ D ) @ ( product_Pair @ C @ D @ ( F5 @ A3 ) @ ( G4 @ B3 ) ) @ ( image @ ( product_prod @ A @ B ) @ ( product_prod @ C @ D ) @ ( product_map_prod @ A @ C @ B @ D @ F5 @ G4 ) @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_prod_imageI
% 0.28/0.47  thf(fact_145_in__lex__prod,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B,R2: set @ ( product_prod @ A @ A ),S2: set @ ( product_prod @ B @ B )] :
% 0.28/0.47        ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Pair @ A @ B @ A4 @ B4 ) ) @ ( lex_prod @ A @ B @ R2 @ S2 ) )
% 0.28/0.47        = ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A4 ) @ R2 )
% 0.28/0.47          | ( ( A3 = A4 )
% 0.28/0.47            & ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ B3 @ B4 ) @ S2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % in_lex_prod
% 0.28/0.47  thf(fact_146_case__prod__map__prod,axiom,
% 0.28/0.47      ! [C: $tType,A: $tType,B: $tType,E: $tType,D: $tType,H: B > C > A,F5: D > B,G4: E > C,X: product_prod @ D @ E] :
% 0.28/0.47        ( ( product_case_prod @ B @ C @ A @ H @ ( product_map_prod @ D @ B @ E @ C @ F5 @ G4 @ X ) )
% 0.28/0.47        = ( product_case_prod @ D @ E @ A
% 0.28/0.47          @ ^ [L: D,R3: E] : ( H @ ( F5 @ L ) @ ( G4 @ R3 ) )
% 0.28/0.47          @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prod_map_prod
% 0.28/0.47  thf(fact_147_prod__fun__imageE,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,D: $tType,C: $tType,C5: product_prod @ A @ B,F5: C > A,G4: D > B,R: set @ ( product_prod @ C @ D )] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ C5 @ ( image @ ( product_prod @ C @ D ) @ ( product_prod @ A @ B ) @ ( product_map_prod @ C @ A @ D @ B @ F5 @ G4 ) @ R ) )
% 0.28/0.47       => ~ ! [X3: C,Y3: D] :
% 0.28/0.47              ( ( C5
% 0.28/0.47                = ( product_Pair @ A @ B @ ( F5 @ X3 ) @ ( G4 @ Y3 ) ) )
% 0.28/0.47             => ~ ( member @ ( product_prod @ C @ D ) @ ( product_Pair @ C @ D @ X3 @ Y3 ) @ R ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_fun_imageE
% 0.28/0.47  thf(fact_148_map__prod__def,axiom,
% 0.28/0.47      ! [B: $tType,D: $tType,C: $tType,A: $tType] :
% 0.28/0.47        ( ( product_map_prod @ A @ C @ B @ D )
% 0.28/0.47        = ( ^ [F2: A > C,G5: B > D] :
% 0.28/0.47              ( product_case_prod @ A @ B @ ( product_prod @ C @ D )
% 0.28/0.47              @ ^ [X4: A,Y4: B] : ( product_Pair @ C @ D @ ( F2 @ X4 ) @ ( G5 @ Y4 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_prod_def
% 0.28/0.47  thf(fact_149_map__prod__surj__on,axiom,
% 0.28/0.47      ! [B: $tType,D: $tType,C: $tType,A: $tType,F5: B > A,A6: set @ B,A9: set @ A,G4: D > C,B6: set @ D,B9: set @ C] :
% 0.28/0.47        ( ( ( image @ B @ A @ F5 @ A6 )
% 0.28/0.47          = A9 )
% 0.28/0.47       => ( ( ( image @ D @ C @ G4 @ B6 )
% 0.28/0.47            = B9 )
% 0.28/0.47         => ( ( image @ ( product_prod @ B @ D ) @ ( product_prod @ A @ C ) @ ( product_map_prod @ B @ A @ D @ C @ F5 @ G4 )
% 0.28/0.47              @ ( product_Sigma @ B @ D @ A6
% 0.28/0.47                @ ^ [Uu: B] : B6 ) )
% 0.28/0.47            = ( product_Sigma @ A @ C @ A9
% 0.28/0.47              @ ^ [Uu: A] : B9 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % map_prod_surj_on
% 0.28/0.47  thf(fact_150_prod_Omap__ident,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,T2: product_prod @ A @ B] :
% 0.28/0.47        ( ( product_map_prod @ A @ A @ B @ B
% 0.28/0.47          @ ^ [X4: A] : X4
% 0.28/0.47          @ ^ [X4: B] : X4
% 0.28/0.47          @ T2 )
% 0.28/0.47        = T2 ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.map_ident
% 0.28/0.47  thf(fact_151_range__fst,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) )
% 0.28/0.47        = ( top_top @ ( set @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % range_fst
% 0.28/0.47  thf(fact_152_range__snd,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( image @ ( product_prod @ B @ A ) @ A @ ( product_snd @ B @ A ) @ ( top_top @ ( set @ ( product_prod @ B @ A ) ) ) )
% 0.28/0.47        = ( top_top @ ( set @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % range_snd
% 0.28/0.47  thf(fact_153_Collect__const__case__prod,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: $o] :
% 0.28/0.47        ( ( P
% 0.28/0.47         => ( ( collect @ ( product_prod @ A @ B )
% 0.28/0.47              @ ( product_case_prod @ A @ B @ $o
% 0.28/0.47                @ ^ [A5: A,B5: B] : P ) )
% 0.28/0.47            = ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) )
% 0.28/0.47        & ( ~ P
% 0.28/0.47         => ( ( collect @ ( product_prod @ A @ B )
% 0.28/0.47              @ ( product_case_prod @ A @ B @ $o
% 0.28/0.47                @ ^ [A5: A,B5: B] : P ) )
% 0.28/0.47            = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_const_case_prod
% 0.28/0.47  thf(fact_154_empty__Collect__eq,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o] :
% 0.28/0.47        ( ( ( bot_bot @ ( set @ A ) )
% 0.28/0.47          = ( collect @ A @ P ) )
% 0.28/0.47        = ( ! [X4: A] :
% 0.28/0.47              ~ ( P @ X4 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % empty_Collect_eq
% 0.28/0.47  thf(fact_155_Collect__empty__eq,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o] :
% 0.28/0.47        ( ( ( collect @ A @ P )
% 0.28/0.47          = ( bot_bot @ ( set @ A ) ) )
% 0.28/0.47        = ( ! [X4: A] :
% 0.28/0.47              ~ ( P @ X4 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_empty_eq
% 0.28/0.47  thf(fact_156_all__not__in__conv,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] :
% 0.28/0.47        ( ( ! [X4: A] :
% 0.28/0.47              ~ ( member @ A @ X4 @ A6 ) )
% 0.28/0.47        = ( A6
% 0.28/0.47          = ( bot_bot @ ( set @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % all_not_in_conv
% 0.28/0.47  thf(fact_157_empty__iff,axiom,
% 0.28/0.47      ! [A: $tType,C5: A] :
% 0.28/0.47        ~ ( member @ A @ C5 @ ( bot_bot @ ( set @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % empty_iff
% 0.28/0.47  thf(fact_158_image__is__empty,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B] :
% 0.28/0.47        ( ( ( image @ B @ A @ F5 @ A6 )
% 0.28/0.47          = ( bot_bot @ ( set @ A ) ) )
% 0.28/0.47        = ( A6
% 0.28/0.47          = ( bot_bot @ ( set @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_is_empty
% 0.28/0.47  thf(fact_159_empty__is__image,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B] :
% 0.28/0.47        ( ( ( bot_bot @ ( set @ A ) )
% 0.28/0.47          = ( image @ B @ A @ F5 @ A6 ) )
% 0.28/0.47        = ( A6
% 0.28/0.47          = ( bot_bot @ ( set @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % empty_is_image
% 0.28/0.47  thf(fact_160_image__empty,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F5: B > A] :
% 0.28/0.47        ( ( image @ B @ A @ F5 @ ( bot_bot @ ( set @ B ) ) )
% 0.28/0.47        = ( bot_bot @ ( set @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_empty
% 0.28/0.47  thf(fact_161_fst__map__prod,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,D: $tType,C: $tType,F5: C > A,G4: D > B,X: product_prod @ C @ D] :
% 0.28/0.47        ( ( product_fst @ A @ B @ ( product_map_prod @ C @ A @ D @ B @ F5 @ G4 @ X ) )
% 0.28/0.47        = ( F5 @ ( product_fst @ C @ D @ X ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % fst_map_prod
% 0.28/0.47  thf(fact_162_snd__map__prod,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,D: $tType,C: $tType,F5: C > B,G4: D > A,X: product_prod @ C @ D] :
% 0.28/0.47        ( ( product_snd @ B @ A @ ( product_map_prod @ C @ B @ D @ A @ F5 @ G4 @ X ) )
% 0.28/0.47        = ( G4 @ ( product_snd @ C @ D @ X ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % snd_map_prod
% 0.28/0.47  thf(fact_163_Collect__const,axiom,
% 0.28/0.47      ! [A: $tType,P: $o] :
% 0.28/0.47        ( ( P
% 0.28/0.47         => ( ( collect @ A
% 0.28/0.47              @ ^ [S5: A] : P )
% 0.28/0.47            = ( top_top @ ( set @ A ) ) ) )
% 0.28/0.47        & ( ~ P
% 0.28/0.47         => ( ( collect @ A
% 0.28/0.47              @ ^ [S5: A] : P )
% 0.28/0.47            = ( bot_bot @ ( set @ A ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_const
% 0.28/0.47  thf(fact_164_prod_Ocollapse,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 0.28/0.47        ( ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) )
% 0.28/0.47        = Prod ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.collapse
% 0.28/0.47  thf(fact_165_Sigma__empty1,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,B6: A > ( set @ B )] :
% 0.28/0.47        ( ( product_Sigma @ A @ B @ ( bot_bot @ ( set @ A ) ) @ B6 )
% 0.28/0.47        = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Sigma_empty1
% 0.28/0.47  thf(fact_166_fst__swap,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: product_prod @ B @ A] :
% 0.28/0.47        ( ( product_fst @ A @ B @ ( product_swap @ B @ A @ X ) )
% 0.28/0.47        = ( product_snd @ B @ A @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % fst_swap
% 0.28/0.47  thf(fact_167_snd__swap,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: product_prod @ A @ B] :
% 0.28/0.47        ( ( product_snd @ B @ A @ ( product_swap @ A @ B @ X ) )
% 0.28/0.47        = ( product_fst @ A @ B @ X ) ) ).
% 0.28/0.47  
% 0.28/0.47  % snd_swap
% 0.28/0.47  thf(fact_168_Sigma__empty2,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ A] :
% 0.28/0.47        ( ( product_Sigma @ A @ B @ A6
% 0.28/0.47          @ ^ [Uu: A] : ( bot_bot @ ( set @ B ) ) )
% 0.28/0.47        = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Sigma_empty2
% 0.28/0.47  thf(fact_169_Times__empty,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A6: set @ A,B6: set @ B] :
% 0.28/0.47        ( ( ( product_Sigma @ A @ B @ A6
% 0.28/0.47            @ ^ [Uu: A] : B6 )
% 0.28/0.47          = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) )
% 0.28/0.47        = ( ( A6
% 0.28/0.47            = ( bot_bot @ ( set @ A ) ) )
% 0.28/0.47          | ( B6
% 0.28/0.47            = ( bot_bot @ ( set @ B ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Times_empty
% 0.28/0.47  thf(fact_170_fst__image__times,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,B6: set @ B,A6: set @ A] :
% 0.28/0.47        ( ( ( B6
% 0.28/0.47            = ( bot_bot @ ( set @ B ) ) )
% 0.28/0.47         => ( ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B )
% 0.28/0.47              @ ( product_Sigma @ A @ B @ A6
% 0.28/0.47                @ ^ [Uu: A] : B6 ) )
% 0.28/0.47            = ( bot_bot @ ( set @ A ) ) ) )
% 0.28/0.47        & ( ( B6
% 0.28/0.47           != ( bot_bot @ ( set @ B ) ) )
% 0.28/0.47         => ( ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B )
% 0.28/0.47              @ ( product_Sigma @ A @ B @ A6
% 0.28/0.47                @ ^ [Uu: A] : B6 ) )
% 0.28/0.47            = A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % fst_image_times
% 0.28/0.47  thf(fact_171_snd__image__times,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ B,B6: set @ A] :
% 0.28/0.47        ( ( ( A6
% 0.28/0.47            = ( bot_bot @ ( set @ B ) ) )
% 0.28/0.47         => ( ( image @ ( product_prod @ B @ A ) @ A @ ( product_snd @ B @ A )
% 0.28/0.47              @ ( product_Sigma @ B @ A @ A6
% 0.28/0.47                @ ^ [Uu: B] : B6 ) )
% 0.28/0.47            = ( bot_bot @ ( set @ A ) ) ) )
% 0.28/0.47        & ( ( A6
% 0.28/0.47           != ( bot_bot @ ( set @ B ) ) )
% 0.28/0.47         => ( ( image @ ( product_prod @ B @ A ) @ A @ ( product_snd @ B @ A )
% 0.28/0.47              @ ( product_Sigma @ B @ A @ A6
% 0.28/0.47                @ ^ [Uu: B] : B6 ) )
% 0.28/0.47            = B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % snd_image_times
% 0.28/0.47  thf(fact_172_Sigma__empty__iff,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,I: set @ A,X7: A > ( set @ B )] :
% 0.28/0.47        ( ( ( product_Sigma @ A @ B @ I @ X7 )
% 0.28/0.47          = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) )
% 0.28/0.47        = ( ! [X4: A] :
% 0.28/0.47              ( ( member @ A @ X4 @ I )
% 0.28/0.47             => ( ( X7 @ X4 )
% 0.28/0.47                = ( bot_bot @ ( set @ B ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Sigma_empty_iff
% 0.28/0.47  thf(fact_173_mem__Times__iff,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: product_prod @ A @ B,A6: set @ A,B6: set @ B] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ X
% 0.28/0.47          @ ( product_Sigma @ A @ B @ A6
% 0.28/0.47            @ ^ [Uu: A] : B6 ) )
% 0.28/0.47        = ( ( member @ A @ ( product_fst @ A @ B @ X ) @ A6 )
% 0.28/0.47          & ( member @ B @ ( product_snd @ A @ B @ X ) @ B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % mem_Times_iff
% 0.28/0.47  thf(fact_174_ex__in__conv,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] :
% 0.28/0.47        ( ( ? [X4: A] : ( member @ A @ X4 @ A6 ) )
% 0.28/0.47        = ( A6
% 0.28/0.47         != ( bot_bot @ ( set @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % ex_in_conv
% 0.28/0.47  thf(fact_175_equals0I,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] :
% 0.28/0.47        ( ! [Y3: A] :
% 0.28/0.47            ~ ( member @ A @ Y3 @ A6 )
% 0.28/0.47       => ( A6
% 0.28/0.47          = ( bot_bot @ ( set @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % equals0I
% 0.28/0.47  thf(fact_176_equals0D,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,A3: A] :
% 0.28/0.47        ( ( A6
% 0.28/0.47          = ( bot_bot @ ( set @ A ) ) )
% 0.28/0.47       => ~ ( member @ A @ A3 @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % equals0D
% 0.28/0.47  thf(fact_177_emptyE,axiom,
% 0.28/0.47      ! [A: $tType,A3: A] :
% 0.28/0.47        ~ ( member @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % emptyE
% 0.28/0.47  thf(fact_178_empty__def,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( bot_bot @ ( set @ A ) )
% 0.28/0.47        = ( collect @ A
% 0.28/0.47          @ ^ [X4: A] : $false ) ) ).
% 0.28/0.47  
% 0.28/0.47  % empty_def
% 0.28/0.47  thf(fact_179_prod__eq__iff,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( ^ [Y6: product_prod @ A @ B,Z2: product_prod @ A @ B] : ( Y6 = Z2 ) )
% 0.28/0.47        = ( ^ [S5: product_prod @ A @ B,T3: product_prod @ A @ B] :
% 0.28/0.47              ( ( ( product_fst @ A @ B @ S5 )
% 0.28/0.47                = ( product_fst @ A @ B @ T3 ) )
% 0.28/0.47              & ( ( product_snd @ A @ B @ S5 )
% 0.28/0.47                = ( product_snd @ A @ B @ T3 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_eq_iff
% 0.28/0.47  thf(fact_180_prod_Oexpand,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B,Prod2: product_prod @ A @ B] :
% 0.28/0.47        ( ( ( ( product_fst @ A @ B @ Prod )
% 0.28/0.47            = ( product_fst @ A @ B @ Prod2 ) )
% 0.28/0.47          & ( ( product_snd @ A @ B @ Prod )
% 0.28/0.47            = ( product_snd @ A @ B @ Prod2 ) ) )
% 0.28/0.47       => ( Prod = Prod2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.expand
% 0.28/0.47  thf(fact_181_prod__eqI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P2: product_prod @ A @ B,Q2: product_prod @ A @ B] :
% 0.28/0.47        ( ( ( product_fst @ A @ B @ P2 )
% 0.28/0.47          = ( product_fst @ A @ B @ Q2 ) )
% 0.28/0.47       => ( ( ( product_snd @ A @ B @ P2 )
% 0.28/0.47            = ( product_snd @ A @ B @ Q2 ) )
% 0.28/0.47         => ( P2 = Q2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod_eqI
% 0.28/0.47  thf(fact_182_fst__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_fst @ A @ B )
% 0.28/0.47        = ( product_case_prod @ A @ B @ A
% 0.28/0.47          @ ^ [X12: A,X22: B] : X12 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % fst_def
% 0.28/0.47  thf(fact_183_The__case__prod,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: A > B > $o] :
% 0.28/0.47        ( ( the @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ P ) )
% 0.28/0.47        = ( the @ ( product_prod @ A @ B )
% 0.28/0.47          @ ^ [Xy: product_prod @ A @ B] : ( P @ ( product_fst @ A @ B @ Xy ) @ ( product_snd @ A @ B @ Xy ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % The_case_prod
% 0.28/0.47  thf(fact_184_snd__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_snd @ A @ B )
% 0.28/0.47        = ( product_case_prod @ A @ B @ B
% 0.28/0.47          @ ^ [X12: A,X22: B] : X22 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % snd_def
% 0.28/0.47  thf(fact_185_fst__image__Sigma,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ A,B6: A > ( set @ B )] :
% 0.28/0.47        ( ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 0.28/0.47        = ( collect @ A
% 0.28/0.47          @ ^ [X4: A] :
% 0.28/0.47              ( ( member @ A @ X4 @ A6 )
% 0.28/0.47              & ( ( B6 @ X4 )
% 0.28/0.47               != ( bot_bot @ ( set @ B ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % fst_image_Sigma
% 0.28/0.47  thf(fact_186_split__comp__eq,axiom,
% 0.28/0.47      ! [A: $tType,C: $tType,B: $tType,D: $tType,F5: A > B > C,G4: D > A] :
% 0.28/0.47        ( ( ^ [U: product_prod @ D @ B] : ( F5 @ ( G4 @ ( product_fst @ D @ B @ U ) ) @ ( product_snd @ D @ B @ U ) ) )
% 0.28/0.47        = ( product_case_prod @ D @ B @ C
% 0.28/0.47          @ ^ [X4: D] : ( F5 @ ( G4 @ X4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % split_comp_eq
% 0.28/0.47  thf(fact_187_case__prod__beta_H,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ C )
% 0.28/0.47        = ( ^ [F2: A > B > C,X4: product_prod @ A @ B] : ( F2 @ ( product_fst @ A @ B @ X4 ) @ ( product_snd @ A @ B @ X4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prod_beta'
% 0.28/0.47  thf(fact_188_case__prod__unfold,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ C )
% 0.28/0.47        = ( ^ [C3: A > B > C,P4: product_prod @ A @ B] : ( C3 @ ( product_fst @ A @ B @ P4 ) @ ( product_snd @ A @ B @ P4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prod_unfold
% 0.28/0.47  thf(fact_189_Product__Type_OCollect__case__prodD,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: product_prod @ A @ B,A6: A > B > $o] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ X @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ A6 ) ) )
% 0.28/0.47       => ( A6 @ ( product_fst @ A @ B @ X ) @ ( product_snd @ A @ B @ X ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Product_Type.Collect_case_prodD
% 0.28/0.47  thf(fact_190_prod_Ocase__eq__if,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_case_prod @ A @ B @ C )
% 0.28/0.47        = ( ^ [F2: A > B > C,Prod3: product_prod @ A @ B] : ( F2 @ ( product_fst @ A @ B @ Prod3 ) @ ( product_snd @ A @ B @ Prod3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.case_eq_if
% 0.28/0.47  thf(fact_191_case__prod__beta,axiom,
% 0.28/0.47      ! [A: $tType,C: $tType,B: $tType] :
% 0.28/0.47        ( ( product_case_prod @ B @ C @ A )
% 0.28/0.47        = ( ^ [F2: B > C > A,P4: product_prod @ B @ C] : ( F2 @ ( product_fst @ B @ C @ P4 ) @ ( product_snd @ B @ C @ P4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % case_prod_beta
% 0.28/0.47  thf(fact_192_prod_Osplit__sel,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,P: C > $o,F5: A > B > C,Prod: product_prod @ A @ B] :
% 0.28/0.47        ( ( P @ ( product_case_prod @ A @ B @ C @ F5 @ Prod ) )
% 0.28/0.47        = ( ( Prod
% 0.28/0.47            = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
% 0.28/0.47         => ( P @ ( F5 @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.split_sel
% 0.28/0.47  thf(fact_193_prod_Osplit__sel__asm,axiom,
% 0.28/0.47      ! [C: $tType,B: $tType,A: $tType,P: C > $o,F5: A > B > C,Prod: product_prod @ A @ B] :
% 0.28/0.47        ( ( P @ ( product_case_prod @ A @ B @ C @ F5 @ Prod ) )
% 0.28/0.47        = ( ~ ( ( Prod
% 0.28/0.47                = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
% 0.28/0.47              & ~ ( P @ ( F5 @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.split_sel_asm
% 0.28/0.47  thf(fact_194_surjective__pairing,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,T2: product_prod @ A @ B] :
% 0.28/0.47        ( T2
% 0.28/0.47        = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ T2 ) @ ( product_snd @ A @ B @ T2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % surjective_pairing
% 0.28/0.47  thf(fact_195_prod_Oexhaust__sel,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 0.28/0.47        ( Prod
% 0.28/0.47        = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.exhaust_sel
% 0.28/0.47  thf(fact_196_prod_Oswap__def,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( product_swap @ A @ B )
% 0.28/0.47        = ( ^ [P4: product_prod @ A @ B] : ( product_Pair @ B @ A @ ( product_snd @ A @ B @ P4 ) @ ( product_fst @ A @ B @ P4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prod.swap_def
% 0.28/0.47  thf(fact_197_snd__conv,axiom,
% 0.28/0.47      ! [Aa: $tType,A: $tType,X1: Aa,X2: A] :
% 0.28/0.47        ( ( product_snd @ Aa @ A @ ( product_Pair @ Aa @ A @ X1 @ X2 ) )
% 0.28/0.47        = X2 ) ).
% 0.28/0.47  
% 0.28/0.47  % snd_conv
% 0.28/0.47  thf(fact_198_snd__eqD,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: B,Y: A,A3: A] :
% 0.28/0.47        ( ( ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) )
% 0.28/0.47          = A3 )
% 0.28/0.47       => ( Y = A3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % snd_eqD
% 0.28/0.47  thf(fact_199_snd__pair,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A3: B,B3: A] :
% 0.28/0.47        ( ( product_snd @ B @ A @ ( product_Pair @ B @ A @ A3 @ B3 ) )
% 0.28/0.47        = B3 ) ).
% 0.28/0.47  
% 0.28/0.47  % snd_pair
% 0.28/0.47  thf(fact_200_fst__conv,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X1: A,X2: B] :
% 0.28/0.47        ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X1 @ X2 ) )
% 0.28/0.47        = X1 ) ).
% 0.28/0.47  
% 0.28/0.47  % fst_conv
% 0.28/0.47  thf(fact_201_fst__eqD,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: A,Y: B,A3: A] :
% 0.28/0.47        ( ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X @ Y ) )
% 0.28/0.47          = A3 )
% 0.28/0.47       => ( X = A3 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % fst_eqD
% 0.28/0.47  thf(fact_202_fst__pair,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A3: A,B3: B] :
% 0.28/0.47        ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.28/0.47        = A3 ) ).
% 0.28/0.47  
% 0.28/0.47  % fst_pair
% 0.28/0.47  thf(fact_203_empty__not__UNIV,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( bot_bot @ ( set @ A ) )
% 0.28/0.47       != ( top_top @ ( set @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % empty_not_UNIV
% 0.28/0.47  thf(fact_204_times__eq__iff,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A6: set @ A,B6: set @ B,C2: set @ A,D5: set @ B] :
% 0.28/0.47        ( ( ( product_Sigma @ A @ B @ A6
% 0.28/0.47            @ ^ [Uu: A] : B6 )
% 0.28/0.47          = ( product_Sigma @ A @ B @ C2
% 0.28/0.47            @ ^ [Uu: A] : D5 ) )
% 0.28/0.47        = ( ( ( A6 = C2 )
% 0.28/0.47            & ( B6 = D5 ) )
% 0.28/0.47          | ( ( ( A6
% 0.28/0.47                = ( bot_bot @ ( set @ A ) ) )
% 0.28/0.47              | ( B6
% 0.28/0.47                = ( bot_bot @ ( set @ B ) ) ) )
% 0.28/0.47            & ( ( C2
% 0.28/0.47                = ( bot_bot @ ( set @ A ) ) )
% 0.28/0.47              | ( D5
% 0.28/0.47                = ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % times_eq_iff
% 0.28/0.47  thf(fact_205_exE__realizer,axiom,
% 0.28/0.47      ! [C: $tType,A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A,Q: C > $o,F5: B > A > C] :
% 0.28/0.47        ( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
% 0.28/0.47       => ( ! [X3: B,Y3: A] :
% 0.28/0.47              ( ( P @ Y3 @ X3 )
% 0.28/0.47             => ( Q @ ( F5 @ X3 @ Y3 ) ) )
% 0.28/0.47         => ( Q @ ( product_case_prod @ B @ A @ C @ F5 @ P2 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % exE_realizer
% 0.28/0.47  thf(fact_206_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: A > B > $o,X: A,Y: B,A3: product_prod @ A @ B] :
% 0.28/0.47        ( ( P @ X @ Y )
% 0.28/0.47       => ( ( A3
% 0.28/0.47            = ( product_Pair @ A @ B @ X @ Y ) )
% 0.28/0.47         => ( P @ ( product_fst @ A @ B @ A3 ) @ ( product_snd @ A @ B @ A3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % BNF_Greatest_Fixpoint.subst_Pair
% 0.28/0.47  thf(fact_207_conjI__realizer,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,P: A > $o,P2: A,Q: B > $o,Q2: B] :
% 0.28/0.47        ( ( P @ P2 )
% 0.28/0.47       => ( ( Q @ Q2 )
% 0.28/0.47         => ( ( P @ ( product_fst @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q2 ) ) )
% 0.28/0.47            & ( Q @ ( product_snd @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q2 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % conjI_realizer
% 0.28/0.47  thf(fact_208_exI__realizer,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,P: A > B > $o,Y: A,X: B] :
% 0.28/0.47        ( ( P @ Y @ X )
% 0.28/0.47       => ( P @ ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) ) @ ( product_fst @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % exI_realizer
% 0.28/0.47  thf(fact_209_eq__snd__iff,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,B3: A,P2: product_prod @ B @ A] :
% 0.28/0.47        ( ( B3
% 0.28/0.47          = ( product_snd @ B @ A @ P2 ) )
% 0.28/0.47        = ( ? [A5: B] :
% 0.28/0.47              ( P2
% 0.28/0.47              = ( product_Pair @ B @ A @ A5 @ B3 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % eq_snd_iff
% 0.28/0.47  thf(fact_210_sndI,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: product_prod @ A @ B,Y: A,Z: B] :
% 0.28/0.47        ( ( X
% 0.28/0.47          = ( product_Pair @ A @ B @ Y @ Z ) )
% 0.28/0.47       => ( ( product_snd @ A @ B @ X )
% 0.28/0.47          = Z ) ) ).
% 0.28/0.47  
% 0.28/0.47  % sndI
% 0.28/0.47  thf(fact_211_fstI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: product_prod @ A @ B,Y: A,Z: B] :
% 0.28/0.47        ( ( X
% 0.28/0.47          = ( product_Pair @ A @ B @ Y @ Z ) )
% 0.28/0.47       => ( ( product_fst @ A @ B @ X )
% 0.28/0.47          = Y ) ) ).
% 0.28/0.47  
% 0.28/0.47  % fstI
% 0.28/0.47  thf(fact_212_eq__fst__iff,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A3: A,P2: product_prod @ A @ B] :
% 0.28/0.47        ( ( A3
% 0.28/0.47          = ( product_fst @ A @ B @ P2 ) )
% 0.28/0.47        = ( ? [B5: B] :
% 0.28/0.47              ( P2
% 0.28/0.47              = ( product_Pair @ A @ B @ A3 @ B5 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % eq_fst_iff
% 0.28/0.47  thf(fact_213_the__elem__image__unique,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ A,F5: A > B,X: A] :
% 0.28/0.47        ( ( A6
% 0.28/0.47         != ( bot_bot @ ( set @ A ) ) )
% 0.28/0.47       => ( ! [Y3: A] :
% 0.28/0.47              ( ( member @ A @ Y3 @ A6 )
% 0.28/0.47             => ( ( F5 @ Y3 )
% 0.28/0.47                = ( F5 @ X ) ) )
% 0.28/0.47         => ( ( the_elem @ B @ ( image @ A @ B @ F5 @ A6 ) )
% 0.28/0.47            = ( F5 @ X ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % the_elem_image_unique
% 0.28/0.47  thf(fact_214_subset__fst__snd,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6
% 0.28/0.47        @ ( product_Sigma @ A @ B @ ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ A6 )
% 0.28/0.47          @ ^ [Uu: A] : ( image @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_fst_snd
% 0.28/0.47  thf(fact_215_subsetI,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( member @ A @ X3 @ A6 )
% 0.28/0.47           => ( member @ A @ X3 @ B6 ) )
% 0.28/0.47       => ( ord_less_eq @ ( set @ A ) @ A6 @ B6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subsetI
% 0.28/0.47  thf(fact_216_subset__antisym,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.28/0.47       => ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 0.28/0.47         => ( A6 = B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_antisym
% 0.28/0.47  thf(fact_217_subset__empty,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ A6 @ ( bot_bot @ ( set @ A ) ) )
% 0.28/0.47        = ( A6
% 0.28/0.47          = ( bot_bot @ ( set @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_empty
% 0.28/0.47  thf(fact_218_empty__subsetI,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] : ( ord_less_eq @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A6 ) ).
% 0.28/0.47  
% 0.28/0.47  % empty_subsetI
% 0.28/0.47  thf(fact_219_subset__UNIV,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] : ( ord_less_eq @ ( set @ A ) @ A6 @ ( top_top @ ( set @ A ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_UNIV
% 0.28/0.47  thf(fact_220_subrelI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,R2: set @ ( product_prod @ A @ B ),S2: set @ ( product_prod @ A @ B )] :
% 0.28/0.47        ( ! [X3: A,Y3: B] :
% 0.28/0.47            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ R2 )
% 0.28/0.47           => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ S2 ) )
% 0.28/0.47       => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R2 @ S2 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subrelI
% 0.28/0.47  thf(fact_221_mon__mono,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType] :
% 0.28/0.47        ( ( order_mono @ ( set @ A ) @ ( set @ B ) )
% 0.28/0.47        = ( ^ [R3: ( set @ A ) > ( set @ B )] :
% 0.28/0.47            ! [X8: set @ A,Y9: set @ A] :
% 0.28/0.47              ( ( ord_less_eq @ ( set @ A ) @ X8 @ Y9 )
% 0.28/0.47             => ( ord_less_eq @ ( set @ B ) @ ( R3 @ X8 ) @ ( R3 @ Y9 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % mon_mono
% 0.28/0.47  thf(fact_222_prop__restrict,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Z4: set @ A,X7: set @ A,P: A > $o] :
% 0.28/0.47        ( ( member @ A @ X @ Z4 )
% 0.28/0.47       => ( ( ord_less_eq @ ( set @ A ) @ Z4
% 0.28/0.47            @ ( collect @ A
% 0.28/0.47              @ ^ [X4: A] :
% 0.28/0.47                  ( ( member @ A @ X4 @ X7 )
% 0.28/0.47                  & ( P @ X4 ) ) ) )
% 0.28/0.47         => ( P @ X ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % prop_restrict
% 0.28/0.47  thf(fact_223_Collect__restrict,axiom,
% 0.28/0.47      ! [A: $tType,X7: set @ A,P: A > $o] :
% 0.28/0.47        ( ord_less_eq @ ( set @ A )
% 0.28/0.47        @ ( collect @ A
% 0.28/0.47          @ ^ [X4: A] :
% 0.28/0.47              ( ( member @ A @ X4 @ X7 )
% 0.28/0.47              & ( P @ X4 ) ) )
% 0.28/0.47        @ X7 ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_restrict
% 0.28/0.47  thf(fact_224_Collect__subset,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,P: A > $o] :
% 0.28/0.47        ( ord_less_eq @ ( set @ A )
% 0.28/0.47        @ ( collect @ A
% 0.28/0.47          @ ^ [X4: A] :
% 0.28/0.47              ( ( member @ A @ X4 @ A6 )
% 0.28/0.47              & ( P @ X4 ) ) )
% 0.28/0.47        @ A6 ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_subset
% 0.28/0.47  thf(fact_225_in__mono,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,B6: set @ A,X: A] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.28/0.47       => ( ( member @ A @ X @ A6 )
% 0.28/0.47         => ( member @ A @ X @ B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % in_mono
% 0.28/0.47  thf(fact_226_subsetD,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,B6: set @ A,C5: A] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.28/0.47       => ( ( member @ A @ C5 @ A6 )
% 0.28/0.47         => ( member @ A @ C5 @ B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subsetD
% 0.28/0.47  thf(fact_227_equalityE,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.28/0.47        ( ( A6 = B6 )
% 0.28/0.47       => ~ ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.28/0.47           => ~ ( ord_less_eq @ ( set @ A ) @ B6 @ A6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % equalityE
% 0.28/0.47  thf(fact_228_subset__eq,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) )
% 0.28/0.47        = ( ^ [A8: set @ A,B8: set @ A] :
% 0.28/0.47            ! [X4: A] :
% 0.28/0.47              ( ( member @ A @ X4 @ A8 )
% 0.28/0.47             => ( member @ A @ X4 @ B8 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_eq
% 0.28/0.47  thf(fact_229_equalityD1,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.28/0.47        ( ( A6 = B6 )
% 0.28/0.47       => ( ord_less_eq @ ( set @ A ) @ A6 @ B6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % equalityD1
% 0.28/0.47  thf(fact_230_equalityD2,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.28/0.47        ( ( A6 = B6 )
% 0.28/0.47       => ( ord_less_eq @ ( set @ A ) @ B6 @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % equalityD2
% 0.28/0.47  thf(fact_231_subset__iff,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) )
% 0.28/0.47        = ( ^ [A8: set @ A,B8: set @ A] :
% 0.28/0.47            ! [T3: A] :
% 0.28/0.47              ( ( member @ A @ T3 @ A8 )
% 0.28/0.47             => ( member @ A @ T3 @ B8 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_iff
% 0.28/0.47  thf(fact_232_subset__refl,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] : ( ord_less_eq @ ( set @ A ) @ A6 @ A6 ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_refl
% 0.28/0.47  thf(fact_233_Collect__mono,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( P @ X3 )
% 0.28/0.47           => ( Q @ X3 ) )
% 0.28/0.47       => ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_mono
% 0.28/0.47  thf(fact_234_subset__trans,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A,B6: set @ A,C2: set @ A] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.28/0.47       => ( ( ord_less_eq @ ( set @ A ) @ B6 @ C2 )
% 0.28/0.47         => ( ord_less_eq @ ( set @ A ) @ A6 @ C2 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_trans
% 0.28/0.47  thf(fact_235_set__eq__subset,axiom,
% 0.28/0.47      ! [A: $tType] :
% 0.28/0.47        ( ( ^ [Y6: set @ A,Z2: set @ A] : ( Y6 = Z2 ) )
% 0.28/0.47        = ( ^ [A8: set @ A,B8: set @ A] :
% 0.28/0.47              ( ( ord_less_eq @ ( set @ A ) @ A8 @ B8 )
% 0.28/0.47              & ( ord_less_eq @ ( set @ A ) @ B8 @ A8 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % set_eq_subset
% 0.28/0.47  thf(fact_236_Collect__mono__iff,axiom,
% 0.28/0.47      ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) )
% 0.28/0.47        = ( ! [X4: A] :
% 0.28/0.47              ( ( P @ X4 )
% 0.28/0.47             => ( Q @ X4 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_mono_iff
% 0.28/0.47  thf(fact_237_subset__image__iff,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,B6: set @ A,F5: B > A,A6: set @ B] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ B6 @ ( image @ B @ A @ F5 @ A6 ) )
% 0.28/0.47        = ( ? [AA: set @ B] :
% 0.28/0.47              ( ( ord_less_eq @ ( set @ B ) @ AA @ A6 )
% 0.28/0.47              & ( B6
% 0.28/0.47                = ( image @ B @ A @ F5 @ AA ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_image_iff
% 0.28/0.47  thf(fact_238_image__subset__iff,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B,B6: set @ A] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ ( image @ B @ A @ F5 @ A6 ) @ B6 )
% 0.28/0.47        = ( ! [X4: B] :
% 0.28/0.47              ( ( member @ B @ X4 @ A6 )
% 0.28/0.47             => ( member @ A @ ( F5 @ X4 ) @ B6 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_subset_iff
% 0.28/0.47  thf(fact_239_subset__imageE,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,B6: set @ A,F5: B > A,A6: set @ B] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ B6 @ ( image @ B @ A @ F5 @ A6 ) )
% 0.28/0.47       => ~ ! [C6: set @ B] :
% 0.28/0.47              ( ( ord_less_eq @ ( set @ B ) @ C6 @ A6 )
% 0.28/0.47             => ( B6
% 0.28/0.47               != ( image @ B @ A @ F5 @ C6 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_imageE
% 0.28/0.47  thf(fact_240_image__subsetI,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A6: set @ A,F5: A > B,B6: set @ B] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( member @ A @ X3 @ A6 )
% 0.28/0.47           => ( member @ B @ ( F5 @ X3 ) @ B6 ) )
% 0.28/0.47       => ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ F5 @ A6 ) @ B6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_subsetI
% 0.28/0.47  thf(fact_241_image__mono,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ A,F5: A > B] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.28/0.47       => ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ F5 @ A6 ) @ ( image @ A @ B @ F5 @ B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_mono
% 0.28/0.47  thf(fact_242_Times__subset__cancel2,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,X: A,C2: set @ A,A6: set @ B,B6: set @ B] :
% 0.28/0.47        ( ( member @ A @ X @ C2 )
% 0.28/0.47       => ( ( ord_less_eq @ ( set @ ( product_prod @ B @ A ) )
% 0.28/0.47            @ ( product_Sigma @ B @ A @ A6
% 0.28/0.47              @ ^ [Uu: B] : C2 )
% 0.28/0.47            @ ( product_Sigma @ B @ A @ B6
% 0.28/0.47              @ ^ [Uu: B] : C2 ) )
% 0.28/0.47          = ( ord_less_eq @ ( set @ B ) @ A6 @ B6 ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Times_subset_cancel2
% 0.28/0.47  thf(fact_243_Sigma__mono,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ A,C2: set @ A,B6: A > ( set @ B ),D5: A > ( set @ B )] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ A6 @ C2 )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( ( member @ A @ X3 @ A6 )
% 0.28/0.47             => ( ord_less_eq @ ( set @ B ) @ ( B6 @ X3 ) @ ( D5 @ X3 ) ) )
% 0.28/0.47         => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) @ ( product_Sigma @ A @ B @ C2 @ D5 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Sigma_mono
% 0.28/0.47  thf(fact_244_image__Collect__subsetI,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,P: A > $o,F5: A > B,B6: set @ B] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ( ( P @ X3 )
% 0.28/0.47           => ( member @ B @ ( F5 @ X3 ) @ B6 ) )
% 0.28/0.47       => ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ F5 @ ( collect @ A @ P ) ) @ B6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % image_Collect_subsetI
% 0.28/0.47  thf(fact_245_subset__Collect__iff,axiom,
% 0.28/0.47      ! [A: $tType,B6: set @ A,A6: set @ A,P: A > $o] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 0.28/0.47       => ( ( ord_less_eq @ ( set @ A ) @ B6
% 0.28/0.47            @ ( collect @ A
% 0.28/0.47              @ ^ [X4: A] :
% 0.28/0.47                  ( ( member @ A @ X4 @ A6 )
% 0.28/0.47                  & ( P @ X4 ) ) ) )
% 0.28/0.47          = ( ! [X4: A] :
% 0.28/0.47                ( ( member @ A @ X4 @ B6 )
% 0.28/0.47               => ( P @ X4 ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_Collect_iff
% 0.28/0.47  thf(fact_246_subset__CollectI,axiom,
% 0.28/0.47      ! [A: $tType,B6: set @ A,A6: set @ A,Q: A > $o,P: A > $o] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 0.28/0.47       => ( ! [X3: A] :
% 0.28/0.47              ( ( member @ A @ X3 @ B6 )
% 0.28/0.47             => ( ( Q @ X3 )
% 0.28/0.47               => ( P @ X3 ) ) )
% 0.28/0.47         => ( ord_less_eq @ ( set @ A )
% 0.28/0.47            @ ( collect @ A
% 0.28/0.47              @ ^ [X4: A] :
% 0.28/0.47                  ( ( member @ A @ X4 @ B6 )
% 0.28/0.47                  & ( Q @ X4 ) ) )
% 0.28/0.47            @ ( collect @ A
% 0.28/0.47              @ ^ [X4: A] :
% 0.28/0.47                  ( ( member @ A @ X4 @ A6 )
% 0.28/0.47                  & ( P @ X4 ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_CollectI
% 0.28/0.47  thf(fact_247_subset__emptyI,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ A] :
% 0.28/0.47        ( ! [X3: A] :
% 0.28/0.47            ~ ( member @ A @ X3 @ A6 )
% 0.28/0.47       => ( ord_less_eq @ ( set @ A ) @ A6 @ ( bot_bot @ ( set @ A ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_emptyI
% 0.28/0.47  thf(fact_248_less__by__empty,axiom,
% 0.28/0.47      ! [A: $tType,A6: set @ ( product_prod @ A @ A ),B6: set @ ( product_prod @ A @ A )] :
% 0.28/0.47        ( ( A6
% 0.28/0.47          = ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) )
% 0.28/0.47       => ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ A6 @ B6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % less_by_empty
% 0.28/0.47  thf(fact_249_times__subset__iff,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A6: set @ A,C2: set @ B,B6: set @ A,D5: set @ B] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) )
% 0.28/0.47          @ ( product_Sigma @ A @ B @ A6
% 0.28/0.47            @ ^ [Uu: A] : C2 )
% 0.28/0.47          @ ( product_Sigma @ A @ B @ B6
% 0.28/0.47            @ ^ [Uu: A] : D5 ) )
% 0.28/0.47        = ( ( A6
% 0.28/0.47            = ( bot_bot @ ( set @ A ) ) )
% 0.28/0.47          | ( C2
% 0.28/0.47            = ( bot_bot @ ( set @ B ) ) )
% 0.28/0.47          | ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.28/0.47            & ( ord_less_eq @ ( set @ B ) @ C2 @ D5 ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % times_subset_iff
% 0.28/0.47  thf(fact_250_Collect__split__mono__strong,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X7: set @ A,A6: set @ ( product_prod @ A @ B ),Y7: set @ B,P: A > B > $o,Q: A > B > $o] :
% 0.28/0.47        ( ( X7
% 0.28/0.47          = ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ A6 ) )
% 0.28/0.47       => ( ( Y7
% 0.28/0.47            = ( image @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) @ A6 ) )
% 0.28/0.47         => ( ! [X3: A] :
% 0.28/0.47                ( ( member @ A @ X3 @ X7 )
% 0.28/0.47               => ! [Xa: B] :
% 0.28/0.47                    ( ( member @ B @ Xa @ Y7 )
% 0.28/0.47                   => ( ( P @ X3 @ Xa )
% 0.28/0.47                     => ( Q @ X3 @ Xa ) ) ) )
% 0.28/0.47           => ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ P ) ) )
% 0.28/0.47             => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ Q ) ) ) ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Collect_split_mono_strong
% 0.28/0.47  thf(fact_251_subset__snd__imageI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ B,S: set @ ( product_prod @ A @ B ),X: A] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) )
% 0.28/0.47          @ ( product_Sigma @ A @ B @ A6
% 0.28/0.47            @ ^ [Uu: A] : B6 )
% 0.28/0.47          @ S )
% 0.28/0.47       => ( ( member @ A @ X @ A6 )
% 0.28/0.47         => ( ord_less_eq @ ( set @ B ) @ B6 @ ( image @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) @ S ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_snd_imageI
% 0.28/0.47  thf(fact_252_subset__fst__imageI,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ B,S: set @ ( product_prod @ A @ B ),Y: B] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) )
% 0.28/0.47          @ ( product_Sigma @ A @ B @ A6
% 0.28/0.47            @ ^ [Uu: A] : B6 )
% 0.28/0.47          @ S )
% 0.28/0.47       => ( ( member @ B @ Y @ B6 )
% 0.28/0.47         => ( ord_less_eq @ ( set @ A ) @ A6 @ ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ S ) ) ) ) ).
% 0.28/0.47  
% 0.28/0.47  % subset_fst_imageI
% 0.28/0.47  thf(fact_253_range__subsetD,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,F5: B > A,B6: set @ A,I4: B] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ A ) @ ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) ) @ B6 )
% 0.28/0.47       => ( member @ A @ ( F5 @ I4 ) @ B6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % range_subsetD
% 0.28/0.47  thf(fact_254_Gr__incl,axiom,
% 0.28/0.47      ! [A: $tType,B: $tType,A6: set @ A,F5: A > B,B6: set @ B] :
% 0.28/0.47        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( bNF_Gr @ A @ B @ A6 @ F5 )
% 0.28/0.47          @ ( product_Sigma @ A @ B @ A6
% 0.28/0.47            @ ^ [Uu: A] : B6 ) )
% 0.28/0.47        = ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ F5 @ A6 ) @ B6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % Gr_incl
% 0.28/0.47  thf(fact_255_GrD1,axiom,
% 0.28/0.47      ! [B: $tType,A: $tType,X: A,Fx: B,A6: set @ A,F5: A > B] :
% 0.28/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Fx ) @ ( bNF_Gr @ A @ B @ A6 @ F5 ) )
% 0.28/0.47       => ( member @ A @ X @ A6 ) ) ).
% 0.28/0.47  
% 0.28/0.47  % GrD1
% 0.28/0.47  
% 0.28/0.47  % Helper facts (3)
% 0.28/0.47  thf(help_If_3_1_T,axiom,
% 0.28/0.47      ! [P: $o] :
% 0.28/0.47        ( ( P = $true )
% 0.28/0.47        | ( P = $false ) ) ).
% 0.28/0.47  
% 0.28/0.47  thf(help_If_2_1_T,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Y: A] :
% 0.28/0.47        ( ( if @ A @ $false @ X @ Y )
% 0.28/0.47        = Y ) ).
% 0.28/0.47  
% 0.28/0.47  thf(help_If_1_1_T,axiom,
% 0.28/0.47      ! [A: $tType,X: A,Y: A] :
% 0.28/0.47        ( ( if @ A @ $true @ X @ Y )
% 0.28/0.47        = X ) ).
% 0.28/0.47  
% 0.28/0.47  % Conjectures (1)
% 0.28/0.47  thf(conj_0,conjecture,
% 0.28/0.47      ( ( denotational_Preds
% 0.28/0.47        @ ( denota1150374853interp
% 0.28/0.47          @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) )
% 0.28/0.47            @ ^ [C3: char] : ( if @ real @ ( C3 = f ) @ d @ ( denotational_Consts @ i @ C3 ) )
% 0.28/0.47            @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ ( denotational_Funcs @ i ) @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ ( denotational_Preds @ i ) @ ( denotational_Games @ i ) ) ) ) ) )
% 0.28/0.47      = ( denotational_Preds @ i ) ) ).
% 0.28/0.47  
% 0.28/0.47  %------------------------------------------------------------------------------
% 0.28/0.47  ------------------------
% 2.79/1.53  ---- Embedded in THF ---
% 2.79/1.53  %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 2.79/1.53  %%% Generated on Tue Feb 24 08:30:12 EST 2026
% 2.79/1.53  %%% using '$$dhol' embedding, version 1.3.0.
% 2.79/1.53  %%% Logic specification used:
% 2.79/1.53  %%% thf(spec, logic, $$dhol).
% 2.79/1.53  
% 2.79/1.53  % SZS output start ListOfTHF for /export/starexec/sandbox2/tmp/tmp.ov1tFK40xU/DTF2DTF17124.p
% 2.79/1.53  thf(ty_t_Denotational__Semantics_Ointerp, type, denotational_interp: $tType).
% 2.79/1.53  thf(ty_t_Product__Type_Ounit, type, product_unit: $tType).
% 2.79/1.53  thf(ty_t_Product__Type_Oprod, type, product_prod: ($tType > ($tType > $tType))).
% 2.79/1.53  thf(ty_t_Syntax_Ovariable, type, variable: $tType).
% 2.79/1.53  thf(ty_t_String_Ochar, type, char: $tType).
% 2.79/1.53  thf(ty_t_Real_Oreal, type, real: $tType).
% 2.79/1.53  thf(ty_t_Set_Oset, type, set: ($tType > $tType)).
% 2.79/1.53  thf(sy_c_BNF__Def_OGr, type, bNF_Gr: (!> [A:$tType,B:$tType]: (((set @ A) > ((A > B) > (set @ ((product_prod @ A) @ B))))))).
% 2.79/1.53  thf(sy_c_Denotational__Semantics_OConsts, type, denotational_Consts: (denotational_interp > (char > real))).
% 2.79/1.53  thf(sy_c_Denotational__Semantics_OFuncs, type, denotational_Funcs: (denotational_interp > (char > (real > real)))).
% 2.79/1.53  thf(sy_c_Denotational__Semantics_OGames, type, denotational_Games: (denotational_interp > (char > ((set @ (variable > real)) > (set @ (variable > real)))))).
% 2.79/1.53  thf(sy_c_Denotational__Semantics_OPreds, type, denotational_Preds: (denotational_interp > (char > (real > $o)))).
% 2.79/1.53  thf(sy_c_Denotational__Semantics_Omkinterp, type, denota1150374853interp: (((product_prod @ (char > real)) @ ((product_prod @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))))) > denotational_interp)).
% 2.79/1.53  thf(sy_c_Denotational__Semantics_Oworlds, type, denotational_worlds: (set @ (variable > real))).
% 2.79/1.53  thf(sy_c_Fun__Def_Oreduction__pair, type, fun_reduction_pair: (!> [A:$tType]: ((((product_prod @ (set @ ((product_prod @ A) @ A))) @ (set @ ((product_prod @ A) @ A))) > $o)))).
% 2.79/1.53  thf(sy_c_Fun__Def_Orp__inv__image, type, fun_rp_inv_image: (!> [A:$tType,B:$tType]: ((((product_prod @ (set @ ((product_prod @ A) @ A))) @ (set @ ((product_prod @ A) @ A))) > ((B > A) > ((product_prod @ (set @ ((product_prod @ B) @ B))) @ (set @ ((product_prod @ B) @ B)))))))).
% 2.79/1.53  thf(sy_c_HOL_OThe, type, the: (!> [A:$tType]: (((A > $o) > A)))).
% 2.79/1.53  thf(sy_c_If, type, if: (!> [A:$tType]: (($o > (A > (A > A)))))).
% 2.79/1.53  thf(sy_c_Orderings_Obot__class_Obot, type, bot_bot: (!> [A:$tType]: (A))).
% 2.79/1.53  thf(sy_c_Orderings_Oord__class_Oless__eq, type, ord_less_eq: (!> [A:$tType]: ((A > (A > $o))))).
% 2.79/1.53  thf(sy_c_Orderings_Oorder__class_Omono, type, order_mono: (!> [A:$tType,B:$tType]: (((A > B) > $o)))).
% 2.79/1.53  thf(sy_c_Orderings_Otop__class_Otop, type, top_top: (!> [A:$tType]: (A))).
% 2.79/1.53  thf(sy_c_Product__Type_OPair, type, product_Pair: (!> [A:$tType,B:$tType]: ((A > (B > ((product_prod @ A) @ B)))))).
% 2.79/1.53  thf(sy_c_Product__Type_OPair__Rep, type, product_Pair_Rep: (!> [A:$tType,B:$tType]: ((A > (B > (A > (B > $o))))))).
% 2.79/1.53  thf(sy_c_Product__Type_OSigma, type, product_Sigma: (!> [A:$tType,B:$tType]: (((set @ A) > ((A > (set @ B)) > (set @ ((product_prod @ A) @ B))))))).
% 2.79/1.53  thf(sy_c_Product__Type_Ocurry, type, product_curry: (!> [A:$tType,B:$tType,C:$tType]: (((((product_prod @ A) @ B) > C) > (A > (B > C)))))).
% 2.79/1.53  thf(sy_c_Product__Type_Ointernal__case__prod, type, produc2004651681e_prod: (!> [A:$tType,B:$tType,C:$tType]: (((A > (B > C)) > (((product_prod @ A) @ B) > C))))).
% 2.79/1.53  thf(sy_c_Product__Type_Omap__prod, type, product_map_prod: (!> [A:$tType,C:$tType,B:$tType,D:$tType]: (((A > C) > ((B > D) > (((product_prod @ A) @ B) > ((product_prod @ C) @ D))))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oold_Obool_Orec__bool, type, product_rec_bool: (!> [T:$tType]: ((T > (T > ($o > T)))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oold_Obool_Orec__set__bool, type, product_rec_set_bool: (!> [T:$tType]: ((T > (T > ($o > (T > $o))))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod, type, product_rec_prod: (!> [A:$tType,B:$tType,T:$tType]: (((A > (B > T)) > (((product_prod @ A) @ B) > T))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oold_Oprod_Orec__set__prod, type, product_rec_set_prod: (!> [A:$tType,B:$tType,T:$tType]: (((A > (B > T)) > (((product_prod @ A) @ B) > (T > $o)))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oold_Ounit_Orec__set__unit, type, product_rec_set_unit: (!> [T:$tType]: ((T > (product_unit > (T > $o)))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oold_Ounit_Orec__unit, type, product_rec_unit: (!> [T:$tType]: ((T > (product_unit > T))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oprod_OAbs__prod, type, product_Abs_prod: (!> [A:$tType,B:$tType]: (((A > (B > $o)) > ((product_prod @ A) @ B))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oprod_Ocase__prod, type, product_case_prod: (!> [A:$tType,B:$tType,C:$tType]: (((A > (B > C)) > (((product_prod @ A) @ B) > C))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oprod_Ofst, type, product_fst: (!> [A:$tType,B:$tType]: ((((product_prod @ A) @ B) > A)))).
% 2.79/1.53  thf(sy_c_Product__Type_Oprod_Osnd, type, product_snd: (!> [A:$tType,B:$tType]: ((((product_prod @ A) @ B) > B)))).
% 2.79/1.53  thf(sy_c_Product__Type_Oprod_Oswap, type, product_swap: (!> [A:$tType,B:$tType]: ((((product_prod @ A) @ B) > ((product_prod @ B) @ A))))).
% 2.79/1.53  thf(sy_c_Product__Type_Oproduct, type, product_product: (!> [A:$tType,B:$tType]: (((set @ A) > ((set @ B) > (set @ ((product_prod @ A) @ B))))))).
% 2.79/1.53  thf(sy_c_Relation_Oinv__image, type, inv_image: (!> [B:$tType,A:$tType]: (((set @ ((product_prod @ B) @ B)) > ((A > B) > (set @ ((product_prod @ A) @ A))))))).
% 2.79/1.53  thf(sy_c_Relation_Oinv__imagep, type, inv_imagep: (!> [B:$tType,A:$tType]: (((B > (B > $o)) > ((A > B) > (A > (A > $o))))))).
% 2.79/1.53  thf(sy_c_Set_OCollect, type, collect: (!> [A:$tType]: (((A > $o) > (set @ A))))).
% 2.79/1.53  thf(sy_c_Set_Oimage, type, image: (!> [A:$tType,B:$tType]: (((A > B) > ((set @ A) > (set @ B)))))).
% 2.79/1.53  thf(sy_c_Set_Othe__elem, type, the_elem: (!> [A:$tType]: (((set @ A) > A)))).
% 2.79/1.53  thf(sy_c_USubst__Mirabelle__nnnzepxswx_Orepc, type, uSubst761942615e_repc: (denotational_interp > (char > (real > denotational_interp)))).
% 2.79/1.53  thf(sy_c_Wellfounded_Olex__prod, type, lex_prod: (!> [A:$tType,B:$tType]: (((set @ ((product_prod @ A) @ A)) > ((set @ ((product_prod @ B) @ B)) > (set @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)))))))).
% 2.79/1.53  thf(sy_c_Wfrec_Osame__fst, type, same_fst: (!> [A:$tType,B:$tType]: (((A > $o) > ((A > (set @ ((product_prod @ B) @ B))) > (set @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)))))))).
% 2.79/1.53  thf(sy_c_member, type, member: (!> [A:$tType]: ((A > ((set @ A) > $o))))).
% 2.79/1.53  thf(sy_v_I, type, i: denotational_interp).
% 2.79/1.53  thf(sy_v_d, type, d: real).
% 2.79/1.53  thf(sy_v_f, type, f: char).
% 2.79/1.53  thf(fact_0_Preds__mkinterp, axiom, (! [C2:(char > real),F:(char > (real > real)),P:(char > (real > $o)),G:(char > ((set @ (variable > real)) > (set @ (variable > real))))]: (((denotational_Preds @ (denota1150374853interp @ ((((product_Pair @ (char > real)) @ ((product_prod @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))))) @ C2) @ ((((product_Pair @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real)))))) @ F) @ ((((product_Pair @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))) @ P) @ G))))) = P)))).
% 2.79/1.53  thf(fact_1_Funcs__mkinterp, axiom, (! [C2:(char > real),F:(char > (real > real)),P:(char > (real > $o)),G:(char > ((set @ (variable > real)) > (set @ (variable > real))))]: (((denotational_Funcs @ (denota1150374853interp @ ((((product_Pair @ (char > real)) @ ((product_prod @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))))) @ C2) @ ((((product_Pair @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real)))))) @ F) @ ((((product_Pair @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))) @ P) @ G))))) = F)))).
% 2.79/1.53  thf(fact_2_Consts__mkinterp, axiom, (! [C2:(char > real),F:(char > (real > real)),P:(char > (real > $o)),G:(char > ((set @ (variable > real)) > (set @ (variable > real))))]: (((denotational_Consts @ (denota1150374853interp @ ((((product_Pair @ (char > real)) @ ((product_prod @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))))) @ C2) @ ((((product_Pair @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real)))))) @ F) @ ((((product_Pair @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))) @ P) @ G))))) = C2)))).
% 2.79/1.53  thf(fact_3_mkinterp__eq, axiom, (! [I:denotational_interp,J:denotational_interp]: (((((denotational_Consts @ I) = (denotational_Consts @ J)) & (((denotational_Funcs @ I) = (denotational_Funcs @ J)) & (((denotational_Preds @ I) = (denotational_Preds @ J)) & ((denotational_Games @ I) = (denotational_Games @ J))))) = (I = J))))).
% 2.79/1.53  thf(fact_4_repc__def, axiom, (uSubst761942615e_repc = (^ [I2:denotational_interp,F2:char,D2:real]: ((denota1150374853interp @ ((((product_Pair @ (char > real)) @ ((product_prod @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))))) @ (^ [C3:char]: (((((if @ real) @ (C3 = F2)) @ D2) @ ((denotational_Consts @ I2) @ C3))))) @ ((((product_Pair @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real)))))) @ (denotational_Funcs @ I2)) @ ((((product_Pair @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))) @ (denotational_Preds @ I2)) @ (denotational_Games @ I2))))))))).
% 2.79/1.53  thf(fact_5_prod__cases4, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D)))]: ((~ ((! [A2:A,B2:B,C4:C,D3:D]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B2) @ ((((product_Pair @ C) @ D) @ C4) @ D3))))))))))).
% 2.79/1.53  thf(fact_6_prod__cases5, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))))]: ((~ ((! [A2:A,B2:B,C4:C,D3:D,E2:E]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C4) @ ((((product_Pair @ D) @ E) @ D3) @ E2)))))))))))).
% 2.79/1.53  thf(fact_7_prod__cases6, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F3:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F3)))))]: ((~ ((! [A2:A,B2:B,C4:C,D3:D,E2:E,F4:F3]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F3))))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F3)))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F3))) @ C4) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F3)) @ D3) @ ((((product_Pair @ E) @ F3) @ E2) @ F4))))))))))))).
% 2.79/1.53  thf(fact_8_prod__cases7, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F3:$tType,G2:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2))))))]: ((~ ((! [A2:A,B2:B,C4:C,D3:D,E2:E,F4:F3,G3:G2]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2)))))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2))))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2)))) @ C4) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2))) @ D3) @ ((((product_Pair @ E) @ ((product_prod @ F3) @ G2)) @ E2) @ ((((product_Pair @ F3) @ G2) @ F4) @ G3)))))))))))))).
% 2.79/1.53  thf(fact_9_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)))]: (((! [A2:A,B2:B,C4:C,D3:D]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B2) @ ((((product_Pair @ C) @ D) @ C4) @ D3)))))) => (P @ X))))).
% 2.79/1.53  thf(fact_10_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))))]: (((! [A2:A,B2:B,C4:C,D3:D,E2:E]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C4) @ ((((product_Pair @ D) @ E) @ D3) @ E2))))))) => (P @ X))))).
% 2.79/1.53  thf(fact_11_prod__induct6, axiom, (! [F3:$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) @ F3))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F3)))))]: (((! [A2:A,B2:B,C4:C,D3:D,E2:E,F4:F3]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F3))))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F3)))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F3))) @ C4) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F3)) @ D3) @ ((((product_Pair @ E) @ F3) @ E2) @ F4)))))))) => (P @ X))))).
% 2.79/1.53  thf(fact_12_old_Oprod_Oinject, axiom, (! [A:$tType,B:$tType,A3:A,B3:B,A4:A,B4:B]: (((((((product_Pair @ A) @ B) @ A3) @ B3) = ((((product_Pair @ A) @ B) @ A4) @ B4)) = ((A3 = A4) & (B3 = B4)))))).
% 2.79/1.53  thf(fact_13_prod_Oinject, axiom, (! [A:$tType,B:$tType,X1:A,X2:B,Y1:A,Y2:B]: (((((((product_Pair @ A) @ B) @ X1) @ X2) = ((((product_Pair @ A) @ B) @ Y1) @ Y2)) = ((X1 = Y1) & (X2 = Y2)))))).
% 2.79/1.53  thf(fact_14_repc__consts, axiom, (! [C5:char,F5:char,I:denotational_interp,D4:real]: ((((C5 = F5) => (((denotational_Consts @ (((uSubst761942615e_repc @ I) @ F5) @ D4)) @ C5) = D4)) & ((C5 != F5) => (((denotational_Consts @ (((uSubst761942615e_repc @ I) @ F5) @ D4)) @ C5) = ((denotational_Consts @ I) @ C5))))))).
% 2.79/1.53  thf(fact_15_repc__funcs, axiom, (! [I:denotational_interp,F5:char,D4:real]: (((denotational_Funcs @ (((uSubst761942615e_repc @ I) @ F5) @ D4)) = (denotational_Funcs @ I))))).
% 2.79/1.53  thf(fact_16_old_Oprod_Oinducts, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),Prod:((product_prod @ A) @ B)]: (((! [A2:A,B2:B]: ((P @ ((((product_Pair @ A) @ B) @ A2) @ B2)))) => (P @ Prod))))).
% 2.79/1.53  thf(fact_17_old_Oprod_Oexhaust, axiom, (! [A:$tType,B:$tType,Y:((product_prod @ A) @ B)]: ((~ ((! [A2:A,B2:B]: ((Y != ((((product_Pair @ A) @ B) @ A2) @ B2))))))))).
% 2.79/1.53  thf(fact_18_Pair__inject, axiom, (! [A:$tType,B:$tType,A3:A,B3:B,A4:A,B4:B]: (((((((product_Pair @ A) @ B) @ A3) @ B3) = ((((product_Pair @ A) @ B) @ A4) @ B4)) => (~ (((A3 = A4) => (B3 != B4)))))))).
% 2.79/1.53  thf(fact_19_prod__cases, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),P2:((product_prod @ A) @ B)]: (((! [A2:A,B2:B]: ((P @ ((((product_Pair @ A) @ B) @ A2) @ B2)))) => (P @ P2))))).
% 2.79/1.53  thf(fact_20_surj__pair, axiom, (! [A:$tType,B:$tType,P2:((product_prod @ A) @ B)]: ((? [X3:A,Y3:B]: ((P2 = ((((product_Pair @ A) @ B) @ X3) @ Y3))))))).
% 2.79/1.53  thf(fact_21_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))]: (((! [A2:A,B2:B,C4:C]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A2) @ ((((product_Pair @ B) @ C) @ B2) @ C4))))) => (P @ X))))).
% 2.79/1.53  thf(fact_22_prod__cases3, axiom, (! [A:$tType,B:$tType,C:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ C))]: ((~ ((! [A2:A,B2:B,C4:C]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A2) @ ((((product_Pair @ B) @ C) @ B2) @ C4)))))))))).
% 2.79/1.53  thf(fact_23_prod__induct7, axiom, (! [G2:$tType,F3:$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 @ F3) @ G2)))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2))))))]: (((! [A2:A,B2:B,C4:C,D3:D,E2:E,F4:F3,G3:G2]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2)))))) @ A2) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2))))) @ B2) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2)))) @ C4) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F3) @ G2))) @ D3) @ ((((product_Pair @ E) @ ((product_prod @ F3) @ G2)) @ E2) @ ((((product_Pair @ F3) @ G2) @ F4) @ G3))))))))) => (P @ X))))).
% 2.79/1.53  thf(fact_24_old_Oprod_Orec, axiom, (! [A:$tType,T:$tType,B:$tType,F1:(A > (B > T)),A3:A,B3:B]: (((((((product_rec_prod @ A) @ B) @ T) @ F1) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) = ((F1 @ A3) @ B3))))).
% 2.79/1.53  thf(fact_25_Games__mkinterp, axiom, (! [G:(char > ((set @ (variable > real)) > (set @ (variable > real)))),C2:(char > real),F:(char > (real > real)),P:(char > (real > $o))]: (((! [A2:char]: ((((order_mono @ (set @ (variable > real))) @ (set @ (variable > real))) @ (G @ A2)))) => ((denotational_Games @ (denota1150374853interp @ ((((product_Pair @ (char > real)) @ ((product_prod @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))))) @ C2) @ ((((product_Pair @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real)))))) @ F) @ ((((product_Pair @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))) @ P) @ G))))) = G))))).
% 2.79/1.53  thf(fact_26_pred__equals__eq2, axiom, (! [B:$tType,A:$tType,R:(set @ ((product_prod @ A) @ B)),S:(set @ ((product_prod @ A) @ B))]: ((((^ [X4:A,Y4:B]: ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y4)) @ R))) = (^ [X4:A,Y4:B]: ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y4)) @ S)))) = (R = S))))).
% 2.79/1.53  thf(fact_27_internal__case__prod__conv, axiom, (! [B:$tType,A:$tType,C:$tType,C5:(B > (C > A)),A3:B,B3:C]: (((((((produc2004651681e_prod @ B) @ C) @ A) @ C5) @ ((((product_Pair @ B) @ C) @ A3) @ B3)) = ((C5 @ A3) @ B3))))).
% 2.79/1.53  thf(fact_28_ssubst__Pair__rhs, axiom, (! [B:$tType,A:$tType,R2:A,S2:B,R:(set @ ((product_prod @ A) @ B)),S3:B]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ R2) @ S2)) @ R) => ((S3 = S2) => (((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ R2) @ S3)) @ R)))))).
% 2.79/1.53  thf(fact_29_curry__conv, axiom, (! [A:$tType,C:$tType,B:$tType]: (((((product_curry @ B) @ C) @ A) = (^ [F2:(((product_prod @ B) @ C) > A),A5:B,B5:C]: ((F2 @ ((((product_Pair @ B) @ C) @ A5) @ B5)))))))).
% 2.79/1.53  thf(fact_30_curry__def, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((product_curry @ A) @ B) @ C) = (^ [C3:(((product_prod @ A) @ B) > C),X4:A,Y4:B]: ((C3 @ ((((product_Pair @ A) @ B) @ X4) @ Y4)))))))).
% 2.79/1.53  thf(fact_31_curryI, axiom, (! [A:$tType,B:$tType,F5:(((product_prod @ A) @ B) > $o),A3:A,B3:B]: (((F5 @ ((((product_Pair @ A) @ B) @ A3) @ B3)) => ((((((product_curry @ A) @ B) @ $o) @ F5) @ A3) @ B3))))).
% 2.79/1.53  thf(fact_32_worlds__def, axiom, (denotational_worlds = ((collect @ (variable > real)) @ (^ [Nu:(variable > real)]: ($true))))).
% 2.79/1.53  thf(fact_33_swap__simp, axiom, (! [A:$tType,B:$tType,X:B,Y:A]: (((((product_swap @ B) @ A) @ ((((product_Pair @ B) @ A) @ X) @ Y)) = ((((product_Pair @ A) @ B) @ Y) @ X))))).
% 2.79/1.53  thf(fact_34_Pair__Rep__def, axiom, (! [B:$tType,A:$tType]: ((((product_Pair_Rep @ A) @ B) = (^ [A5:A,B5:B,X4:A,Y4:B]: (((X4 = A5) & (Y4 = B5)))))))).
% 2.79/1.53  thf(fact_35_swap__swap, axiom, (! [B:$tType,A:$tType,P2:((product_prod @ A) @ B)]: (((((product_swap @ B) @ A) @ (((product_swap @ A) @ B) @ P2)) = P2)))).
% 2.79/1.53  thf(fact_36_curry__K, axiom, (! [B:$tType,C:$tType,A:$tType,C5:C]: ((((((product_curry @ A) @ B) @ C) @ (^ [X4:((product_prod @ A) @ B)]: (C5))) = (^ [X4:A,Y4:B]: (C5)))))).
% 2.79/1.53  thf(fact_37_curryD, axiom, (! [A:$tType,B:$tType,F5:(((product_prod @ A) @ B) > $o),A3:A,B3:B]: ((((((((product_curry @ A) @ B) @ $o) @ F5) @ A3) @ B3) => (F5 @ ((((product_Pair @ A) @ B) @ A3) @ B3)))))).
% 2.79/1.53  thf(fact_38_curryE, axiom, (! [A:$tType,B:$tType,F5:(((product_prod @ A) @ B) > $o),A3:A,B3:B]: ((((((((product_curry @ A) @ B) @ $o) @ F5) @ A3) @ B3) => (F5 @ ((((product_Pair @ A) @ B) @ A3) @ B3)))))).
% 2.79/1.53  thf(fact_39_Pair__def, axiom, (! [B:$tType,A:$tType]: ((((product_Pair @ A) @ B) = (^ [A5:A,B5:B]: ((((product_Abs_prod @ A) @ B) @ ((((product_Pair_Rep @ A) @ B) @ A5) @ B5)))))))).
% 2.79/1.53  thf(fact_40_in__inv__imagep, axiom, (! [B:$tType,A:$tType]: ((((inv_imagep @ A) @ B) = (^ [R3:(A > (A > $o)),F2:(B > A),X4:B,Y4:B]: (((R3 @ (F2 @ X4)) @ (F2 @ Y4)))))))).
% 2.79/1.53  thf(fact_41_pair__in__swap__image, axiom, (! [A:$tType,B:$tType,Y:A,X:B,A6:(set @ ((product_prod @ B) @ A))]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Y) @ X)) @ ((((image @ ((product_prod @ B) @ A)) @ ((product_prod @ A) @ B)) @ ((product_swap @ B) @ A)) @ A6)) = (((member @ ((product_prod @ B) @ A)) @ ((((product_Pair @ B) @ A) @ X) @ Y)) @ A6))))).
% 2.79/1.53  thf(fact_42_in__inv__image, axiom, (! [A:$tType,B:$tType,X:A,Y:A,R2:(set @ ((product_prod @ B) @ B)),F5:(A > B)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ ((((inv_image @ B) @ A) @ R2) @ F5)) = (((member @ ((product_prod @ B) @ B)) @ ((((product_Pair @ B) @ B) @ (F5 @ X)) @ (F5 @ Y))) @ R2))))).
% 2.79/1.53  thf(fact_43_inv__imagep__def, axiom, (! [A:$tType,B:$tType]: ((((inv_imagep @ B) @ A) = (^ [R3:(B > (B > $o)),F2:(A > B),X4:A,Y4:A]: (((R3 @ (F2 @ X4)) @ (F2 @ Y4)))))))).
% 2.79/1.53  thf(fact_44_old_Orec__prod__def, axiom, (! [T:$tType,B:$tType,A:$tType]: (((((product_rec_prod @ A) @ B) @ T) = (^ [F12:(A > (B > T)),X4:((product_prod @ A) @ B)]: (((the @ T) @ (((((product_rec_set_prod @ A) @ B) @ T) @ F12) @ X4)))))))).
% 2.79/1.53  thf(fact_45_mem__Collect__eq, axiom, (! [A:$tType,A3:A,P:(A > $o)]: (((((member @ A) @ A3) @ ((collect @ A) @ P)) = (P @ A3))))).
% 2.79/1.53  thf(fact_46_Collect__mem__eq, axiom, (! [A:$tType,A6:(set @ A)]: ((((collect @ A) @ (^ [X4:A]: ((((member @ A) @ X4) @ A6)))) = A6)))).
% 2.79/1.53  thf(fact_47_Collect__cong, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((! [X3:A]: (((P @ X3) = (Q @ X3)))) => (((collect @ A) @ P) = ((collect @ A) @ Q)))))).
% 2.79/1.53  thf(fact_48_ext, axiom, (! [B:$tType,A:$tType,F5:(A > B),G4:(A > B)]: (((! [X3:A]: (((F5 @ X3) = (G4 @ X3)))) => (F5 = G4))))).
% 2.79/1.53  thf(fact_49_internal__case__prod__def, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((produc2004651681e_prod @ A) @ B) @ C) = (((product_case_prod @ A) @ B) @ C))))).
% 2.79/1.53  thf(fact_50_case__swap, axiom, (! [A:$tType,B:$tType,C:$tType,F5:(C > (B > A)),P2:((product_prod @ C) @ B)]: (((((((product_case_prod @ B) @ C) @ A) @ (^ [Y4:B,X4:C]: (((F5 @ X4) @ Y4)))) @ (((product_swap @ C) @ B) @ P2)) = (((((product_case_prod @ C) @ B) @ A) @ F5) @ P2))))).
% 2.79/1.53  thf(fact_51_old_Obool_Osimps_I5_J, axiom, (! [T:$tType,F1:T,F22:T]: ((((((product_rec_bool @ T) @ F1) @ F22) @ $true) = F1)))).
% 2.79/1.53  thf(fact_52_The__split__eq, axiom, (! [A:$tType,B:$tType,X:A,Y:B]: ((((the @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ (^ [X5:A,Y5:B]: (((X = X5) & (Y = Y5)))))) = ((((product_Pair @ A) @ B) @ X) @ Y))))).
% 2.79/1.53  thf(fact_53_case__prodI2, axiom, (! [B:$tType,A:$tType,P2:((product_prod @ A) @ B),C5:(A > (B > $o))]: (((! [A2:A,B2:B]: (((P2 = ((((product_Pair @ A) @ B) @ A2) @ B2)) => ((C5 @ A2) @ B2)))) => (((((product_case_prod @ A) @ B) @ $o) @ C5) @ P2))))).
% 2.79/1.53  thf(fact_54_case__prodI, axiom, (! [A:$tType,B:$tType,F5:(A > (B > $o)),A3:A,B3:B]: ((((F5 @ A3) @ B3) => (((((product_case_prod @ A) @ B) @ $o) @ F5) @ ((((product_Pair @ A) @ B) @ A3) @ B3)))))).
% 2.79/1.53  thf(fact_55_mem__case__prodI2, axiom, (! [C:$tType,B:$tType,A:$tType,P2:((product_prod @ A) @ B),Z:C,C5:(A > (B > (set @ C)))]: (((! [A2:A,B2:B]: (((P2 = ((((product_Pair @ A) @ B) @ A2) @ B2)) => (((member @ C) @ Z) @ ((C5 @ A2) @ B2))))) => (((member @ C) @ Z) @ (((((product_case_prod @ A) @ B) @ (set @ C)) @ C5) @ P2)))))).
% 2.79/1.53  thf(fact_56_mem__case__prodI, axiom, (! [A:$tType,B:$tType,C:$tType,Z:A,C5:(B > (C > (set @ A))),A3:B,B3:C]: (((((member @ A) @ Z) @ ((C5 @ A3) @ B3)) => (((member @ A) @ Z) @ (((((product_case_prod @ B) @ C) @ (set @ A)) @ C5) @ ((((product_Pair @ B) @ C) @ A3) @ B3))))))).
% 2.79/1.53  thf(fact_57_case__prodI2_H, axiom, (! [A:$tType,B:$tType,C:$tType,P2:((product_prod @ A) @ B),C5:(A > (B > (C > $o))),X:C]: (((! [A2:A,B2:B]: (((((((product_Pair @ A) @ B) @ A2) @ B2) = P2) => (((C5 @ A2) @ B2) @ X)))) => ((((((product_case_prod @ A) @ B) @ (C > $o)) @ C5) @ P2) @ X))))).
% 2.79/1.53  thf(fact_58_old_Obool_Osimps_I6_J, axiom, (! [T:$tType,F1:T,F22:T]: ((((((product_rec_bool @ T) @ F1) @ F22) @ $false) = F22)))).
% 2.79/1.53  thf(fact_59_case__prod__conv, axiom, (! [B:$tType,A:$tType,C:$tType,F5:(B > (C > A)),A3:B,B3:C]: (((((((product_case_prod @ B) @ C) @ A) @ F5) @ ((((product_Pair @ B) @ C) @ A3) @ B3)) = ((F5 @ A3) @ B3))))).
% 2.79/1.53  thf(fact_60_curry__case__prod, axiom, (! [C:$tType,B:$tType,A:$tType,F5:(A > (B > C))]: ((((((product_curry @ A) @ B) @ C) @ ((((product_case_prod @ A) @ B) @ C) @ F5)) = F5)))).
% 2.79/1.53  thf(fact_61_case__prod__curry, axiom, (! [C:$tType,B:$tType,A:$tType,F5:(((product_prod @ A) @ B) > C)]: ((((((product_case_prod @ A) @ B) @ C) @ ((((product_curry @ A) @ B) @ C) @ F5)) = F5)))).
% 2.79/1.53  thf(fact_62_pair__imageI, axiom, (! [C:$tType,B:$tType,A:$tType,A3:A,B3:B,A6:(set @ ((product_prod @ A) @ B)),F5:(A > (B > C))]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) @ A6) => (((member @ C) @ ((F5 @ A3) @ B3)) @ ((((image @ ((product_prod @ A) @ B)) @ C) @ ((((product_case_prod @ A) @ B) @ C) @ F5)) @ A6)))))).
% 2.79/1.53  thf(fact_63_prod_Ocase__distrib, axiom, (! [C:$tType,D:$tType,B:$tType,A:$tType,H:(C > D),F5:(A > (B > C)),Prod:((product_prod @ A) @ B)]: (((H @ (((((product_case_prod @ A) @ B) @ C) @ F5) @ Prod)) = (((((product_case_prod @ A) @ B) @ D) @ (^ [X12:A,X22:B]: ((H @ ((F5 @ X12) @ X22))))) @ Prod))))).
% 2.79/1.53  thf(fact_64_inv__image__def, axiom, (! [A:$tType,B:$tType]: ((((inv_image @ B) @ A) = (^ [R3:(set @ ((product_prod @ B) @ B)),F2:(A > B)]: (((collect @ ((product_prod @ A) @ A)) @ ((((product_case_prod @ A) @ A) @ $o) @ (^ [X4:A,Y4:A]: ((((member @ ((product_prod @ B) @ B)) @ ((((product_Pair @ B) @ B) @ (F2 @ X4)) @ (F2 @ Y4))) @ R3))))))))))).
% 2.79/1.53  thf(fact_65_mem__case__prodE, axiom, (! [B:$tType,A:$tType,C:$tType,Z:A,C5:(B > (C > (set @ A))),P2:((product_prod @ B) @ C)]: (((((member @ A) @ Z) @ (((((product_case_prod @ B) @ C) @ (set @ A)) @ C5) @ P2)) => (~ ((! [X3:B,Y3:C]: (((P2 = ((((product_Pair @ B) @ C) @ X3) @ Y3)) => (~ ((((member @ A) @ Z) @ ((C5 @ X3) @ Y3))))))))))))).
% 2.79/1.53  thf(fact_66_old_Oprod_Ocase, axiom, (! [A:$tType,C:$tType,B:$tType,F5:(A > (B > C)),X1:A,X2:B]: (((((((product_case_prod @ A) @ B) @ C) @ F5) @ ((((product_Pair @ A) @ B) @ X1) @ X2)) = ((F5 @ X1) @ X2))))).
% 2.79/1.53  thf(fact_67_case__prodE, axiom, (! [A:$tType,B:$tType,C5:(A > (B > $o)),P2:((product_prod @ A) @ B)]: (((((((product_case_prod @ A) @ B) @ $o) @ C5) @ P2) => (~ ((! [X3:A,Y3:B]: (((P2 = ((((product_Pair @ A) @ B) @ X3) @ Y3)) => (~ (((C5 @ X3) @ Y3)))))))))))).
% 2.79/1.53  thf(fact_68_case__prodD, axiom, (! [A:$tType,B:$tType,F5:(A > (B > $o)),A3:A,B3:B]: (((((((product_case_prod @ A) @ B) @ $o) @ F5) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) => ((F5 @ A3) @ B3))))).
% 2.79/1.53  thf(fact_69_case__prodE_H, axiom, (! [B:$tType,A:$tType,C:$tType,C5:(A > (B > (C > $o))),P2:((product_prod @ A) @ B),Z:C]: ((((((((product_case_prod @ A) @ B) @ (C > $o)) @ C5) @ P2) @ Z) => (~ ((! [X3:A,Y3:B]: (((P2 = ((((product_Pair @ A) @ B) @ X3) @ Y3)) => (~ ((((C5 @ X3) @ Y3) @ Z)))))))))))).
% 2.79/1.53  thf(fact_70_case__prodD_H, axiom, (! [B:$tType,A:$tType,C:$tType,R:(A > (B > (C > $o))),A3:A,B3:B,C5:C]: ((((((((product_case_prod @ A) @ B) @ (C > $o)) @ R) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) @ C5) => (((R @ A3) @ B3) @ C5))))).
% 2.79/1.53  thf(fact_71_cond__case__prod__eta, axiom, (! [C:$tType,B:$tType,A:$tType,F5:(A > (B > C)),G4:(((product_prod @ A) @ B) > C)]: (((! [X3:A,Y3:B]: ((((F5 @ X3) @ Y3) = (G4 @ ((((product_Pair @ A) @ B) @ X3) @ Y3))))) => (((((product_case_prod @ A) @ B) @ C) @ F5) = G4))))).
% 2.79/1.53  thf(fact_72_case__prod__eta, axiom, (! [C:$tType,B:$tType,A:$tType,F5:(((product_prod @ A) @ B) > C)]: ((((((product_case_prod @ A) @ B) @ C) @ (^ [X4:A,Y4:B]: ((F5 @ ((((product_Pair @ A) @ B) @ X4) @ Y4))))) = F5)))).
% 2.79/1.53  thf(fact_73_case__prodE2, axiom, (! [B:$tType,A:$tType,C:$tType,Q:(A > $o),P:(B > (C > A)),Z:((product_prod @ B) @ C)]: (((Q @ (((((product_case_prod @ B) @ C) @ A) @ P) @ Z)) => (~ ((! [X3:B,Y3:C]: (((Z = ((((product_Pair @ B) @ C) @ X3) @ Y3)) => (~ ((Q @ ((P @ X3) @ Y3))))))))))))).
% 2.79/1.53  thf(fact_74_old_Orec__bool__def, axiom, (! [T:$tType]: (((product_rec_bool @ T) = (^ [F12:T,F23:T,X4:$o]: (((the @ T) @ ((((product_rec_set_bool @ T) @ F12) @ F23) @ X4)))))))).
% 2.79/1.53  thf(fact_75_the__sym__eq__trivial, axiom, (! [A:$tType,X:A]: ((((the @ A) @ ((^ [Y6:A,Z2:A]: ((Y6 = Z2))) @ X)) = X)))).
% 2.79/1.53  thf(fact_76_the__eq__trivial, axiom, (! [A:$tType,A3:A]: ((((the @ A) @ (^ [X4:A]: ((X4 = A3)))) = A3)))).
% 2.79/1.53  thf(fact_77_the__equality, axiom, (! [A:$tType,P:(A > $o),A3:A]: (((P @ A3) => ((! [X3:A]: (((P @ X3) => (X3 = A3)))) => (((the @ A) @ P) = A3)))))).
% 2.79/1.53  thf(fact_78_image__ident, axiom, (! [A:$tType,Y7:(set @ A)]: ((((((image @ A) @ A) @ (^ [X4:A]: (X4))) @ Y7) = Y7)))).
% 2.79/1.53  thf(fact_79_image__eqI, axiom, (! [A:$tType,B:$tType,B3:A,F5:(B > A),X:B,A6:(set @ B)]: (((B3 = (F5 @ X)) => ((((member @ B) @ X) @ A6) => (((member @ A) @ B3) @ ((((image @ B) @ A) @ F5) @ A6))))))).
% 2.79/1.53  thf(fact_80_split__cong, axiom, (! [C:$tType,B:$tType,A:$tType,Q2:((product_prod @ A) @ B),F5:(A > (B > C)),G4:(A > (B > C)),P2:((product_prod @ A) @ B)]: (((! [X3:A,Y3:B]: (((((((product_Pair @ A) @ B) @ X3) @ Y3) = Q2) => (((F5 @ X3) @ Y3) = ((G4 @ X3) @ Y3))))) => ((P2 = Q2) => ((((((product_case_prod @ A) @ B) @ C) @ F5) @ P2) = (((((product_case_prod @ A) @ B) @ C) @ G4) @ Q2))))))).
% 2.79/1.53  thf(fact_81_the1__equality, axiom, (! [A:$tType,P:(A > $o),A3:A]: (((? [X6:A]: (((P @ X6) & (! [Y3:A]: (((P @ Y3) => (Y3 = X6))))))) => ((P @ A3) => (((the @ A) @ P) = A3)))))).
% 2.79/1.53  thf(fact_82_split__part, axiom, (! [B:$tType,A:$tType,P:$o,Q:(A > (B > $o))]: ((((((product_case_prod @ A) @ B) @ $o) @ (^ [A5:A,B5:B]: ((P & ((Q @ A5) @ B5))))) = (^ [Ab:((product_prod @ A) @ B)]: ((P & (((((product_case_prod @ A) @ B) @ $o) @ Q) @ Ab)))))))).
% 2.79/1.53  thf(fact_83_prod_Odisc__eq__case, axiom, (! [B:$tType,A:$tType,Prod:((product_prod @ A) @ B)]: ((((((product_case_prod @ A) @ B) @ $o) @ (^ [Uu:A,Uv:B]: ($true))) @ Prod)))).
% 2.79/1.53  thf(fact_84_rev__image__eqI, axiom, (! [B:$tType,A:$tType,X:A,A6:(set @ A),B3:B,F5:(A > B)]: (((((member @ A) @ X) @ A6) => ((B3 = (F5 @ X)) => (((member @ B) @ B3) @ ((((image @ A) @ B) @ F5) @ A6))))))).
% 2.79/1.53  thf(fact_85_ball__imageD, axiom, (! [A:$tType,B:$tType,F5:(B > A),A6:(set @ B),P:(A > $o)]: (((! [X3:A]: (((((member @ A) @ X3) @ ((((image @ B) @ A) @ F5) @ A6)) => (P @ X3)))) => (! [X6:B]: (((((member @ B) @ X6) @ A6) => (P @ (F5 @ X6))))))))).
% 2.79/1.53  thf(fact_86_image__cong, axiom, (! [B:$tType,A:$tType,M:(set @ A),N:(set @ A),F5:(A > B),G4:(A > B)]: (((M = N) => ((! [X3:A]: (((((member @ A) @ X3) @ N) => ((F5 @ X3) = (G4 @ X3))))) => (((((image @ A) @ B) @ F5) @ M) = ((((image @ A) @ B) @ G4) @ N))))))).
% 2.79/1.53  thf(fact_87_bex__imageD, axiom, (! [A:$tType,B:$tType,F5:(B > A),A6:(set @ B),P:(A > $o)]: (((? [X6:A]: (((((member @ A) @ X6) @ ((((image @ B) @ A) @ F5) @ A6)) & (P @ X6)))) => (? [X3:B]: (((((member @ B) @ X3) @ A6) & (P @ (F5 @ X3))))))))).
% 2.79/1.53  thf(fact_88_image__iff, axiom, (! [A:$tType,B:$tType,Z:A,F5:(B > A),A6:(set @ B)]: (((((member @ A) @ Z) @ ((((image @ B) @ A) @ F5) @ A6)) = (? [X4:B]: (((((member @ B) @ X4) @ A6) & (Z = (F5 @ X4))))))))).
% 2.79/1.53  thf(fact_89_imageI, axiom, (! [B:$tType,A:$tType,X:A,A6:(set @ A),F5:(A > B)]: (((((member @ A) @ X) @ A6) => (((member @ B) @ (F5 @ X)) @ ((((image @ A) @ B) @ F5) @ A6)))))).
% 2.79/1.53  thf(fact_90_imageE, axiom, (! [A:$tType,B:$tType,B3:A,F5:(B > A),A6:(set @ B)]: (((((member @ A) @ B3) @ ((((image @ B) @ A) @ F5) @ A6)) => (~ ((! [X3:B]: (((B3 = (F5 @ X3)) => (~ ((((member @ B) @ X3) @ A6)))))))))))).
% 2.79/1.53  thf(fact_91_image__image, axiom, (! [A:$tType,B:$tType,C:$tType,F5:(B > A),G4:(C > B),A6:(set @ C)]: ((((((image @ B) @ A) @ F5) @ ((((image @ C) @ B) @ G4) @ A6)) = ((((image @ C) @ A) @ (^ [X4:C]: ((F5 @ (G4 @ X4))))) @ A6))))).
% 2.79/1.53  thf(fact_92_Compr__image__eq, axiom, (! [A:$tType,B:$tType,F5:(B > A),A6:(set @ B),P:(A > $o)]: ((((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ ((((image @ B) @ A) @ F5) @ A6)) & (P @ X4))))) = ((((image @ B) @ A) @ F5) @ ((collect @ B) @ (^ [X4:B]: (((((member @ B) @ X4) @ A6) & (P @ (F5 @ X4))))))))))).
% 2.79/1.53  thf(fact_93_theI, axiom, (! [A:$tType,P:(A > $o),A3:A]: (((P @ A3) => ((! [X3:A]: (((P @ X3) => (X3 = A3)))) => (P @ ((the @ A) @ P))))))).
% 2.79/1.53  thf(fact_94_theI_H, axiom, (! [A:$tType,P:(A > $o)]: (((? [X6:A]: (((P @ X6) & (! [Y3:A]: (((P @ Y3) => (Y3 = X6))))))) => (P @ ((the @ A) @ P)))))).
% 2.79/1.53  thf(fact_95_theI2, axiom, (! [A:$tType,P:(A > $o),A3:A,Q:(A > $o)]: (((P @ A3) => ((! [X3:A]: (((P @ X3) => (X3 = A3)))) => ((! [X3:A]: (((P @ X3) => (Q @ X3)))) => (Q @ ((the @ A) @ P)))))))).
% 2.79/1.53  thf(fact_96_If__def, axiom, (! [A:$tType]: (((if @ A) = (^ [P3:$o,X4:A,Y4:A]: (((the @ A) @ (^ [Z3:A]: (((P3 => (Z3 = X4)) & ((~ (P3)) => (Z3 = Y4)))))))))))).
% 2.79/1.53  thf(fact_97_the1I2, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((? [X6:A]: (((P @ X6) & (! [Y3:A]: (((P @ Y3) => (Y3 = X6))))))) => ((! [X3:A]: (((P @ X3) => (Q @ X3)))) => (Q @ ((the @ A) @ P))))))).
% 2.79/1.53  thf(fact_98_rp__inv__image__def, axiom, (! [B:$tType,A:$tType]: ((((fun_rp_inv_image @ A) @ B) = ((((product_case_prod @ (set @ ((product_prod @ A) @ A))) @ (set @ ((product_prod @ A) @ A))) @ ((B > A) > ((product_prod @ (set @ ((product_prod @ B) @ B))) @ (set @ ((product_prod @ B) @ B))))) @ (^ [R4:(set @ ((product_prod @ A) @ A)),S4:(set @ ((product_prod @ A) @ A)),F2:(B > A)]: (((((product_Pair @ (set @ ((product_prod @ B) @ B))) @ (set @ ((product_prod @ B) @ B))) @ ((((inv_image @ A) @ B) @ R4) @ F2)) @ ((((inv_image @ A) @ B) @ S4) @ F2))))))))).
% 2.79/1.53  thf(fact_99_case__prod__app, axiom, (! [A:$tType,D:$tType,C:$tType,B:$tType]: (((((product_case_prod @ B) @ C) @ (D > A)) = (^ [F2:(B > (C > (D > A))),X4:((product_prod @ B) @ C),Y4:D]: ((((((product_case_prod @ B) @ C) @ A) @ (^ [L:B,R3:C]: ((((F2 @ L) @ R3) @ Y4)))) @ X4))))))).
% 2.79/1.53  thf(fact_100_Inf_OINF__identity__eq, axiom, (! [A:$tType,Inf:((set @ A) > A),A6:(set @ A)]: (((Inf @ ((((image @ A) @ A) @ (^ [X4:A]: (X4))) @ A6)) = (Inf @ A6))))).
% 2.79/1.53  thf(fact_101_Sup_OSUP__identity__eq, axiom, (! [A:$tType,Sup:((set @ A) > A),A6:(set @ A)]: (((Sup @ ((((image @ A) @ A) @ (^ [X4:A]: (X4))) @ A6)) = (Sup @ A6))))).
% 2.79/1.53  thf(fact_102_case__prod__Pair__iden, axiom, (! [B:$tType,A:$tType,P2:((product_prod @ A) @ B)]: (((((((product_case_prod @ A) @ B) @ ((product_prod @ A) @ B)) @ ((product_Pair @ A) @ B)) @ P2) = P2)))).
% 2.79/1.53  thf(fact_103_old_Orec__unit__def, axiom, (! [T:$tType]: (((product_rec_unit @ T) = (^ [F12:T,X4:product_unit]: (((the @ T) @ (((product_rec_set_unit @ T) @ F12) @ X4)))))))).
% 2.79/1.53  thf(fact_104_Inf_OINF__cong, axiom, (! [A:$tType,B:$tType,A6:(set @ B),B6:(set @ B),C2:(B > A),D5:(B > A),Inf:((set @ A) > A)]: (((A6 = B6) => ((! [X3:B]: (((((member @ B) @ X3) @ B6) => ((C2 @ X3) = (D5 @ X3))))) => ((Inf @ ((((image @ B) @ A) @ C2) @ A6)) = (Inf @ ((((image @ B) @ A) @ D5) @ B6)))))))).
% 2.79/1.53  thf(fact_105_Sup_OSUP__cong, axiom, (! [A:$tType,B:$tType,A6:(set @ B),B6:(set @ B),C2:(B > A),D5:(B > A),Sup:((set @ A) > A)]: (((A6 = B6) => ((! [X3:B]: (((((member @ B) @ X3) @ B6) => ((C2 @ X3) = (D5 @ X3))))) => ((Sup @ ((((image @ B) @ A) @ C2) @ A6)) = (Sup @ ((((image @ B) @ A) @ D5) @ B6)))))))).
% 2.79/1.53  thf(fact_106_rp__inv__image__rp, axiom, (! [A:$tType,B:$tType,P:((product_prod @ (set @ ((product_prod @ A) @ A))) @ (set @ ((product_prod @ A) @ A))),F5:(B > A)]: ((((fun_reduction_pair @ A) @ P) => ((fun_reduction_pair @ B) @ ((((fun_rp_inv_image @ A) @ B) @ P) @ F5)))))).
% 2.79/1.53  thf(fact_107_image__paired__Times, axiom, (! [C:$tType,D:$tType,B:$tType,A:$tType,F5:(C > A),G4:(D > B),A6:(set @ C),B6:(set @ D)]: ((((((image @ ((product_prod @ C) @ D)) @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ C) @ D) @ ((product_prod @ A) @ B)) @ (^ [X4:C,Y4:D]: (((((product_Pair @ A) @ B) @ (F5 @ X4)) @ (G4 @ Y4)))))) @ ((((product_Sigma @ C) @ D) @ A6) @ (^ [Uu:C]: (B6)))) = ((((product_Sigma @ A) @ B) @ ((((image @ C) @ A) @ F5) @ A6)) @ (^ [Uu:A]: (((((image @ D) @ B) @ G4) @ B6)))))))).
% 2.79/1.53  thf(fact_108_Nitpick_OThe__psimp, axiom, (! [A:$tType,P:(A > $o),X:A]: (((P = ((^ [Y6:A,Z2:A]: ((Y6 = Z2))) @ X)) => (((the @ A) @ P) = X))))).
% 2.79/1.53  thf(fact_109_theI__unique, axiom, (! [A:$tType,P:(A > $o),X:A]: (((? [X6:A]: (((P @ X6) & (! [Y3:A]: (((P @ Y3) => (Y3 = X6))))))) => ((P @ X) = (X = ((the @ A) @ P))))))).
% 2.79/1.53  thf(fact_110_surj__swap, axiom, (! [B:$tType,A:$tType]: ((((((image @ ((product_prod @ B) @ A)) @ ((product_prod @ A) @ B)) @ ((product_swap @ B) @ A)) @ (top_top @ (set @ ((product_prod @ B) @ A)))) = (top_top @ (set @ ((product_prod @ A) @ B))))))).
% 2.79/1.53  thf(fact_111_UNIV__I, axiom, (! [A:$tType,X:A]: ((((member @ A) @ X) @ (top_top @ (set @ A)))))).
% 2.79/1.53  thf(fact_112_SigmaI, axiom, (! [B:$tType,A:$tType,A3:A,A6:(set @ A),B3:B,B6:(A > (set @ B))]: (((((member @ A) @ A3) @ A6) => ((((member @ B) @ B3) @ (B6 @ A3)) => (((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) @ ((((product_Sigma @ A) @ B) @ A6) @ B6))))))).
% 2.79/1.53  thf(fact_113_mem__Sigma__iff, axiom, (! [B:$tType,A:$tType,A3:A,B3:B,A6:(set @ A),B6:(A > (set @ B))]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) @ ((((product_Sigma @ A) @ B) @ A6) @ B6)) = ((((member @ A) @ A3) @ A6) & (((member @ B) @ B3) @ (B6 @ A3))))))).
% 2.79/1.53  thf(fact_114_Collect__case__prod, axiom, (! [B:$tType,A:$tType,P:(A > $o),Q:(B > $o)]: ((((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ (^ [A5:A,B5:B]: (((P @ A5) & (Q @ B5)))))) = ((((product_Sigma @ A) @ B) @ ((collect @ A) @ P)) @ (^ [Uu:A]: (((collect @ B) @ Q)))))))).
% 2.79/1.53  thf(fact_115_UNIV__Times__UNIV, axiom, (! [B:$tType,A:$tType]: ((((((product_Sigma @ A) @ B) @ (top_top @ (set @ A))) @ (^ [Uu:A]: ((top_top @ (set @ B))))) = (top_top @ (set @ ((product_prod @ A) @ B))))))).
% 2.79/1.53  thf(fact_116_SigmaE2, axiom, (! [B:$tType,A:$tType,A3:A,B3:B,A6:(set @ A),B6:(A > (set @ B))]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) @ ((((product_Sigma @ A) @ B) @ A6) @ B6)) => (~ (((((member @ A) @ A3) @ A6) => (~ ((((member @ B) @ B3) @ (B6 @ A3))))))))))).
% 2.79/1.53  thf(fact_117_SigmaD2, axiom, (! [B:$tType,A:$tType,A3:A,B3:B,A6:(set @ A),B6:(A > (set @ B))]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) @ ((((product_Sigma @ A) @ B) @ A6) @ B6)) => (((member @ B) @ B3) @ (B6 @ A3)))))).
% 2.79/1.53  thf(fact_118_SigmaD1, axiom, (! [B:$tType,A:$tType,A3:A,B3:B,A6:(set @ A),B6:(A > (set @ B))]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) @ ((((product_Sigma @ A) @ B) @ A6) @ B6)) => (((member @ A) @ A3) @ A6))))).
% 2.79/1.53  thf(fact_119_SigmaE, axiom, (! [A:$tType,B:$tType,C5:((product_prod @ A) @ B),A6:(set @ A),B6:(A > (set @ B))]: (((((member @ ((product_prod @ A) @ B)) @ C5) @ ((((product_Sigma @ A) @ B) @ A6) @ B6)) => (~ ((! [X3:A]: (((((member @ A) @ X3) @ A6) => (! [Y3:B]: (((((member @ B) @ Y3) @ (B6 @ X3)) => (C5 != ((((product_Pair @ A) @ B) @ X3) @ Y3)))))))))))))).
% 2.79/1.53  thf(fact_120_Sigma__cong, axiom, (! [B:$tType,A:$tType,A6:(set @ A),B6:(set @ A),C2:(A > (set @ B)),D5:(A > (set @ B))]: (((A6 = B6) => ((! [X3:A]: (((((member @ A) @ X3) @ B6) => ((C2 @ X3) = (D5 @ X3))))) => (((((product_Sigma @ A) @ B) @ A6) @ C2) = ((((product_Sigma @ A) @ B) @ B6) @ D5))))))).
% 2.79/1.53  thf(fact_121_Times__eq__cancel2, axiom, (! [A:$tType,B:$tType,X:A,C2:(set @ A),A6:(set @ B),B6:(set @ B)]: (((((member @ A) @ X) @ C2) => ((((((product_Sigma @ B) @ A) @ A6) @ (^ [Uu:B]: (C2))) = ((((product_Sigma @ B) @ A) @ B6) @ (^ [Uu:B]: (C2)))) = (A6 = B6)))))).
% 2.79/1.53  thf(fact_122_UNIV__def, axiom, (! [A:$tType]: (((top_top @ (set @ A)) = ((collect @ A) @ (^ [X4:A]: ($true))))))).
% 2.79/1.53  thf(fact_123_UNIV__eq__I, axiom, (! [A:$tType,A6:(set @ A)]: (((! [X3:A]: ((((member @ A) @ X3) @ A6))) => ((top_top @ (set @ A)) = A6))))).
% 2.79/1.53  thf(fact_124_UNIV__witness, axiom, (! [A:$tType]: ((? [X3:A]: ((((member @ A) @ X3) @ (top_top @ (set @ A)))))))).
% 2.79/1.53  thf(fact_125_rangeI, axiom, (! [A:$tType,B:$tType,F5:(B > A),X:B]: ((((member @ A) @ (F5 @ X)) @ ((((image @ B) @ A) @ F5) @ (top_top @ (set @ B))))))).
% 2.79/1.53  thf(fact_126_range__eqI, axiom, (! [A:$tType,B:$tType,B3:A,F5:(B > A),X:B]: (((B3 = (F5 @ X)) => (((member @ A) @ B3) @ ((((image @ B) @ A) @ F5) @ (top_top @ (set @ B)))))))).
% 2.79/1.53  thf(fact_127_Collect__case__prod__Sigma, axiom, (! [B:$tType,A:$tType,P:(A > $o),Q:(A > (B > $o))]: ((((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ (^ [X4:A,Y4:B]: (((P @ X4) & ((Q @ X4) @ Y4)))))) = ((((product_Sigma @ A) @ B) @ ((collect @ A) @ P)) @ (^ [X4:A]: (((collect @ B) @ (Q @ X4))))))))).
% 2.79/1.53  thf(fact_128_rangeE, axiom, (! [A:$tType,B:$tType,B3:A,F5:(B > A)]: (((((member @ A) @ B3) @ ((((image @ B) @ A) @ F5) @ (top_top @ (set @ B)))) => (~ ((! [X3:B]: ((B3 != (F5 @ X3)))))))))).
% 2.79/1.53  thf(fact_129_range__composition, axiom, (! [A:$tType,C:$tType,B:$tType,F5:(C > A),G4:(B > C)]: ((((((image @ B) @ A) @ (^ [X4:B]: ((F5 @ (G4 @ X4))))) @ (top_top @ (set @ B))) = ((((image @ C) @ A) @ F5) @ ((((image @ B) @ C) @ G4) @ (top_top @ (set @ B)))))))).
% 2.79/1.53  thf(fact_130_product__swap, axiom, (! [B:$tType,A:$tType,A6:(set @ B),B6:(set @ A)]: ((((((image @ ((product_prod @ B) @ A)) @ ((product_prod @ A) @ B)) @ ((product_swap @ B) @ A)) @ ((((product_Sigma @ B) @ A) @ A6) @ (^ [Uu:B]: (B6)))) = ((((product_Sigma @ A) @ B) @ B6) @ (^ [Uu:A]: (A6))))))).
% 2.79/1.53  thf(fact_131_swap__product, axiom, (! [B:$tType,A:$tType,A6:(set @ B),B6:(set @ A)]: ((((((image @ ((product_prod @ B) @ A)) @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ B) @ A) @ ((product_prod @ A) @ B)) @ (^ [I3:B,J2:A]: (((((product_Pair @ A) @ B) @ J2) @ I3))))) @ ((((product_Sigma @ B) @ A) @ A6) @ (^ [Uu:B]: (B6)))) = ((((product_Sigma @ A) @ B) @ B6) @ (^ [Uu:A]: (A6))))))).
% 2.79/1.53  thf(fact_132_same__fst__def, axiom, (! [B:$tType,A:$tType]: ((((same_fst @ A) @ B) = (^ [P3:(A > $o),R4:(A > (set @ ((product_prod @ B) @ B)))]: (((collect @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_case_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ $o) @ ((((product_case_prod @ A) @ B) @ (((product_prod @ A) @ B) > $o)) @ (^ [X5:A,Y5:B]: (((((product_case_prod @ A) @ B) @ $o) @ (^ [X4:A,Y4:B]: (((X5 = X4) & ((P3 @ X4) & (((member @ ((product_prod @ B) @ B)) @ ((((product_Pair @ B) @ B) @ Y5) @ Y4)) @ (R4 @ X4)))))))))))))))))).
% 2.79/1.53  thf(fact_133_same__fstI, axiom, (! [B:$tType,A:$tType,P:(A > $o),X:A,Y8:B,Y:B,R:(A > (set @ ((product_prod @ B) @ B)))]: (((P @ X) => ((((member @ ((product_prod @ B) @ B)) @ ((((product_Pair @ B) @ B) @ Y8) @ Y)) @ (R @ X)) => (((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X) @ Y8)) @ ((((product_Pair @ A) @ B) @ X) @ Y))) @ ((((same_fst @ A) @ B) @ P) @ R))))))).
% 2.79/1.53  thf(fact_134_surj__def, axiom, (! [B:$tType,A:$tType,F5:(B > A)]: (((((((image @ B) @ A) @ F5) @ (top_top @ (set @ B))) = (top_top @ (set @ A))) = (! [Y4:A]: ((? [X4:B]: ((Y4 = (F5 @ X4)))))))))).
% 2.79/1.53  thf(fact_135_surjI, axiom, (! [B:$tType,A:$tType,G4:(B > A),F5:(A > B)]: (((! [X3:A]: (((G4 @ (F5 @ X3)) = X3))) => (((((image @ B) @ A) @ G4) @ (top_top @ (set @ B))) = (top_top @ (set @ A))))))).
% 2.79/1.53  thf(fact_136_surjE, axiom, (! [A:$tType,B:$tType,F5:(B > A),Y:A]: (((((((image @ B) @ A) @ F5) @ (top_top @ (set @ B))) = (top_top @ (set @ A))) => (~ ((! [X3:B]: ((Y != (F5 @ X3)))))))))).
% 2.79/1.53  thf(fact_137_surjD, axiom, (! [A:$tType,B:$tType,F5:(B > A),Y:A]: (((((((image @ B) @ A) @ F5) @ (top_top @ (set @ B))) = (top_top @ (set @ A))) => (? [X3:B]: ((Y = (F5 @ X3)))))))).
% 2.79/1.53  thf(fact_138_lex__prod__def, axiom, (! [B:$tType,A:$tType]: ((((lex_prod @ A) @ B) = (^ [Ra:(set @ ((product_prod @ A) @ A)),Rb:(set @ ((product_prod @ B) @ B))]: (((collect @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_case_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ $o) @ ((((product_case_prod @ A) @ B) @ (((product_prod @ A) @ B) > $o)) @ (^ [A5:A,B5:B]: (((((product_case_prod @ A) @ B) @ $o) @ (^ [A7:A,B7:B]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A5) @ A7)) @ Ra) | ((A5 = A7) & (((member @ ((product_prod @ B) @ B)) @ ((((product_Pair @ B) @ B) @ B5) @ B7)) @ Rb))))))))))))))))).
% 2.79/1.53  thf(fact_139_Product__Type_Oproduct__def, axiom, (! [B:$tType,A:$tType]: ((((product_product @ A) @ B) = (^ [A8:(set @ A),B8:(set @ B)]: (((((product_Sigma @ A) @ B) @ A8) @ (^ [Uu:A]: (B8))))))))).
% 2.79/1.53  thf(fact_140_member__product, axiom, (! [B:$tType,A:$tType,X:((product_prod @ A) @ B),A6:(set @ A),B6:(set @ B)]: (((((member @ ((product_prod @ A) @ B)) @ X) @ ((((product_product @ A) @ B) @ A6) @ B6)) = (((member @ ((product_prod @ A) @ B)) @ X) @ ((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (B6)))))))).
% 2.79/1.53  thf(fact_141_map__prod__surj, axiom, (! [A:$tType,C:$tType,D:$tType,B:$tType,F5:(A > B),G4:(C > D)]: (((((((image @ A) @ B) @ F5) @ (top_top @ (set @ A))) = (top_top @ (set @ B))) => ((((((image @ C) @ D) @ G4) @ (top_top @ (set @ C))) = (top_top @ (set @ D))) => (((((image @ ((product_prod @ A) @ C)) @ ((product_prod @ B) @ D)) @ ((((((product_map_prod @ A) @ B) @ C) @ D) @ F5) @ G4)) @ (top_top @ (set @ ((product_prod @ A) @ C)))) = (top_top @ (set @ ((product_prod @ B) @ D))))))))).
% 2.79/1.53  thf(fact_142_map__prod__ident, axiom, (! [B:$tType,A:$tType]: ((((((((product_map_prod @ A) @ A) @ B) @ B) @ (^ [X4:A]: (X4))) @ (^ [Y4:B]: (Y4))) = (^ [Z3:((product_prod @ A) @ B)]: (Z3)))))).
% 2.79/1.53  thf(fact_143_map__prod__simp, axiom, (! [C:$tType,A:$tType,B:$tType,D:$tType,F5:(C > A),G4:(D > B),A3:C,B3:D]: (((((((((product_map_prod @ C) @ A) @ D) @ B) @ F5) @ G4) @ ((((product_Pair @ C) @ D) @ A3) @ B3)) = ((((product_Pair @ A) @ B) @ (F5 @ A3)) @ (G4 @ B3)))))).
% 2.79/1.53  thf(fact_144_map__prod__imageI, axiom, (! [D:$tType,C:$tType,B:$tType,A:$tType,A3:A,B3:B,R:(set @ ((product_prod @ A) @ B)),F5:(A > C),G4:(B > D)]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) @ R) => (((member @ ((product_prod @ C) @ D)) @ ((((product_Pair @ C) @ D) @ (F5 @ A3)) @ (G4 @ B3))) @ ((((image @ ((product_prod @ A) @ B)) @ ((product_prod @ C) @ D)) @ ((((((product_map_prod @ A) @ C) @ B) @ D) @ F5) @ G4)) @ R)))))).
% 2.79/1.53  thf(fact_145_in__lex__prod, axiom, (! [A:$tType,B:$tType,A3:A,B3:B,A4:A,B4:B,R2:(set @ ((product_prod @ A) @ A)),S2:(set @ ((product_prod @ B) @ B))]: (((((member @ ((product_prod @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B))) @ ((((product_Pair @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) @ ((((product_Pair @ A) @ B) @ A4) @ B4))) @ ((((lex_prod @ A) @ B) @ R2) @ S2)) = ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ A4)) @ R2) | ((A3 = A4) & (((member @ ((product_prod @ B) @ B)) @ ((((product_Pair @ B) @ B) @ B3) @ B4)) @ S2))))))).
% 2.79/1.53  thf(fact_146_case__prod__map__prod, axiom, (! [C:$tType,A:$tType,B:$tType,E:$tType,D:$tType,H:(B > (C > A)),F5:(D > B),G4:(E > C),X:((product_prod @ D) @ E)]: (((((((product_case_prod @ B) @ C) @ A) @ H) @ (((((((product_map_prod @ D) @ B) @ E) @ C) @ F5) @ G4) @ X)) = (((((product_case_prod @ D) @ E) @ A) @ (^ [L:D,R3:E]: (((H @ (F5 @ L)) @ (G4 @ R3))))) @ X))))).
% 2.79/1.53  thf(fact_147_prod__fun__imageE, axiom, (! [B:$tType,A:$tType,D:$tType,C:$tType,C5:((product_prod @ A) @ B),F5:(C > A),G4:(D > B),R:(set @ ((product_prod @ C) @ D))]: (((((member @ ((product_prod @ A) @ B)) @ C5) @ ((((image @ ((product_prod @ C) @ D)) @ ((product_prod @ A) @ B)) @ ((((((product_map_prod @ C) @ A) @ D) @ B) @ F5) @ G4)) @ R)) => (~ ((! [X3:C,Y3:D]: (((C5 = ((((product_Pair @ A) @ B) @ (F5 @ X3)) @ (G4 @ Y3))) => (~ ((((member @ ((product_prod @ C) @ D)) @ ((((product_Pair @ C) @ D) @ X3) @ Y3)) @ R)))))))))))).
% 2.79/1.53  thf(fact_148_map__prod__def, axiom, (! [B:$tType,D:$tType,C:$tType,A:$tType]: ((((((product_map_prod @ A) @ C) @ B) @ D) = (^ [F2:(A > C),G5:(B > D)]: (((((product_case_prod @ A) @ B) @ ((product_prod @ C) @ D)) @ (^ [X4:A,Y4:B]: (((((product_Pair @ C) @ D) @ (F2 @ X4)) @ (G5 @ Y4))))))))))).
% 2.79/1.53  thf(fact_149_map__prod__surj__on, axiom, (! [B:$tType,D:$tType,C:$tType,A:$tType,F5:(B > A),A6:(set @ B),A9:(set @ A),G4:(D > C),B6:(set @ D),B9:(set @ C)]: (((((((image @ B) @ A) @ F5) @ A6) = A9) => ((((((image @ D) @ C) @ G4) @ B6) = B9) => (((((image @ ((product_prod @ B) @ D)) @ ((product_prod @ A) @ C)) @ ((((((product_map_prod @ B) @ A) @ D) @ C) @ F5) @ G4)) @ ((((product_Sigma @ B) @ D) @ A6) @ (^ [Uu:B]: (B6)))) = ((((product_Sigma @ A) @ C) @ A9) @ (^ [Uu:A]: (B9))))))))).
% 2.79/1.53  thf(fact_150_prod_Omap__ident, axiom, (! [B:$tType,A:$tType,T2:((product_prod @ A) @ B)]: (((((((((product_map_prod @ A) @ A) @ B) @ B) @ (^ [X4:A]: (X4))) @ (^ [X4:B]: (X4))) @ T2) = T2)))).
% 2.79/1.53  thf(fact_151_range__fst, axiom, (! [B:$tType,A:$tType]: ((((((image @ ((product_prod @ A) @ B)) @ A) @ ((product_fst @ A) @ B)) @ (top_top @ (set @ ((product_prod @ A) @ B)))) = (top_top @ (set @ A)))))).
% 2.79/1.53  thf(fact_152_range__snd, axiom, (! [B:$tType,A:$tType]: ((((((image @ ((product_prod @ B) @ A)) @ A) @ ((product_snd @ B) @ A)) @ (top_top @ (set @ ((product_prod @ B) @ A)))) = (top_top @ (set @ A)))))).
% 2.79/1.53  thf(fact_153_Collect__const__case__prod, axiom, (! [B:$tType,A:$tType,P:$o]: (((P => (((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ (^ [A5:A,B5:B]: (P)))) = (top_top @ (set @ ((product_prod @ A) @ B))))) & ((~ (P)) => (((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ (^ [A5:A,B5:B]: (P)))) = (bot_bot @ (set @ ((product_prod @ A) @ B))))))))).
% 2.79/1.53  thf(fact_154_empty__Collect__eq, axiom, (! [A:$tType,P:(A > $o)]: ((((bot_bot @ (set @ A)) = ((collect @ A) @ P)) = (! [X4:A]: ((~ ((P @ X4))))))))).
% 2.79/1.53  thf(fact_155_Collect__empty__eq, axiom, (! [A:$tType,P:(A > $o)]: (((((collect @ A) @ P) = (bot_bot @ (set @ A))) = (! [X4:A]: ((~ ((P @ X4))))))))).
% 2.79/1.53  thf(fact_156_all__not__in__conv, axiom, (! [A:$tType,A6:(set @ A)]: (((! [X4:A]: ((~ ((((member @ A) @ X4) @ A6))))) = (A6 = (bot_bot @ (set @ A))))))).
% 2.79/1.53  thf(fact_157_empty__iff, axiom, (! [A:$tType,C5:A]: ((~ ((((member @ A) @ C5) @ (bot_bot @ (set @ A)))))))).
% 2.79/1.53  thf(fact_158_image__is__empty, axiom, (! [A:$tType,B:$tType,F5:(B > A),A6:(set @ B)]: (((((((image @ B) @ A) @ F5) @ A6) = (bot_bot @ (set @ A))) = (A6 = (bot_bot @ (set @ B))))))).
% 2.79/1.53  thf(fact_159_empty__is__image, axiom, (! [A:$tType,B:$tType,F5:(B > A),A6:(set @ B)]: ((((bot_bot @ (set @ A)) = ((((image @ B) @ A) @ F5) @ A6)) = (A6 = (bot_bot @ (set @ B))))))).
% 2.79/1.53  thf(fact_160_image__empty, axiom, (! [B:$tType,A:$tType,F5:(B > A)]: ((((((image @ B) @ A) @ F5) @ (bot_bot @ (set @ B))) = (bot_bot @ (set @ A)))))).
% 2.79/1.53  thf(fact_161_fst__map__prod, axiom, (! [B:$tType,A:$tType,D:$tType,C:$tType,F5:(C > A),G4:(D > B),X:((product_prod @ C) @ D)]: (((((product_fst @ A) @ B) @ (((((((product_map_prod @ C) @ A) @ D) @ B) @ F5) @ G4) @ X)) = (F5 @ (((product_fst @ C) @ D) @ X)))))).
% 2.79/1.53  thf(fact_162_snd__map__prod, axiom, (! [B:$tType,A:$tType,D:$tType,C:$tType,F5:(C > B),G4:(D > A),X:((product_prod @ C) @ D)]: (((((product_snd @ B) @ A) @ (((((((product_map_prod @ C) @ B) @ D) @ A) @ F5) @ G4) @ X)) = (G4 @ (((product_snd @ C) @ D) @ X)))))).
% 2.79/1.53  thf(fact_163_Collect__const, axiom, (! [A:$tType,P:$o]: (((P => (((collect @ A) @ (^ [S5:A]: (P))) = (top_top @ (set @ A)))) & ((~ (P)) => (((collect @ A) @ (^ [S5:A]: (P))) = (bot_bot @ (set @ A)))))))).
% 2.79/1.53  thf(fact_164_prod_Ocollapse, axiom, (! [B:$tType,A:$tType,Prod:((product_prod @ A) @ B)]: ((((((product_Pair @ A) @ B) @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod)) = Prod)))).
% 2.79/1.53  thf(fact_165_Sigma__empty1, axiom, (! [B:$tType,A:$tType,B6:(A > (set @ B))]: ((((((product_Sigma @ A) @ B) @ (bot_bot @ (set @ A))) @ B6) = (bot_bot @ (set @ ((product_prod @ A) @ B))))))).
% 2.79/1.53  thf(fact_166_fst__swap, axiom, (! [A:$tType,B:$tType,X:((product_prod @ B) @ A)]: (((((product_fst @ A) @ B) @ (((product_swap @ B) @ A) @ X)) = (((product_snd @ B) @ A) @ X))))).
% 2.79/1.53  thf(fact_167_snd__swap, axiom, (! [B:$tType,A:$tType,X:((product_prod @ A) @ B)]: (((((product_snd @ B) @ A) @ (((product_swap @ A) @ B) @ X)) = (((product_fst @ A) @ B) @ X))))).
% 2.79/1.53  thf(fact_168_Sigma__empty2, axiom, (! [B:$tType,A:$tType,A6:(set @ A)]: ((((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: ((bot_bot @ (set @ B))))) = (bot_bot @ (set @ ((product_prod @ A) @ B))))))).
% 2.79/1.53  thf(fact_169_Times__empty, axiom, (! [A:$tType,B:$tType,A6:(set @ A),B6:(set @ B)]: (((((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (B6))) = (bot_bot @ (set @ ((product_prod @ A) @ B)))) = ((A6 = (bot_bot @ (set @ A))) | (B6 = (bot_bot @ (set @ B)))))))).
% 2.79/1.53  thf(fact_170_fst__image__times, axiom, (! [B:$tType,A:$tType,B6:(set @ B),A6:(set @ A)]: ((((B6 = (bot_bot @ (set @ B))) => (((((image @ ((product_prod @ A) @ B)) @ A) @ ((product_fst @ A) @ B)) @ ((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (B6)))) = (bot_bot @ (set @ A)))) & ((B6 != (bot_bot @ (set @ B))) => (((((image @ ((product_prod @ A) @ B)) @ A) @ ((product_fst @ A) @ B)) @ ((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (B6)))) = A6)))))).
% 2.79/1.53  thf(fact_171_snd__image__times, axiom, (! [B:$tType,A:$tType,A6:(set @ B),B6:(set @ A)]: ((((A6 = (bot_bot @ (set @ B))) => (((((image @ ((product_prod @ B) @ A)) @ A) @ ((product_snd @ B) @ A)) @ ((((product_Sigma @ B) @ A) @ A6) @ (^ [Uu:B]: (B6)))) = (bot_bot @ (set @ A)))) & ((A6 != (bot_bot @ (set @ B))) => (((((image @ ((product_prod @ B) @ A)) @ A) @ ((product_snd @ B) @ A)) @ ((((product_Sigma @ B) @ A) @ A6) @ (^ [Uu:B]: (B6)))) = B6)))))).
% 2.79/1.53  thf(fact_172_Sigma__empty__iff, axiom, (! [B:$tType,A:$tType,I:(set @ A),X7:(A > (set @ B))]: (((((((product_Sigma @ A) @ B) @ I) @ X7) = (bot_bot @ (set @ ((product_prod @ A) @ B)))) = (! [X4:A]: (((((member @ A) @ X4) @ I) => ((X7 @ X4) = (bot_bot @ (set @ B)))))))))).
% 2.79/1.53  thf(fact_173_mem__Times__iff, axiom, (! [A:$tType,B:$tType,X:((product_prod @ A) @ B),A6:(set @ A),B6:(set @ B)]: (((((member @ ((product_prod @ A) @ B)) @ X) @ ((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (B6)))) = ((((member @ A) @ (((product_fst @ A) @ B) @ X)) @ A6) & (((member @ B) @ (((product_snd @ A) @ B) @ X)) @ B6)))))).
% 2.79/1.53  thf(fact_174_ex__in__conv, axiom, (! [A:$tType,A6:(set @ A)]: (((? [X4:A]: ((((member @ A) @ X4) @ A6))) = (A6 != (bot_bot @ (set @ A))))))).
% 2.79/1.53  thf(fact_175_equals0I, axiom, (! [A:$tType,A6:(set @ A)]: (((! [Y3:A]: ((~ ((((member @ A) @ Y3) @ A6))))) => (A6 = (bot_bot @ (set @ A))))))).
% 2.79/1.53  thf(fact_176_equals0D, axiom, (! [A:$tType,A6:(set @ A),A3:A]: (((A6 = (bot_bot @ (set @ A))) => (~ ((((member @ A) @ A3) @ A6))))))).
% 2.79/1.53  thf(fact_177_emptyE, axiom, (! [A:$tType,A3:A]: ((~ ((((member @ A) @ A3) @ (bot_bot @ (set @ A)))))))).
% 2.79/1.53  thf(fact_178_empty__def, axiom, (! [A:$tType]: (((bot_bot @ (set @ A)) = ((collect @ A) @ (^ [X4:A]: ($false))))))).
% 2.79/1.53  thf(fact_179_prod__eq__iff, axiom, (! [B:$tType,A:$tType]: (((^ [Y6:((product_prod @ A) @ B),Z2:((product_prod @ A) @ B)]: ((Y6 = Z2))) = (^ [S5:((product_prod @ A) @ B),T3:((product_prod @ A) @ B)]: ((((((product_fst @ A) @ B) @ S5) = (((product_fst @ A) @ B) @ T3)) & ((((product_snd @ A) @ B) @ S5) = (((product_snd @ A) @ B) @ T3))))))))).
% 2.79/1.53  thf(fact_180_prod_Oexpand, axiom, (! [B:$tType,A:$tType,Prod:((product_prod @ A) @ B),Prod2:((product_prod @ A) @ B)]: (((((((product_fst @ A) @ B) @ Prod) = (((product_fst @ A) @ B) @ Prod2)) & ((((product_snd @ A) @ B) @ Prod) = (((product_snd @ A) @ B) @ Prod2))) => (Prod = Prod2))))).
% 2.79/1.53  thf(fact_181_prod__eqI, axiom, (! [B:$tType,A:$tType,P2:((product_prod @ A) @ B),Q2:((product_prod @ A) @ B)]: ((((((product_fst @ A) @ B) @ P2) = (((product_fst @ A) @ B) @ Q2)) => (((((product_snd @ A) @ B) @ P2) = (((product_snd @ A) @ B) @ Q2)) => (P2 = Q2)))))).
% 2.79/1.53  thf(fact_182_fst__def, axiom, (! [B:$tType,A:$tType]: ((((product_fst @ A) @ B) = ((((product_case_prod @ A) @ B) @ A) @ (^ [X12:A,X22:B]: (X12))))))).
% 2.79/1.53  thf(fact_183_The__case__prod, axiom, (! [B:$tType,A:$tType,P:(A > (B > $o))]: ((((the @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ P)) = ((the @ ((product_prod @ A) @ B)) @ (^ [Xy:((product_prod @ A) @ B)]: (((P @ (((product_fst @ A) @ B) @ Xy)) @ (((product_snd @ A) @ B) @ Xy))))))))).
% 2.79/1.53  thf(fact_184_snd__def, axiom, (! [B:$tType,A:$tType]: ((((product_snd @ A) @ B) = ((((product_case_prod @ A) @ B) @ B) @ (^ [X12:A,X22:B]: (X22))))))).
% 2.79/1.53  thf(fact_185_fst__image__Sigma, axiom, (! [B:$tType,A:$tType,A6:(set @ A),B6:(A > (set @ B))]: ((((((image @ ((product_prod @ A) @ B)) @ A) @ ((product_fst @ A) @ B)) @ ((((product_Sigma @ A) @ B) @ A6) @ B6)) = ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ A6) & ((B6 @ X4) != (bot_bot @ (set @ B))))))))))).
% 2.79/1.53  thf(fact_186_split__comp__eq, axiom, (! [A:$tType,C:$tType,B:$tType,D:$tType,F5:(A > (B > C)),G4:(D > A)]: (((^ [U:((product_prod @ D) @ B)]: (((F5 @ (G4 @ (((product_fst @ D) @ B) @ U))) @ (((product_snd @ D) @ B) @ U)))) = ((((product_case_prod @ D) @ B) @ C) @ (^ [X4:D]: ((F5 @ (G4 @ X4))))))))).
% 2.79/1.53  thf(fact_187_case__prod__beta_H, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((product_case_prod @ A) @ B) @ C) = (^ [F2:(A > (B > C)),X4:((product_prod @ A) @ B)]: (((F2 @ (((product_fst @ A) @ B) @ X4)) @ (((product_snd @ A) @ B) @ X4)))))))).
% 2.79/1.53  thf(fact_188_case__prod__unfold, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((product_case_prod @ A) @ B) @ C) = (^ [C3:(A > (B > C)),P4:((product_prod @ A) @ B)]: (((C3 @ (((product_fst @ A) @ B) @ P4)) @ (((product_snd @ A) @ B) @ P4)))))))).
% 2.79/1.53  thf(fact_189_Product__Type_OCollect__case__prodD, axiom, (! [B:$tType,A:$tType,X:((product_prod @ A) @ B),A6:(A > (B > $o))]: (((((member @ ((product_prod @ A) @ B)) @ X) @ ((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ A6))) => ((A6 @ (((product_fst @ A) @ B) @ X)) @ (((product_snd @ A) @ B) @ X)))))).
% 2.79/1.53  thf(fact_190_prod_Ocase__eq__if, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((product_case_prod @ A) @ B) @ C) = (^ [F2:(A > (B > C)),Prod3:((product_prod @ A) @ B)]: (((F2 @ (((product_fst @ A) @ B) @ Prod3)) @ (((product_snd @ A) @ B) @ Prod3)))))))).
% 2.79/1.53  thf(fact_191_case__prod__beta, axiom, (! [A:$tType,C:$tType,B:$tType]: (((((product_case_prod @ B) @ C) @ A) = (^ [F2:(B > (C > A)),P4:((product_prod @ B) @ C)]: (((F2 @ (((product_fst @ B) @ C) @ P4)) @ (((product_snd @ B) @ C) @ P4)))))))).
% 2.79/1.53  thf(fact_192_prod_Osplit__sel, axiom, (! [C:$tType,B:$tType,A:$tType,P:(C > $o),F5:(A > (B > C)),Prod:((product_prod @ A) @ B)]: (((P @ (((((product_case_prod @ A) @ B) @ C) @ F5) @ Prod)) = ((Prod = ((((product_Pair @ A) @ B) @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod))) => (P @ ((F5 @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod)))))))).
% 2.79/1.53  thf(fact_193_prod_Osplit__sel__asm, axiom, (! [C:$tType,B:$tType,A:$tType,P:(C > $o),F5:(A > (B > C)),Prod:((product_prod @ A) @ B)]: (((P @ (((((product_case_prod @ A) @ B) @ C) @ F5) @ Prod)) = (~ (((Prod = ((((product_Pair @ A) @ B) @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod))) & (~ ((P @ ((F5 @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod)))))))))))).
% 2.79/1.53  thf(fact_194_surjective__pairing, axiom, (! [B:$tType,A:$tType,T2:((product_prod @ A) @ B)]: ((T2 = ((((product_Pair @ A) @ B) @ (((product_fst @ A) @ B) @ T2)) @ (((product_snd @ A) @ B) @ T2)))))).
% 2.79/1.53  thf(fact_195_prod_Oexhaust__sel, axiom, (! [B:$tType,A:$tType,Prod:((product_prod @ A) @ B)]: ((Prod = ((((product_Pair @ A) @ B) @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod)))))).
% 2.79/1.53  thf(fact_196_prod_Oswap__def, axiom, (! [B:$tType,A:$tType]: ((((product_swap @ A) @ B) = (^ [P4:((product_prod @ A) @ B)]: (((((product_Pair @ B) @ A) @ (((product_snd @ A) @ B) @ P4)) @ (((product_fst @ A) @ B) @ P4)))))))).
% 2.79/1.53  thf(fact_197_snd__conv, axiom, (! [Aa:$tType,A:$tType,X1:Aa,X2:A]: (((((product_snd @ Aa) @ A) @ ((((product_Pair @ Aa) @ A) @ X1) @ X2)) = X2)))).
% 2.79/1.53  thf(fact_198_snd__eqD, axiom, (! [B:$tType,A:$tType,X:B,Y:A,A3:A]: ((((((product_snd @ B) @ A) @ ((((product_Pair @ B) @ A) @ X) @ Y)) = A3) => (Y = A3))))).
% 2.79/1.53  thf(fact_199_snd__pair, axiom, (! [B:$tType,A:$tType,A3:B,B3:A]: (((((product_snd @ B) @ A) @ ((((product_Pair @ B) @ A) @ A3) @ B3)) = B3)))).
% 2.79/1.53  thf(fact_200_fst__conv, axiom, (! [B:$tType,A:$tType,X1:A,X2:B]: (((((product_fst @ A) @ B) @ ((((product_Pair @ A) @ B) @ X1) @ X2)) = X1)))).
% 2.79/1.53  thf(fact_201_fst__eqD, axiom, (! [B:$tType,A:$tType,X:A,Y:B,A3:A]: ((((((product_fst @ A) @ B) @ ((((product_Pair @ A) @ B) @ X) @ Y)) = A3) => (X = A3))))).
% 2.79/1.53  thf(fact_202_fst__pair, axiom, (! [B:$tType,A:$tType,A3:A,B3:B]: (((((product_fst @ A) @ B) @ ((((product_Pair @ A) @ B) @ A3) @ B3)) = A3)))).
% 2.79/1.53  thf(fact_203_empty__not__UNIV, axiom, (! [A:$tType]: (((bot_bot @ (set @ A)) != (top_top @ (set @ A)))))).
% 2.79/1.53  thf(fact_204_times__eq__iff, axiom, (! [A:$tType,B:$tType,A6:(set @ A),B6:(set @ B),C2:(set @ A),D5:(set @ B)]: (((((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (B6))) = ((((product_Sigma @ A) @ B) @ C2) @ (^ [Uu:A]: (D5)))) = (((A6 = C2) & (B6 = D5)) | (((A6 = (bot_bot @ (set @ A))) | (B6 = (bot_bot @ (set @ B)))) & ((C2 = (bot_bot @ (set @ A))) | (D5 = (bot_bot @ (set @ B)))))))))).
% 2.79/1.53  thf(fact_205_exE__realizer, axiom, (! [C:$tType,A:$tType,B:$tType,P:(A > (B > $o)),P2:((product_prod @ B) @ A),Q:(C > $o),F5:(B > (A > C))]: ((((P @ (((product_snd @ B) @ A) @ P2)) @ (((product_fst @ B) @ A) @ P2)) => ((! [X3:B,Y3:A]: ((((P @ Y3) @ X3) => (Q @ ((F5 @ X3) @ Y3))))) => (Q @ (((((product_case_prod @ B) @ A) @ C) @ F5) @ P2))))))).
% 2.79/1.53  thf(fact_206_BNF__Greatest__Fixpoint_Osubst__Pair, axiom, (! [B:$tType,A:$tType,P:(A > (B > $o)),X:A,Y:B,A3:((product_prod @ A) @ B)]: ((((P @ X) @ Y) => ((A3 = ((((product_Pair @ A) @ B) @ X) @ Y)) => ((P @ (((product_fst @ A) @ B) @ A3)) @ (((product_snd @ A) @ B) @ A3))))))).
% 2.79/1.53  thf(fact_207_conjI__realizer, axiom, (! [A:$tType,B:$tType,P:(A > $o),P2:A,Q:(B > $o),Q2:B]: (((P @ P2) => ((Q @ Q2) => ((P @ (((product_fst @ A) @ B) @ ((((product_Pair @ A) @ B) @ P2) @ Q2))) & (Q @ (((product_snd @ A) @ B) @ ((((product_Pair @ A) @ B) @ P2) @ Q2))))))))).
% 2.79/1.53  thf(fact_208_exI__realizer, axiom, (! [B:$tType,A:$tType,P:(A > (B > $o)),Y:A,X:B]: ((((P @ Y) @ X) => ((P @ (((product_snd @ B) @ A) @ ((((product_Pair @ B) @ A) @ X) @ Y))) @ (((product_fst @ B) @ A) @ ((((product_Pair @ B) @ A) @ X) @ Y))))))).
% 2.79/1.53  thf(fact_209_eq__snd__iff, axiom, (! [A:$tType,B:$tType,B3:A,P2:((product_prod @ B) @ A)]: (((B3 = (((product_snd @ B) @ A) @ P2)) = (? [A5:B]: ((P2 = ((((product_Pair @ B) @ A) @ A5) @ B3)))))))).
% 2.79/1.53  thf(fact_210_sndI, axiom, (! [A:$tType,B:$tType,X:((product_prod @ A) @ B),Y:A,Z:B]: (((X = ((((product_Pair @ A) @ B) @ Y) @ Z)) => ((((product_snd @ A) @ B) @ X) = Z))))).
% 2.79/1.53  thf(fact_211_fstI, axiom, (! [B:$tType,A:$tType,X:((product_prod @ A) @ B),Y:A,Z:B]: (((X = ((((product_Pair @ A) @ B) @ Y) @ Z)) => ((((product_fst @ A) @ B) @ X) = Y))))).
% 2.79/1.53  thf(fact_212_eq__fst__iff, axiom, (! [A:$tType,B:$tType,A3:A,P2:((product_prod @ A) @ B)]: (((A3 = (((product_fst @ A) @ B) @ P2)) = (? [B5:B]: ((P2 = ((((product_Pair @ A) @ B) @ A3) @ B5)))))))).
% 2.79/1.53  thf(fact_213_the__elem__image__unique, axiom, (! [B:$tType,A:$tType,A6:(set @ A),F5:(A > B),X:A]: (((A6 != (bot_bot @ (set @ A))) => ((! [Y3:A]: (((((member @ A) @ Y3) @ A6) => ((F5 @ Y3) = (F5 @ X))))) => (((the_elem @ B) @ ((((image @ A) @ B) @ F5) @ A6)) = (F5 @ X))))))).
% 2.79/1.53  thf(fact_214_subset__fst__snd, axiom, (! [B:$tType,A:$tType,A6:(set @ ((product_prod @ A) @ B))]: ((((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ A6) @ ((((product_Sigma @ A) @ B) @ ((((image @ ((product_prod @ A) @ B)) @ A) @ ((product_fst @ A) @ B)) @ A6)) @ (^ [Uu:A]: (((((image @ ((product_prod @ A) @ B)) @ B) @ ((product_snd @ A) @ B)) @ A6)))))))).
% 2.79/1.53  thf(fact_215_subsetI, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A)]: (((! [X3:A]: (((((member @ A) @ X3) @ A6) => (((member @ A) @ X3) @ B6)))) => (((ord_less_eq @ (set @ A)) @ A6) @ B6))))).
% 2.79/1.53  thf(fact_216_subset__antisym, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => ((((ord_less_eq @ (set @ A)) @ B6) @ A6) => (A6 = B6)))))).
% 2.79/1.53  thf(fact_217_subset__empty, axiom, (! [A:$tType,A6:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A6) @ (bot_bot @ (set @ A))) = (A6 = (bot_bot @ (set @ A))))))).
% 2.79/1.53  thf(fact_218_empty__subsetI, axiom, (! [A:$tType,A6:(set @ A)]: ((((ord_less_eq @ (set @ A)) @ (bot_bot @ (set @ A))) @ A6)))).
% 2.79/1.53  thf(fact_219_subset__UNIV, axiom, (! [A:$tType,A6:(set @ A)]: ((((ord_less_eq @ (set @ A)) @ A6) @ (top_top @ (set @ A)))))).
% 2.79/1.53  thf(fact_220_subrelI, axiom, (! [B:$tType,A:$tType,R2:(set @ ((product_prod @ A) @ B)),S2:(set @ ((product_prod @ A) @ B))]: (((! [X3:A,Y3:B]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X3) @ Y3)) @ R2) => (((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X3) @ Y3)) @ S2)))) => (((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ R2) @ S2))))).
% 2.79/1.53  thf(fact_221_mon__mono, axiom, (! [B:$tType,A:$tType]: ((((order_mono @ (set @ A)) @ (set @ B)) = (^ [R3:((set @ A) > (set @ B))]: ((! [X8:(set @ A),Y9:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ X8) @ Y9) => (((ord_less_eq @ (set @ B)) @ (R3 @ X8)) @ (R3 @ Y9))))))))))).
% 2.79/1.53  thf(fact_222_prop__restrict, axiom, (! [A:$tType,X:A,Z4:(set @ A),X7:(set @ A),P:(A > $o)]: (((((member @ A) @ X) @ Z4) => ((((ord_less_eq @ (set @ A)) @ Z4) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ X7) & (P @ X4)))))) => (P @ X)))))).
% 2.79/1.53  thf(fact_223_Collect__restrict, axiom, (! [A:$tType,X7:(set @ A),P:(A > $o)]: ((((ord_less_eq @ (set @ A)) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ X7) & (P @ X4)))))) @ X7)))).
% 2.79/1.53  thf(fact_224_Collect__subset, axiom, (! [A:$tType,A6:(set @ A),P:(A > $o)]: ((((ord_less_eq @ (set @ A)) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ A6) & (P @ X4)))))) @ A6)))).
% 2.79/1.53  thf(fact_225_in__mono, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A),X:A]: (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => ((((member @ A) @ X) @ A6) => (((member @ A) @ X) @ B6)))))).
% 2.79/1.53  thf(fact_226_subsetD, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A),C5:A]: (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => ((((member @ A) @ C5) @ A6) => (((member @ A) @ C5) @ B6)))))).
% 2.79/1.53  thf(fact_227_equalityE, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A)]: (((A6 = B6) => (~ (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => (~ ((((ord_less_eq @ (set @ A)) @ B6) @ A6)))))))))).
% 2.79/1.53  thf(fact_228_subset__eq, axiom, (! [A:$tType]: (((ord_less_eq @ (set @ A)) = (^ [A8:(set @ A),B8:(set @ A)]: ((! [X4:A]: (((((member @ A) @ X4) @ A8) => (((member @ A) @ X4) @ B8)))))))))).
% 2.79/1.53  thf(fact_229_equalityD1, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A)]: (((A6 = B6) => (((ord_less_eq @ (set @ A)) @ A6) @ B6))))).
% 2.79/1.53  thf(fact_230_equalityD2, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A)]: (((A6 = B6) => (((ord_less_eq @ (set @ A)) @ B6) @ A6))))).
% 2.79/1.53  thf(fact_231_subset__iff, axiom, (! [A:$tType]: (((ord_less_eq @ (set @ A)) = (^ [A8:(set @ A),B8:(set @ A)]: ((! [T3:A]: (((((member @ A) @ T3) @ A8) => (((member @ A) @ T3) @ B8)))))))))).
% 2.79/1.53  thf(fact_232_subset__refl, axiom, (! [A:$tType,A6:(set @ A)]: ((((ord_less_eq @ (set @ A)) @ A6) @ A6)))).
% 2.79/1.53  thf(fact_233_Collect__mono, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((! [X3:A]: (((P @ X3) => (Q @ X3)))) => (((ord_less_eq @ (set @ A)) @ ((collect @ A) @ P)) @ ((collect @ A) @ Q)))))).
% 2.79/1.53  thf(fact_234_subset__trans, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A),C2:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => ((((ord_less_eq @ (set @ A)) @ B6) @ C2) => (((ord_less_eq @ (set @ A)) @ A6) @ C2)))))).
% 2.79/1.53  thf(fact_235_set__eq__subset, axiom, (! [A:$tType]: (((^ [Y6:(set @ A),Z2:(set @ A)]: ((Y6 = Z2))) = (^ [A8:(set @ A),B8:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A8) @ B8) & (((ord_less_eq @ (set @ A)) @ B8) @ A8)))))))).
% 2.79/1.53  thf(fact_236_Collect__mono__iff, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((((ord_less_eq @ (set @ A)) @ ((collect @ A) @ P)) @ ((collect @ A) @ Q)) = (! [X4:A]: (((P @ X4) => (Q @ X4)))))))).
% 2.79/1.53  thf(fact_237_subset__image__iff, axiom, (! [A:$tType,B:$tType,B6:(set @ A),F5:(B > A),A6:(set @ B)]: (((((ord_less_eq @ (set @ A)) @ B6) @ ((((image @ B) @ A) @ F5) @ A6)) = (? [AA:(set @ B)]: (((((ord_less_eq @ (set @ B)) @ AA) @ A6) & (B6 = ((((image @ B) @ A) @ F5) @ AA))))))))).
% 2.79/1.53  thf(fact_238_image__subset__iff, axiom, (! [A:$tType,B:$tType,F5:(B > A),A6:(set @ B),B6:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ ((((image @ B) @ A) @ F5) @ A6)) @ B6) = (! [X4:B]: (((((member @ B) @ X4) @ A6) => (((member @ A) @ (F5 @ X4)) @ B6)))))))).
% 2.79/1.53  thf(fact_239_subset__imageE, axiom, (! [A:$tType,B:$tType,B6:(set @ A),F5:(B > A),A6:(set @ B)]: (((((ord_less_eq @ (set @ A)) @ B6) @ ((((image @ B) @ A) @ F5) @ A6)) => (~ ((! [C6:(set @ B)]: (((((ord_less_eq @ (set @ B)) @ C6) @ A6) => (B6 != ((((image @ B) @ A) @ F5) @ C6))))))))))).
% 2.79/1.53  thf(fact_240_image__subsetI, axiom, (! [A:$tType,B:$tType,A6:(set @ A),F5:(A > B),B6:(set @ B)]: (((! [X3:A]: (((((member @ A) @ X3) @ A6) => (((member @ B) @ (F5 @ X3)) @ B6)))) => (((ord_less_eq @ (set @ B)) @ ((((image @ A) @ B) @ F5) @ A6)) @ B6))))).
% 2.79/1.53  thf(fact_241_image__mono, axiom, (! [B:$tType,A:$tType,A6:(set @ A),B6:(set @ A),F5:(A > B)]: (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => (((ord_less_eq @ (set @ B)) @ ((((image @ A) @ B) @ F5) @ A6)) @ ((((image @ A) @ B) @ F5) @ B6)))))).
% 2.79/1.53  thf(fact_242_Times__subset__cancel2, axiom, (! [A:$tType,B:$tType,X:A,C2:(set @ A),A6:(set @ B),B6:(set @ B)]: (((((member @ A) @ X) @ C2) => ((((ord_less_eq @ (set @ ((product_prod @ B) @ A))) @ ((((product_Sigma @ B) @ A) @ A6) @ (^ [Uu:B]: (C2)))) @ ((((product_Sigma @ B) @ A) @ B6) @ (^ [Uu:B]: (C2)))) = (((ord_less_eq @ (set @ B)) @ A6) @ B6)))))).
% 2.79/1.53  thf(fact_243_Sigma__mono, axiom, (! [B:$tType,A:$tType,A6:(set @ A),C2:(set @ A),B6:(A > (set @ B)),D5:(A > (set @ B))]: (((((ord_less_eq @ (set @ A)) @ A6) @ C2) => ((! [X3:A]: (((((member @ A) @ X3) @ A6) => (((ord_less_eq @ (set @ B)) @ (B6 @ X3)) @ (D5 @ X3))))) => (((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ ((((product_Sigma @ A) @ B) @ A6) @ B6)) @ ((((product_Sigma @ A) @ B) @ C2) @ D5))))))).
% 2.79/1.53  thf(fact_244_image__Collect__subsetI, axiom, (! [A:$tType,B:$tType,P:(A > $o),F5:(A > B),B6:(set @ B)]: (((! [X3:A]: (((P @ X3) => (((member @ B) @ (F5 @ X3)) @ B6)))) => (((ord_less_eq @ (set @ B)) @ ((((image @ A) @ B) @ F5) @ ((collect @ A) @ P))) @ B6))))).
% 2.79/1.53  thf(fact_245_subset__Collect__iff, axiom, (! [A:$tType,B6:(set @ A),A6:(set @ A),P:(A > $o)]: (((((ord_less_eq @ (set @ A)) @ B6) @ A6) => ((((ord_less_eq @ (set @ A)) @ B6) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ A6) & (P @ X4)))))) = (! [X4:A]: (((((member @ A) @ X4) @ B6) => (P @ X4))))))))).
% 2.79/1.53  thf(fact_246_subset__CollectI, axiom, (! [A:$tType,B6:(set @ A),A6:(set @ A),Q:(A > $o),P:(A > $o)]: (((((ord_less_eq @ (set @ A)) @ B6) @ A6) => ((! [X3:A]: (((((member @ A) @ X3) @ B6) => ((Q @ X3) => (P @ X3))))) => (((ord_less_eq @ (set @ A)) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ B6) & (Q @ X4)))))) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ A6) & (P @ X4))))))))))).
% 2.79/1.53  thf(fact_247_subset__emptyI, axiom, (! [A:$tType,A6:(set @ A)]: (((! [X3:A]: ((~ ((((member @ A) @ X3) @ A6))))) => (((ord_less_eq @ (set @ A)) @ A6) @ (bot_bot @ (set @ A))))))).
% 2.79/1.53  thf(fact_248_less__by__empty, axiom, (! [A:$tType,A6:(set @ ((product_prod @ A) @ A)),B6:(set @ ((product_prod @ A) @ A))]: (((A6 = (bot_bot @ (set @ ((product_prod @ A) @ A)))) => (((ord_less_eq @ (set @ ((product_prod @ A) @ A))) @ A6) @ B6))))).
% 2.79/1.53  thf(fact_249_times__subset__iff, axiom, (! [A:$tType,B:$tType,A6:(set @ A),C2:(set @ B),B6:(set @ A),D5:(set @ B)]: (((((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ ((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (C2)))) @ ((((product_Sigma @ A) @ B) @ B6) @ (^ [Uu:A]: (D5)))) = ((A6 = (bot_bot @ (set @ A))) | ((C2 = (bot_bot @ (set @ B))) | ((((ord_less_eq @ (set @ A)) @ A6) @ B6) & (((ord_less_eq @ (set @ B)) @ C2) @ D5)))))))).
% 2.79/1.53  thf(fact_250_Collect__split__mono__strong, axiom, (! [B:$tType,A:$tType,X7:(set @ A),A6:(set @ ((product_prod @ A) @ B)),Y7:(set @ B),P:(A > (B > $o)),Q:(A > (B > $o))]: (((X7 = ((((image @ ((product_prod @ A) @ B)) @ A) @ ((product_fst @ A) @ B)) @ A6)) => ((Y7 = ((((image @ ((product_prod @ A) @ B)) @ B) @ ((product_snd @ A) @ B)) @ A6)) => ((! [X3:A]: (((((member @ A) @ X3) @ X7) => (! [Xa:B]: (((((member @ B) @ Xa) @ Y7) => (((P @ X3) @ Xa) => ((Q @ X3) @ Xa)))))))) => ((((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ A6) @ ((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ P))) => (((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ A6) @ ((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ Q)))))))))).
% 2.79/1.53  thf(fact_251_subset__snd__imageI, axiom, (! [B:$tType,A:$tType,A6:(set @ A),B6:(set @ B),S:(set @ ((product_prod @ A) @ B)),X:A]: (((((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ ((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (B6)))) @ S) => ((((member @ A) @ X) @ A6) => (((ord_less_eq @ (set @ B)) @ B6) @ ((((image @ ((product_prod @ A) @ B)) @ B) @ ((product_snd @ A) @ B)) @ S))))))).
% 2.79/1.53  thf(fact_252_subset__fst__imageI, axiom, (! [B:$tType,A:$tType,A6:(set @ A),B6:(set @ B),S:(set @ ((product_prod @ A) @ B)),Y:B]: (((((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ ((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (B6)))) @ S) => ((((member @ B) @ Y) @ B6) => (((ord_less_eq @ (set @ A)) @ A6) @ ((((image @ ((product_prod @ A) @ B)) @ A) @ ((product_fst @ A) @ B)) @ S))))))).
% 2.79/1.53  thf(fact_253_range__subsetD, axiom, (! [B:$tType,A:$tType,F5:(B > A),B6:(set @ A),I4:B]: (((((ord_less_eq @ (set @ A)) @ ((((image @ B) @ A) @ F5) @ (top_top @ (set @ B)))) @ B6) => (((member @ A) @ (F5 @ I4)) @ B6))))).
% 2.79/1.53  thf(fact_254_Gr__incl, axiom, (! [A:$tType,B:$tType,A6:(set @ A),F5:(A > B),B6:(set @ B)]: (((((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ ((((bNF_Gr @ A) @ B) @ A6) @ F5)) @ ((((product_Sigma @ A) @ B) @ A6) @ (^ [Uu:A]: (B6)))) = (((ord_less_eq @ (set @ B)) @ ((((image @ A) @ B) @ F5) @ A6)) @ B6))))).
% 2.79/1.53  thf(fact_255_GrD1, axiom, (! [B:$tType,A:$tType,X:A,Fx:B,A6:(set @ A),F5:(A > B)]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X) @ Fx)) @ ((((bNF_Gr @ A) @ B) @ A6) @ F5)) => (((member @ A) @ X) @ A6))))).
% 2.79/1.53  thf(help_If_3_1_T, axiom, (! [P:$o]: (((P = $true) | (P = $false))))).
% 2.79/1.53  thf(help_If_2_1_T, axiom, (! [A:$tType,X:A,Y:A]: ((((((if @ A) @ $false) @ X) @ Y) = Y)))).
% 2.79/1.53  thf(help_If_1_1_T, axiom, (! [A:$tType,X:A,Y:A]: ((((((if @ A) @ $true) @ X) @ Y) = X)))).
% 2.79/1.53  thf(conj_0, conjecture, ((denotational_Preds @ (denota1150374853interp @ ((((product_Pair @ (char > real)) @ ((product_prod @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))))) @ (^ [C3:char]: (((((if @ real) @ (C3 = f)) @ d) @ ((denotational_Consts @ i) @ C3))))) @ ((((product_Pair @ (char > (real > real))) @ ((product_prod @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real)))))) @ (denotational_Funcs @ i)) @ ((((product_Pair @ (char > (real > $o))) @ (char > ((set @ (variable > real)) > (set @ (variable > real))))) @ (denotational_Preds @ i)) @ (denotational_Games @ i)))))) = (denotational_Preds @ i))).
% 2.79/1.53  % SZS output end ListOfTHF for /export/starexec/sandbox2/tmp/tmp.ov1tFK40xU/DTF2DTF17124.p
% 2.79/1.53  ------------------------
% 2.79/1.56  ---- Cleaned THF ---
% 2.79/1.56  thf(ty_t_Denotational__Semantics_Ointerp,type,
% 2.79/1.56      denotational_interp: $tType ).
% 2.79/1.56  
% 2.79/1.56  thf(ty_t_Product__Type_Ounit,type,
% 2.79/1.56      product_unit: $tType ).
% 2.79/1.56  
% 2.79/1.56  thf(ty_t_Product__Type_Oprod,type,
% 2.79/1.56      product_prod: $tType > $tType > $tType ).
% 2.79/1.56  
% 2.79/1.56  thf(ty_t_Syntax_Ovariable,type,
% 2.79/1.56      variable: $tType ).
% 2.79/1.56  
% 2.79/1.56  thf(ty_t_String_Ochar,type,
% 2.79/1.56      char: $tType ).
% 2.79/1.56  
% 2.79/1.56  thf(ty_t_Real_Oreal,type,
% 2.79/1.56      real: $tType ).
% 2.79/1.56  
% 2.79/1.56  thf(ty_t_Set_Oset,type,
% 2.79/1.56      set: $tType > $tType ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_BNF__Def_OGr,type,
% 2.79/1.56      bNF_Gr: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( set @ A ) > ( A > B ) > ( set @ ( product_prod @ A @ B ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Denotational__Semantics_OConsts,type,
% 2.79/1.56      denotational_Consts: denotational_interp > char > real ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Denotational__Semantics_OFuncs,type,
% 2.79/1.56      denotational_Funcs: denotational_interp > char > real > real ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Denotational__Semantics_OGames,type,
% 2.79/1.56      denotational_Games: denotational_interp > char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Denotational__Semantics_OPreds,type,
% 2.79/1.56      denotational_Preds: denotational_interp > char > real > $o ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Denotational__Semantics_Omkinterp,type,
% 2.79/1.56      denota1150374853interp: ( product_prod @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) ) > denotational_interp ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Denotational__Semantics_Oworlds,type,
% 2.79/1.56      denotational_worlds: set @ ( variable > real ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Fun__Def_Oreduction__pair,type,
% 2.79/1.56      fun_reduction_pair: 
% 2.79/1.56        !>[A: $tType] : ( ( product_prod @ ( set @ ( product_prod @ A @ A ) ) @ ( set @ ( product_prod @ A @ A ) ) ) > $o ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Fun__Def_Orp__inv__image,type,
% 2.79/1.56      fun_rp_inv_image: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( product_prod @ ( set @ ( product_prod @ A @ A ) ) @ ( set @ ( product_prod @ A @ A ) ) ) > ( B > A ) > ( product_prod @ ( set @ ( product_prod @ B @ B ) ) @ ( set @ ( product_prod @ B @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_HOL_OThe,type,
% 2.79/1.56      the: 
% 2.79/1.56        !>[A: $tType] : ( ( A > $o ) > A ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_If,type,
% 2.79/1.56      if: 
% 2.79/1.56        !>[A: $tType] : ( $o > A > A > A ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Orderings_Obot__class_Obot,type,
% 2.79/1.56      bot_bot: 
% 2.79/1.56        !>[A: $tType] : A ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 2.79/1.56      ord_less_eq: 
% 2.79/1.56        !>[A: $tType] : ( A > A > $o ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Orderings_Oorder__class_Omono,type,
% 2.79/1.56      order_mono: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( A > B ) > $o ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Orderings_Otop__class_Otop,type,
% 2.79/1.56      top_top: 
% 2.79/1.56        !>[A: $tType] : A ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_OPair,type,
% 2.79/1.56      product_Pair: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_OPair__Rep,type,
% 2.79/1.56      product_Pair_Rep: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( A > B > A > B > $o ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_OSigma,type,
% 2.79/1.56      product_Sigma: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( set @ A ) > ( A > ( set @ B ) ) > ( set @ ( product_prod @ A @ B ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Ocurry,type,
% 2.79/1.56      product_curry: 
% 2.79/1.56        !>[A: $tType,B: $tType,C: $tType] : ( ( ( product_prod @ A @ B ) > C ) > A > B > C ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 2.79/1.56      produc2004651681e_prod: 
% 2.79/1.56        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Omap__prod,type,
% 2.79/1.56      product_map_prod: 
% 2.79/1.56        !>[A: $tType,C: $tType,B: $tType,D: $tType] : ( ( A > C ) > ( B > D ) > ( product_prod @ A @ B ) > ( product_prod @ C @ D ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oold_Obool_Orec__bool,type,
% 2.79/1.56      product_rec_bool: 
% 2.79/1.56        !>[T: $tType] : ( T > T > $o > T ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oold_Obool_Orec__set__bool,type,
% 2.79/1.56      product_rec_set_bool: 
% 2.79/1.56        !>[T: $tType] : ( T > T > $o > T > $o ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 2.79/1.56      product_rec_prod: 
% 2.79/1.56        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oold_Oprod_Orec__set__prod,type,
% 2.79/1.56      product_rec_set_prod: 
% 2.79/1.56        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T > $o ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oold_Ounit_Orec__set__unit,type,
% 2.79/1.56      product_rec_set_unit: 
% 2.79/1.56        !>[T: $tType] : ( T > product_unit > T > $o ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oold_Ounit_Orec__unit,type,
% 2.79/1.56      product_rec_unit: 
% 2.79/1.56        !>[T: $tType] : ( T > product_unit > T ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oprod_OAbs__prod,type,
% 2.79/1.56      product_Abs_prod: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( A > B > $o ) > ( product_prod @ A @ B ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oprod_Ocase__prod,type,
% 2.79/1.56      product_case_prod: 
% 2.79/1.56        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oprod_Ofst,type,
% 2.79/1.56      product_fst: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > A ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oprod_Osnd,type,
% 2.79/1.56      product_snd: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > B ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oprod_Oswap,type,
% 2.79/1.56      product_swap: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > ( product_prod @ B @ A ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Product__Type_Oproduct,type,
% 2.79/1.56      product_product: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( set @ A ) > ( set @ B ) > ( set @ ( product_prod @ A @ B ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Relation_Oinv__image,type,
% 2.79/1.56      inv_image: 
% 2.79/1.56        !>[B: $tType,A: $tType] : ( ( set @ ( product_prod @ B @ B ) ) > ( A > B ) > ( set @ ( product_prod @ A @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Relation_Oinv__imagep,type,
% 2.79/1.56      inv_imagep: 
% 2.79/1.56        !>[B: $tType,A: $tType] : ( ( B > B > $o ) > ( A > B ) > A > A > $o ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Set_OCollect,type,
% 2.79/1.56      collect: 
% 2.79/1.56        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Set_Oimage,type,
% 2.79/1.56      image: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( A > B ) > ( set @ A ) > ( set @ B ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Set_Othe__elem,type,
% 2.79/1.56      the_elem: 
% 2.79/1.56        !>[A: $tType] : ( ( set @ A ) > A ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_USubst__Mirabelle__nnnzepxswx_Orepc,type,
% 2.79/1.56      uSubst761942615e_repc: denotational_interp > char > real > denotational_interp ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Wellfounded_Olex__prod,type,
% 2.79/1.56      lex_prod: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ B @ B ) ) > ( set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_Wfrec_Osame__fst,type,
% 2.79/1.56      same_fst: 
% 2.79/1.56        !>[A: $tType,B: $tType] : ( ( A > $o ) > ( A > ( set @ ( product_prod @ B @ B ) ) ) > ( set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_c_member,type,
% 2.79/1.56      member: 
% 2.79/1.56        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_v_I,type,
% 2.79/1.56      i: denotational_interp ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_v_d,type,
% 2.79/1.56      d: real ).
% 2.79/1.56  
% 2.79/1.56  thf(sy_v_f,type,
% 2.79/1.56      f: char ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_0_Preds__mkinterp,axiom,
% 2.79/1.56      ! [C2: char > real,F: char > real > real,P: char > real > $o,G: char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) )] :
% 2.79/1.56        ( ( denotational_Preds @ ( denota1150374853interp @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) @ C2 @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ F @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ P @ G ) ) ) ) )
% 2.79/1.56        = P ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_1_Funcs__mkinterp,axiom,
% 2.79/1.56      ! [C2: char > real,F: char > real > real,P: char > real > $o,G: char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) )] :
% 2.79/1.56        ( ( denotational_Funcs @ ( denota1150374853interp @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) @ C2 @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ F @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ P @ G ) ) ) ) )
% 2.79/1.56        = F ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_2_Consts__mkinterp,axiom,
% 2.79/1.56      ! [C2: char > real,F: char > real > real,P: char > real > $o,G: char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) )] :
% 2.79/1.56        ( ( denotational_Consts @ ( denota1150374853interp @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) @ C2 @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ F @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ P @ G ) ) ) ) )
% 2.79/1.56        = C2 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_3_mkinterp__eq,axiom,
% 2.79/1.56      ! [I: denotational_interp,J: denotational_interp] :
% 2.79/1.56        ( ( ( ( denotational_Consts @ I )
% 2.79/1.56            = ( denotational_Consts @ J ) )
% 2.79/1.56          & ( ( denotational_Funcs @ I )
% 2.79/1.56            = ( denotational_Funcs @ J ) )
% 2.79/1.56          & ( ( denotational_Preds @ I )
% 2.79/1.56            = ( denotational_Preds @ J ) )
% 2.79/1.56          & ( ( denotational_Games @ I )
% 2.79/1.56            = ( denotational_Games @ J ) ) )
% 2.79/1.56        = ( I = J ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_4_repc__def,axiom,
% 2.79/1.56      ( uSubst761942615e_repc
% 2.79/1.56      = ( ^ [I2: denotational_interp,F2: char,D2: real] :
% 2.79/1.56            ( denota1150374853interp
% 2.79/1.56            @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) )
% 2.79/1.56              @ ^ [C3: char] : ( if @ real @ ( C3 = F2 ) @ D2 @ ( denotational_Consts @ I2 @ C3 ) )
% 2.79/1.56              @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ ( denotational_Funcs @ I2 ) @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ ( denotational_Preds @ I2 ) @ ( denotational_Games @ I2 ) ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_5_prod__cases4,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 2.79/1.56        ~ ! [A2: A,B2: B,C4: C,D3: D] :
% 2.79/1.56            ( Y
% 2.79/1.56           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C4 @ D3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_6_prod__cases5,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 2.79/1.56        ~ ! [A2: A,B2: B,C4: C,D3: D,E2: E] :
% 2.79/1.56            ( Y
% 2.79/1.56           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C4 @ ( product_Pair @ D @ E @ D3 @ E2 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_7_prod__cases6,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) )] :
% 2.79/1.56        ~ ! [A2: A,B2: B,C4: C,D3: D,E2: E,F4: F3] :
% 2.79/1.56            ( Y
% 2.79/1.56           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) @ C4 @ ( product_Pair @ D @ ( product_prod @ E @ F3 ) @ D3 @ ( product_Pair @ E @ F3 @ E2 @ F4 ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_8_prod__cases7,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F3: $tType,G2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) )] :
% 2.79/1.56        ~ ! [A2: A,B2: B,C4: C,D3: D,E2: E,F4: F3,G3: G2] :
% 2.79/1.56            ( Y
% 2.79/1.56           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) @ C4 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) @ D3 @ ( product_Pair @ E @ ( product_prod @ F3 @ G2 ) @ E2 @ ( product_Pair @ F3 @ G2 @ F4 @ G3 ) ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_9_prod__induct4,axiom,
% 2.79/1.56      ! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 2.79/1.56        ( ! [A2: A,B2: B,C4: C,D3: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C4 @ D3 ) ) ) )
% 2.79/1.56       => ( P @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_10_prod__induct5,axiom,
% 2.79/1.56      ! [E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 2.79/1.56        ( ! [A2: A,B2: B,C4: C,D3: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C4 @ ( product_Pair @ D @ E @ D3 @ E2 ) ) ) ) )
% 2.79/1.56       => ( P @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_11_prod__induct6,axiom,
% 2.79/1.56      ! [F3: $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 @ F3 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) )] :
% 2.79/1.56        ( ! [A2: A,B2: B,C4: C,D3: D,E2: E,F4: F3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F3 ) ) @ C4 @ ( product_Pair @ D @ ( product_prod @ E @ F3 ) @ D3 @ ( product_Pair @ E @ F3 @ E2 @ F4 ) ) ) ) ) )
% 2.79/1.56       => ( P @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_12_old_Oprod_Oinject,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
% 2.79/1.56        ( ( ( product_Pair @ A @ B @ A3 @ B3 )
% 2.79/1.56          = ( product_Pair @ A @ B @ A4 @ B4 ) )
% 2.79/1.56        = ( ( A3 = A4 )
% 2.79/1.56          & ( B3 = B4 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_13_prod_Oinject,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,X1: A,X2: B,Y1: A,Y2: B] :
% 2.79/1.56        ( ( ( product_Pair @ A @ B @ X1 @ X2 )
% 2.79/1.56          = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
% 2.79/1.56        = ( ( X1 = Y1 )
% 2.79/1.56          & ( X2 = Y2 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_14_repc__consts,axiom,
% 2.79/1.56      ! [C5: char,F5: char,I: denotational_interp,D4: real] :
% 2.79/1.56        ( ( ( C5 = F5 )
% 2.79/1.56         => ( ( denotational_Consts @ ( uSubst761942615e_repc @ I @ F5 @ D4 ) @ C5 )
% 2.79/1.56            = D4 ) )
% 2.79/1.56        & ( ( C5 != F5 )
% 2.79/1.56         => ( ( denotational_Consts @ ( uSubst761942615e_repc @ I @ F5 @ D4 ) @ C5 )
% 2.79/1.56            = ( denotational_Consts @ I @ C5 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_15_repc__funcs,axiom,
% 2.79/1.56      ! [I: denotational_interp,F5: char,D4: real] :
% 2.79/1.56        ( ( denotational_Funcs @ ( uSubst761942615e_repc @ I @ F5 @ D4 ) )
% 2.79/1.56        = ( denotational_Funcs @ I ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_16_old_Oprod_Oinducts,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 2.79/1.56        ( ! [A2: A,B2: B] : ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 2.79/1.56       => ( P @ Prod ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_17_old_Oprod_Oexhaust,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 2.79/1.56        ~ ! [A2: A,B2: B] :
% 2.79/1.56            ( Y
% 2.79/1.56           != ( product_Pair @ A @ B @ A2 @ B2 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_18_Pair__inject,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
% 2.79/1.56        ( ( ( product_Pair @ A @ B @ A3 @ B3 )
% 2.79/1.56          = ( product_Pair @ A @ B @ A4 @ B4 ) )
% 2.79/1.56       => ~ ( ( A3 = A4 )
% 2.79/1.56           => ( B3 != B4 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_19_prod__cases,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 2.79/1.56        ( ! [A2: A,B2: B] : ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 2.79/1.56       => ( P @ P2 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_20_surj__pair,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 2.79/1.56      ? [X3: A,Y3: B] :
% 2.79/1.56        ( P2
% 2.79/1.56        = ( product_Pair @ A @ B @ X3 @ Y3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_21_prod__induct3,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 2.79/1.56        ( ! [A2: A,B2: B,C4: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C4 ) ) )
% 2.79/1.56       => ( P @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_22_prod__cases3,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 2.79/1.56        ~ ! [A2: A,B2: B,C4: C] :
% 2.79/1.56            ( Y
% 2.79/1.56           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C4 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_23_prod__induct7,axiom,
% 2.79/1.56      ! [G2: $tType,F3: $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 @ F3 @ G2 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) )] :
% 2.79/1.56        ( ! [A2: A,B2: B,C4: C,D3: D,E2: E,F4: F3,G3: G2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) ) @ C4 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F3 @ G2 ) ) @ D3 @ ( product_Pair @ E @ ( product_prod @ F3 @ G2 ) @ E2 @ ( product_Pair @ F3 @ G2 @ F4 @ G3 ) ) ) ) ) ) )
% 2.79/1.56       => ( P @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_24_old_Oprod_Orec,axiom,
% 2.79/1.56      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A3: A,B3: B] :
% 2.79/1.56        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 2.79/1.56        = ( F1 @ A3 @ B3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_25_Games__mkinterp,axiom,
% 2.79/1.56      ! [G: char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ),C2: char > real,F: char > real > real,P: char > real > $o] :
% 2.79/1.56        ( ! [A2: char] : ( order_mono @ ( set @ ( variable > real ) ) @ ( set @ ( variable > real ) ) @ ( G @ A2 ) )
% 2.79/1.56       => ( ( denotational_Games @ ( denota1150374853interp @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) ) @ C2 @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ F @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ P @ G ) ) ) ) )
% 2.79/1.56          = G ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_26_pred__equals__eq2,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
% 2.79/1.56        ( ( ( ^ [X4: A,Y4: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y4 ) @ R ) )
% 2.79/1.56          = ( ^ [X4: A,Y4: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y4 ) @ S ) ) )
% 2.79/1.56        = ( R = S ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_27_internal__case__prod__conv,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,C: $tType,C5: B > C > A,A3: B,B3: C] :
% 2.79/1.56        ( ( produc2004651681e_prod @ B @ C @ A @ C5 @ ( product_Pair @ B @ C @ A3 @ B3 ) )
% 2.79/1.56        = ( C5 @ A3 @ B3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_28_ssubst__Pair__rhs,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,R2: A,S2: B,R: set @ ( product_prod @ A @ B ),S3: B] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R2 @ S2 ) @ R )
% 2.79/1.56       => ( ( S3 = S2 )
% 2.79/1.56         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R2 @ S3 ) @ R ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_29_curry__conv,axiom,
% 2.79/1.56      ! [A: $tType,C: $tType,B: $tType] :
% 2.79/1.56        ( ( product_curry @ B @ C @ A )
% 2.79/1.56        = ( ^ [F2: ( product_prod @ B @ C ) > A,A5: B,B5: C] : ( F2 @ ( product_Pair @ B @ C @ A5 @ B5 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_30_curry__def,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_curry @ A @ B @ C )
% 2.79/1.56        = ( ^ [C3: ( product_prod @ A @ B ) > C,X4: A,Y4: B] : ( C3 @ ( product_Pair @ A @ B @ X4 @ Y4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_31_curryI,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: ( product_prod @ A @ B ) > $o,A3: A,B3: B] :
% 2.79/1.56        ( ( F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 2.79/1.56       => ( product_curry @ A @ B @ $o @ F5 @ A3 @ B3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_32_worlds__def,axiom,
% 2.79/1.56      ( denotational_worlds
% 2.79/1.56      = ( collect @ ( variable > real )
% 2.79/1.56        @ ^ [Nu: variable > real] : $true ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_33_swap__simp,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,X: B,Y: A] :
% 2.79/1.56        ( ( product_swap @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) )
% 2.79/1.56        = ( product_Pair @ A @ B @ Y @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_34_Pair__Rep__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_Pair_Rep @ A @ B )
% 2.79/1.56        = ( ^ [A5: A,B5: B,X4: A,Y4: B] :
% 2.79/1.56              ( ( X4 = A5 )
% 2.79/1.56              & ( Y4 = B5 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_35_swap__swap,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
% 2.79/1.56        ( ( product_swap @ B @ A @ ( product_swap @ A @ B @ P2 ) )
% 2.79/1.56        = P2 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_36_curry__K,axiom,
% 2.79/1.56      ! [B: $tType,C: $tType,A: $tType,C5: C] :
% 2.79/1.56        ( ( product_curry @ A @ B @ C
% 2.79/1.56          @ ^ [X4: product_prod @ A @ B] : C5 )
% 2.79/1.56        = ( ^ [X4: A,Y4: B] : C5 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_37_curryD,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: ( product_prod @ A @ B ) > $o,A3: A,B3: B] :
% 2.79/1.56        ( ( product_curry @ A @ B @ $o @ F5 @ A3 @ B3 )
% 2.79/1.56       => ( F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_38_curryE,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: ( product_prod @ A @ B ) > $o,A3: A,B3: B] :
% 2.79/1.56        ( ( product_curry @ A @ B @ $o @ F5 @ A3 @ B3 )
% 2.79/1.56       => ( F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_39_Pair__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_Pair @ A @ B )
% 2.79/1.56        = ( ^ [A5: A,B5: B] : ( product_Abs_prod @ A @ B @ ( product_Pair_Rep @ A @ B @ A5 @ B5 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_40_in__inv__imagep,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( inv_imagep @ A @ B )
% 2.79/1.56        = ( ^ [R3: A > A > $o,F2: B > A,X4: B,Y4: B] : ( R3 @ ( F2 @ X4 ) @ ( F2 @ Y4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_41_pair__in__swap__image,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,Y: A,X: B,A6: set @ ( product_prod @ B @ A )] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Y @ X ) @ ( image @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A ) @ A6 ) )
% 2.79/1.56        = ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X @ Y ) @ A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_42_in__inv__image,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,X: A,Y: A,R2: set @ ( product_prod @ B @ B ),F5: A > B] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ ( inv_image @ B @ A @ R2 @ F5 ) )
% 2.79/1.56        = ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ ( F5 @ X ) @ ( F5 @ Y ) ) @ R2 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_43_inv__imagep__def,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType] :
% 2.79/1.56        ( ( inv_imagep @ B @ A )
% 2.79/1.56        = ( ^ [R3: B > B > $o,F2: A > B,X4: A,Y4: A] : ( R3 @ ( F2 @ X4 ) @ ( F2 @ Y4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_44_old_Orec__prod__def,axiom,
% 2.79/1.56      ! [T: $tType,B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_rec_prod @ A @ B @ T )
% 2.79/1.56        = ( ^ [F12: A > B > T,X4: product_prod @ A @ B] : ( the @ T @ ( product_rec_set_prod @ A @ B @ T @ F12 @ X4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_45_mem__Collect__eq,axiom,
% 2.79/1.56      ! [A: $tType,A3: A,P: A > $o] :
% 2.79/1.56        ( ( member @ A @ A3 @ ( collect @ A @ P ) )
% 2.79/1.56        = ( P @ A3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_46_Collect__mem__eq,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] :
% 2.79/1.56        ( ( collect @ A
% 2.79/1.56          @ ^ [X4: A] : ( member @ A @ X4 @ A6 ) )
% 2.79/1.56        = A6 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_47_Collect__cong,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,Q: A > $o] :
% 2.79/1.56        ( ! [X3: A] :
% 2.79/1.56            ( ( P @ X3 )
% 2.79/1.56            = ( Q @ X3 ) )
% 2.79/1.56       => ( ( collect @ A @ P )
% 2.79/1.56          = ( collect @ A @ Q ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_48_ext,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,F5: A > B,G4: A > B] :
% 2.79/1.56        ( ! [X3: A] :
% 2.79/1.56            ( ( F5 @ X3 )
% 2.79/1.56            = ( G4 @ X3 ) )
% 2.79/1.56       => ( F5 = G4 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_49_internal__case__prod__def,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType] :
% 2.79/1.56        ( ( produc2004651681e_prod @ A @ B @ C )
% 2.79/1.56        = ( product_case_prod @ A @ B @ C ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_50_case__swap,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C: $tType,F5: C > B > A,P2: product_prod @ C @ B] :
% 2.79/1.56        ( ( product_case_prod @ B @ C @ A
% 2.79/1.56          @ ^ [Y4: B,X4: C] : ( F5 @ X4 @ Y4 )
% 2.79/1.56          @ ( product_swap @ C @ B @ P2 ) )
% 2.79/1.56        = ( product_case_prod @ C @ B @ A @ F5 @ P2 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_51_old_Obool_Osimps_I5_J,axiom,
% 2.79/1.56      ! [T: $tType,F1: T,F22: T] :
% 2.79/1.56        ( ( product_rec_bool @ T @ F1 @ F22 @ $true )
% 2.79/1.56        = F1 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_52_The__split__eq,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,X: A,Y: B] :
% 2.79/1.56        ( ( the @ ( product_prod @ A @ B )
% 2.79/1.56          @ ( product_case_prod @ A @ B @ $o
% 2.79/1.56            @ ^ [X5: A,Y5: B] :
% 2.79/1.56                ( ( X = X5 )
% 2.79/1.56                & ( Y = Y5 ) ) ) )
% 2.79/1.56        = ( product_Pair @ A @ B @ X @ Y ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_53_case__prodI2,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P2: product_prod @ A @ B,C5: A > B > $o] :
% 2.79/1.56        ( ! [A2: A,B2: B] :
% 2.79/1.56            ( ( P2
% 2.79/1.56              = ( product_Pair @ A @ B @ A2 @ B2 ) )
% 2.79/1.56           => ( C5 @ A2 @ B2 ) )
% 2.79/1.56       => ( product_case_prod @ A @ B @ $o @ C5 @ P2 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_54_case__prodI,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: A > B > $o,A3: A,B3: B] :
% 2.79/1.56        ( ( F5 @ A3 @ B3 )
% 2.79/1.56       => ( product_case_prod @ A @ B @ $o @ F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_55_mem__case__prodI2,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,P2: product_prod @ A @ B,Z: C,C5: A > B > ( set @ C )] :
% 2.79/1.56        ( ! [A2: A,B2: B] :
% 2.79/1.56            ( ( P2
% 2.79/1.56              = ( product_Pair @ A @ B @ A2 @ B2 ) )
% 2.79/1.56           => ( member @ C @ Z @ ( C5 @ A2 @ B2 ) ) )
% 2.79/1.56       => ( member @ C @ Z @ ( product_case_prod @ A @ B @ ( set @ C ) @ C5 @ P2 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_56_mem__case__prodI,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C: $tType,Z: A,C5: B > C > ( set @ A ),A3: B,B3: C] :
% 2.79/1.56        ( ( member @ A @ Z @ ( C5 @ A3 @ B3 ) )
% 2.79/1.56       => ( member @ A @ Z @ ( product_case_prod @ B @ C @ ( set @ A ) @ C5 @ ( product_Pair @ B @ C @ A3 @ B3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_57_case__prodI2_H,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C: $tType,P2: product_prod @ A @ B,C5: A > B > C > $o,X: C] :
% 2.79/1.56        ( ! [A2: A,B2: B] :
% 2.79/1.56            ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 2.79/1.56              = P2 )
% 2.79/1.56           => ( C5 @ A2 @ B2 @ X ) )
% 2.79/1.56       => ( product_case_prod @ A @ B @ ( C > $o ) @ C5 @ P2 @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_58_old_Obool_Osimps_I6_J,axiom,
% 2.79/1.56      ! [T: $tType,F1: T,F22: T] :
% 2.79/1.56        ( ( product_rec_bool @ T @ F1 @ F22 @ $false )
% 2.79/1.56        = F22 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_59_case__prod__conv,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,C: $tType,F5: B > C > A,A3: B,B3: C] :
% 2.79/1.56        ( ( product_case_prod @ B @ C @ A @ F5 @ ( product_Pair @ B @ C @ A3 @ B3 ) )
% 2.79/1.56        = ( F5 @ A3 @ B3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_60_curry__case__prod,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,F5: A > B > C] :
% 2.79/1.56        ( ( product_curry @ A @ B @ C @ ( product_case_prod @ A @ B @ C @ F5 ) )
% 2.79/1.56        = F5 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_61_case__prod__curry,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,F5: ( product_prod @ A @ B ) > C] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ C @ ( product_curry @ A @ B @ C @ F5 ) )
% 2.79/1.56        = F5 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_62_pair__imageI,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,A3: A,B3: B,A6: set @ ( product_prod @ A @ B ),F5: A > B > C] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ A6 )
% 2.79/1.56       => ( member @ C @ ( F5 @ A3 @ B3 ) @ ( image @ ( product_prod @ A @ B ) @ C @ ( product_case_prod @ A @ B @ C @ F5 ) @ A6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_63_prod_Ocase__distrib,axiom,
% 2.79/1.56      ! [C: $tType,D: $tType,B: $tType,A: $tType,H: C > D,F5: A > B > C,Prod: product_prod @ A @ B] :
% 2.79/1.56        ( ( H @ ( product_case_prod @ A @ B @ C @ F5 @ Prod ) )
% 2.79/1.56        = ( product_case_prod @ A @ B @ D
% 2.79/1.56          @ ^ [X12: A,X22: B] : ( H @ ( F5 @ X12 @ X22 ) )
% 2.79/1.56          @ Prod ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_64_inv__image__def,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType] :
% 2.79/1.56        ( ( inv_image @ B @ A )
% 2.79/1.56        = ( ^ [R3: set @ ( product_prod @ B @ B ),F2: A > B] :
% 2.79/1.56              ( collect @ ( product_prod @ A @ A )
% 2.79/1.56              @ ( product_case_prod @ A @ A @ $o
% 2.79/1.56                @ ^ [X4: A,Y4: A] : ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ ( F2 @ X4 ) @ ( F2 @ Y4 ) ) @ R3 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_65_mem__case__prodE,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,C: $tType,Z: A,C5: B > C > ( set @ A ),P2: product_prod @ B @ C] :
% 2.79/1.56        ( ( member @ A @ Z @ ( product_case_prod @ B @ C @ ( set @ A ) @ C5 @ P2 ) )
% 2.79/1.56       => ~ ! [X3: B,Y3: C] :
% 2.79/1.56              ( ( P2
% 2.79/1.56                = ( product_Pair @ B @ C @ X3 @ Y3 ) )
% 2.79/1.56             => ~ ( member @ A @ Z @ ( C5 @ X3 @ Y3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_66_old_Oprod_Ocase,axiom,
% 2.79/1.56      ! [A: $tType,C: $tType,B: $tType,F5: A > B > C,X1: A,X2: B] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ C @ F5 @ ( product_Pair @ A @ B @ X1 @ X2 ) )
% 2.79/1.56        = ( F5 @ X1 @ X2 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_67_case__prodE,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C5: A > B > $o,P2: product_prod @ A @ B] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ $o @ C5 @ P2 )
% 2.79/1.56       => ~ ! [X3: A,Y3: B] :
% 2.79/1.56              ( ( P2
% 2.79/1.56                = ( product_Pair @ A @ B @ X3 @ Y3 ) )
% 2.79/1.56             => ~ ( C5 @ X3 @ Y3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_68_case__prodD,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: A > B > $o,A3: A,B3: B] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ $o @ F5 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 2.79/1.56       => ( F5 @ A3 @ B3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_69_case__prodE_H,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,C: $tType,C5: A > B > C > $o,P2: product_prod @ A @ B,Z: C] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ ( C > $o ) @ C5 @ P2 @ Z )
% 2.79/1.56       => ~ ! [X3: A,Y3: B] :
% 2.79/1.56              ( ( P2
% 2.79/1.56                = ( product_Pair @ A @ B @ X3 @ Y3 ) )
% 2.79/1.56             => ~ ( C5 @ X3 @ Y3 @ Z ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_70_case__prodD_H,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,C: $tType,R: A > B > C > $o,A3: A,B3: B,C5: C] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ ( C > $o ) @ R @ ( product_Pair @ A @ B @ A3 @ B3 ) @ C5 )
% 2.79/1.56       => ( R @ A3 @ B3 @ C5 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_71_cond__case__prod__eta,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,F5: A > B > C,G4: ( product_prod @ A @ B ) > C] :
% 2.79/1.56        ( ! [X3: A,Y3: B] :
% 2.79/1.56            ( ( F5 @ X3 @ Y3 )
% 2.79/1.56            = ( G4 @ ( product_Pair @ A @ B @ X3 @ Y3 ) ) )
% 2.79/1.56       => ( ( product_case_prod @ A @ B @ C @ F5 )
% 2.79/1.56          = G4 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_72_case__prod__eta,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,F5: ( product_prod @ A @ B ) > C] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ C
% 2.79/1.56          @ ^ [X4: A,Y4: B] : ( F5 @ ( product_Pair @ A @ B @ X4 @ Y4 ) ) )
% 2.79/1.56        = F5 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_73_case__prodE2,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,C: $tType,Q: A > $o,P: B > C > A,Z: product_prod @ B @ C] :
% 2.79/1.56        ( ( Q @ ( product_case_prod @ B @ C @ A @ P @ Z ) )
% 2.79/1.56       => ~ ! [X3: B,Y3: C] :
% 2.79/1.56              ( ( Z
% 2.79/1.56                = ( product_Pair @ B @ C @ X3 @ Y3 ) )
% 2.79/1.56             => ~ ( Q @ ( P @ X3 @ Y3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_74_old_Orec__bool__def,axiom,
% 2.79/1.56      ! [T: $tType] :
% 2.79/1.56        ( ( product_rec_bool @ T )
% 2.79/1.56        = ( ^ [F12: T,F23: T,X4: $o] : ( the @ T @ ( product_rec_set_bool @ T @ F12 @ F23 @ X4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_75_the__sym__eq__trivial,axiom,
% 2.79/1.56      ! [A: $tType,X: A] :
% 2.79/1.56        ( ( the @ A
% 2.79/1.56          @ ( ^ [Y6: A,Z2: A] : ( Y6 = Z2 )
% 2.79/1.56            @ X ) )
% 2.79/1.56        = X ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_76_the__eq__trivial,axiom,
% 2.79/1.56      ! [A: $tType,A3: A] :
% 2.79/1.56        ( ( the @ A
% 2.79/1.56          @ ^ [X4: A] : ( X4 = A3 ) )
% 2.79/1.56        = A3 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_77_the__equality,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,A3: A] :
% 2.79/1.56        ( ( P @ A3 )
% 2.79/1.56       => ( ! [X3: A] :
% 2.79/1.56              ( ( P @ X3 )
% 2.79/1.56             => ( X3 = A3 ) )
% 2.79/1.56         => ( ( the @ A @ P )
% 2.79/1.56            = A3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_78_image__ident,axiom,
% 2.79/1.56      ! [A: $tType,Y7: set @ A] :
% 2.79/1.56        ( ( image @ A @ A
% 2.79/1.56          @ ^ [X4: A] : X4
% 2.79/1.56          @ Y7 )
% 2.79/1.56        = Y7 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_79_image__eqI,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,B3: A,F5: B > A,X: B,A6: set @ B] :
% 2.79/1.56        ( ( B3
% 2.79/1.56          = ( F5 @ X ) )
% 2.79/1.56       => ( ( member @ B @ X @ A6 )
% 2.79/1.56         => ( member @ A @ B3 @ ( image @ B @ A @ F5 @ A6 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_80_split__cong,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,Q2: product_prod @ A @ B,F5: A > B > C,G4: A > B > C,P2: product_prod @ A @ B] :
% 2.79/1.56        ( ! [X3: A,Y3: B] :
% 2.79/1.56            ( ( ( product_Pair @ A @ B @ X3 @ Y3 )
% 2.79/1.56              = Q2 )
% 2.79/1.56           => ( ( F5 @ X3 @ Y3 )
% 2.79/1.56              = ( G4 @ X3 @ Y3 ) ) )
% 2.79/1.56       => ( ( P2 = Q2 )
% 2.79/1.56         => ( ( product_case_prod @ A @ B @ C @ F5 @ P2 )
% 2.79/1.56            = ( product_case_prod @ A @ B @ C @ G4 @ Q2 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_81_the1__equality,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,A3: A] :
% 2.79/1.56        ( ? [X6: A] :
% 2.79/1.56            ( ( P @ X6 )
% 2.79/1.56            & ! [Y3: A] :
% 2.79/1.56                ( ( P @ Y3 )
% 2.79/1.56               => ( Y3 = X6 ) ) )
% 2.79/1.56       => ( ( P @ A3 )
% 2.79/1.56         => ( ( the @ A @ P )
% 2.79/1.56            = A3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_82_split__part,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: $o,Q: A > B > $o] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ $o
% 2.79/1.56          @ ^ [A5: A,B5: B] :
% 2.79/1.56              ( P
% 2.79/1.56              & ( Q @ A5 @ B5 ) ) )
% 2.79/1.56        = ( ^ [Ab: product_prod @ A @ B] :
% 2.79/1.56              ( P
% 2.79/1.56              & ( product_case_prod @ A @ B @ $o @ Q @ Ab ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_83_prod_Odisc__eq__case,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 2.79/1.56        ( product_case_prod @ A @ B @ $o
% 2.79/1.56        @ ^ [Uu: A,Uv: B] : $true
% 2.79/1.56        @ Prod ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_84_rev__image__eqI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X: A,A6: set @ A,B3: B,F5: A > B] :
% 2.79/1.56        ( ( member @ A @ X @ A6 )
% 2.79/1.56       => ( ( B3
% 2.79/1.56            = ( F5 @ X ) )
% 2.79/1.56         => ( member @ B @ B3 @ ( image @ A @ B @ F5 @ A6 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_85_ball__imageD,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B,P: A > $o] :
% 2.79/1.56        ( ! [X3: A] :
% 2.79/1.56            ( ( member @ A @ X3 @ ( image @ B @ A @ F5 @ A6 ) )
% 2.79/1.56           => ( P @ X3 ) )
% 2.79/1.56       => ! [X6: B] :
% 2.79/1.56            ( ( member @ B @ X6 @ A6 )
% 2.79/1.56           => ( P @ ( F5 @ X6 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_86_image__cong,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,M: set @ A,N: set @ A,F5: A > B,G4: A > B] :
% 2.79/1.56        ( ( M = N )
% 2.79/1.56       => ( ! [X3: A] :
% 2.79/1.56              ( ( member @ A @ X3 @ N )
% 2.79/1.56             => ( ( F5 @ X3 )
% 2.79/1.56                = ( G4 @ X3 ) ) )
% 2.79/1.56         => ( ( image @ A @ B @ F5 @ M )
% 2.79/1.56            = ( image @ A @ B @ G4 @ N ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_87_bex__imageD,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B,P: A > $o] :
% 2.79/1.56        ( ? [X6: A] :
% 2.79/1.56            ( ( member @ A @ X6 @ ( image @ B @ A @ F5 @ A6 ) )
% 2.79/1.56            & ( P @ X6 ) )
% 2.79/1.56       => ? [X3: B] :
% 2.79/1.56            ( ( member @ B @ X3 @ A6 )
% 2.79/1.56            & ( P @ ( F5 @ X3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_88_image__iff,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,Z: A,F5: B > A,A6: set @ B] :
% 2.79/1.56        ( ( member @ A @ Z @ ( image @ B @ A @ F5 @ A6 ) )
% 2.79/1.56        = ( ? [X4: B] :
% 2.79/1.56              ( ( member @ B @ X4 @ A6 )
% 2.79/1.56              & ( Z
% 2.79/1.56                = ( F5 @ X4 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_89_imageI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X: A,A6: set @ A,F5: A > B] :
% 2.79/1.56        ( ( member @ A @ X @ A6 )
% 2.79/1.56       => ( member @ B @ ( F5 @ X ) @ ( image @ A @ B @ F5 @ A6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_90_imageE,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,B3: A,F5: B > A,A6: set @ B] :
% 2.79/1.56        ( ( member @ A @ B3 @ ( image @ B @ A @ F5 @ A6 ) )
% 2.79/1.56       => ~ ! [X3: B] :
% 2.79/1.56              ( ( B3
% 2.79/1.56                = ( F5 @ X3 ) )
% 2.79/1.56             => ~ ( member @ B @ X3 @ A6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_91_image__image,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C: $tType,F5: B > A,G4: C > B,A6: set @ C] :
% 2.79/1.56        ( ( image @ B @ A @ F5 @ ( image @ C @ B @ G4 @ A6 ) )
% 2.79/1.56        = ( image @ C @ A
% 2.79/1.56          @ ^ [X4: C] : ( F5 @ ( G4 @ X4 ) )
% 2.79/1.56          @ A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_92_Compr__image__eq,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B,P: A > $o] :
% 2.79/1.56        ( ( collect @ A
% 2.79/1.56          @ ^ [X4: A] :
% 2.79/1.56              ( ( member @ A @ X4 @ ( image @ B @ A @ F5 @ A6 ) )
% 2.79/1.56              & ( P @ X4 ) ) )
% 2.79/1.56        = ( image @ B @ A @ F5
% 2.79/1.56          @ ( collect @ B
% 2.79/1.56            @ ^ [X4: B] :
% 2.79/1.56                ( ( member @ B @ X4 @ A6 )
% 2.79/1.56                & ( P @ ( F5 @ X4 ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_93_theI,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,A3: A] :
% 2.79/1.56        ( ( P @ A3 )
% 2.79/1.56       => ( ! [X3: A] :
% 2.79/1.56              ( ( P @ X3 )
% 2.79/1.56             => ( X3 = A3 ) )
% 2.79/1.56         => ( P @ ( the @ A @ P ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_94_theI_H,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o] :
% 2.79/1.56        ( ? [X6: A] :
% 2.79/1.56            ( ( P @ X6 )
% 2.79/1.56            & ! [Y3: A] :
% 2.79/1.56                ( ( P @ Y3 )
% 2.79/1.56               => ( Y3 = X6 ) ) )
% 2.79/1.56       => ( P @ ( the @ A @ P ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_95_theI2,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,A3: A,Q: A > $o] :
% 2.79/1.56        ( ( P @ A3 )
% 2.79/1.56       => ( ! [X3: A] :
% 2.79/1.56              ( ( P @ X3 )
% 2.79/1.56             => ( X3 = A3 ) )
% 2.79/1.56         => ( ! [X3: A] :
% 2.79/1.56                ( ( P @ X3 )
% 2.79/1.56               => ( Q @ X3 ) )
% 2.79/1.56           => ( Q @ ( the @ A @ P ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_96_If__def,axiom,
% 2.79/1.56      ! [A: $tType] :
% 2.79/1.56        ( ( if @ A )
% 2.79/1.56        = ( ^ [P3: $o,X4: A,Y4: A] :
% 2.79/1.56              ( the @ A
% 2.79/1.56              @ ^ [Z3: A] :
% 2.79/1.56                  ( ( P3
% 2.79/1.56                   => ( Z3 = X4 ) )
% 2.79/1.56                  & ( ~ P3
% 2.79/1.56                   => ( Z3 = Y4 ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_97_the1I2,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,Q: A > $o] :
% 2.79/1.56        ( ? [X6: A] :
% 2.79/1.56            ( ( P @ X6 )
% 2.79/1.56            & ! [Y3: A] :
% 2.79/1.56                ( ( P @ Y3 )
% 2.79/1.56               => ( Y3 = X6 ) ) )
% 2.79/1.56       => ( ! [X3: A] :
% 2.79/1.56              ( ( P @ X3 )
% 2.79/1.56             => ( Q @ X3 ) )
% 2.79/1.56         => ( Q @ ( the @ A @ P ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_98_rp__inv__image__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( fun_rp_inv_image @ A @ B )
% 2.79/1.56        = ( product_case_prod @ ( set @ ( product_prod @ A @ A ) ) @ ( set @ ( product_prod @ A @ A ) ) @ ( ( B > A ) > ( product_prod @ ( set @ ( product_prod @ B @ B ) ) @ ( set @ ( product_prod @ B @ B ) ) ) )
% 2.79/1.56          @ ^ [R4: set @ ( product_prod @ A @ A ),S4: set @ ( product_prod @ A @ A ),F2: B > A] : ( product_Pair @ ( set @ ( product_prod @ B @ B ) ) @ ( set @ ( product_prod @ B @ B ) ) @ ( inv_image @ A @ B @ R4 @ F2 ) @ ( inv_image @ A @ B @ S4 @ F2 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_99_case__prod__app,axiom,
% 2.79/1.56      ! [A: $tType,D: $tType,C: $tType,B: $tType] :
% 2.79/1.56        ( ( product_case_prod @ B @ C @ ( D > A ) )
% 2.79/1.56        = ( ^ [F2: B > C > D > A,X4: product_prod @ B @ C,Y4: D] :
% 2.79/1.56              ( product_case_prod @ B @ C @ A
% 2.79/1.56              @ ^ [L: B,R3: C] : ( F2 @ L @ R3 @ Y4 )
% 2.79/1.56              @ X4 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_100_Inf_OINF__identity__eq,axiom,
% 2.79/1.56      ! [A: $tType,Inf: ( set @ A ) > A,A6: set @ A] :
% 2.79/1.56        ( ( Inf
% 2.79/1.56          @ ( image @ A @ A
% 2.79/1.56            @ ^ [X4: A] : X4
% 2.79/1.56            @ A6 ) )
% 2.79/1.56        = ( Inf @ A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_101_Sup_OSUP__identity__eq,axiom,
% 2.79/1.56      ! [A: $tType,Sup: ( set @ A ) > A,A6: set @ A] :
% 2.79/1.56        ( ( Sup
% 2.79/1.56          @ ( image @ A @ A
% 2.79/1.56            @ ^ [X4: A] : X4
% 2.79/1.56            @ A6 ) )
% 2.79/1.56        = ( Sup @ A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_102_case__prod__Pair__iden,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B ) @ P2 )
% 2.79/1.56        = P2 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_103_old_Orec__unit__def,axiom,
% 2.79/1.56      ! [T: $tType] :
% 2.79/1.56        ( ( product_rec_unit @ T )
% 2.79/1.56        = ( ^ [F12: T,X4: product_unit] : ( the @ T @ ( product_rec_set_unit @ T @ F12 @ X4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_104_Inf_OINF__cong,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A6: set @ B,B6: set @ B,C2: B > A,D5: B > A,Inf: ( set @ A ) > A] :
% 2.79/1.56        ( ( A6 = B6 )
% 2.79/1.56       => ( ! [X3: B] :
% 2.79/1.56              ( ( member @ B @ X3 @ B6 )
% 2.79/1.56             => ( ( C2 @ X3 )
% 2.79/1.56                = ( D5 @ X3 ) ) )
% 2.79/1.56         => ( ( Inf @ ( image @ B @ A @ C2 @ A6 ) )
% 2.79/1.56            = ( Inf @ ( image @ B @ A @ D5 @ B6 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_105_Sup_OSUP__cong,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A6: set @ B,B6: set @ B,C2: B > A,D5: B > A,Sup: ( set @ A ) > A] :
% 2.79/1.56        ( ( A6 = B6 )
% 2.79/1.56       => ( ! [X3: B] :
% 2.79/1.56              ( ( member @ B @ X3 @ B6 )
% 2.79/1.56             => ( ( C2 @ X3 )
% 2.79/1.56                = ( D5 @ X3 ) ) )
% 2.79/1.56         => ( ( Sup @ ( image @ B @ A @ C2 @ A6 ) )
% 2.79/1.56            = ( Sup @ ( image @ B @ A @ D5 @ B6 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_106_rp__inv__image__rp,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,P: product_prod @ ( set @ ( product_prod @ A @ A ) ) @ ( set @ ( product_prod @ A @ A ) ),F5: B > A] :
% 2.79/1.56        ( ( fun_reduction_pair @ A @ P )
% 2.79/1.56       => ( fun_reduction_pair @ B @ ( fun_rp_inv_image @ A @ B @ P @ F5 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_107_image__paired__Times,axiom,
% 2.79/1.56      ! [C: $tType,D: $tType,B: $tType,A: $tType,F5: C > A,G4: D > B,A6: set @ C,B6: set @ D] :
% 2.79/1.56        ( ( image @ ( product_prod @ C @ D ) @ ( product_prod @ A @ B )
% 2.79/1.56          @ ( product_case_prod @ C @ D @ ( product_prod @ A @ B )
% 2.79/1.56            @ ^ [X4: C,Y4: D] : ( product_Pair @ A @ B @ ( F5 @ X4 ) @ ( G4 @ Y4 ) ) )
% 2.79/1.56          @ ( product_Sigma @ C @ D @ A6
% 2.79/1.56            @ ^ [Uu: C] : B6 ) )
% 2.79/1.56        = ( product_Sigma @ A @ B @ ( image @ C @ A @ F5 @ A6 )
% 2.79/1.56          @ ^ [Uu: A] : ( image @ D @ B @ G4 @ B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_108_Nitpick_OThe__psimp,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,X: A] :
% 2.79/1.56        ( ( P
% 2.79/1.56          = ( ^ [Y6: A,Z2: A] : ( Y6 = Z2 )
% 2.79/1.56            @ X ) )
% 2.79/1.56       => ( ( the @ A @ P )
% 2.79/1.56          = X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_109_theI__unique,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,X: A] :
% 2.79/1.56        ( ? [X6: A] :
% 2.79/1.56            ( ( P @ X6 )
% 2.79/1.56            & ! [Y3: A] :
% 2.79/1.56                ( ( P @ Y3 )
% 2.79/1.56               => ( Y3 = X6 ) ) )
% 2.79/1.56       => ( ( P @ X )
% 2.79/1.56          = ( X
% 2.79/1.56            = ( the @ A @ P ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_110_surj__swap,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( image @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A ) @ ( top_top @ ( set @ ( product_prod @ B @ A ) ) ) )
% 2.79/1.56        = ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_111_UNIV__I,axiom,
% 2.79/1.56      ! [A: $tType,X: A] : ( member @ A @ X @ ( top_top @ ( set @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_112_SigmaI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A3: A,A6: set @ A,B3: B,B6: A > ( set @ B )] :
% 2.79/1.56        ( ( member @ A @ A3 @ A6 )
% 2.79/1.56       => ( ( member @ B @ B3 @ ( B6 @ A3 ) )
% 2.79/1.56         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_113_mem__Sigma__iff,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 2.79/1.56        = ( ( member @ A @ A3 @ A6 )
% 2.79/1.56          & ( member @ B @ B3 @ ( B6 @ A3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_114_Collect__case__prod,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: A > $o,Q: B > $o] :
% 2.79/1.56        ( ( collect @ ( product_prod @ A @ B )
% 2.79/1.56          @ ( product_case_prod @ A @ B @ $o
% 2.79/1.56            @ ^ [A5: A,B5: B] :
% 2.79/1.56                ( ( P @ A5 )
% 2.79/1.56                & ( Q @ B5 ) ) ) )
% 2.79/1.56        = ( product_Sigma @ A @ B @ ( collect @ A @ P )
% 2.79/1.56          @ ^ [Uu: A] : ( collect @ B @ Q ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_115_UNIV__Times__UNIV,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_Sigma @ A @ B @ ( top_top @ ( set @ A ) )
% 2.79/1.56          @ ^ [Uu: A] : ( top_top @ ( set @ B ) ) )
% 2.79/1.56        = ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_116_SigmaE2,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 2.79/1.56       => ~ ( ( member @ A @ A3 @ A6 )
% 2.79/1.56           => ~ ( member @ B @ B3 @ ( B6 @ A3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_117_SigmaD2,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 2.79/1.56       => ( member @ B @ B3 @ ( B6 @ A3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_118_SigmaD1,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 2.79/1.56       => ( member @ A @ A3 @ A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_119_SigmaE,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,C5: product_prod @ A @ B,A6: set @ A,B6: A > ( set @ B )] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ C5 @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 2.79/1.56       => ~ ! [X3: A] :
% 2.79/1.56              ( ( member @ A @ X3 @ A6 )
% 2.79/1.56             => ! [Y3: B] :
% 2.79/1.56                  ( ( member @ B @ Y3 @ ( B6 @ X3 ) )
% 2.79/1.56                 => ( C5
% 2.79/1.56                   != ( product_Pair @ A @ B @ X3 @ Y3 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_120_Sigma__cong,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ A,C2: A > ( set @ B ),D5: A > ( set @ B )] :
% 2.79/1.56        ( ( A6 = B6 )
% 2.79/1.56       => ( ! [X3: A] :
% 2.79/1.56              ( ( member @ A @ X3 @ B6 )
% 2.79/1.56             => ( ( C2 @ X3 )
% 2.79/1.56                = ( D5 @ X3 ) ) )
% 2.79/1.56         => ( ( product_Sigma @ A @ B @ A6 @ C2 )
% 2.79/1.56            = ( product_Sigma @ A @ B @ B6 @ D5 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_121_Times__eq__cancel2,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,X: A,C2: set @ A,A6: set @ B,B6: set @ B] :
% 2.79/1.56        ( ( member @ A @ X @ C2 )
% 2.79/1.56       => ( ( ( product_Sigma @ B @ A @ A6
% 2.79/1.56              @ ^ [Uu: B] : C2 )
% 2.79/1.56            = ( product_Sigma @ B @ A @ B6
% 2.79/1.56              @ ^ [Uu: B] : C2 ) )
% 2.79/1.56          = ( A6 = B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_122_UNIV__def,axiom,
% 2.79/1.56      ! [A: $tType] :
% 2.79/1.56        ( ( top_top @ ( set @ A ) )
% 2.79/1.56        = ( collect @ A
% 2.79/1.56          @ ^ [X4: A] : $true ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_123_UNIV__eq__I,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] :
% 2.79/1.56        ( ! [X3: A] : ( member @ A @ X3 @ A6 )
% 2.79/1.56       => ( ( top_top @ ( set @ A ) )
% 2.79/1.56          = A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_124_UNIV__witness,axiom,
% 2.79/1.56      ! [A: $tType] :
% 2.79/1.56      ? [X3: A] : ( member @ A @ X3 @ ( top_top @ ( set @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_125_rangeI,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: B > A,X: B] : ( member @ A @ ( F5 @ X ) @ ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_126_range__eqI,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,B3: A,F5: B > A,X: B] :
% 2.79/1.56        ( ( B3
% 2.79/1.56          = ( F5 @ X ) )
% 2.79/1.56       => ( member @ A @ B3 @ ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_127_Collect__case__prod__Sigma,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: A > $o,Q: A > B > $o] :
% 2.79/1.56        ( ( collect @ ( product_prod @ A @ B )
% 2.79/1.56          @ ( product_case_prod @ A @ B @ $o
% 2.79/1.56            @ ^ [X4: A,Y4: B] :
% 2.79/1.56                ( ( P @ X4 )
% 2.79/1.56                & ( Q @ X4 @ Y4 ) ) ) )
% 2.79/1.56        = ( product_Sigma @ A @ B @ ( collect @ A @ P )
% 2.79/1.56          @ ^ [X4: A] : ( collect @ B @ ( Q @ X4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_128_rangeE,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,B3: A,F5: B > A] :
% 2.79/1.56        ( ( member @ A @ B3 @ ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) ) )
% 2.79/1.56       => ~ ! [X3: B] :
% 2.79/1.56              ( B3
% 2.79/1.56             != ( F5 @ X3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_129_range__composition,axiom,
% 2.79/1.56      ! [A: $tType,C: $tType,B: $tType,F5: C > A,G4: B > C] :
% 2.79/1.56        ( ( image @ B @ A
% 2.79/1.56          @ ^ [X4: B] : ( F5 @ ( G4 @ X4 ) )
% 2.79/1.56          @ ( top_top @ ( set @ B ) ) )
% 2.79/1.56        = ( image @ C @ A @ F5 @ ( image @ B @ C @ G4 @ ( top_top @ ( set @ B ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_130_product__swap,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ B,B6: set @ A] :
% 2.79/1.56        ( ( image @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A )
% 2.79/1.56          @ ( product_Sigma @ B @ A @ A6
% 2.79/1.56            @ ^ [Uu: B] : B6 ) )
% 2.79/1.56        = ( product_Sigma @ A @ B @ B6
% 2.79/1.56          @ ^ [Uu: A] : A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_131_swap__product,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ B,B6: set @ A] :
% 2.79/1.56        ( ( image @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B )
% 2.79/1.56          @ ( product_case_prod @ B @ A @ ( product_prod @ A @ B )
% 2.79/1.56            @ ^ [I3: B,J2: A] : ( product_Pair @ A @ B @ J2 @ I3 ) )
% 2.79/1.56          @ ( product_Sigma @ B @ A @ A6
% 2.79/1.56            @ ^ [Uu: B] : B6 ) )
% 2.79/1.56        = ( product_Sigma @ A @ B @ B6
% 2.79/1.56          @ ^ [Uu: A] : A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_132_same__fst__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( same_fst @ A @ B )
% 2.79/1.56        = ( ^ [P3: A > $o,R4: A > ( set @ ( product_prod @ B @ B ) )] :
% 2.79/1.56              ( collect @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) )
% 2.79/1.56              @ ( product_case_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ $o
% 2.79/1.56                @ ( product_case_prod @ A @ B @ ( ( product_prod @ A @ B ) > $o )
% 2.79/1.56                  @ ^ [X5: A,Y5: B] :
% 2.79/1.56                      ( product_case_prod @ A @ B @ $o
% 2.79/1.56                      @ ^ [X4: A,Y4: B] :
% 2.79/1.56                          ( ( X5 = X4 )
% 2.79/1.56                          & ( P3 @ X4 )
% 2.79/1.56                          & ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ Y5 @ Y4 ) @ ( R4 @ X4 ) ) ) ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_133_same__fstI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: A > $o,X: A,Y8: B,Y: B,R: A > ( set @ ( product_prod @ B @ B ) )] :
% 2.79/1.56        ( ( P @ X )
% 2.79/1.56       => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ Y8 @ Y ) @ ( R @ X ) )
% 2.79/1.56         => ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y8 ) @ ( product_Pair @ A @ B @ X @ Y ) ) @ ( same_fst @ A @ B @ P @ R ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_134_surj__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,F5: B > A] :
% 2.79/1.56        ( ( ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) )
% 2.79/1.56          = ( top_top @ ( set @ A ) ) )
% 2.79/1.56        = ( ! [Y4: A] :
% 2.79/1.56            ? [X4: B] :
% 2.79/1.56              ( Y4
% 2.79/1.56              = ( F5 @ X4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_135_surjI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,G4: B > A,F5: A > B] :
% 2.79/1.56        ( ! [X3: A] :
% 2.79/1.56            ( ( G4 @ ( F5 @ X3 ) )
% 2.79/1.56            = X3 )
% 2.79/1.56       => ( ( image @ B @ A @ G4 @ ( top_top @ ( set @ B ) ) )
% 2.79/1.56          = ( top_top @ ( set @ A ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_136_surjE,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: B > A,Y: A] :
% 2.79/1.56        ( ( ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) )
% 2.79/1.56          = ( top_top @ ( set @ A ) ) )
% 2.79/1.56       => ~ ! [X3: B] :
% 2.79/1.56              ( Y
% 2.79/1.56             != ( F5 @ X3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_137_surjD,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: B > A,Y: A] :
% 2.79/1.56        ( ( ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) )
% 2.79/1.56          = ( top_top @ ( set @ A ) ) )
% 2.79/1.56       => ? [X3: B] :
% 2.79/1.56            ( Y
% 2.79/1.56            = ( F5 @ X3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_138_lex__prod__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( lex_prod @ A @ B )
% 2.79/1.56        = ( ^ [Ra: set @ ( product_prod @ A @ A ),Rb: set @ ( product_prod @ B @ B )] :
% 2.79/1.56              ( collect @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) )
% 2.79/1.56              @ ( product_case_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ $o
% 2.79/1.56                @ ( product_case_prod @ A @ B @ ( ( product_prod @ A @ B ) > $o )
% 2.79/1.56                  @ ^ [A5: A,B5: B] :
% 2.79/1.56                      ( product_case_prod @ A @ B @ $o
% 2.79/1.56                      @ ^ [A7: A,B7: B] :
% 2.79/1.56                          ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A5 @ A7 ) @ Ra )
% 2.79/1.56                          | ( ( A5 = A7 )
% 2.79/1.56                            & ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ B5 @ B7 ) @ Rb ) ) ) ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_139_Product__Type_Oproduct__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_product @ A @ B )
% 2.79/1.56        = ( ^ [A8: set @ A,B8: set @ B] :
% 2.79/1.56              ( product_Sigma @ A @ B @ A8
% 2.79/1.56              @ ^ [Uu: A] : B8 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_140_member__product,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X: product_prod @ A @ B,A6: set @ A,B6: set @ B] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ X @ ( product_product @ A @ B @ A6 @ B6 ) )
% 2.79/1.56        = ( member @ ( product_prod @ A @ B ) @ X
% 2.79/1.56          @ ( product_Sigma @ A @ B @ A6
% 2.79/1.56            @ ^ [Uu: A] : B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_141_map__prod__surj,axiom,
% 2.79/1.56      ! [A: $tType,C: $tType,D: $tType,B: $tType,F5: A > B,G4: C > D] :
% 2.79/1.56        ( ( ( image @ A @ B @ F5 @ ( top_top @ ( set @ A ) ) )
% 2.79/1.56          = ( top_top @ ( set @ B ) ) )
% 2.79/1.56       => ( ( ( image @ C @ D @ G4 @ ( top_top @ ( set @ C ) ) )
% 2.79/1.56            = ( top_top @ ( set @ D ) ) )
% 2.79/1.56         => ( ( image @ ( product_prod @ A @ C ) @ ( product_prod @ B @ D ) @ ( product_map_prod @ A @ B @ C @ D @ F5 @ G4 ) @ ( top_top @ ( set @ ( product_prod @ A @ C ) ) ) )
% 2.79/1.56            = ( top_top @ ( set @ ( product_prod @ B @ D ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_142_map__prod__ident,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_map_prod @ A @ A @ B @ B
% 2.79/1.56          @ ^ [X4: A] : X4
% 2.79/1.56          @ ^ [Y4: B] : Y4 )
% 2.79/1.56        = ( ^ [Z3: product_prod @ A @ B] : Z3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_143_map__prod__simp,axiom,
% 2.79/1.56      ! [C: $tType,A: $tType,B: $tType,D: $tType,F5: C > A,G4: D > B,A3: C,B3: D] :
% 2.79/1.56        ( ( product_map_prod @ C @ A @ D @ B @ F5 @ G4 @ ( product_Pair @ C @ D @ A3 @ B3 ) )
% 2.79/1.56        = ( product_Pair @ A @ B @ ( F5 @ A3 ) @ ( G4 @ B3 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_144_map__prod__imageI,axiom,
% 2.79/1.56      ! [D: $tType,C: $tType,B: $tType,A: $tType,A3: A,B3: B,R: set @ ( product_prod @ A @ B ),F5: A > C,G4: B > D] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R )
% 2.79/1.56       => ( member @ ( product_prod @ C @ D ) @ ( product_Pair @ C @ D @ ( F5 @ A3 ) @ ( G4 @ B3 ) ) @ ( image @ ( product_prod @ A @ B ) @ ( product_prod @ C @ D ) @ ( product_map_prod @ A @ C @ B @ D @ F5 @ G4 ) @ R ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_145_in__lex__prod,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B,R2: set @ ( product_prod @ A @ A ),S2: set @ ( product_prod @ B @ B )] :
% 2.79/1.56        ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Pair @ A @ B @ A4 @ B4 ) ) @ ( lex_prod @ A @ B @ R2 @ S2 ) )
% 2.79/1.56        = ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A4 ) @ R2 )
% 2.79/1.56          | ( ( A3 = A4 )
% 2.79/1.56            & ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ B3 @ B4 ) @ S2 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_146_case__prod__map__prod,axiom,
% 2.79/1.56      ! [C: $tType,A: $tType,B: $tType,E: $tType,D: $tType,H: B > C > A,F5: D > B,G4: E > C,X: product_prod @ D @ E] :
% 2.79/1.56        ( ( product_case_prod @ B @ C @ A @ H @ ( product_map_prod @ D @ B @ E @ C @ F5 @ G4 @ X ) )
% 2.79/1.56        = ( product_case_prod @ D @ E @ A
% 2.79/1.56          @ ^ [L: D,R3: E] : ( H @ ( F5 @ L ) @ ( G4 @ R3 ) )
% 2.79/1.56          @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_147_prod__fun__imageE,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,D: $tType,C: $tType,C5: product_prod @ A @ B,F5: C > A,G4: D > B,R: set @ ( product_prod @ C @ D )] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ C5 @ ( image @ ( product_prod @ C @ D ) @ ( product_prod @ A @ B ) @ ( product_map_prod @ C @ A @ D @ B @ F5 @ G4 ) @ R ) )
% 2.79/1.56       => ~ ! [X3: C,Y3: D] :
% 2.79/1.56              ( ( C5
% 2.79/1.56                = ( product_Pair @ A @ B @ ( F5 @ X3 ) @ ( G4 @ Y3 ) ) )
% 2.79/1.56             => ~ ( member @ ( product_prod @ C @ D ) @ ( product_Pair @ C @ D @ X3 @ Y3 ) @ R ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_148_map__prod__def,axiom,
% 2.79/1.56      ! [B: $tType,D: $tType,C: $tType,A: $tType] :
% 2.79/1.56        ( ( product_map_prod @ A @ C @ B @ D )
% 2.79/1.56        = ( ^ [F2: A > C,G5: B > D] :
% 2.79/1.56              ( product_case_prod @ A @ B @ ( product_prod @ C @ D )
% 2.79/1.56              @ ^ [X4: A,Y4: B] : ( product_Pair @ C @ D @ ( F2 @ X4 ) @ ( G5 @ Y4 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_149_map__prod__surj__on,axiom,
% 2.79/1.56      ! [B: $tType,D: $tType,C: $tType,A: $tType,F5: B > A,A6: set @ B,A9: set @ A,G4: D > C,B6: set @ D,B9: set @ C] :
% 2.79/1.56        ( ( ( image @ B @ A @ F5 @ A6 )
% 2.79/1.56          = A9 )
% 2.79/1.56       => ( ( ( image @ D @ C @ G4 @ B6 )
% 2.79/1.56            = B9 )
% 2.79/1.56         => ( ( image @ ( product_prod @ B @ D ) @ ( product_prod @ A @ C ) @ ( product_map_prod @ B @ A @ D @ C @ F5 @ G4 )
% 2.79/1.56              @ ( product_Sigma @ B @ D @ A6
% 2.79/1.56                @ ^ [Uu: B] : B6 ) )
% 2.79/1.56            = ( product_Sigma @ A @ C @ A9
% 2.79/1.56              @ ^ [Uu: A] : B9 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_150_prod_Omap__ident,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,T2: product_prod @ A @ B] :
% 2.79/1.56        ( ( product_map_prod @ A @ A @ B @ B
% 2.79/1.56          @ ^ [X4: A] : X4
% 2.79/1.56          @ ^ [X4: B] : X4
% 2.79/1.56          @ T2 )
% 2.79/1.56        = T2 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_151_range__fst,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) )
% 2.79/1.56        = ( top_top @ ( set @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_152_range__snd,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( image @ ( product_prod @ B @ A ) @ A @ ( product_snd @ B @ A ) @ ( top_top @ ( set @ ( product_prod @ B @ A ) ) ) )
% 2.79/1.56        = ( top_top @ ( set @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_153_Collect__const__case__prod,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: $o] :
% 2.79/1.56        ( ( P
% 2.79/1.56         => ( ( collect @ ( product_prod @ A @ B )
% 2.79/1.56              @ ( product_case_prod @ A @ B @ $o
% 2.79/1.56                @ ^ [A5: A,B5: B] : P ) )
% 2.79/1.56            = ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) )
% 2.79/1.56        & ( ~ P
% 2.79/1.56         => ( ( collect @ ( product_prod @ A @ B )
% 2.79/1.56              @ ( product_case_prod @ A @ B @ $o
% 2.79/1.56                @ ^ [A5: A,B5: B] : P ) )
% 2.79/1.56            = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_154_empty__Collect__eq,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o] :
% 2.79/1.56        ( ( ( bot_bot @ ( set @ A ) )
% 2.79/1.56          = ( collect @ A @ P ) )
% 2.79/1.56        = ( ! [X4: A] :
% 2.79/1.56              ~ ( P @ X4 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_155_Collect__empty__eq,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o] :
% 2.79/1.56        ( ( ( collect @ A @ P )
% 2.79/1.56          = ( bot_bot @ ( set @ A ) ) )
% 2.79/1.56        = ( ! [X4: A] :
% 2.79/1.56              ~ ( P @ X4 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_156_all__not__in__conv,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] :
% 2.79/1.56        ( ( ! [X4: A] :
% 2.79/1.56              ~ ( member @ A @ X4 @ A6 ) )
% 2.79/1.56        = ( A6
% 2.79/1.56          = ( bot_bot @ ( set @ A ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_157_empty__iff,axiom,
% 2.79/1.56      ! [A: $tType,C5: A] :
% 2.79/1.56        ~ ( member @ A @ C5 @ ( bot_bot @ ( set @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_158_image__is__empty,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B] :
% 2.79/1.56        ( ( ( image @ B @ A @ F5 @ A6 )
% 2.79/1.56          = ( bot_bot @ ( set @ A ) ) )
% 2.79/1.56        = ( A6
% 2.79/1.56          = ( bot_bot @ ( set @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_159_empty__is__image,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B] :
% 2.79/1.56        ( ( ( bot_bot @ ( set @ A ) )
% 2.79/1.56          = ( image @ B @ A @ F5 @ A6 ) )
% 2.79/1.56        = ( A6
% 2.79/1.56          = ( bot_bot @ ( set @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_160_image__empty,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,F5: B > A] :
% 2.79/1.56        ( ( image @ B @ A @ F5 @ ( bot_bot @ ( set @ B ) ) )
% 2.79/1.56        = ( bot_bot @ ( set @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_161_fst__map__prod,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,D: $tType,C: $tType,F5: C > A,G4: D > B,X: product_prod @ C @ D] :
% 2.79/1.56        ( ( product_fst @ A @ B @ ( product_map_prod @ C @ A @ D @ B @ F5 @ G4 @ X ) )
% 2.79/1.56        = ( F5 @ ( product_fst @ C @ D @ X ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_162_snd__map__prod,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,D: $tType,C: $tType,F5: C > B,G4: D > A,X: product_prod @ C @ D] :
% 2.79/1.56        ( ( product_snd @ B @ A @ ( product_map_prod @ C @ B @ D @ A @ F5 @ G4 @ X ) )
% 2.79/1.56        = ( G4 @ ( product_snd @ C @ D @ X ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_163_Collect__const,axiom,
% 2.79/1.56      ! [A: $tType,P: $o] :
% 2.79/1.56        ( ( P
% 2.79/1.56         => ( ( collect @ A
% 2.79/1.56              @ ^ [S5: A] : P )
% 2.79/1.56            = ( top_top @ ( set @ A ) ) ) )
% 2.79/1.56        & ( ~ P
% 2.79/1.56         => ( ( collect @ A
% 2.79/1.56              @ ^ [S5: A] : P )
% 2.79/1.56            = ( bot_bot @ ( set @ A ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_164_prod_Ocollapse,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 2.79/1.56        ( ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) )
% 2.79/1.56        = Prod ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_165_Sigma__empty1,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,B6: A > ( set @ B )] :
% 2.79/1.56        ( ( product_Sigma @ A @ B @ ( bot_bot @ ( set @ A ) ) @ B6 )
% 2.79/1.56        = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_166_fst__swap,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,X: product_prod @ B @ A] :
% 2.79/1.56        ( ( product_fst @ A @ B @ ( product_swap @ B @ A @ X ) )
% 2.79/1.56        = ( product_snd @ B @ A @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_167_snd__swap,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X: product_prod @ A @ B] :
% 2.79/1.56        ( ( product_snd @ B @ A @ ( product_swap @ A @ B @ X ) )
% 2.79/1.56        = ( product_fst @ A @ B @ X ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_168_Sigma__empty2,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ A] :
% 2.79/1.56        ( ( product_Sigma @ A @ B @ A6
% 2.79/1.56          @ ^ [Uu: A] : ( bot_bot @ ( set @ B ) ) )
% 2.79/1.56        = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_169_Times__empty,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A6: set @ A,B6: set @ B] :
% 2.79/1.56        ( ( ( product_Sigma @ A @ B @ A6
% 2.79/1.56            @ ^ [Uu: A] : B6 )
% 2.79/1.56          = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) )
% 2.79/1.56        = ( ( A6
% 2.79/1.56            = ( bot_bot @ ( set @ A ) ) )
% 2.79/1.56          | ( B6
% 2.79/1.56            = ( bot_bot @ ( set @ B ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_170_fst__image__times,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,B6: set @ B,A6: set @ A] :
% 2.79/1.56        ( ( ( B6
% 2.79/1.56            = ( bot_bot @ ( set @ B ) ) )
% 2.79/1.56         => ( ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B )
% 2.79/1.56              @ ( product_Sigma @ A @ B @ A6
% 2.79/1.56                @ ^ [Uu: A] : B6 ) )
% 2.79/1.56            = ( bot_bot @ ( set @ A ) ) ) )
% 2.79/1.56        & ( ( B6
% 2.79/1.56           != ( bot_bot @ ( set @ B ) ) )
% 2.79/1.56         => ( ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B )
% 2.79/1.56              @ ( product_Sigma @ A @ B @ A6
% 2.79/1.56                @ ^ [Uu: A] : B6 ) )
% 2.79/1.56            = A6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_171_snd__image__times,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ B,B6: set @ A] :
% 2.79/1.56        ( ( ( A6
% 2.79/1.56            = ( bot_bot @ ( set @ B ) ) )
% 2.79/1.56         => ( ( image @ ( product_prod @ B @ A ) @ A @ ( product_snd @ B @ A )
% 2.79/1.56              @ ( product_Sigma @ B @ A @ A6
% 2.79/1.56                @ ^ [Uu: B] : B6 ) )
% 2.79/1.56            = ( bot_bot @ ( set @ A ) ) ) )
% 2.79/1.56        & ( ( A6
% 2.79/1.56           != ( bot_bot @ ( set @ B ) ) )
% 2.79/1.56         => ( ( image @ ( product_prod @ B @ A ) @ A @ ( product_snd @ B @ A )
% 2.79/1.56              @ ( product_Sigma @ B @ A @ A6
% 2.79/1.56                @ ^ [Uu: B] : B6 ) )
% 2.79/1.56            = B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_172_Sigma__empty__iff,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,I: set @ A,X7: A > ( set @ B )] :
% 2.79/1.56        ( ( ( product_Sigma @ A @ B @ I @ X7 )
% 2.79/1.56          = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) )
% 2.79/1.56        = ( ! [X4: A] :
% 2.79/1.56              ( ( member @ A @ X4 @ I )
% 2.79/1.56             => ( ( X7 @ X4 )
% 2.79/1.56                = ( bot_bot @ ( set @ B ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_173_mem__Times__iff,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,X: product_prod @ A @ B,A6: set @ A,B6: set @ B] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ X
% 2.79/1.56          @ ( product_Sigma @ A @ B @ A6
% 2.79/1.56            @ ^ [Uu: A] : B6 ) )
% 2.79/1.56        = ( ( member @ A @ ( product_fst @ A @ B @ X ) @ A6 )
% 2.79/1.56          & ( member @ B @ ( product_snd @ A @ B @ X ) @ B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_174_ex__in__conv,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] :
% 2.79/1.56        ( ( ? [X4: A] : ( member @ A @ X4 @ A6 ) )
% 2.79/1.56        = ( A6
% 2.79/1.56         != ( bot_bot @ ( set @ A ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_175_equals0I,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] :
% 2.79/1.56        ( ! [Y3: A] :
% 2.79/1.56            ~ ( member @ A @ Y3 @ A6 )
% 2.79/1.56       => ( A6
% 2.79/1.56          = ( bot_bot @ ( set @ A ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_176_equals0D,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,A3: A] :
% 2.79/1.56        ( ( A6
% 2.79/1.56          = ( bot_bot @ ( set @ A ) ) )
% 2.79/1.56       => ~ ( member @ A @ A3 @ A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_177_emptyE,axiom,
% 2.79/1.56      ! [A: $tType,A3: A] :
% 2.79/1.56        ~ ( member @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_178_empty__def,axiom,
% 2.79/1.56      ! [A: $tType] :
% 2.79/1.56        ( ( bot_bot @ ( set @ A ) )
% 2.79/1.56        = ( collect @ A
% 2.79/1.56          @ ^ [X4: A] : $false ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_179_prod__eq__iff,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( ^ [Y6: product_prod @ A @ B,Z2: product_prod @ A @ B] : ( Y6 = Z2 ) )
% 2.79/1.56        = ( ^ [S5: product_prod @ A @ B,T3: product_prod @ A @ B] :
% 2.79/1.56              ( ( ( product_fst @ A @ B @ S5 )
% 2.79/1.56                = ( product_fst @ A @ B @ T3 ) )
% 2.79/1.56              & ( ( product_snd @ A @ B @ S5 )
% 2.79/1.56                = ( product_snd @ A @ B @ T3 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_180_prod_Oexpand,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B,Prod2: product_prod @ A @ B] :
% 2.79/1.56        ( ( ( ( product_fst @ A @ B @ Prod )
% 2.79/1.56            = ( product_fst @ A @ B @ Prod2 ) )
% 2.79/1.56          & ( ( product_snd @ A @ B @ Prod )
% 2.79/1.56            = ( product_snd @ A @ B @ Prod2 ) ) )
% 2.79/1.56       => ( Prod = Prod2 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_181_prod__eqI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P2: product_prod @ A @ B,Q2: product_prod @ A @ B] :
% 2.79/1.56        ( ( ( product_fst @ A @ B @ P2 )
% 2.79/1.56          = ( product_fst @ A @ B @ Q2 ) )
% 2.79/1.56       => ( ( ( product_snd @ A @ B @ P2 )
% 2.79/1.56            = ( product_snd @ A @ B @ Q2 ) )
% 2.79/1.56         => ( P2 = Q2 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_182_fst__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_fst @ A @ B )
% 2.79/1.56        = ( product_case_prod @ A @ B @ A
% 2.79/1.56          @ ^ [X12: A,X22: B] : X12 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_183_The__case__prod,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: A > B > $o] :
% 2.79/1.56        ( ( the @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ P ) )
% 2.79/1.56        = ( the @ ( product_prod @ A @ B )
% 2.79/1.56          @ ^ [Xy: product_prod @ A @ B] : ( P @ ( product_fst @ A @ B @ Xy ) @ ( product_snd @ A @ B @ Xy ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_184_snd__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_snd @ A @ B )
% 2.79/1.56        = ( product_case_prod @ A @ B @ B
% 2.79/1.56          @ ^ [X12: A,X22: B] : X22 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_185_fst__image__Sigma,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ A,B6: A > ( set @ B )] :
% 2.79/1.56        ( ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
% 2.79/1.56        = ( collect @ A
% 2.79/1.56          @ ^ [X4: A] :
% 2.79/1.56              ( ( member @ A @ X4 @ A6 )
% 2.79/1.56              & ( ( B6 @ X4 )
% 2.79/1.56               != ( bot_bot @ ( set @ B ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_186_split__comp__eq,axiom,
% 2.79/1.56      ! [A: $tType,C: $tType,B: $tType,D: $tType,F5: A > B > C,G4: D > A] :
% 2.79/1.56        ( ( ^ [U: product_prod @ D @ B] : ( F5 @ ( G4 @ ( product_fst @ D @ B @ U ) ) @ ( product_snd @ D @ B @ U ) ) )
% 2.79/1.56        = ( product_case_prod @ D @ B @ C
% 2.79/1.56          @ ^ [X4: D] : ( F5 @ ( G4 @ X4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_187_case__prod__beta_H,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ C )
% 2.79/1.56        = ( ^ [F2: A > B > C,X4: product_prod @ A @ B] : ( F2 @ ( product_fst @ A @ B @ X4 ) @ ( product_snd @ A @ B @ X4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_188_case__prod__unfold,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ C )
% 2.79/1.56        = ( ^ [C3: A > B > C,P4: product_prod @ A @ B] : ( C3 @ ( product_fst @ A @ B @ P4 ) @ ( product_snd @ A @ B @ P4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_189_Product__Type_OCollect__case__prodD,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X: product_prod @ A @ B,A6: A > B > $o] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ X @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ A6 ) ) )
% 2.79/1.56       => ( A6 @ ( product_fst @ A @ B @ X ) @ ( product_snd @ A @ B @ X ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_190_prod_Ocase__eq__if,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_case_prod @ A @ B @ C )
% 2.79/1.56        = ( ^ [F2: A > B > C,Prod3: product_prod @ A @ B] : ( F2 @ ( product_fst @ A @ B @ Prod3 ) @ ( product_snd @ A @ B @ Prod3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_191_case__prod__beta,axiom,
% 2.79/1.56      ! [A: $tType,C: $tType,B: $tType] :
% 2.79/1.56        ( ( product_case_prod @ B @ C @ A )
% 2.79/1.56        = ( ^ [F2: B > C > A,P4: product_prod @ B @ C] : ( F2 @ ( product_fst @ B @ C @ P4 ) @ ( product_snd @ B @ C @ P4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_192_prod_Osplit__sel,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,P: C > $o,F5: A > B > C,Prod: product_prod @ A @ B] :
% 2.79/1.56        ( ( P @ ( product_case_prod @ A @ B @ C @ F5 @ Prod ) )
% 2.79/1.56        = ( ( Prod
% 2.79/1.56            = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
% 2.79/1.56         => ( P @ ( F5 @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_193_prod_Osplit__sel__asm,axiom,
% 2.79/1.56      ! [C: $tType,B: $tType,A: $tType,P: C > $o,F5: A > B > C,Prod: product_prod @ A @ B] :
% 2.79/1.56        ( ( P @ ( product_case_prod @ A @ B @ C @ F5 @ Prod ) )
% 2.79/1.56        = ( ~ ( ( Prod
% 2.79/1.56                = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
% 2.79/1.56              & ~ ( P @ ( F5 @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_194_surjective__pairing,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,T2: product_prod @ A @ B] :
% 2.79/1.56        ( T2
% 2.79/1.56        = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ T2 ) @ ( product_snd @ A @ B @ T2 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_195_prod_Oexhaust__sel,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 2.79/1.56        ( Prod
% 2.79/1.56        = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_196_prod_Oswap__def,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( product_swap @ A @ B )
% 2.79/1.56        = ( ^ [P4: product_prod @ A @ B] : ( product_Pair @ B @ A @ ( product_snd @ A @ B @ P4 ) @ ( product_fst @ A @ B @ P4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_197_snd__conv,axiom,
% 2.79/1.56      ! [Aa: $tType,A: $tType,X1: Aa,X2: A] :
% 2.79/1.56        ( ( product_snd @ Aa @ A @ ( product_Pair @ Aa @ A @ X1 @ X2 ) )
% 2.79/1.56        = X2 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_198_snd__eqD,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X: B,Y: A,A3: A] :
% 2.79/1.56        ( ( ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) )
% 2.79/1.56          = A3 )
% 2.79/1.56       => ( Y = A3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_199_snd__pair,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A3: B,B3: A] :
% 2.79/1.56        ( ( product_snd @ B @ A @ ( product_Pair @ B @ A @ A3 @ B3 ) )
% 2.79/1.56        = B3 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_200_fst__conv,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X1: A,X2: B] :
% 2.79/1.56        ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X1 @ X2 ) )
% 2.79/1.56        = X1 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_201_fst__eqD,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X: A,Y: B,A3: A] :
% 2.79/1.56        ( ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X @ Y ) )
% 2.79/1.56          = A3 )
% 2.79/1.56       => ( X = A3 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_202_fst__pair,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A3: A,B3: B] :
% 2.79/1.56        ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ A3 @ B3 ) )
% 2.79/1.56        = A3 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_203_empty__not__UNIV,axiom,
% 2.79/1.56      ! [A: $tType] :
% 2.79/1.56        ( ( bot_bot @ ( set @ A ) )
% 2.79/1.56       != ( top_top @ ( set @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_204_times__eq__iff,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A6: set @ A,B6: set @ B,C2: set @ A,D5: set @ B] :
% 2.79/1.56        ( ( ( product_Sigma @ A @ B @ A6
% 2.79/1.56            @ ^ [Uu: A] : B6 )
% 2.79/1.56          = ( product_Sigma @ A @ B @ C2
% 2.79/1.56            @ ^ [Uu: A] : D5 ) )
% 2.79/1.56        = ( ( ( A6 = C2 )
% 2.79/1.56            & ( B6 = D5 ) )
% 2.79/1.56          | ( ( ( A6
% 2.79/1.56                = ( bot_bot @ ( set @ A ) ) )
% 2.79/1.56              | ( B6
% 2.79/1.56                = ( bot_bot @ ( set @ B ) ) ) )
% 2.79/1.56            & ( ( C2
% 2.79/1.56                = ( bot_bot @ ( set @ A ) ) )
% 2.79/1.56              | ( D5
% 2.79/1.56                = ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_205_exE__realizer,axiom,
% 2.79/1.56      ! [C: $tType,A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A,Q: C > $o,F5: B > A > C] :
% 2.79/1.56        ( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
% 2.79/1.56       => ( ! [X3: B,Y3: A] :
% 2.79/1.56              ( ( P @ Y3 @ X3 )
% 2.79/1.56             => ( Q @ ( F5 @ X3 @ Y3 ) ) )
% 2.79/1.56         => ( Q @ ( product_case_prod @ B @ A @ C @ F5 @ P2 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_206_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: A > B > $o,X: A,Y: B,A3: product_prod @ A @ B] :
% 2.79/1.56        ( ( P @ X @ Y )
% 2.79/1.56       => ( ( A3
% 2.79/1.56            = ( product_Pair @ A @ B @ X @ Y ) )
% 2.79/1.56         => ( P @ ( product_fst @ A @ B @ A3 ) @ ( product_snd @ A @ B @ A3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_207_conjI__realizer,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,P: A > $o,P2: A,Q: B > $o,Q2: B] :
% 2.79/1.56        ( ( P @ P2 )
% 2.79/1.56       => ( ( Q @ Q2 )
% 2.79/1.56         => ( ( P @ ( product_fst @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q2 ) ) )
% 2.79/1.56            & ( Q @ ( product_snd @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q2 ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_208_exI__realizer,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,P: A > B > $o,Y: A,X: B] :
% 2.79/1.56        ( ( P @ Y @ X )
% 2.79/1.56       => ( P @ ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) ) @ ( product_fst @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_209_eq__snd__iff,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,B3: A,P2: product_prod @ B @ A] :
% 2.79/1.56        ( ( B3
% 2.79/1.56          = ( product_snd @ B @ A @ P2 ) )
% 2.79/1.56        = ( ? [A5: B] :
% 2.79/1.56              ( P2
% 2.79/1.56              = ( product_Pair @ B @ A @ A5 @ B3 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_210_sndI,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,X: product_prod @ A @ B,Y: A,Z: B] :
% 2.79/1.56        ( ( X
% 2.79/1.56          = ( product_Pair @ A @ B @ Y @ Z ) )
% 2.79/1.56       => ( ( product_snd @ A @ B @ X )
% 2.79/1.56          = Z ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_211_fstI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X: product_prod @ A @ B,Y: A,Z: B] :
% 2.79/1.56        ( ( X
% 2.79/1.56          = ( product_Pair @ A @ B @ Y @ Z ) )
% 2.79/1.56       => ( ( product_fst @ A @ B @ X )
% 2.79/1.56          = Y ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_212_eq__fst__iff,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A3: A,P2: product_prod @ A @ B] :
% 2.79/1.56        ( ( A3
% 2.79/1.56          = ( product_fst @ A @ B @ P2 ) )
% 2.79/1.56        = ( ? [B5: B] :
% 2.79/1.56              ( P2
% 2.79/1.56              = ( product_Pair @ A @ B @ A3 @ B5 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_213_the__elem__image__unique,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ A,F5: A > B,X: A] :
% 2.79/1.56        ( ( A6
% 2.79/1.56         != ( bot_bot @ ( set @ A ) ) )
% 2.79/1.56       => ( ! [Y3: A] :
% 2.79/1.56              ( ( member @ A @ Y3 @ A6 )
% 2.79/1.56             => ( ( F5 @ Y3 )
% 2.79/1.56                = ( F5 @ X ) ) )
% 2.79/1.56         => ( ( the_elem @ B @ ( image @ A @ B @ F5 @ A6 ) )
% 2.79/1.56            = ( F5 @ X ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_214_subset__fst__snd,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ ( product_prod @ A @ B )] :
% 2.79/1.56        ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6
% 2.79/1.56        @ ( product_Sigma @ A @ B @ ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ A6 )
% 2.79/1.56          @ ^ [Uu: A] : ( image @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) @ A6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_215_subsetI,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.79/1.56        ( ! [X3: A] :
% 2.79/1.56            ( ( member @ A @ X3 @ A6 )
% 2.79/1.56           => ( member @ A @ X3 @ B6 ) )
% 2.79/1.56       => ( ord_less_eq @ ( set @ A ) @ A6 @ B6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_216_subset__antisym,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.79/1.56       => ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 2.79/1.56         => ( A6 = B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_217_subset__empty,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ A6 @ ( bot_bot @ ( set @ A ) ) )
% 2.79/1.56        = ( A6
% 2.79/1.56          = ( bot_bot @ ( set @ A ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_218_empty__subsetI,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] : ( ord_less_eq @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A6 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_219_subset__UNIV,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] : ( ord_less_eq @ ( set @ A ) @ A6 @ ( top_top @ ( set @ A ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_220_subrelI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,R2: set @ ( product_prod @ A @ B ),S2: set @ ( product_prod @ A @ B )] :
% 2.79/1.56        ( ! [X3: A,Y3: B] :
% 2.79/1.56            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ R2 )
% 2.79/1.56           => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y3 ) @ S2 ) )
% 2.79/1.56       => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R2 @ S2 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_221_mon__mono,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType] :
% 2.79/1.56        ( ( order_mono @ ( set @ A ) @ ( set @ B ) )
% 2.79/1.56        = ( ^ [R3: ( set @ A ) > ( set @ B )] :
% 2.79/1.56            ! [X8: set @ A,Y9: set @ A] :
% 2.79/1.56              ( ( ord_less_eq @ ( set @ A ) @ X8 @ Y9 )
% 2.79/1.56             => ( ord_less_eq @ ( set @ B ) @ ( R3 @ X8 ) @ ( R3 @ Y9 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_222_prop__restrict,axiom,
% 2.79/1.56      ! [A: $tType,X: A,Z4: set @ A,X7: set @ A,P: A > $o] :
% 2.79/1.56        ( ( member @ A @ X @ Z4 )
% 2.79/1.56       => ( ( ord_less_eq @ ( set @ A ) @ Z4
% 2.79/1.56            @ ( collect @ A
% 2.79/1.56              @ ^ [X4: A] :
% 2.79/1.56                  ( ( member @ A @ X4 @ X7 )
% 2.79/1.56                  & ( P @ X4 ) ) ) )
% 2.79/1.56         => ( P @ X ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_223_Collect__restrict,axiom,
% 2.79/1.56      ! [A: $tType,X7: set @ A,P: A > $o] :
% 2.79/1.56        ( ord_less_eq @ ( set @ A )
% 2.79/1.56        @ ( collect @ A
% 2.79/1.56          @ ^ [X4: A] :
% 2.79/1.56              ( ( member @ A @ X4 @ X7 )
% 2.79/1.56              & ( P @ X4 ) ) )
% 2.79/1.56        @ X7 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_224_Collect__subset,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,P: A > $o] :
% 2.79/1.56        ( ord_less_eq @ ( set @ A )
% 2.79/1.56        @ ( collect @ A
% 2.79/1.56          @ ^ [X4: A] :
% 2.79/1.56              ( ( member @ A @ X4 @ A6 )
% 2.79/1.56              & ( P @ X4 ) ) )
% 2.79/1.56        @ A6 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_225_in__mono,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,B6: set @ A,X: A] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.79/1.56       => ( ( member @ A @ X @ A6 )
% 2.79/1.56         => ( member @ A @ X @ B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_226_subsetD,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,B6: set @ A,C5: A] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.79/1.56       => ( ( member @ A @ C5 @ A6 )
% 2.79/1.56         => ( member @ A @ C5 @ B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_227_equalityE,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.79/1.56        ( ( A6 = B6 )
% 2.79/1.56       => ~ ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.79/1.56           => ~ ( ord_less_eq @ ( set @ A ) @ B6 @ A6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_228_subset__eq,axiom,
% 2.79/1.56      ! [A: $tType] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) )
% 2.79/1.56        = ( ^ [A8: set @ A,B8: set @ A] :
% 2.79/1.56            ! [X4: A] :
% 2.79/1.56              ( ( member @ A @ X4 @ A8 )
% 2.79/1.56             => ( member @ A @ X4 @ B8 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_229_equalityD1,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.79/1.56        ( ( A6 = B6 )
% 2.79/1.56       => ( ord_less_eq @ ( set @ A ) @ A6 @ B6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_230_equalityD2,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.79/1.56        ( ( A6 = B6 )
% 2.79/1.56       => ( ord_less_eq @ ( set @ A ) @ B6 @ A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_231_subset__iff,axiom,
% 2.79/1.56      ! [A: $tType] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) )
% 2.79/1.56        = ( ^ [A8: set @ A,B8: set @ A] :
% 2.79/1.56            ! [T3: A] :
% 2.79/1.56              ( ( member @ A @ T3 @ A8 )
% 2.79/1.56             => ( member @ A @ T3 @ B8 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_232_subset__refl,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] : ( ord_less_eq @ ( set @ A ) @ A6 @ A6 ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_233_Collect__mono,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,Q: A > $o] :
% 2.79/1.56        ( ! [X3: A] :
% 2.79/1.56            ( ( P @ X3 )
% 2.79/1.56           => ( Q @ X3 ) )
% 2.79/1.56       => ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_234_subset__trans,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A,B6: set @ A,C2: set @ A] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.79/1.56       => ( ( ord_less_eq @ ( set @ A ) @ B6 @ C2 )
% 2.79/1.56         => ( ord_less_eq @ ( set @ A ) @ A6 @ C2 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_235_set__eq__subset,axiom,
% 2.79/1.56      ! [A: $tType] :
% 2.79/1.56        ( ( ^ [Y6: set @ A,Z2: set @ A] : ( Y6 = Z2 ) )
% 2.79/1.56        = ( ^ [A8: set @ A,B8: set @ A] :
% 2.79/1.56              ( ( ord_less_eq @ ( set @ A ) @ A8 @ B8 )
% 2.79/1.56              & ( ord_less_eq @ ( set @ A ) @ B8 @ A8 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_236_Collect__mono__iff,axiom,
% 2.79/1.56      ! [A: $tType,P: A > $o,Q: A > $o] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) )
% 2.79/1.56        = ( ! [X4: A] :
% 2.79/1.56              ( ( P @ X4 )
% 2.79/1.56             => ( Q @ X4 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_237_subset__image__iff,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,B6: set @ A,F5: B > A,A6: set @ B] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ B6 @ ( image @ B @ A @ F5 @ A6 ) )
% 2.79/1.56        = ( ? [AA: set @ B] :
% 2.79/1.56              ( ( ord_less_eq @ ( set @ B ) @ AA @ A6 )
% 2.79/1.56              & ( B6
% 2.79/1.56                = ( image @ B @ A @ F5 @ AA ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_238_image__subset__iff,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,F5: B > A,A6: set @ B,B6: set @ A] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ ( image @ B @ A @ F5 @ A6 ) @ B6 )
% 2.79/1.56        = ( ! [X4: B] :
% 2.79/1.56              ( ( member @ B @ X4 @ A6 )
% 2.79/1.56             => ( member @ A @ ( F5 @ X4 ) @ B6 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_239_subset__imageE,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,B6: set @ A,F5: B > A,A6: set @ B] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ B6 @ ( image @ B @ A @ F5 @ A6 ) )
% 2.79/1.56       => ~ ! [C6: set @ B] :
% 2.79/1.56              ( ( ord_less_eq @ ( set @ B ) @ C6 @ A6 )
% 2.79/1.56             => ( B6
% 2.79/1.56               != ( image @ B @ A @ F5 @ C6 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_240_image__subsetI,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A6: set @ A,F5: A > B,B6: set @ B] :
% 2.79/1.56        ( ! [X3: A] :
% 2.79/1.56            ( ( member @ A @ X3 @ A6 )
% 2.79/1.56           => ( member @ B @ ( F5 @ X3 ) @ B6 ) )
% 2.79/1.56       => ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ F5 @ A6 ) @ B6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_241_image__mono,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ A,F5: A > B] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.79/1.56       => ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ F5 @ A6 ) @ ( image @ A @ B @ F5 @ B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_242_Times__subset__cancel2,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,X: A,C2: set @ A,A6: set @ B,B6: set @ B] :
% 2.79/1.56        ( ( member @ A @ X @ C2 )
% 2.79/1.56       => ( ( ord_less_eq @ ( set @ ( product_prod @ B @ A ) )
% 2.79/1.56            @ ( product_Sigma @ B @ A @ A6
% 2.79/1.56              @ ^ [Uu: B] : C2 )
% 2.79/1.56            @ ( product_Sigma @ B @ A @ B6
% 2.79/1.56              @ ^ [Uu: B] : C2 ) )
% 2.79/1.56          = ( ord_less_eq @ ( set @ B ) @ A6 @ B6 ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_243_Sigma__mono,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ A,C2: set @ A,B6: A > ( set @ B ),D5: A > ( set @ B )] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ A6 @ C2 )
% 2.79/1.56       => ( ! [X3: A] :
% 2.79/1.56              ( ( member @ A @ X3 @ A6 )
% 2.79/1.56             => ( ord_less_eq @ ( set @ B ) @ ( B6 @ X3 ) @ ( D5 @ X3 ) ) )
% 2.79/1.56         => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) @ ( product_Sigma @ A @ B @ C2 @ D5 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_244_image__Collect__subsetI,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,P: A > $o,F5: A > B,B6: set @ B] :
% 2.79/1.56        ( ! [X3: A] :
% 2.79/1.56            ( ( P @ X3 )
% 2.79/1.56           => ( member @ B @ ( F5 @ X3 ) @ B6 ) )
% 2.79/1.56       => ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ F5 @ ( collect @ A @ P ) ) @ B6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_245_subset__Collect__iff,axiom,
% 2.79/1.56      ! [A: $tType,B6: set @ A,A6: set @ A,P: A > $o] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 2.79/1.56       => ( ( ord_less_eq @ ( set @ A ) @ B6
% 2.79/1.56            @ ( collect @ A
% 2.79/1.56              @ ^ [X4: A] :
% 2.79/1.56                  ( ( member @ A @ X4 @ A6 )
% 2.79/1.56                  & ( P @ X4 ) ) ) )
% 2.79/1.56          = ( ! [X4: A] :
% 2.79/1.56                ( ( member @ A @ X4 @ B6 )
% 2.79/1.56               => ( P @ X4 ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_246_subset__CollectI,axiom,
% 2.79/1.56      ! [A: $tType,B6: set @ A,A6: set @ A,Q: A > $o,P: A > $o] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 2.79/1.56       => ( ! [X3: A] :
% 2.79/1.56              ( ( member @ A @ X3 @ B6 )
% 2.79/1.56             => ( ( Q @ X3 )
% 2.79/1.56               => ( P @ X3 ) ) )
% 2.79/1.56         => ( ord_less_eq @ ( set @ A )
% 2.79/1.56            @ ( collect @ A
% 2.79/1.56              @ ^ [X4: A] :
% 2.79/1.56                  ( ( member @ A @ X4 @ B6 )
% 2.79/1.56                  & ( Q @ X4 ) ) )
% 2.79/1.56            @ ( collect @ A
% 2.79/1.56              @ ^ [X4: A] :
% 2.79/1.56                  ( ( member @ A @ X4 @ A6 )
% 2.79/1.56                  & ( P @ X4 ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_247_subset__emptyI,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ A] :
% 2.79/1.56        ( ! [X3: A] :
% 2.79/1.56            ~ ( member @ A @ X3 @ A6 )
% 2.79/1.56       => ( ord_less_eq @ ( set @ A ) @ A6 @ ( bot_bot @ ( set @ A ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_248_less__by__empty,axiom,
% 2.79/1.56      ! [A: $tType,A6: set @ ( product_prod @ A @ A ),B6: set @ ( product_prod @ A @ A )] :
% 2.79/1.56        ( ( A6
% 2.79/1.56          = ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) )
% 2.79/1.56       => ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ A6 @ B6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_249_times__subset__iff,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A6: set @ A,C2: set @ B,B6: set @ A,D5: set @ B] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) )
% 2.79/1.56          @ ( product_Sigma @ A @ B @ A6
% 2.79/1.56            @ ^ [Uu: A] : C2 )
% 2.79/1.56          @ ( product_Sigma @ A @ B @ B6
% 2.79/1.56            @ ^ [Uu: A] : D5 ) )
% 2.79/1.56        = ( ( A6
% 2.79/1.56            = ( bot_bot @ ( set @ A ) ) )
% 2.79/1.56          | ( C2
% 2.79/1.56            = ( bot_bot @ ( set @ B ) ) )
% 2.79/1.56          | ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.79/1.56            & ( ord_less_eq @ ( set @ B ) @ C2 @ D5 ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_250_Collect__split__mono__strong,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X7: set @ A,A6: set @ ( product_prod @ A @ B ),Y7: set @ B,P: A > B > $o,Q: A > B > $o] :
% 2.79/1.56        ( ( X7
% 2.79/1.56          = ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ A6 ) )
% 2.79/1.56       => ( ( Y7
% 2.79/1.56            = ( image @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) @ A6 ) )
% 2.79/1.56         => ( ! [X3: A] :
% 2.79/1.56                ( ( member @ A @ X3 @ X7 )
% 2.79/1.56               => ! [Xa: B] :
% 2.79/1.56                    ( ( member @ B @ Xa @ Y7 )
% 2.79/1.56                   => ( ( P @ X3 @ Xa )
% 2.79/1.56                     => ( Q @ X3 @ Xa ) ) ) )
% 2.79/1.56           => ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ P ) ) )
% 2.79/1.56             => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ Q ) ) ) ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_251_subset__snd__imageI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ B,S: set @ ( product_prod @ A @ B ),X: A] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) )
% 2.79/1.56          @ ( product_Sigma @ A @ B @ A6
% 2.79/1.56            @ ^ [Uu: A] : B6 )
% 2.79/1.56          @ S )
% 2.79/1.56       => ( ( member @ A @ X @ A6 )
% 2.79/1.56         => ( ord_less_eq @ ( set @ B ) @ B6 @ ( image @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) @ S ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_252_subset__fst__imageI,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ B,S: set @ ( product_prod @ A @ B ),Y: B] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) )
% 2.79/1.56          @ ( product_Sigma @ A @ B @ A6
% 2.79/1.56            @ ^ [Uu: A] : B6 )
% 2.79/1.56          @ S )
% 2.79/1.56       => ( ( member @ B @ Y @ B6 )
% 2.79/1.56         => ( ord_less_eq @ ( set @ A ) @ A6 @ ( image @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ S ) ) ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_253_range__subsetD,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,F5: B > A,B6: set @ A,I4: B] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ A ) @ ( image @ B @ A @ F5 @ ( top_top @ ( set @ B ) ) ) @ B6 )
% 2.79/1.56       => ( member @ A @ ( F5 @ I4 ) @ B6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_254_Gr__incl,axiom,
% 2.79/1.56      ! [A: $tType,B: $tType,A6: set @ A,F5: A > B,B6: set @ B] :
% 2.79/1.56        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( bNF_Gr @ A @ B @ A6 @ F5 )
% 2.79/1.56          @ ( product_Sigma @ A @ B @ A6
% 2.79/1.56            @ ^ [Uu: A] : B6 ) )
% 2.79/1.56        = ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ F5 @ A6 ) @ B6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(fact_255_GrD1,axiom,
% 2.79/1.56      ! [B: $tType,A: $tType,X: A,Fx: B,A6: set @ A,F5: A > B] :
% 2.79/1.56        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Fx ) @ ( bNF_Gr @ A @ B @ A6 @ F5 ) )
% 2.79/1.56       => ( member @ A @ X @ A6 ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(help_If_3_1_T,axiom,
% 2.79/1.56      ! [P: $o] :
% 2.79/1.56        ( ( P = $true )
% 2.79/1.56        | ( P = $false ) ) ).
% 2.79/1.56  
% 2.79/1.56  thf(help_If_2_1_T,axiom,
% 2.79/1.56      ! [A: $tType,X: A,Y: A] :
% 2.79/1.56        ( ( if @ A @ $false @ X @ Y )
% 2.79/1.56        = Y ) ).
% 2.79/1.56  
% 2.79/1.56  thf(help_If_1_1_T,axiom,
% 2.79/1.56      ! [A: $tType,X: A,Y: A] :
% 2.79/1.56        ( ( if @ A @ $true @ X @ Y )
% 2.79/1.56        = X ) ).
% 2.79/1.56  
% 2.79/1.56  thf(conj_0,conjecture,
% 2.79/1.56      ( ( denotational_Preds
% 2.79/1.56        @ ( denota1150374853interp
% 2.79/1.56          @ ( product_Pair @ ( char > real ) @ ( product_prod @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) )
% 2.79/1.56            @ ^ [C3: char] : ( if @ real @ ( C3 = f ) @ d @ ( denotational_Consts @ i @ C3 ) )
% 2.79/1.56            @ ( product_Pair @ ( char > real > real ) @ ( product_prod @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) ) @ ( denotational_Funcs @ i ) @ ( product_Pair @ ( char > real > $o ) @ ( char > ( set @ ( variable > real ) ) > ( set @ ( variable > real ) ) ) @ ( denotational_Preds @ i ) @ ( denotational_Games @ i ) ) ) ) ) )
% 2.79/1.56      = ( denotational_Preds @ i ) ) ).
% 2.79/1.56  ------------------------
% 2.79/1.58  % (17352)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_17124 for (2999ds/183Mi)
% 2.79/1.58  % (17358)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_17124 for (2999ds/18Mi)
% 2.79/1.58  % (17357)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_17124 for (2999ds/275Mi)
% 2.79/1.59  % (17358)Instruction limit reached!
% 2.79/1.59  % (17358)------------------------------
% 2.79/1.59  % (17358)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.79/1.59  % (17358)Termination reason: Unknown
% 2.79/1.59  % (17358)Termination phase: shuffling
% 2.79/1.59  
% 2.79/1.59  % (17358)Memory used [KB]: 1791
% 2.79/1.59  % (17358)Time elapsed: 0.008 s
% 2.79/1.59  % (17358)Instructions burned: 20 (million)
% 2.79/1.59  % (17358)------------------------------
% 2.79/1.59  % (17358)------------------------------
% 2.79/1.59  % (17353)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_17124 for (2999ds/4Mi)
% 2.79/1.59  % (17354)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_17124 for (2999ds/27Mi)
% 2.79/1.59  % (17355)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_17124 for (2999ds/2Mi)
% 2.79/1.59  % (17356)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_17124 for (2999ds/2Mi)
% 2.79/1.59  % (17355)Instruction limit reached!
% 2.79/1.59  % (17355)------------------------------
% 2.79/1.59  % (17355)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.79/1.59  % (17355)Termination reason: Unknown
% 2.79/1.59  % (17355)Termination phase: shuffling
% 2.79/1.59  
% 2.79/1.59  % (17355)Memory used [KB]: 1407
% 2.79/1.59  % (17355)Time elapsed: 0.004 s
% 2.79/1.59  % (17355)Instructions burned: 3 (million)
% 2.79/1.59  % (17355)------------------------------
% 2.79/1.59  % (17355)------------------------------
% 2.79/1.59  % (17356)Instruction limit reached!
% 2.79/1.59  % (17356)------------------------------
% 2.79/1.59  % (17356)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.79/1.59  % (17356)Termination reason: Unknown
% 2.79/1.59  % (17356)Termination phase: shuffling
% 2.79/1.59  
% 2.79/1.59  % (17356)Memory used [KB]: 1407
% 2.79/1.59  % (17356)Time elapsed: 0.004 s
% 2.79/1.59  % (17356)Instructions burned: 3 (million)
% 2.79/1.59  % (17356)------------------------------
% 2.79/1.59  % (17356)------------------------------
% 2.79/1.59  % (17353)Instruction limit reached!
% 2.79/1.59  % (17353)------------------------------
% 2.79/1.59  % (17353)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.79/1.59  % (17353)Termination reason: Unknown
% 2.79/1.59  % (17353)Termination phase: shuffling
% 2.79/1.59  
% 2.79/1.59  % (17353)Memory used [KB]: 1407
% 2.79/1.59  % (17353)Time elapsed: 0.005 s
% 2.79/1.59  % (17353)Instructions burned: 5 (million)
% 2.79/1.59  % (17353)------------------------------
% 2.79/1.59  % (17353)------------------------------
% 2.87/1.60  % (17359)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_17124 for (2999ds/3Mi)
% 2.87/1.60  % (17359)Instruction limit reached!
% 2.87/1.60  % (17359)------------------------------
% 2.87/1.60  % (17359)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.87/1.60  % (17359)Termination reason: Unknown
% 2.87/1.60  % (17359)Termination phase: shuffling
% 2.87/1.60  
% 2.87/1.60  % (17359)Memory used [KB]: 1407
% 2.87/1.60  % (17359)Time elapsed: 0.003 s
% 2.87/1.60  % (17359)Instructions burned: 5 (million)
% 2.87/1.60  % (17359)------------------------------
% 2.87/1.60  % (17359)------------------------------
% 2.87/1.61  % (17354)Instruction limit reached!
% 2.87/1.61  % (17354)------------------------------
% 2.87/1.61  % (17354)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.87/1.61  % (17354)Termination reason: Unknown
% 2.87/1.61  % (17354)Termination phase: shuffling
% 2.87/1.61  
% 2.87/1.61  % (17354)Memory used [KB]: 1918
% 2.87/1.61  % (17354)Time elapsed: 0.019 s
% 2.87/1.61  % (17354)Instructions burned: 27 (million)
% 2.87/1.61  % (17354)------------------------------
% 2.87/1.61  % (17354)------------------------------
% 2.87/1.61  % (17362)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_17124 for (2999ds/3Mi)
% 2.87/1.61  % (17360)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_17124 for (2999ds/37Mi)
% 2.87/1.61  % (17362)Instruction limit reached!
% 2.87/1.61  % (17362)------------------------------
% 2.87/1.61  % (17362)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.87/1.61  % (17362)Termination reason: Unknown
% 2.87/1.61  % (17362)Termination phase: shuffling
% 2.87/1.61  
% 2.87/1.61  % (17362)Memory used [KB]: 1407
% 2.87/1.61  % (17362)Time elapsed: 0.004 s
% 2.87/1.61  % (17362)Instructions burned: 4 (million)
% 2.87/1.61  % (17362)------------------------------
% 2.87/1.61  % (17362)------------------------------
% 2.87/1.61  % (17361)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_17124 for (2999ds/15Mi)
% 2.87/1.61  % (17363)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_17124 for (2999ds/1041Mi)
% 2.87/1.61  % (17357)First to succeed.
% 2.87/1.62  % (17357)Refutation found. Thanks to Tanya!
% 2.87/1.62  % SZS status Theorem for DTF2THF_17124
% 2.87/1.62  % SZS output start Proof for DTF2THF_17124
% 2.87/1.62  thf(type_def_5, type, set: ($tType) > $tType).
% 2.87/1.62  thf(type_def_7, type, product_prod: ($tType * $tType) > $tType).
% 2.87/1.62  thf(type_def_8, type, denotational_interp: $tType).
% 2.87/1.62  thf(type_def_9, type, char: $tType).
% 2.87/1.62  thf(type_def_10, type, real: $tType).
% 2.87/1.62  thf(type_def_11, type, variable: $tType).
% 2.87/1.62  thf(type_def_12, type, product_unit: $tType).
% 2.87/1.62  thf(func_def_0, type, denotational_interp: $tType).
% 2.87/1.62  thf(func_def_1, type, product_unit: $tType).
% 2.87/1.62  thf(func_def_2, type, product_prod: ($tType * $tType) > $tType).
% 2.87/1.62  thf(func_def_3, type, variable: $tType).
% 2.87/1.62  thf(func_def_4, type, char: $tType).
% 2.87/1.62  thf(func_def_5, type, real: $tType).
% 2.87/1.62  thf(func_def_6, type, set: ($tType) > $tType).
% 2.87/1.62  thf(func_def_7, type, bNF_Gr: !>[X0: $tType, X1: $tType]:(set @ X0 > (X0 > X1) > set @ product_prod @ X0 @ X1)).
% 2.87/1.62  thf(func_def_8, type, denotational_Consts: denotational_interp > char > real).
% 2.87/1.62  thf(func_def_9, type, denotational_Funcs: denotational_interp > char > real > real).
% 2.87/1.62  thf(func_def_10, type, denotational_Games: denotational_interp > char > set @ (variable > real) > set @ (variable > real)).
% 2.87/1.62  thf(func_def_11, type, denotational_Preds: denotational_interp > char > real > $o).
% 2.87/1.62  thf(func_def_12, type, denota1150374853interp: product_prod @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) > denotational_interp).
% 2.87/1.62  thf(func_def_13, type, denotational_worlds: set @ (variable > real)).
% 2.87/1.62  thf(func_def_14, type, fun_reduction_pair: !>[X0: $tType]:(product_prod @ set @ product_prod @ X0 @ X0 @ set @ product_prod @ X0 @ X0 > $o)).
% 2.87/1.62  thf(func_def_15, type, fun_rp_inv_image: !>[X0: $tType, X1: $tType]:(product_prod @ set @ product_prod @ X0 @ X0 @ set @ product_prod @ X0 @ X0 > (X1 > X0) > product_prod @ set @ product_prod @ X1 @ X1 @ set @ product_prod @ X1 @ X1)).
% 2.87/1.62  thf(func_def_16, type, the: !>[X0: $tType]:((X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_17, type, if: !>[X0: $tType]:($o > X0 > X0 > X0)).
% 2.87/1.62  thf(func_def_18, type, bot_bot: !>[X0: $tType]:(X0)).
% 2.87/1.62  thf(func_def_19, type, ord_less_eq: !>[X0: $tType]:(X0 > X0 > $o)).
% 2.87/1.62  thf(func_def_20, type, order_mono: !>[X0: $tType, X1: $tType]:((X0 > X1) > $o)).
% 2.87/1.62  thf(func_def_21, type, top_top: !>[X0: $tType]:(X0)).
% 2.87/1.62  thf(func_def_22, type, product_Pair: !>[X0: $tType, X1: $tType]:(X0 > X1 > product_prod @ X0 @ X1)).
% 2.87/1.62  thf(func_def_23, type, product_Pair_Rep: !>[X0: $tType, X1: $tType]:(X0 > X1 > X0 > X1 > $o)).
% 2.87/1.62  thf(func_def_24, type, product_Sigma: !>[X0: $tType, X1: $tType]:(set @ X0 > (X0 > set @ X1) > set @ product_prod @ X0 @ X1)).
% 2.87/1.62  thf(func_def_25, type, product_curry: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X0 @ X1 > X2) > X0 > X1 > X2)).
% 2.87/1.62  thf(func_def_26, type, produc2004651681e_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 2.87/1.62  thf(func_def_27, type, product_map_prod: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((X0 > X1) > (X2 > X3) > product_prod @ X0 @ X2 > product_prod @ X1 @ X3)).
% 2.87/1.62  thf(func_def_28, type, product_rec_bool: !>[X0: $tType]:(X0 > X0 > $o > X0)).
% 2.87/1.62  thf(func_def_29, type, product_rec_set_bool: !>[X0: $tType]:(X0 > X0 > $o > X0 > $o)).
% 2.87/1.62  thf(func_def_30, type, product_rec_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 2.87/1.62  thf(func_def_31, type, product_rec_set_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2 > $o)).
% 2.87/1.62  thf(func_def_32, type, product_rec_set_unit: !>[X0: $tType]:(X0 > product_unit > X0 > $o)).
% 2.87/1.62  thf(func_def_33, type, product_rec_unit: !>[X0: $tType]:(X0 > product_unit > X0)).
% 2.87/1.62  thf(func_def_34, type, product_Abs_prod: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > product_prod @ X0 @ X1)).
% 2.87/1.62  thf(func_def_35, type, product_case_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 2.87/1.62  thf(func_def_36, type, product_fst: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 2.87/1.62  thf(func_def_37, type, product_snd: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 2.87/1.62  thf(func_def_38, type, product_swap: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > product_prod @ X1 @ X0)).
% 2.87/1.62  thf(func_def_39, type, product_product: !>[X0: $tType, X1: $tType]:(set @ X0 > set @ X1 > set @ product_prod @ X0 @ X1)).
% 2.87/1.62  thf(func_def_40, type, inv_image: !>[X0: $tType, X1: $tType]:(set @ product_prod @ X0 @ X0 > (X1 > X0) > set @ product_prod @ X1 @ X1)).
% 2.87/1.62  thf(func_def_41, type, inv_imagep: !>[X0: $tType, X1: $tType]:((X0 > X0 > $o) > (X1 > X0) > X1 > X1 > $o)).
% 2.87/1.62  thf(func_def_42, type, collect: !>[X0: $tType]:((X0 > $o) > set @ X0)).
% 2.87/1.62  thf(func_def_43, type, image: !>[X0: $tType, X1: $tType]:((X0 > X1) > set @ X0 > set @ X1)).
% 2.87/1.62  thf(func_def_44, type, the_elem: !>[X0: $tType]:(set @ X0 > X0)).
% 2.87/1.62  thf(func_def_45, type, uSubst761942615e_repc: denotational_interp > char > real > denotational_interp).
% 2.87/1.62  thf(func_def_46, type, lex_prod: !>[X0: $tType, X1: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ X1 @ X1 > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1)).
% 2.87/1.62  thf(func_def_47, type, same_fst: !>[X0: $tType, X1: $tType]:((X0 > $o) > (X0 > set @ product_prod @ X1 @ X1) > set @ product_prod @ product_prod @ X0 @ X1 @ product_prod @ X0 @ X1)).
% 2.87/1.62  thf(func_def_48, type, member: !>[X0: $tType]:(X0 > set @ X0 > $o)).
% 2.87/1.62  thf(func_def_49, type, i: denotational_interp).
% 2.87/1.62  thf(func_def_50, type, d: real).
% 2.87/1.62  thf(func_def_51, type, f: char).
% 2.87/1.62  thf(func_def_68, type, sK0: !>[X0: $tType, X1: $tType]:(product_prod @ X1 @ X0 > X0 > X1)).
% 2.87/1.62  thf(func_def_69, type, sK1: !>[X0: $tType, X1: $tType]:(set @ X1 > (X1 > X0) > set @ X0 > set @ X1)).
% 2.87/1.62  thf(func_def_70, type, sK2: !>[X0: $tType]:((X0 > $o) > (X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_71, type, sK3: !>[X0: $tType]:(X0 > (X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_72, type, sK4: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 2.87/1.62  thf(func_def_73, type, sK5: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 2.87/1.62  thf(func_def_74, type, sK6: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X0)).
% 2.87/1.62  thf(func_def_75, type, sK7: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X1)).
% 2.87/1.62  thf(func_def_76, type, sK8: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X2)).
% 2.87/1.62  thf(func_def_77, type, sK9: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X3)).
% 2.87/1.62  thf(func_def_78, type, sK10: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X4)).
% 2.87/1.62  thf(func_def_79, type, sK11: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X5)).
% 2.87/1.62  thf(func_def_80, type, sK12: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > (X0 > X1 > $o) > X0)).
% 2.87/1.62  thf(func_def_81, type, sK13: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > (X0 > X1 > $o) > X1)).
% 2.87/1.62  thf(func_def_82, type, sK14: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > (X0 > X1 > X2 > $o) > product_prod @ X0 @ X1 > X0)).
% 2.87/1.62  thf(func_def_83, type, sK15: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > (X0 > X1 > X2 > $o) > product_prod @ X0 @ X1 > X1)).
% 2.87/1.62  thf(func_def_84, type, sK16: !>[X0: $tType, X1: $tType]:((X1 > X0 > $o) > product_prod @ X1 @ X0 > X1)).
% 2.87/1.62  thf(func_def_85, type, sK17: !>[X0: $tType, X1: $tType]:((X1 > X0 > $o) > product_prod @ X1 @ X0 > X0)).
% 2.87/1.62  thf(func_def_86, type, sK18: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 2.87/1.62  thf(func_def_87, type, sK19: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.87/1.62  thf(func_def_88, type, sK20: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.87/1.62  thf(func_def_89, type, sK21: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_90, type, sK22: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X0)).
% 2.87/1.62  thf(func_def_91, type, sK23: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X1)).
% 2.87/1.62  thf(func_def_92, type, sK24: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X2)).
% 2.87/1.62  thf(func_def_93, type, sK25: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X3)).
% 2.87/1.62  thf(func_def_94, type, sK26: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X4)).
% 2.87/1.62  thf(func_def_95, type, sK27: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X5)).
% 2.87/1.62  thf(func_def_96, type, sK28: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 2.87/1.62  thf(func_def_97, type, sK29: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 2.87/1.62  thf(func_def_98, type, sK30: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.87/1.62  thf(func_def_99, type, sK31: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.87/1.62  thf(func_def_100, type, sK32: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_101, type, sK33: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X0)).
% 2.87/1.62  thf(func_def_102, type, sK34: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X1)).
% 2.87/1.62  thf(func_def_103, type, sK35: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X2)).
% 2.87/1.62  thf(func_def_104, type, sK36: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X3)).
% 2.87/1.62  thf(func_def_105, type, sK37: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X4)).
% 2.87/1.62  thf(func_def_106, type, sK38: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X5)).
% 2.87/1.62  thf(func_def_107, type, sK39: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X6)).
% 2.87/1.62  thf(func_def_108, type, sK40: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X0)).
% 2.87/1.62  thf(func_def_109, type, sK41: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X1)).
% 2.87/1.62  thf(func_def_110, type, sK42: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X2)).
% 2.87/1.62  thf(func_def_111, type, sK43: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X3)).
% 2.87/1.62  thf(func_def_112, type, sK44: !>[X0: $tType, X1: $tType]:(set @ X1 > (X0 > X1) > set @ X0 > X0)).
% 2.87/1.62  thf(func_def_113, type, sK45: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ X1 > X0) > (X2 > X1 > X0) > X2)).
% 2.87/1.62  thf(func_def_114, type, sK46: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ X1 > X0) > (X2 > X1 > X0) > X1)).
% 2.87/1.62  thf(func_def_115, type, sK47: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ X2 > (X0 > X2 > set @ X1) > X1 > X0)).
% 2.87/1.62  thf(func_def_116, type, sK48: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ X2 > (X0 > X2 > set @ X1) > X1 > X2)).
% 2.87/1.62  thf(func_def_117, type, sK49: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X1)).
% 2.87/1.62  thf(func_def_118, type, sK50: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_119, type, sK51: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > X1 > X0) > (X0 > $o) > (X1 > X2 > $o) > X2)).
% 2.87/1.62  thf(func_def_120, type, sK52: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > X1 > X0) > (X0 > $o) > (X1 > X2 > $o) > X1)).
% 2.87/1.62  thf(func_def_121, type, sK53: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X0)).
% 2.87/1.62  thf(func_def_122, type, sK54: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X1)).
% 2.87/1.62  thf(func_def_123, type, sK55: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X2)).
% 2.87/1.62  thf(func_def_124, type, sK56: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > product_prod @ X1 @ X0 > (X1 > X0 > X2 > $o) > X1)).
% 2.87/1.62  thf(func_def_125, type, sK57: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > product_prod @ X1 @ X0 > (X1 > X0 > X2 > $o) > X0)).
% 2.87/1.62  thf(func_def_126, type, sK58: !>[X0: $tType]:(X0 > (X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_127, type, sK59: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 2.87/1.62  thf(func_def_128, type, sK60: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 2.87/1.62  thf(func_def_129, type, sK61: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.87/1.62  thf(func_def_130, type, sK62: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.87/1.62  thf(func_def_131, type, sK63: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_132, type, sK64: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > X1 > X0) > (X2 > X1 > X0) > product_prod @ X2 @ X1 > X2)).
% 2.87/1.62  thf(func_def_133, type, sK65: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > X1 > X0) > (X2 > X1 > X0) > product_prod @ X2 @ X1 > X1)).
% 2.87/1.62  thf(func_def_134, type, sK66: !>[X0: $tType]:(X0 > (X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_135, type, sK67: !>[X0: $tType, X1: $tType]:(set @ product_prod @ X1 @ X0 > set @ product_prod @ X1 @ X0 > X1)).
% 2.87/1.62  thf(func_def_136, type, sK68: !>[X0: $tType, X1: $tType]:(set @ product_prod @ X1 @ X0 > set @ product_prod @ X1 @ X0 > X0)).
% 2.87/1.62  thf(func_def_137, type, sK69: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X6)).
% 2.87/1.62  thf(func_def_138, type, sK70: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X5)).
% 2.87/1.62  thf(func_def_139, type, sK71: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 2.87/1.62  thf(func_def_140, type, sK72: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 2.87/1.62  thf(func_def_141, type, sK73: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.87/1.62  thf(func_def_142, type, sK74: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.87/1.62  thf(func_def_143, type, sK75: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_144, type, sK76: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > X1 > set @ X0) > X0 > product_prod @ X2 @ X1 > X2)).
% 2.87/1.62  thf(func_def_145, type, sK77: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > X1 > set @ X0) > X0 > product_prod @ X2 @ X1 > X1)).
% 2.87/1.62  thf(func_def_146, type, sK78: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X1)).
% 2.87/1.62  thf(func_def_147, type, sK79: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_148, type, sK80: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 2.87/1.62  thf(func_def_149, type, sK81: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 2.87/1.62  thf(func_def_150, type, sK82: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.87/1.62  thf(func_def_151, type, sK83: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.87/1.62  thf(func_def_152, type, sK84: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_153, type, sK85: !>[X0: $tType, X1: $tType]:(set @ X1 > (X1 > X0) > set @ X0 > set @ X1)).
% 2.87/1.62  thf(func_def_154, type, sK86: !>[X0: $tType]:(X0 > (X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_155, type, sK87: !>[X0: $tType]:((X0 > $o) > (X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_156, type, sK88: !>[X0: $tType]:(X0 > (X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_157, type, sK89: !>[X0: $tType]:(X0 > (X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_158, type, sK90: !>[X0: $tType, X1: $tType]:((X1 > X0) > (X1 > X0) > X1)).
% 2.87/1.62  thf(func_def_159, type, sK91: !>[X0: $tType]:((X0 > $o) > (X0 > $o) > set @ X0 > X0)).
% 2.87/1.62  thf(func_def_160, type, sK92: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ X2 > (X0 > X2 > X1) > (X1 > $o) > X0)).
% 2.87/1.62  thf(func_def_161, type, sK93: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ X2 > (X0 > X2 > X1) > (X1 > $o) > X2)).
% 2.87/1.62  thf(func_def_162, type, sK94: !>[X0: $tType]:(X0 > (X0 > $o) > X0)).
% 2.87/1.62  thf(func_def_163, type, sK95: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0 > X1)).
% 2.87/1.62  thf(func_def_164, type, sK96: !>[X0: $tType]:(set @ X0 > set @ X0 > X0)).
% 2.87/1.62  thf(func_def_165, type, sK97: !>[X0: $tType, X1: $tType]:(set @ X0 > set @ X1 > (X1 > X0) > X1)).
% 2.87/1.62  thf(func_def_166, type, sK98: !>[X0: $tType]:((X0 > $o) > set @ X0 > X0)).
% 2.87/1.62  thf(func_def_168, type, ph100: !>[X0: $tType]:(X0)).
% 2.87/1.62  thf(f1187,plain,(
% 2.87/1.62    $false),
% 2.87/1.62    inference(subsumption_resolution,[status(thm)],[f1011,f1013])).
% 2.87/1.62  thf(f1013,plain,(
% 2.87/1.62    ( ! [X2 : char > real > $o,X3 : char > set @ (variable > real) > set @ (variable > real),X0 : char > real,X1 : char > real > real] : (((denotational_Preds @ (denota1150374853interp @ (product_Pair @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ X0 @ (product_Pair @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ X1 @ (product_Pair @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ X2 @ X3))))) = X2)) )),
% 2.87/1.62    inference(cnf_transformation,[status(thm)],[f670])).
% 2.87/1.62  thf(f670,plain,(
% 2.87/1.62    ! [X0 : char > real,X1 : char > real > real,X2 : char > real > $o,X3 : char > set @ (variable > real) > set @ (variable > real)] : ((denotational_Preds @ (denota1150374853interp @ (product_Pair @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ X0 @ (product_Pair @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ X1 @ (product_Pair @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ X2 @ X3))))) = X2)),
% 2.87/1.62    inference(rectify,[status(thm)],[f1])).
% 2.87/1.62  thf(f1,axiom,(
% 2.87/1.62    ! [X5 : char > real,X6 : char > real > real,X7 : char > real > $o,X8 : char > set @ (variable > real) > set @ (variable > real)] : ((denotational_Preds @ (denota1150374853interp @ (product_Pair @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ X5 @ (product_Pair @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ X6 @ (product_Pair @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ X7 @ X8))))) = X7)),
% 2.87/1.62    file('/export/starexec/sandbox2/tmp/tmp.ov1tFK40xU/DTF2THF_17124.p',fact_0_Preds__mkinterp)).
% 2.87/1.62  thf(f1011,plain,(
% 2.87/1.62    ((denotational_Preds @ i) != (denotational_Preds @ (denota1150374853interp @ (product_Pair @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (^[Y0 : char]: (if @ real @ (f = Y0) @ d @ (denotational_Consts @ i @ Y0))) @ (product_Pair @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Funcs @ i) @ (product_Pair @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Preds @ i) @ (denotational_Games @ i)))))))),
% 2.87/1.62    inference(cnf_transformation,[status(thm)],[f667])).
% 2.87/1.62  thf(f667,plain,(
% 2.87/1.62    ((denotational_Preds @ i) != (denotational_Preds @ (denota1150374853interp @ (product_Pair @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (^[Y0 : char]: (if @ real @ (f = Y0) @ d @ (denotational_Consts @ i @ Y0))) @ (product_Pair @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Funcs @ i) @ (product_Pair @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Preds @ i) @ (denotational_Games @ i)))))))),
% 2.87/1.62    inference(flattening,[status(thm)],[f482])).
% 2.87/1.62  thf(f482,plain,(
% 2.87/1.62    ~((denotational_Preds @ i) = (denotational_Preds @ (denota1150374853interp @ (product_Pair @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (^[Y0 : char]: (if @ real @ (f = Y0) @ d @ (denotational_Consts @ i @ Y0))) @ (product_Pair @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Funcs @ i) @ (product_Pair @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Preds @ i) @ (denotational_Games @ i)))))))),
% 2.87/1.62    inference(fool_elimination,[status(thm)],[f481])).
% 2.87/1.62  thf(f481,plain,(
% 2.87/1.62    ~((denotational_Preds @ (denota1150374853interp @ (product_Pair @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (^[X0 : char] : (if @ real @ (f = X0) @ d @ (denotational_Consts @ i @ X0))) @ (product_Pair @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Funcs @ i) @ (product_Pair @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Preds @ i) @ (denotational_Games @ i)))))) = (denotational_Preds @ i))),
% 2.87/1.62    inference(rectify,[status(thm)],[f261])).
% 2.87/1.62  thf(f261,negated_conjecture,(
% 2.87/1.62    ~((denotational_Preds @ (denota1150374853interp @ (product_Pair @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (^[X14 : char] : (if @ real @ (f = X14) @ d @ (denotational_Consts @ i @ X14))) @ (product_Pair @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Funcs @ i) @ (product_Pair @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Preds @ i) @ (denotational_Games @ i)))))) = (denotational_Preds @ i))),
% 2.87/1.62    inference(negated_conjecture,[status(cth)],[f260])).
% 2.87/1.62  thf(f260,conjecture,(
% 2.87/1.62    ((denotational_Preds @ (denota1150374853interp @ (product_Pair @ (char > real) @ product_prod @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (^[X14 : char] : (if @ real @ (f = X14) @ d @ (denotational_Consts @ i @ X14))) @ (product_Pair @ (char > real > real) @ product_prod @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Funcs @ i) @ (product_Pair @ (char > real > $o) @ (char > set @ (variable > real) > set @ (variable > real)) @ (denotational_Preds @ i) @ (denotational_Games @ i)))))) = (denotational_Preds @ i))),
% 2.87/1.62    file('/export/starexec/sandbox2/tmp/tmp.ov1tFK40xU/DTF2THF_17124.p',conj_0)).
% 2.87/1.62  % SZS output end Proof for DTF2THF_17124
% 2.87/1.62  % (17357)------------------------------
% 2.87/1.62  % (17357)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.87/1.62  % (17357)Termination reason: Refutation
% 2.87/1.62  
% 2.87/1.62  % (17357)Memory used [KB]: 7164
% 2.87/1.62  % (17357)Time elapsed: 0.033 s
% 2.87/1.62  % (17357)Instructions burned: 94 (million)
% 2.87/1.62  % (17357)------------------------------
% 2.87/1.62  % (17357)------------------------------
% 2.87/1.62  % (17351)Success in time 0.051 s
%------------------------------------------------------------------------------