TPTP Problem File: SLH0836^1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : SLH0000^1 : TPTP v8.2.0. Released v8.2.0.
% Domain : Archive of Formal Proofs
% Problem :
% Version : Especial.
% English :
% Refs : [Des23] Desharnais (2023), Email to Geoff Sutcliffe
% Source : [Des23]
% Names : Multiset_Ordering_NPC/0002_Multiset_Ordering_in_NP/prob_00171_007556__13352962_1 [Des23]
% Status : Theorem
% Rating : ? v8.2.0
% Syntax : Number of formulae : 759 ( 306 unt; 207 typ; 0 def)
% Number of atoms : 1496 ( 962 equ; 0 cnn)
% Maximal formula atoms : 23 ( 2 avg)
% Number of connectives : 5358 ( 277 ~; 18 |; 180 &;4267 @)
% ( 0 <=>; 616 =>; 0 <=; 0 <~>)
% Maximal formula depth : 29 ( 6 avg)
% Number of types : 39 ( 38 usr)
% Number of type conns : 731 ( 731 >; 0 *; 0 +; 0 <<)
% Number of symbols : 172 ( 169 usr; 30 con; 0-14 aty)
% Number of variables : 1916 ( 55 ^;1716 !; 145 ?;1916 :)
% SPC : TH0_THM_EQU_NAR
% Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 2023-01-18 16:29:05.142
%------------------------------------------------------------------------------
% Could-be-implicit typings (38)
thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_M_062_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_M_Eo_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J_J,type,
produc6822914451196094351od_a_a: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J_J,type,
produc3323165008400776615od_a_a: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_J_J,type,
list_P6397469967847391999od_o_o: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_J_J,type,
set_Pr2656343962713648089od_o_o: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J_J,type,
list_l4888837856047780700od_a_a: $tType ).
thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_J,type,
produc628930716821598713od_o_o: $tType ).
thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
produc254973753779126261st_nat: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__f_J_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
produc1836594585875604997od_a_a: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J,type,
list_P1802437025701573206od_a_a: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J,type,
set_Pr5530083903271594800od_a_a: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
produc1828647624359046049st_nat: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_J,type,
list_P4322691845745735510od_o_o: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_J,type,
set_Pr6507870997995571760od_o_o: $tType ).
thf(ty_n_t__Product____Type__Oprod_I_062_Itf__f_M_062_Itf__f_M_Eo_J_J_Mt__List__Olist_Itf__f_J_J,type,
produc5795555978541011586list_f: $tType ).
thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
produc4044097585999906000od_a_a: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__f_J_Mt__List__Olist_Itf__f_J_J,type,
produc1604256039088728679list_f: $tType ).
thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
produc8199716216217303280at_nat: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J_J,type,
list_P2466969118621037811list_f: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J_J,type,
set_Pr9218602257211810509list_f: $tType ).
thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J,type,
produc4033586494401613520od_o_o: $tType ).
thf(ty_n_t__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J,type,
produc7257588745650887789list_f: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
list_P1396940483166286381od_a_a: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
set_Product_prod_a_a: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
product_prod_nat_nat: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
list_list_nat: $tType ).
thf(ty_n_t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
product_prod_a_a: $tType ).
thf(ty_n_t__List__Olist_It__List__Olist_Itf__f_J_J,type,
list_list_f: $tType ).
thf(ty_n_t__Product____Type__Oprod_I_Eo_M_Eo_J,type,
product_prod_o_o: $tType ).
thf(ty_n_t__List__Olist_It__Nat__Onat_J,type,
list_nat: $tType ).
thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
set_nat: $tType ).
thf(ty_n_t__List__Olist_Itf__f_J,type,
list_f: $tType ).
thf(ty_n_t__List__Olist_Itf__a_J,type,
list_a: $tType ).
thf(ty_n_t__Set__Oset_Itf__f_J,type,
set_f: $tType ).
thf(ty_n_t__Set__Oset_Itf__a_J,type,
set_a: $tType ).
thf(ty_n_t__Num__Onum,type,
num: $tType ).
thf(ty_n_t__Nat__Onat,type,
nat: $tType ).
thf(ty_n_tf__f,type,
f: $tType ).
thf(ty_n_tf__a,type,
a: $tType ).
% Explicit typings (169)
thf(sy_c_Euclidean__Division_Odivmod__nat,type,
euclidean_divmod_nat: nat > nat > product_prod_nat_nat ).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Nat__Onat,type,
minus_minus_nat: nat > nat > nat ).
thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
one_one_nat: nat ).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
plus_plus_nat: nat > nat > nat ).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
zero_zero_nat: nat ).
thf(sy_c_HOL_Oundefined_001t__Product____Type__Oprod_It__List__Olist_Itf__f_J_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
undefi5686959434358318189od_a_a: produc1836594585875604997od_a_a ).
thf(sy_c_If_001t__List__Olist_It__Nat__Onat_J,type,
if_list_nat: $o > list_nat > list_nat > list_nat ).
thf(sy_c_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
if_Pro6206227464963214023at_nat: $o > product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ).
thf(sy_c_List_Odistinct_001t__Nat__Onat,type,
distinct_nat: list_nat > $o ).
thf(sy_c_List_Odistinct_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
distin4039418177281331017od_a_a: list_P1802437025701573206od_a_a > $o ).
thf(sy_c_List_Odistinct_001tf__a,type,
distinct_a: list_a > $o ).
thf(sy_c_List_Odistinct_001tf__f,type,
distinct_f: list_f > $o ).
thf(sy_c_List_Odrop_001t__Nat__Onat,type,
drop_nat: nat > list_nat > list_nat ).
thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
drop_P3280791721155218966od_a_a: nat > list_P1802437025701573206od_a_a > list_P1802437025701573206od_a_a ).
thf(sy_c_List_Odrop_001tf__a,type,
drop_a: nat > list_a > list_a ).
thf(sy_c_List_Odrop_001tf__f,type,
drop_f: nat > list_f > list_f ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Nat__Onat_J,type,
cons_list_nat: list_nat > list_list_nat > list_list_nat ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J,type,
cons_l7647087712702168844od_a_a: list_P1802437025701573206od_a_a > list_l4888837856047780700od_a_a > list_l4888837856047780700od_a_a ).
thf(sy_c_List_Olist_OCons_001t__List__Olist_Itf__f_J,type,
cons_list_f: list_f > list_list_f > list_list_f ).
thf(sy_c_List_Olist_OCons_001t__Nat__Onat,type,
cons_nat: nat > list_nat > list_nat ).
thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
cons_P64011158483510406od_a_a: produc4044097585999906000od_a_a > list_P1802437025701573206od_a_a > list_P1802437025701573206od_a_a ).
thf(sy_c_List_Olist_OCons_001tf__a,type,
cons_a: a > list_a > list_a ).
thf(sy_c_List_Olist_OCons_001tf__f,type,
cons_f: f > list_f > list_f ).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Nat__Onat_J,type,
nil_list_nat: list_list_nat ).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J,type,
nil_li6406708984265833308od_a_a: list_l4888837856047780700od_a_a ).
thf(sy_c_List_Olist_ONil_001t__List__Olist_Itf__f_J,type,
nil_list_f: list_list_f ).
thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
nil_nat: list_nat ).
thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
nil_Pr7291147438282410198od_a_a: list_P1802437025701573206od_a_a ).
thf(sy_c_List_Olist_ONil_001tf__a,type,
nil_a: list_a ).
thf(sy_c_List_Olist_ONil_001tf__f,type,
nil_f: list_f ).
thf(sy_c_List_Olist_Ocase__list_001t__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
case_l2391366069430990601od_a_a: produc7257588745650887789list_f > ( produc4044097585999906000od_a_a > list_P1802437025701573206od_a_a > produc7257588745650887789list_f ) > list_P1802437025701573206od_a_a > produc7257588745650887789list_f ).
thf(sy_c_List_Olist_Ohd_001t__Nat__Onat,type,
hd_nat: list_nat > nat ).
thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Nat__Onat,type,
map_nat_nat: ( nat > nat ) > list_nat > list_nat ).
thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
map_na2567344611816411322od_a_a: ( nat > produc4044097585999906000od_a_a ) > list_nat > list_P1802437025701573206od_a_a ).
thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001tf__a,type,
map_nat_a: ( nat > a ) > list_nat > list_a ).
thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001tf__f,type,
map_nat_f: ( nat > f ) > list_nat > list_f ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_001tf__a,type,
map_Pr6946130393055991666_o_o_a: ( produc4033586494401613520od_o_o > a ) > list_P4322691845745735510od_o_o > list_a ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_J_001tf__a,type,
map_Pr1560379411928638345_o_o_a: ( produc628930716821598713od_o_o > a ) > list_P6397469967847391999od_o_o > list_a ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001t__Nat__Onat,type,
map_Pr165270791793943900_a_nat: ( produc4044097585999906000od_a_a > nat ) > list_P1802437025701573206od_a_a > list_nat ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
map_Pr243255708951746116od_a_a: ( produc4044097585999906000od_a_a > produc4044097585999906000od_a_a ) > list_P1802437025701573206od_a_a > list_P1802437025701573206od_a_a ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001tf__a,type,
map_Pr4634343309551623282_a_a_a: ( produc4044097585999906000od_a_a > a ) > list_P1802437025701573206od_a_a > list_a ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001tf__f,type,
map_Pr4634343309551623287_a_a_f: ( produc4044097585999906000od_a_a > f ) > list_P1802437025701573206od_a_a > list_f ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__a_Mtf__a_J_001tf__a,type,
map_Pr3897371633210041563_a_a_a: ( product_prod_a_a > a ) > list_P1396940483166286381od_a_a > list_a ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J_001tf__f,type,
map_Pr3956008058198342810st_f_f: ( produc7257588745650887789list_f > f ) > list_P2466969118621037811list_f > list_f ).
thf(sy_c_List_Olist_Omap_001tf__a_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
map_a_7691272736327923094od_a_a: ( a > produc4044097585999906000od_a_a ) > list_a > list_P1802437025701573206od_a_a ).
thf(sy_c_List_Olist_Omap_001tf__a_001tf__a,type,
map_a_a: ( a > a ) > list_a > list_a ).
thf(sy_c_List_Olist_Omap_001tf__a_001tf__f,type,
map_a_f: ( a > f ) > list_a > list_f ).
thf(sy_c_List_Olist_Omap_001tf__f_001t__Nat__Onat,type,
map_f_nat: ( f > nat ) > list_f > list_nat ).
thf(sy_c_List_Olist_Omap_001tf__f_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
map_f_5881429773128424145od_a_a: ( f > produc4044097585999906000od_a_a ) > list_f > list_P1802437025701573206od_a_a ).
thf(sy_c_List_Olist_Omap_001tf__f_001tf__a,type,
map_f_a: ( f > a ) > list_f > list_a ).
thf(sy_c_List_Olist_Omap_001tf__f_001tf__f,type,
map_f_f: ( f > f ) > list_f > list_f ).
thf(sy_c_List_Olist_Oset_001t__Nat__Onat,type,
set_nat2: list_nat > set_nat ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J,type,
set_Pr984843999762680677od_o_o: list_P4322691845745735510od_o_o > set_Pr6507870997995571760od_o_o ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_J,type,
set_Pr9104161137945596302od_o_o: list_P6397469967847391999od_o_o > set_Pr2656343962713648089od_o_o ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
set_Pr7008919305446870117od_a_a: list_P1802437025701573206od_a_a > set_Pr5530083903271594800od_a_a ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
set_Product_prod_a_a2: list_P1396940483166286381od_a_a > set_Product_prod_a_a ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J,type,
set_Pr1611525768661774978list_f: list_P2466969118621037811list_f > set_Pr9218602257211810509list_f ).
thf(sy_c_List_Olist_Oset_001tf__a,type,
set_a2: list_a > set_a ).
thf(sy_c_List_Olist_Oset_001tf__f,type,
set_f2: list_f > set_f ).
thf(sy_c_List_Olist_Otl_001t__Nat__Onat,type,
tl_nat: list_nat > list_nat ).
thf(sy_c_List_Onth_001t__Nat__Onat,type,
nth_nat: list_nat > nat > nat ).
thf(sy_c_List_Ounion_001t__Nat__Onat,type,
union_nat: list_nat > list_nat > list_nat ).
thf(sy_c_List_Ounion_001tf__a,type,
union_a: list_a > list_a > list_a ).
thf(sy_c_List_Oupt,type,
upt: nat > nat > list_nat ).
thf(sy_c_Multiset__Ordering__in__NP_Oencoder_001tf__a_001tf__f,type,
multis2105231276199332433er_a_f: ( ( a > $o ) > f > $o ) > f > f > ( a > f ) > ( a > f ) > ( a > a > f ) > ( a > a > a > f ) > ( a > a > a > a > f ) > ( a > a > a > f ) > ( a > f > f ) > ( a > a > f ) > ( a > a > f ) > ( list_a > f ) > ( list_f > f ) > $o ).
thf(sy_c_Multiset__Ordering__in__NP_Oencoder_OencodeGammaCond_001tf__f_001tf__a,type,
multis5227817600615747794nd_f_a: f > ( a > f ) > ( a > a > f ) > ( a > a > f ) > a > a > $o > $o > f ).
thf(sy_c_Multiset__Ordering__in__NP_Oencoder_OencodeGammaCond__rel_001tf__a,type,
multis4109485244188643131_rel_a: produc628930716821598713od_o_o > produc628930716821598713od_o_o > $o ).
thf(sy_c_Multiset__Ordering__in__NP_Oencoder_Oencode__exactly__one_001tf__f_001tf__a,type,
multis6733176023901674631ne_f_a: f > ( a > f ) > ( a > a > f ) > ( a > a > a > f ) > ( a > a > a > a > f ) > ( a > a > a > f ) > list_P1802437025701573206od_a_a > produc7257588745650887789list_f ).
thf(sy_c_Multiset__Ordering__in__NP_Oencoder_Oencode__sum__0__1__main_001tf__a_001tf__f,type,
multis3280010013254100632in_a_f: ( a > a > f ) > ( a > a > a > f ) > ( a > a > a > a > f ) > list_P1802437025701573206od_a_a > produc1836594585875604997od_a_a ).
thf(sy_c_Multiset__Ordering__in__NP_Oencoder_Oencode__sum__0__1__main__rel_001tf__a,type,
multis755825801818188855_rel_a: list_P1802437025701573206od_a_a > list_P1802437025701573206od_a_a > $o ).
thf(sy_c_Nat_OSuc,type,
suc: nat > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Nat__Onat_J,type,
size_size_list_nat: list_nat > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J,type,
size_s6425312265427517634od_a_a: list_P1802437025701573206od_a_a > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__a_J,type,
size_size_list_a: list_a > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__f_J,type,
size_size_list_f: list_f > nat ).
thf(sy_c_Num_Onumeral__class_Onumeral_001t__Nat__Onat,type,
numeral_numeral_nat: num > nat ).
thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
ord_less_nat: nat > nat > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Nat__Onat,type,
ord_less_eq_nat: nat > nat > $o ).
thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_062_It__Nat__Onat_M_Eo_J_J_001t__List__Olist_It__Nat__Onat_J,type,
produc4727192421694094319st_nat: ( nat > nat > $o ) > list_nat > produc254973753779126261st_nat ).
thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__Nat__Onat,type,
produc72220940542539688at_nat: ( nat > nat ) > nat > produc8199716216217303280at_nat ).
thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_M_062_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_M_Eo_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J,type,
produc9098471519666438399od_a_a: ( produc4044097585999906000od_a_a > produc4044097585999906000od_a_a > $o ) > list_P1802437025701573206od_a_a > produc6822914451196094351od_a_a ).
thf(sy_c_Product__Type_OPair_001_062_Itf__f_M_062_Itf__f_M_Eo_J_J_001t__List__Olist_Itf__f_J,type,
produc8519404107117762418list_f: ( f > f > $o ) > list_f > produc5795555978541011586list_f ).
thf(sy_c_Product__Type_OPair_001_Eo_001_Eo,type,
product_Pair_o_o: $o > $o > product_prod_o_o ).
thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
produc2694037385005941721st_nat: list_nat > list_nat > produc1828647624359046049st_nat ).
thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J,type,
produc4694146025100153495od_a_a: list_P1802437025701573206od_a_a > list_P1802437025701573206od_a_a > produc3323165008400776615od_a_a ).
thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__f_J_001t__List__Olist_Itf__f_J,type,
produc8144748701140958423list_f: list_f > list_f > produc1604256039088728679list_f ).
thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__f_J_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
produc3886013187752893941od_a_a: list_f > product_prod_a_a > produc1836594585875604997od_a_a ).
thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Nat__Onat,type,
product_Pair_nat_nat: nat > nat > product_prod_nat_nat ).
thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_I_Eo_M_Eo_J,type,
produc1797438980157902144od_o_o: a > product_prod_o_o > produc4033586494401613520od_o_o ).
thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J,type,
produc580260797871235561od_o_o: a > produc4033586494401613520od_o_o > produc628930716821598713od_o_o ).
thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
produc431845341423274048od_a_a: a > product_prod_a_a > produc4044097585999906000od_a_a ).
thf(sy_c_Product__Type_OPair_001tf__a_001tf__a,type,
product_Pair_a_a: a > a > product_prod_a_a ).
thf(sy_c_Product__Type_OPair_001tf__f_001t__List__Olist_Itf__f_J,type,
produc4886901243613182557list_f: f > list_f > produc7257588745650887789list_f ).
thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_Itf__f_J_001t__Product____Type__Oprod_Itf__a_Mtf__a_J_001t__Product____Type__Oprod_It__List__Olist_Itf__f_J_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
produc7623036209211823483od_a_a: ( list_f > product_prod_a_a > produc1836594585875604997od_a_a ) > produc1836594585875604997od_a_a > produc1836594585875604997od_a_a ).
thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__List__Olist_Itf__f_J_001t__Product____Type__Oprod_Itf__a_Mtf__a_J_001t__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J,type,
produc2342999718295319011list_f: ( list_f > product_prod_a_a > produc7257588745650887789list_f ) > produc1836594585875604997od_a_a > produc7257588745650887789list_f ).
thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
produc2626176000494625587at_nat: ( nat > nat > product_prod_nat_nat ) > product_prod_nat_nat > product_prod_nat_nat ).
thf(sy_c_Product__Type_Oprod_Ocase__prod_001tf__a_001t__Product____Type__Oprod_Itf__a_Mtf__a_J_001t__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J,type,
produc5031227304981719768list_f: ( a > product_prod_a_a > produc7257588745650887789list_f ) > produc4044097585999906000od_a_a > produc7257588745650887789list_f ).
thf(sy_c_Product__Type_Oprod_Ocase__prod_001tf__a_001tf__a_001t__Product____Type__Oprod_It__List__Olist_Itf__f_J_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
produc3537265031573258201od_a_a: ( a > a > produc1836594585875604997od_a_a ) > product_prod_a_a > produc1836594585875604997od_a_a ).
thf(sy_c_Product__Type_Oprod_Ocase__prod_001tf__a_001tf__a_001t__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J,type,
produc2694644985735031361list_f: ( a > a > produc7257588745650887789list_f ) > product_prod_a_a > produc7257588745650887789list_f ).
thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001t__Product____Type__Oprod_I_Eo_M_Eo_J,type,
produc1798141892355912492od_o_o: produc4033586494401613520od_o_o > a ).
thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J,type,
produc6085592959510199253od_o_o: produc628930716821598713od_o_o > a ).
thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
produc6516300539023753772od_a_a: produc4044097585999906000od_a_a > a ).
thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001tf__a,type,
product_fst_a_a: product_prod_a_a > a ).
thf(sy_c_Product__Type_Oprod_Ofst_001tf__f_001t__List__Olist_Itf__f_J,type,
product_fst_f_list_f: produc7257588745650887789list_f > f ).
thf(sy_c_Seq_Oinf__concat__simple,type,
inf_concat_simple: ( nat > nat ) > nat > product_prod_nat_nat ).
thf(sy_c_Seq_Oinf__concat__simple__rel,type,
inf_co2821209343098213861le_rel: produc8199716216217303280at_nat > produc8199716216217303280at_nat > $o ).
thf(sy_c_Set_OBall_001tf__a,type,
ball_a: set_a > ( a > $o ) > $o ).
thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
collec5045780995415420475od_a_a: ( produc4044097585999906000od_a_a > $o ) > set_Pr5530083903271594800od_a_a ).
thf(sy_c_Set_OCollect_001tf__a,type,
collect_a: ( a > $o ) > set_a ).
thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Nat__Onat,type,
image_nat_nat: ( nat > nat ) > set_nat > set_nat ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
image_4448319501361693189od_a_a: ( produc4044097585999906000od_a_a > produc4044097585999906000od_a_a ) > set_Pr5530083903271594800od_a_a > set_Pr5530083903271594800od_a_a ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001tf__a,type,
image_1366754389297715763_a_a_a: ( produc4044097585999906000od_a_a > a ) > set_Pr5530083903271594800od_a_a > set_a ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_001tf__f,type,
image_1366754389297715768_a_a_f: ( produc4044097585999906000od_a_a > f ) > set_Pr5530083903271594800od_a_a > set_f ).
thf(sy_c_Set_Oimage_001tf__a_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
image_4423683816074015575od_a_a: ( a > produc4044097585999906000od_a_a ) > set_a > set_Pr5530083903271594800od_a_a ).
thf(sy_c_Set_Oimage_001tf__a_001tf__a,type,
image_a_a: ( a > a ) > set_a > set_a ).
thf(sy_c_Set_Oimage_001tf__a_001tf__f,type,
image_a_f: ( a > f ) > set_a > set_f ).
thf(sy_c_Set_Oimage_001tf__f_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
image_2613840852874516626od_a_a: ( f > produc4044097585999906000od_a_a ) > set_f > set_Pr5530083903271594800od_a_a ).
thf(sy_c_Set_Oimage_001tf__f_001tf__a,type,
image_f_a: ( f > a ) > set_f > set_a ).
thf(sy_c_Set_Oimage_001tf__f_001tf__f,type,
image_f_f: ( f > f ) > set_f > set_f ).
thf(sy_c_Set_Oinsert_001t__Nat__Onat,type,
insert_nat: nat > set_nat > set_nat ).
thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
insert5959526376311583392od_a_a: produc4044097585999906000od_a_a > set_Pr5530083903271594800od_a_a > set_Pr5530083903271594800od_a_a ).
thf(sy_c_Set_Oinsert_001tf__a,type,
insert_a: a > set_a > set_a ).
thf(sy_c_Set_Oinsert_001tf__f,type,
insert_f: f > set_f > set_f ).
thf(sy_c_Set_Othe__elem_001t__Nat__Onat,type,
the_elem_nat: set_nat > nat ).
thf(sy_c_Set_Othe__elem_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
the_el7097569866588581061od_a_a: set_Pr5530083903271594800od_a_a > produc4044097585999906000od_a_a ).
thf(sy_c_Set_Othe__elem_001tf__a,type,
the_elem_a: set_a > a ).
thf(sy_c_Set_Othe__elem_001tf__f,type,
the_elem_f: set_f > f ).
thf(sy_c_Wellfounded_Oaccp_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J_J,type,
accp_l6008386518424361951od_a_a: ( list_P1802437025701573206od_a_a > list_P1802437025701573206od_a_a > $o ) > list_P1802437025701573206od_a_a > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Nat__Onat_J,type,
accp_P6412015083367660281at_nat: ( produc8199716216217303280at_nat > produc8199716216217303280at_nat > $o ) > produc8199716216217303280at_nat > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_J,type,
accp_P6333248501074455554od_o_o: ( produc628930716821598713od_o_o > produc628930716821598713od_o_o > $o ) > produc628930716821598713od_o_o > $o ).
thf(sy_c_member_001t__Nat__Onat,type,
member_nat: nat > set_nat > $o ).
thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J,type,
member1089989612134903033od_o_o: produc4033586494401613520od_o_o > set_Pr6507870997995571760od_o_o > $o ).
thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_Eo_M_Eo_J_J_J,type,
member8623860796875751202od_o_o: produc628930716821598713od_o_o > set_Pr2656343962713648089od_o_o > $o ).
thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
member3071122053849602553od_a_a: produc4044097585999906000od_a_a > set_Pr5530083903271594800od_a_a > $o ).
thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
member1426531477525435216od_a_a: product_prod_a_a > set_Product_prod_a_a > $o ).
thf(sy_c_member_001t__Product____Type__Oprod_Itf__f_Mt__List__Olist_Itf__f_J_J,type,
member3461277295392922134list_f: produc7257588745650887789list_f > set_Pr9218602257211810509list_f > $o ).
thf(sy_c_member_001tf__a,type,
member_a: a > set_a > $o ).
thf(sy_c_member_001tf__f,type,
member_f: f > set_f > $o ).
thf(sy_v__092_060alpha_062,type,
alpha: a > $o ).
thf(sy_v_conds,type,
conds: list_f ).
thf(sy_v_conds_H____,type,
conds2: list_f ).
thf(sy_v_condsa____,type,
condsa: list_f ).
thf(sy_v_enc__False,type,
enc_False: f ).
thf(sy_v_enc__True,type,
enc_True: f ).
thf(sy_v_enc__conj,type,
enc_conj: list_f > f ).
thf(sy_v_enc__different,type,
enc_different: a > a > f ).
thf(sy_v_enc__equiv__and__not,type,
enc_equiv_and_not: a > a > a > f ).
thf(sy_v_enc__equiv__ite,type,
enc_equiv_ite: a > a > a > a > f ).
thf(sy_v_enc__impl,type,
enc_impl: a > f > f ).
thf(sy_v_enc__ite,type,
enc_ite: a > a > a > f ).
thf(sy_v_enc__neg,type,
enc_neg: a > f ).
thf(sy_v_enc__not__all,type,
enc_not_all: list_a > f ).
thf(sy_v_enc__not__and,type,
enc_not_and: a > a > f ).
thf(sy_v_enc__pos,type,
enc_pos: a > f ).
thf(sy_v_enc__var__impl,type,
enc_var_impl: a > a > f ).
thf(sy_v_eval,type,
eval: ( a > $o ) > f > $o ).
thf(sy_v_fone____,type,
fone: a ).
thf(sy_v_fzero____,type,
fzero: a ).
thf(sy_v_one,type,
one: a ).
thf(sy_v_one_H____,type,
one2: a ).
thf(sy_v_onea____,type,
onea: a ).
thf(sy_v_prop,type,
prop: $o ).
thf(sy_v_r____,type,
r: produc4044097585999906000od_a_a ).
thf(sy_v_rr____,type,
rr: list_P1802437025701573206od_a_a ).
thf(sy_v_vars,type,
vars: list_P1802437025701573206od_a_a ).
thf(sy_v_x____,type,
x: a ).
thf(sy_v_zero,type,
zero: a ).
thf(sy_v_zero_H____,type,
zero2: a ).
thf(sy_v_zeroa____,type,
zeroa: a ).
% Relevant facts (546)
thf(fact_0_one,axiom,
one2 = onea ).
% one
thf(fact_1_zero,axiom,
zero2 = zeroa ).
% zero
thf(fact_2_Cons_Oprems_I3_J,axiom,
( ~ prop
=> ! [X: f] :
( ( member_f @ X @ ( set_f2 @ conds2 ) )
=> ( eval @ alpha @ X ) ) ) ).
% Cons.prems(3)
thf(fact_3_x,axiom,
~ ( member_a @ x @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) ) ).
% x
thf(fact_4_Cons_Oprems_I5_J,axiom,
( ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ x @ ( product_Pair_a_a @ zeroa @ onea ) ) @ ( cons_P64011158483510406od_a_a @ r @ rr ) )
!= nil_Pr7291147438282410198od_a_a ) ).
% Cons.prems(5)
thf(fact_5_IH_I3_J,axiom,
( ( alpha @ fone )
= ( ? [X2: a] :
( ( member_a @ X2 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
& ( alpha @ X2 )
& ! [Y: a] :
( ( ( member_a @ Y @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
& ( alpha @ Y ) )
=> ( Y = X2 ) ) ) ) ) ).
% IH(3)
thf(fact_6_IH_I2_J,axiom,
( ( alpha @ fzero )
= ( ~ ? [X2: a] :
( ( member_a @ X2 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
& ( alpha @ X2 ) ) ) ) ).
% IH(2)
thf(fact_7_Cons_Oprems_I4_J,axiom,
distinct_a @ ( map_Pr4634343309551623282_a_a_a @ produc6516300539023753772od_a_a @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ x @ ( product_Pair_a_a @ zeroa @ onea ) ) @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) ).
% Cons.prems(4)
thf(fact_8_encode__sum__0__1__main_Ocases,axiom,
! [X3: list_P1802437025701573206od_a_a] :
( ! [X4: a,Zero: a,One: a] :
( X3
!= ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X4 @ ( product_Pair_a_a @ Zero @ One ) ) @ nil_Pr7291147438282410198od_a_a ) )
=> ( ! [X4: a,Zero: a,One: a,V: produc4044097585999906000od_a_a,Va: list_P1802437025701573206od_a_a] :
( X3
!= ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X4 @ ( product_Pair_a_a @ Zero @ One ) ) @ ( cons_P64011158483510406od_a_a @ V @ Va ) ) )
=> ( X3 = nil_Pr7291147438282410198od_a_a ) ) ) ).
% encode_sum_0_1_main.cases
thf(fact_9_enc__sound_I9_J,axiom,
! [Alpha: a > $o,X3: a,F: f] :
( ( eval @ Alpha @ ( enc_impl @ X3 @ F ) )
= ( ( Alpha @ X3 )
=> ( eval @ Alpha @ F ) ) ) ).
% enc_sound(9)
thf(fact_10_list_Oinject,axiom,
! [X21: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a,Y21: produc4044097585999906000od_a_a,Y22: list_P1802437025701573206od_a_a] :
( ( ( cons_P64011158483510406od_a_a @ X21 @ X22 )
= ( cons_P64011158483510406od_a_a @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X22 = Y22 ) ) ) ).
% list.inject
thf(fact_11_list_Oinject,axiom,
! [X21: f,X22: list_f,Y21: f,Y22: list_f] :
( ( ( cons_f @ X21 @ X22 )
= ( cons_f @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X22 = Y22 ) ) ) ).
% list.inject
thf(fact_12_list_Oinject,axiom,
! [X21: nat,X22: list_nat,Y21: nat,Y22: list_nat] :
( ( ( cons_nat @ X21 @ X22 )
= ( cons_nat @ Y21 @ Y22 ) )
= ( ( X21 = Y21 )
& ( X22 = Y22 ) ) ) ).
% list.inject
thf(fact_13_image__eqI,axiom,
! [B: a,F: produc4044097585999906000od_a_a > a,X3: produc4044097585999906000od_a_a,A: set_Pr5530083903271594800od_a_a] :
( ( B
= ( F @ X3 ) )
=> ( ( member3071122053849602553od_a_a @ X3 @ A )
=> ( member_a @ B @ ( image_1366754389297715763_a_a_a @ F @ A ) ) ) ) ).
% image_eqI
thf(fact_14_image__eqI,axiom,
! [B: a,F: a > a,X3: a,A: set_a] :
( ( B
= ( F @ X3 ) )
=> ( ( member_a @ X3 @ A )
=> ( member_a @ B @ ( image_a_a @ F @ A ) ) ) ) ).
% image_eqI
thf(fact_15_prod_Oinject,axiom,
! [X1: f,X23: list_f,Y1: f,Y2: list_f] :
( ( ( produc4886901243613182557list_f @ X1 @ X23 )
= ( produc4886901243613182557list_f @ Y1 @ Y2 ) )
= ( ( X1 = Y1 )
& ( X23 = Y2 ) ) ) ).
% prod.inject
thf(fact_16_prod_Oinject,axiom,
! [X1: a,X23: product_prod_o_o,Y1: a,Y2: product_prod_o_o] :
( ( ( produc1797438980157902144od_o_o @ X1 @ X23 )
= ( produc1797438980157902144od_o_o @ Y1 @ Y2 ) )
= ( ( X1 = Y1 )
& ( X23 = Y2 ) ) ) ).
% prod.inject
thf(fact_17_prod_Oinject,axiom,
! [X1: a,X23: produc4033586494401613520od_o_o,Y1: a,Y2: produc4033586494401613520od_o_o] :
( ( ( produc580260797871235561od_o_o @ X1 @ X23 )
= ( produc580260797871235561od_o_o @ Y1 @ Y2 ) )
= ( ( X1 = Y1 )
& ( X23 = Y2 ) ) ) ).
% prod.inject
thf(fact_18_prod_Oinject,axiom,
! [X1: a,X23: product_prod_a_a,Y1: a,Y2: product_prod_a_a] :
( ( ( produc431845341423274048od_a_a @ X1 @ X23 )
= ( produc431845341423274048od_a_a @ Y1 @ Y2 ) )
= ( ( X1 = Y1 )
& ( X23 = Y2 ) ) ) ).
% prod.inject
thf(fact_19_prod_Oinject,axiom,
! [X1: a,X23: a,Y1: a,Y2: a] :
( ( ( product_Pair_a_a @ X1 @ X23 )
= ( product_Pair_a_a @ Y1 @ Y2 ) )
= ( ( X1 = Y1 )
& ( X23 = Y2 ) ) ) ).
% prod.inject
thf(fact_20_old_Oprod_Oinject,axiom,
! [A2: f,B: list_f,A3: f,B2: list_f] :
( ( ( produc4886901243613182557list_f @ A2 @ B )
= ( produc4886901243613182557list_f @ A3 @ B2 ) )
= ( ( A2 = A3 )
& ( B = B2 ) ) ) ).
% old.prod.inject
thf(fact_21_old_Oprod_Oinject,axiom,
! [A2: a,B: product_prod_o_o,A3: a,B2: product_prod_o_o] :
( ( ( produc1797438980157902144od_o_o @ A2 @ B )
= ( produc1797438980157902144od_o_o @ A3 @ B2 ) )
= ( ( A2 = A3 )
& ( B = B2 ) ) ) ).
% old.prod.inject
thf(fact_22_old_Oprod_Oinject,axiom,
! [A2: a,B: produc4033586494401613520od_o_o,A3: a,B2: produc4033586494401613520od_o_o] :
( ( ( produc580260797871235561od_o_o @ A2 @ B )
= ( produc580260797871235561od_o_o @ A3 @ B2 ) )
= ( ( A2 = A3 )
& ( B = B2 ) ) ) ).
% old.prod.inject
thf(fact_23_old_Oprod_Oinject,axiom,
! [A2: a,B: product_prod_a_a,A3: a,B2: product_prod_a_a] :
( ( ( produc431845341423274048od_a_a @ A2 @ B )
= ( produc431845341423274048od_a_a @ A3 @ B2 ) )
= ( ( A2 = A3 )
& ( B = B2 ) ) ) ).
% old.prod.inject
thf(fact_24_old_Oprod_Oinject,axiom,
! [A2: a,B: a,A3: a,B2: a] :
( ( ( product_Pair_a_a @ A2 @ B )
= ( product_Pair_a_a @ A3 @ B2 ) )
= ( ( A2 = A3 )
& ( B = B2 ) ) ) ).
% old.prod.inject
thf(fact_25_prod__cases3,axiom,
! [Y3: produc4033586494401613520od_o_o] :
~ ! [A4: a,B3: $o,C: $o] :
( Y3
!= ( produc1797438980157902144od_o_o @ A4 @ ( product_Pair_o_o @ B3 @ C ) ) ) ).
% prod_cases3
thf(fact_26_prod__cases3,axiom,
! [Y3: produc628930716821598713od_o_o] :
~ ! [A4: a,B3: a,C: product_prod_o_o] :
( Y3
!= ( produc580260797871235561od_o_o @ A4 @ ( produc1797438980157902144od_o_o @ B3 @ C ) ) ) ).
% prod_cases3
thf(fact_27_prod__cases3,axiom,
! [Y3: produc4044097585999906000od_a_a] :
~ ! [A4: a,B3: a,C: a] :
( Y3
!= ( produc431845341423274048od_a_a @ A4 @ ( product_Pair_a_a @ B3 @ C ) ) ) ).
% prod_cases3
thf(fact_28_assms_I5_J,axiom,
vars != nil_Pr7291147438282410198od_a_a ).
% assms(5)
thf(fact_29_assms_I4_J,axiom,
distinct_a @ ( map_Pr4634343309551623282_a_a_a @ produc6516300539023753772od_a_a @ vars ) ).
% assms(4)
thf(fact_30_map__ident,axiom,
( ( map_nat_nat
@ ^ [X2: nat] : X2 )
= ( ^ [Xs: list_nat] : Xs ) ) ).
% map_ident
thf(fact_31_list_Omap__disc__iff,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,A2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr243255708951746116od_a_a @ F @ A2 )
= nil_Pr7291147438282410198od_a_a )
= ( A2 = nil_Pr7291147438282410198od_a_a ) ) ).
% list.map_disc_iff
thf(fact_32_list_Omap__disc__iff,axiom,
! [F: f > produc4044097585999906000od_a_a,A2: list_f] :
( ( ( map_f_5881429773128424145od_a_a @ F @ A2 )
= nil_Pr7291147438282410198od_a_a )
= ( A2 = nil_f ) ) ).
% list.map_disc_iff
thf(fact_33_list_Omap__disc__iff,axiom,
! [F: nat > produc4044097585999906000od_a_a,A2: list_nat] :
( ( ( map_na2567344611816411322od_a_a @ F @ A2 )
= nil_Pr7291147438282410198od_a_a )
= ( A2 = nil_nat ) ) ).
% list.map_disc_iff
thf(fact_34_list_Omap__disc__iff,axiom,
! [F: produc4044097585999906000od_a_a > f,A2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr4634343309551623287_a_a_f @ F @ A2 )
= nil_f )
= ( A2 = nil_Pr7291147438282410198od_a_a ) ) ).
% list.map_disc_iff
thf(fact_35_list_Omap__disc__iff,axiom,
! [F: f > f,A2: list_f] :
( ( ( map_f_f @ F @ A2 )
= nil_f )
= ( A2 = nil_f ) ) ).
% list.map_disc_iff
thf(fact_36_list_Omap__disc__iff,axiom,
! [F: nat > f,A2: list_nat] :
( ( ( map_nat_f @ F @ A2 )
= nil_f )
= ( A2 = nil_nat ) ) ).
% list.map_disc_iff
thf(fact_37_list_Omap__disc__iff,axiom,
! [F: produc4044097585999906000od_a_a > nat,A2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr165270791793943900_a_nat @ F @ A2 )
= nil_nat )
= ( A2 = nil_Pr7291147438282410198od_a_a ) ) ).
% list.map_disc_iff
thf(fact_38_list_Omap__disc__iff,axiom,
! [F: f > nat,A2: list_f] :
( ( ( map_f_nat @ F @ A2 )
= nil_nat )
= ( A2 = nil_f ) ) ).
% list.map_disc_iff
thf(fact_39_list_Omap__disc__iff,axiom,
! [F: produc4044097585999906000od_a_a > a,A2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr4634343309551623282_a_a_a @ F @ A2 )
= nil_a )
= ( A2 = nil_Pr7291147438282410198od_a_a ) ) ).
% list.map_disc_iff
thf(fact_40_list_Omap__disc__iff,axiom,
! [F: nat > nat,A2: list_nat] :
( ( ( map_nat_nat @ F @ A2 )
= nil_nat )
= ( A2 = nil_nat ) ) ).
% list.map_disc_iff
thf(fact_41_Nil__is__map__conv,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a] :
( ( nil_Pr7291147438282410198od_a_a
= ( map_Pr243255708951746116od_a_a @ F @ Xs2 ) )
= ( Xs2 = nil_Pr7291147438282410198od_a_a ) ) ).
% Nil_is_map_conv
thf(fact_42_Nil__is__map__conv,axiom,
! [F: f > produc4044097585999906000od_a_a,Xs2: list_f] :
( ( nil_Pr7291147438282410198od_a_a
= ( map_f_5881429773128424145od_a_a @ F @ Xs2 ) )
= ( Xs2 = nil_f ) ) ).
% Nil_is_map_conv
thf(fact_43_Nil__is__map__conv,axiom,
! [F: nat > produc4044097585999906000od_a_a,Xs2: list_nat] :
( ( nil_Pr7291147438282410198od_a_a
= ( map_na2567344611816411322od_a_a @ F @ Xs2 ) )
= ( Xs2 = nil_nat ) ) ).
% Nil_is_map_conv
thf(fact_44_Nil__is__map__conv,axiom,
! [F: produc4044097585999906000od_a_a > f,Xs2: list_P1802437025701573206od_a_a] :
( ( nil_f
= ( map_Pr4634343309551623287_a_a_f @ F @ Xs2 ) )
= ( Xs2 = nil_Pr7291147438282410198od_a_a ) ) ).
% Nil_is_map_conv
thf(fact_45_Nil__is__map__conv,axiom,
! [F: f > f,Xs2: list_f] :
( ( nil_f
= ( map_f_f @ F @ Xs2 ) )
= ( Xs2 = nil_f ) ) ).
% Nil_is_map_conv
thf(fact_46_Nil__is__map__conv,axiom,
! [F: nat > f,Xs2: list_nat] :
( ( nil_f
= ( map_nat_f @ F @ Xs2 ) )
= ( Xs2 = nil_nat ) ) ).
% Nil_is_map_conv
thf(fact_47_Nil__is__map__conv,axiom,
! [F: produc4044097585999906000od_a_a > nat,Xs2: list_P1802437025701573206od_a_a] :
( ( nil_nat
= ( map_Pr165270791793943900_a_nat @ F @ Xs2 ) )
= ( Xs2 = nil_Pr7291147438282410198od_a_a ) ) ).
% Nil_is_map_conv
thf(fact_48_Nil__is__map__conv,axiom,
! [F: f > nat,Xs2: list_f] :
( ( nil_nat
= ( map_f_nat @ F @ Xs2 ) )
= ( Xs2 = nil_f ) ) ).
% Nil_is_map_conv
thf(fact_49_Nil__is__map__conv,axiom,
! [F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a] :
( ( nil_a
= ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 ) )
= ( Xs2 = nil_Pr7291147438282410198od_a_a ) ) ).
% Nil_is_map_conv
thf(fact_50_Nil__is__map__conv,axiom,
! [F: nat > nat,Xs2: list_nat] :
( ( nil_nat
= ( map_nat_nat @ F @ Xs2 ) )
= ( Xs2 = nil_nat ) ) ).
% Nil_is_map_conv
thf(fact_51_map__is__Nil__conv,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr243255708951746116od_a_a @ F @ Xs2 )
= nil_Pr7291147438282410198od_a_a )
= ( Xs2 = nil_Pr7291147438282410198od_a_a ) ) ).
% map_is_Nil_conv
thf(fact_52_map__is__Nil__conv,axiom,
! [F: f > produc4044097585999906000od_a_a,Xs2: list_f] :
( ( ( map_f_5881429773128424145od_a_a @ F @ Xs2 )
= nil_Pr7291147438282410198od_a_a )
= ( Xs2 = nil_f ) ) ).
% map_is_Nil_conv
thf(fact_53_map__is__Nil__conv,axiom,
! [F: nat > produc4044097585999906000od_a_a,Xs2: list_nat] :
( ( ( map_na2567344611816411322od_a_a @ F @ Xs2 )
= nil_Pr7291147438282410198od_a_a )
= ( Xs2 = nil_nat ) ) ).
% map_is_Nil_conv
thf(fact_54_map__is__Nil__conv,axiom,
! [F: produc4044097585999906000od_a_a > f,Xs2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr4634343309551623287_a_a_f @ F @ Xs2 )
= nil_f )
= ( Xs2 = nil_Pr7291147438282410198od_a_a ) ) ).
% map_is_Nil_conv
thf(fact_55_map__is__Nil__conv,axiom,
! [F: f > f,Xs2: list_f] :
( ( ( map_f_f @ F @ Xs2 )
= nil_f )
= ( Xs2 = nil_f ) ) ).
% map_is_Nil_conv
thf(fact_56_map__is__Nil__conv,axiom,
! [F: nat > f,Xs2: list_nat] :
( ( ( map_nat_f @ F @ Xs2 )
= nil_f )
= ( Xs2 = nil_nat ) ) ).
% map_is_Nil_conv
thf(fact_57_map__is__Nil__conv,axiom,
! [F: produc4044097585999906000od_a_a > nat,Xs2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr165270791793943900_a_nat @ F @ Xs2 )
= nil_nat )
= ( Xs2 = nil_Pr7291147438282410198od_a_a ) ) ).
% map_is_Nil_conv
thf(fact_58_map__is__Nil__conv,axiom,
! [F: f > nat,Xs2: list_f] :
( ( ( map_f_nat @ F @ Xs2 )
= nil_nat )
= ( Xs2 = nil_f ) ) ).
% map_is_Nil_conv
thf(fact_59_map__is__Nil__conv,axiom,
! [F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 )
= nil_a )
= ( Xs2 = nil_Pr7291147438282410198od_a_a ) ) ).
% map_is_Nil_conv
thf(fact_60_map__is__Nil__conv,axiom,
! [F: nat > nat,Xs2: list_nat] :
( ( ( map_nat_nat @ F @ Xs2 )
= nil_nat )
= ( Xs2 = nil_nat ) ) ).
% map_is_Nil_conv
thf(fact_61_map__eq__conv,axiom,
! [F: nat > nat,Xs2: list_nat,G: nat > nat] :
( ( ( map_nat_nat @ F @ Xs2 )
= ( map_nat_nat @ G @ Xs2 ) )
= ( ! [X2: nat] :
( ( member_nat @ X2 @ ( set_nat2 @ Xs2 ) )
=> ( ( F @ X2 )
= ( G @ X2 ) ) ) ) ) ).
% map_eq_conv
thf(fact_62_map__eq__conv,axiom,
! [F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a,G: produc4044097585999906000od_a_a > a] :
( ( ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 )
= ( map_Pr4634343309551623282_a_a_a @ G @ Xs2 ) )
= ( ! [X2: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ X2 @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) )
=> ( ( F @ X2 )
= ( G @ X2 ) ) ) ) ) ).
% map_eq_conv
thf(fact_63_dist,axiom,
distinct_a @ ( map_Pr4634343309551623282_a_a_a @ produc6516300539023753772od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ).
% dist
thf(fact_64_list_Oset__map,axiom,
! [F: nat > nat,V2: list_nat] :
( ( set_nat2 @ ( map_nat_nat @ F @ V2 ) )
= ( image_nat_nat @ F @ ( set_nat2 @ V2 ) ) ) ).
% list.set_map
thf(fact_65_list_Oset__map,axiom,
! [F: f > f,V2: list_f] :
( ( set_f2 @ ( map_f_f @ F @ V2 ) )
= ( image_f_f @ F @ ( set_f2 @ V2 ) ) ) ).
% list.set_map
thf(fact_66_list_Oset__map,axiom,
! [F: produc4044097585999906000od_a_a > f,V2: list_P1802437025701573206od_a_a] :
( ( set_f2 @ ( map_Pr4634343309551623287_a_a_f @ F @ V2 ) )
= ( image_1366754389297715768_a_a_f @ F @ ( set_Pr7008919305446870117od_a_a @ V2 ) ) ) ).
% list.set_map
thf(fact_67_list_Oset__map,axiom,
! [F: a > f,V2: list_a] :
( ( set_f2 @ ( map_a_f @ F @ V2 ) )
= ( image_a_f @ F @ ( set_a2 @ V2 ) ) ) ).
% list.set_map
thf(fact_68_list_Oset__map,axiom,
! [F: f > produc4044097585999906000od_a_a,V2: list_f] :
( ( set_Pr7008919305446870117od_a_a @ ( map_f_5881429773128424145od_a_a @ F @ V2 ) )
= ( image_2613840852874516626od_a_a @ F @ ( set_f2 @ V2 ) ) ) ).
% list.set_map
thf(fact_69_list_Oset__map,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,V2: list_P1802437025701573206od_a_a] :
( ( set_Pr7008919305446870117od_a_a @ ( map_Pr243255708951746116od_a_a @ F @ V2 ) )
= ( image_4448319501361693189od_a_a @ F @ ( set_Pr7008919305446870117od_a_a @ V2 ) ) ) ).
% list.set_map
thf(fact_70_list_Oset__map,axiom,
! [F: a > produc4044097585999906000od_a_a,V2: list_a] :
( ( set_Pr7008919305446870117od_a_a @ ( map_a_7691272736327923094od_a_a @ F @ V2 ) )
= ( image_4423683816074015575od_a_a @ F @ ( set_a2 @ V2 ) ) ) ).
% list.set_map
thf(fact_71_list_Oset__map,axiom,
! [F: f > a,V2: list_f] :
( ( set_a2 @ ( map_f_a @ F @ V2 ) )
= ( image_f_a @ F @ ( set_f2 @ V2 ) ) ) ).
% list.set_map
thf(fact_72_list_Oset__map,axiom,
! [F: produc4044097585999906000od_a_a > a,V2: list_P1802437025701573206od_a_a] :
( ( set_a2 @ ( map_Pr4634343309551623282_a_a_a @ F @ V2 ) )
= ( image_1366754389297715763_a_a_a @ F @ ( set_Pr7008919305446870117od_a_a @ V2 ) ) ) ).
% list.set_map
thf(fact_73_list_Oset__map,axiom,
! [F: a > a,V2: list_a] :
( ( set_a2 @ ( map_a_a @ F @ V2 ) )
= ( image_a_a @ F @ ( set_a2 @ V2 ) ) ) ).
% list.set_map
thf(fact_74_list_Osimps_I8_J,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a] :
( ( map_Pr243255708951746116od_a_a @ F @ nil_Pr7291147438282410198od_a_a )
= nil_Pr7291147438282410198od_a_a ) ).
% list.simps(8)
thf(fact_75_list_Osimps_I8_J,axiom,
! [F: produc4044097585999906000od_a_a > f] :
( ( map_Pr4634343309551623287_a_a_f @ F @ nil_Pr7291147438282410198od_a_a )
= nil_f ) ).
% list.simps(8)
thf(fact_76_list_Osimps_I8_J,axiom,
! [F: produc4044097585999906000od_a_a > nat] :
( ( map_Pr165270791793943900_a_nat @ F @ nil_Pr7291147438282410198od_a_a )
= nil_nat ) ).
% list.simps(8)
thf(fact_77_list_Osimps_I8_J,axiom,
! [F: f > produc4044097585999906000od_a_a] :
( ( map_f_5881429773128424145od_a_a @ F @ nil_f )
= nil_Pr7291147438282410198od_a_a ) ).
% list.simps(8)
thf(fact_78_list_Osimps_I8_J,axiom,
! [F: f > f] :
( ( map_f_f @ F @ nil_f )
= nil_f ) ).
% list.simps(8)
thf(fact_79_list_Osimps_I8_J,axiom,
! [F: f > nat] :
( ( map_f_nat @ F @ nil_f )
= nil_nat ) ).
% list.simps(8)
thf(fact_80_list_Osimps_I8_J,axiom,
! [F: nat > produc4044097585999906000od_a_a] :
( ( map_na2567344611816411322od_a_a @ F @ nil_nat )
= nil_Pr7291147438282410198od_a_a ) ).
% list.simps(8)
thf(fact_81_list_Osimps_I8_J,axiom,
! [F: nat > f] :
( ( map_nat_f @ F @ nil_nat )
= nil_f ) ).
% list.simps(8)
thf(fact_82_list_Osimps_I8_J,axiom,
! [F: produc4044097585999906000od_a_a > a] :
( ( map_Pr4634343309551623282_a_a_a @ F @ nil_Pr7291147438282410198od_a_a )
= nil_a ) ).
% list.simps(8)
thf(fact_83_list_Osimps_I8_J,axiom,
! [F: nat > nat] :
( ( map_nat_nat @ F @ nil_nat )
= nil_nat ) ).
% list.simps(8)
thf(fact_84_distinct_Osimps_I1_J,axiom,
distinct_a @ nil_a ).
% distinct.simps(1)
thf(fact_85_distinct_Osimps_I1_J,axiom,
distin4039418177281331017od_a_a @ nil_Pr7291147438282410198od_a_a ).
% distinct.simps(1)
thf(fact_86_distinct_Osimps_I1_J,axiom,
distinct_f @ nil_f ).
% distinct.simps(1)
thf(fact_87_distinct_Osimps_I1_J,axiom,
distinct_nat @ nil_nat ).
% distinct.simps(1)
thf(fact_88_shuffles_Ocases,axiom,
! [X3: produc3323165008400776615od_a_a] :
( ! [Ys: list_P1802437025701573206od_a_a] :
( X3
!= ( produc4694146025100153495od_a_a @ nil_Pr7291147438282410198od_a_a @ Ys ) )
=> ( ! [Xs3: list_P1802437025701573206od_a_a] :
( X3
!= ( produc4694146025100153495od_a_a @ Xs3 @ nil_Pr7291147438282410198od_a_a ) )
=> ~ ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a,Y4: produc4044097585999906000od_a_a,Ys: list_P1802437025701573206od_a_a] :
( X3
!= ( produc4694146025100153495od_a_a @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) @ ( cons_P64011158483510406od_a_a @ Y4 @ Ys ) ) ) ) ) ).
% shuffles.cases
thf(fact_89_shuffles_Ocases,axiom,
! [X3: produc1604256039088728679list_f] :
( ! [Ys: list_f] :
( X3
!= ( produc8144748701140958423list_f @ nil_f @ Ys ) )
=> ( ! [Xs3: list_f] :
( X3
!= ( produc8144748701140958423list_f @ Xs3 @ nil_f ) )
=> ~ ! [X4: f,Xs3: list_f,Y4: f,Ys: list_f] :
( X3
!= ( produc8144748701140958423list_f @ ( cons_f @ X4 @ Xs3 ) @ ( cons_f @ Y4 @ Ys ) ) ) ) ) ).
% shuffles.cases
thf(fact_90_shuffles_Ocases,axiom,
! [X3: produc1828647624359046049st_nat] :
( ! [Ys: list_nat] :
( X3
!= ( produc2694037385005941721st_nat @ nil_nat @ Ys ) )
=> ( ! [Xs3: list_nat] :
( X3
!= ( produc2694037385005941721st_nat @ Xs3 @ nil_nat ) )
=> ~ ! [X4: nat,Xs3: list_nat,Y4: nat,Ys: list_nat] :
( X3
!= ( produc2694037385005941721st_nat @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) ) ) ) ) ).
% shuffles.cases
thf(fact_91_transpose_Ocases,axiom,
! [X3: list_l4888837856047780700od_a_a] :
( ( X3 != nil_li6406708984265833308od_a_a )
=> ( ! [Xss: list_l4888837856047780700od_a_a] :
( X3
!= ( cons_l7647087712702168844od_a_a @ nil_Pr7291147438282410198od_a_a @ Xss ) )
=> ~ ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a,Xss: list_l4888837856047780700od_a_a] :
( X3
!= ( cons_l7647087712702168844od_a_a @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) @ Xss ) ) ) ) ).
% transpose.cases
thf(fact_92_transpose_Ocases,axiom,
! [X3: list_list_f] :
( ( X3 != nil_list_f )
=> ( ! [Xss: list_list_f] :
( X3
!= ( cons_list_f @ nil_f @ Xss ) )
=> ~ ! [X4: f,Xs3: list_f,Xss: list_list_f] :
( X3
!= ( cons_list_f @ ( cons_f @ X4 @ Xs3 ) @ Xss ) ) ) ) ).
% transpose.cases
thf(fact_93_transpose_Ocases,axiom,
! [X3: list_list_nat] :
( ( X3 != nil_list_nat )
=> ( ! [Xss: list_list_nat] :
( X3
!= ( cons_list_nat @ nil_nat @ Xss ) )
=> ~ ! [X4: nat,Xs3: list_nat,Xss: list_list_nat] :
( X3
!= ( cons_list_nat @ ( cons_nat @ X4 @ Xs3 ) @ Xss ) ) ) ) ).
% transpose.cases
thf(fact_94_sorted__wrt_Ocases,axiom,
! [X3: produc6822914451196094351od_a_a] :
( ! [P: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a > $o] :
( X3
!= ( produc9098471519666438399od_a_a @ P @ nil_Pr7291147438282410198od_a_a ) )
=> ~ ! [P: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a > $o,X4: produc4044097585999906000od_a_a,Ys: list_P1802437025701573206od_a_a] :
( X3
!= ( produc9098471519666438399od_a_a @ P @ ( cons_P64011158483510406od_a_a @ X4 @ Ys ) ) ) ) ).
% sorted_wrt.cases
thf(fact_95_sorted__wrt_Ocases,axiom,
! [X3: produc5795555978541011586list_f] :
( ! [P: f > f > $o] :
( X3
!= ( produc8519404107117762418list_f @ P @ nil_f ) )
=> ~ ! [P: f > f > $o,X4: f,Ys: list_f] :
( X3
!= ( produc8519404107117762418list_f @ P @ ( cons_f @ X4 @ Ys ) ) ) ) ).
% sorted_wrt.cases
thf(fact_96_sorted__wrt_Ocases,axiom,
! [X3: produc254973753779126261st_nat] :
( ! [P: nat > nat > $o] :
( X3
!= ( produc4727192421694094319st_nat @ P @ nil_nat ) )
=> ~ ! [P: nat > nat > $o,X4: nat,Ys: list_nat] :
( X3
!= ( produc4727192421694094319st_nat @ P @ ( cons_nat @ X4 @ Ys ) ) ) ) ).
% sorted_wrt.cases
thf(fact_97_successively_Ocases,axiom,
! [X3: produc6822914451196094351od_a_a] :
( ! [P: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a > $o] :
( X3
!= ( produc9098471519666438399od_a_a @ P @ nil_Pr7291147438282410198od_a_a ) )
=> ( ! [P: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a > $o,X4: produc4044097585999906000od_a_a] :
( X3
!= ( produc9098471519666438399od_a_a @ P @ ( cons_P64011158483510406od_a_a @ X4 @ nil_Pr7291147438282410198od_a_a ) ) )
=> ~ ! [P: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a > $o,X4: produc4044097585999906000od_a_a,Y4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a] :
( X3
!= ( produc9098471519666438399od_a_a @ P @ ( cons_P64011158483510406od_a_a @ X4 @ ( cons_P64011158483510406od_a_a @ Y4 @ Xs3 ) ) ) ) ) ) ).
% successively.cases
thf(fact_98_successively_Ocases,axiom,
! [X3: produc5795555978541011586list_f] :
( ! [P: f > f > $o] :
( X3
!= ( produc8519404107117762418list_f @ P @ nil_f ) )
=> ( ! [P: f > f > $o,X4: f] :
( X3
!= ( produc8519404107117762418list_f @ P @ ( cons_f @ X4 @ nil_f ) ) )
=> ~ ! [P: f > f > $o,X4: f,Y4: f,Xs3: list_f] :
( X3
!= ( produc8519404107117762418list_f @ P @ ( cons_f @ X4 @ ( cons_f @ Y4 @ Xs3 ) ) ) ) ) ) ).
% successively.cases
thf(fact_99_successively_Ocases,axiom,
! [X3: produc254973753779126261st_nat] :
( ! [P: nat > nat > $o] :
( X3
!= ( produc4727192421694094319st_nat @ P @ nil_nat ) )
=> ( ! [P: nat > nat > $o,X4: nat] :
( X3
!= ( produc4727192421694094319st_nat @ P @ ( cons_nat @ X4 @ nil_nat ) ) )
=> ~ ! [P: nat > nat > $o,X4: nat,Y4: nat,Xs3: list_nat] :
( X3
!= ( produc4727192421694094319st_nat @ P @ ( cons_nat @ X4 @ ( cons_nat @ Y4 @ Xs3 ) ) ) ) ) ) ).
% successively.cases
thf(fact_100_list_Omap__ident,axiom,
! [T: list_nat] :
( ( map_nat_nat
@ ^ [X2: nat] : X2
@ T )
= T ) ).
% list.map_ident
thf(fact_101_sorted__list__of__set_Odistinct__if__distinct__map,axiom,
! [Xs2: list_nat] :
( ( distinct_nat @ Xs2 )
=> ( distinct_nat @ Xs2 ) ) ).
% sorted_list_of_set.distinct_if_distinct_map
thf(fact_102_distinct__singleton,axiom,
! [X3: a] : ( distinct_a @ ( cons_a @ X3 @ nil_a ) ) ).
% distinct_singleton
thf(fact_103_distinct__singleton,axiom,
! [X3: produc4044097585999906000od_a_a] : ( distin4039418177281331017od_a_a @ ( cons_P64011158483510406od_a_a @ X3 @ nil_Pr7291147438282410198od_a_a ) ) ).
% distinct_singleton
thf(fact_104_distinct__singleton,axiom,
! [X3: f] : ( distinct_f @ ( cons_f @ X3 @ nil_f ) ) ).
% distinct_singleton
thf(fact_105_distinct__singleton,axiom,
! [X3: nat] : ( distinct_nat @ ( cons_nat @ X3 @ nil_nat ) ) ).
% distinct_singleton
thf(fact_106_map__eq__Cons__conv,axiom,
! [F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a,Y3: a,Ys2: list_a] :
( ( ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 )
= ( cons_a @ Y3 @ Ys2 ) )
= ( ? [Z: produc4044097585999906000od_a_a,Zs: list_P1802437025701573206od_a_a] :
( ( Xs2
= ( cons_P64011158483510406od_a_a @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_Pr4634343309551623282_a_a_a @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_107_map__eq__Cons__conv,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a,Y3: produc4044097585999906000od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr243255708951746116od_a_a @ F @ Xs2 )
= ( cons_P64011158483510406od_a_a @ Y3 @ Ys2 ) )
= ( ? [Z: produc4044097585999906000od_a_a,Zs: list_P1802437025701573206od_a_a] :
( ( Xs2
= ( cons_P64011158483510406od_a_a @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_Pr243255708951746116od_a_a @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_108_map__eq__Cons__conv,axiom,
! [F: f > produc4044097585999906000od_a_a,Xs2: list_f,Y3: produc4044097585999906000od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( map_f_5881429773128424145od_a_a @ F @ Xs2 )
= ( cons_P64011158483510406od_a_a @ Y3 @ Ys2 ) )
= ( ? [Z: f,Zs: list_f] :
( ( Xs2
= ( cons_f @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_f_5881429773128424145od_a_a @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_109_map__eq__Cons__conv,axiom,
! [F: nat > produc4044097585999906000od_a_a,Xs2: list_nat,Y3: produc4044097585999906000od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( map_na2567344611816411322od_a_a @ F @ Xs2 )
= ( cons_P64011158483510406od_a_a @ Y3 @ Ys2 ) )
= ( ? [Z: nat,Zs: list_nat] :
( ( Xs2
= ( cons_nat @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_na2567344611816411322od_a_a @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_110_map__eq__Cons__conv,axiom,
! [F: produc4044097585999906000od_a_a > f,Xs2: list_P1802437025701573206od_a_a,Y3: f,Ys2: list_f] :
( ( ( map_Pr4634343309551623287_a_a_f @ F @ Xs2 )
= ( cons_f @ Y3 @ Ys2 ) )
= ( ? [Z: produc4044097585999906000od_a_a,Zs: list_P1802437025701573206od_a_a] :
( ( Xs2
= ( cons_P64011158483510406od_a_a @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_Pr4634343309551623287_a_a_f @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_111_map__eq__Cons__conv,axiom,
! [F: f > f,Xs2: list_f,Y3: f,Ys2: list_f] :
( ( ( map_f_f @ F @ Xs2 )
= ( cons_f @ Y3 @ Ys2 ) )
= ( ? [Z: f,Zs: list_f] :
( ( Xs2
= ( cons_f @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_f_f @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_112_map__eq__Cons__conv,axiom,
! [F: nat > f,Xs2: list_nat,Y3: f,Ys2: list_f] :
( ( ( map_nat_f @ F @ Xs2 )
= ( cons_f @ Y3 @ Ys2 ) )
= ( ? [Z: nat,Zs: list_nat] :
( ( Xs2
= ( cons_nat @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_nat_f @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_113_map__eq__Cons__conv,axiom,
! [F: produc4044097585999906000od_a_a > nat,Xs2: list_P1802437025701573206od_a_a,Y3: nat,Ys2: list_nat] :
( ( ( map_Pr165270791793943900_a_nat @ F @ Xs2 )
= ( cons_nat @ Y3 @ Ys2 ) )
= ( ? [Z: produc4044097585999906000od_a_a,Zs: list_P1802437025701573206od_a_a] :
( ( Xs2
= ( cons_P64011158483510406od_a_a @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_Pr165270791793943900_a_nat @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_114_map__eq__Cons__conv,axiom,
! [F: f > nat,Xs2: list_f,Y3: nat,Ys2: list_nat] :
( ( ( map_f_nat @ F @ Xs2 )
= ( cons_nat @ Y3 @ Ys2 ) )
= ( ? [Z: f,Zs: list_f] :
( ( Xs2
= ( cons_f @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_f_nat @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_115_map__eq__Cons__conv,axiom,
! [F: nat > nat,Xs2: list_nat,Y3: nat,Ys2: list_nat] :
( ( ( map_nat_nat @ F @ Xs2 )
= ( cons_nat @ Y3 @ Ys2 ) )
= ( ? [Z: nat,Zs: list_nat] :
( ( Xs2
= ( cons_nat @ Z @ Zs ) )
& ( ( F @ Z )
= Y3 )
& ( ( map_nat_nat @ F @ Zs )
= Ys2 ) ) ) ) ).
% map_eq_Cons_conv
thf(fact_116_Cons__eq__map__conv,axiom,
! [X3: a,Xs2: list_a,F: produc4044097585999906000od_a_a > a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( cons_a @ X3 @ Xs2 )
= ( map_Pr4634343309551623282_a_a_a @ F @ Ys2 ) )
= ( ? [Z: produc4044097585999906000od_a_a,Zs: list_P1802437025701573206od_a_a] :
( ( Ys2
= ( cons_P64011158483510406od_a_a @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_Pr4634343309551623282_a_a_a @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_117_Cons__eq__map__conv,axiom,
! [X3: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a,F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( cons_P64011158483510406od_a_a @ X3 @ Xs2 )
= ( map_Pr243255708951746116od_a_a @ F @ Ys2 ) )
= ( ? [Z: produc4044097585999906000od_a_a,Zs: list_P1802437025701573206od_a_a] :
( ( Ys2
= ( cons_P64011158483510406od_a_a @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_Pr243255708951746116od_a_a @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_118_Cons__eq__map__conv,axiom,
! [X3: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a,F: f > produc4044097585999906000od_a_a,Ys2: list_f] :
( ( ( cons_P64011158483510406od_a_a @ X3 @ Xs2 )
= ( map_f_5881429773128424145od_a_a @ F @ Ys2 ) )
= ( ? [Z: f,Zs: list_f] :
( ( Ys2
= ( cons_f @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_f_5881429773128424145od_a_a @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_119_Cons__eq__map__conv,axiom,
! [X3: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a,F: nat > produc4044097585999906000od_a_a,Ys2: list_nat] :
( ( ( cons_P64011158483510406od_a_a @ X3 @ Xs2 )
= ( map_na2567344611816411322od_a_a @ F @ Ys2 ) )
= ( ? [Z: nat,Zs: list_nat] :
( ( Ys2
= ( cons_nat @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_na2567344611816411322od_a_a @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_120_Cons__eq__map__conv,axiom,
! [X3: f,Xs2: list_f,F: produc4044097585999906000od_a_a > f,Ys2: list_P1802437025701573206od_a_a] :
( ( ( cons_f @ X3 @ Xs2 )
= ( map_Pr4634343309551623287_a_a_f @ F @ Ys2 ) )
= ( ? [Z: produc4044097585999906000od_a_a,Zs: list_P1802437025701573206od_a_a] :
( ( Ys2
= ( cons_P64011158483510406od_a_a @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_Pr4634343309551623287_a_a_f @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_121_Cons__eq__map__conv,axiom,
! [X3: f,Xs2: list_f,F: f > f,Ys2: list_f] :
( ( ( cons_f @ X3 @ Xs2 )
= ( map_f_f @ F @ Ys2 ) )
= ( ? [Z: f,Zs: list_f] :
( ( Ys2
= ( cons_f @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_f_f @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_122_Cons__eq__map__conv,axiom,
! [X3: f,Xs2: list_f,F: nat > f,Ys2: list_nat] :
( ( ( cons_f @ X3 @ Xs2 )
= ( map_nat_f @ F @ Ys2 ) )
= ( ? [Z: nat,Zs: list_nat] :
( ( Ys2
= ( cons_nat @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_nat_f @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_123_Cons__eq__map__conv,axiom,
! [X3: nat,Xs2: list_nat,F: produc4044097585999906000od_a_a > nat,Ys2: list_P1802437025701573206od_a_a] :
( ( ( cons_nat @ X3 @ Xs2 )
= ( map_Pr165270791793943900_a_nat @ F @ Ys2 ) )
= ( ? [Z: produc4044097585999906000od_a_a,Zs: list_P1802437025701573206od_a_a] :
( ( Ys2
= ( cons_P64011158483510406od_a_a @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_Pr165270791793943900_a_nat @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_124_Cons__eq__map__conv,axiom,
! [X3: nat,Xs2: list_nat,F: f > nat,Ys2: list_f] :
( ( ( cons_nat @ X3 @ Xs2 )
= ( map_f_nat @ F @ Ys2 ) )
= ( ? [Z: f,Zs: list_f] :
( ( Ys2
= ( cons_f @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_f_nat @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_125_Cons__eq__map__conv,axiom,
! [X3: nat,Xs2: list_nat,F: nat > nat,Ys2: list_nat] :
( ( ( cons_nat @ X3 @ Xs2 )
= ( map_nat_nat @ F @ Ys2 ) )
= ( ? [Z: nat,Zs: list_nat] :
( ( Ys2
= ( cons_nat @ Z @ Zs ) )
& ( X3
= ( F @ Z ) )
& ( Xs2
= ( map_nat_nat @ F @ Zs ) ) ) ) ) ).
% Cons_eq_map_conv
thf(fact_126_map__eq__Cons__D,axiom,
! [F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a,Y3: a,Ys2: list_a] :
( ( ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 )
= ( cons_a @ Y3 @ Ys2 ) )
=> ? [Z2: produc4044097585999906000od_a_a,Zs2: list_P1802437025701573206od_a_a] :
( ( Xs2
= ( cons_P64011158483510406od_a_a @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_Pr4634343309551623282_a_a_a @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_127_map__eq__Cons__D,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a,Y3: produc4044097585999906000od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr243255708951746116od_a_a @ F @ Xs2 )
= ( cons_P64011158483510406od_a_a @ Y3 @ Ys2 ) )
=> ? [Z2: produc4044097585999906000od_a_a,Zs2: list_P1802437025701573206od_a_a] :
( ( Xs2
= ( cons_P64011158483510406od_a_a @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_Pr243255708951746116od_a_a @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_128_map__eq__Cons__D,axiom,
! [F: f > produc4044097585999906000od_a_a,Xs2: list_f,Y3: produc4044097585999906000od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( map_f_5881429773128424145od_a_a @ F @ Xs2 )
= ( cons_P64011158483510406od_a_a @ Y3 @ Ys2 ) )
=> ? [Z2: f,Zs2: list_f] :
( ( Xs2
= ( cons_f @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_f_5881429773128424145od_a_a @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_129_map__eq__Cons__D,axiom,
! [F: nat > produc4044097585999906000od_a_a,Xs2: list_nat,Y3: produc4044097585999906000od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( map_na2567344611816411322od_a_a @ F @ Xs2 )
= ( cons_P64011158483510406od_a_a @ Y3 @ Ys2 ) )
=> ? [Z2: nat,Zs2: list_nat] :
( ( Xs2
= ( cons_nat @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_na2567344611816411322od_a_a @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_130_map__eq__Cons__D,axiom,
! [F: produc4044097585999906000od_a_a > f,Xs2: list_P1802437025701573206od_a_a,Y3: f,Ys2: list_f] :
( ( ( map_Pr4634343309551623287_a_a_f @ F @ Xs2 )
= ( cons_f @ Y3 @ Ys2 ) )
=> ? [Z2: produc4044097585999906000od_a_a,Zs2: list_P1802437025701573206od_a_a] :
( ( Xs2
= ( cons_P64011158483510406od_a_a @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_Pr4634343309551623287_a_a_f @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_131_map__eq__Cons__D,axiom,
! [F: f > f,Xs2: list_f,Y3: f,Ys2: list_f] :
( ( ( map_f_f @ F @ Xs2 )
= ( cons_f @ Y3 @ Ys2 ) )
=> ? [Z2: f,Zs2: list_f] :
( ( Xs2
= ( cons_f @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_f_f @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_132_map__eq__Cons__D,axiom,
! [F: nat > f,Xs2: list_nat,Y3: f,Ys2: list_f] :
( ( ( map_nat_f @ F @ Xs2 )
= ( cons_f @ Y3 @ Ys2 ) )
=> ? [Z2: nat,Zs2: list_nat] :
( ( Xs2
= ( cons_nat @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_nat_f @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_133_map__eq__Cons__D,axiom,
! [F: produc4044097585999906000od_a_a > nat,Xs2: list_P1802437025701573206od_a_a,Y3: nat,Ys2: list_nat] :
( ( ( map_Pr165270791793943900_a_nat @ F @ Xs2 )
= ( cons_nat @ Y3 @ Ys2 ) )
=> ? [Z2: produc4044097585999906000od_a_a,Zs2: list_P1802437025701573206od_a_a] :
( ( Xs2
= ( cons_P64011158483510406od_a_a @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_Pr165270791793943900_a_nat @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_134_map__eq__Cons__D,axiom,
! [F: f > nat,Xs2: list_f,Y3: nat,Ys2: list_nat] :
( ( ( map_f_nat @ F @ Xs2 )
= ( cons_nat @ Y3 @ Ys2 ) )
=> ? [Z2: f,Zs2: list_f] :
( ( Xs2
= ( cons_f @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_f_nat @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_135_map__eq__Cons__D,axiom,
! [F: nat > nat,Xs2: list_nat,Y3: nat,Ys2: list_nat] :
( ( ( map_nat_nat @ F @ Xs2 )
= ( cons_nat @ Y3 @ Ys2 ) )
=> ? [Z2: nat,Zs2: list_nat] :
( ( Xs2
= ( cons_nat @ Z2 @ Zs2 ) )
& ( ( F @ Z2 )
= Y3 )
& ( ( map_nat_nat @ F @ Zs2 )
= Ys2 ) ) ) ).
% map_eq_Cons_D
thf(fact_136_Cons__eq__map__D,axiom,
! [X3: a,Xs2: list_a,F: produc4044097585999906000od_a_a > a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( cons_a @ X3 @ Xs2 )
= ( map_Pr4634343309551623282_a_a_a @ F @ Ys2 ) )
=> ? [Z2: produc4044097585999906000od_a_a,Zs2: list_P1802437025701573206od_a_a] :
( ( Ys2
= ( cons_P64011158483510406od_a_a @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_Pr4634343309551623282_a_a_a @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_137_Cons__eq__map__D,axiom,
! [X3: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a,F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( cons_P64011158483510406od_a_a @ X3 @ Xs2 )
= ( map_Pr243255708951746116od_a_a @ F @ Ys2 ) )
=> ? [Z2: produc4044097585999906000od_a_a,Zs2: list_P1802437025701573206od_a_a] :
( ( Ys2
= ( cons_P64011158483510406od_a_a @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_Pr243255708951746116od_a_a @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_138_Cons__eq__map__D,axiom,
! [X3: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a,F: f > produc4044097585999906000od_a_a,Ys2: list_f] :
( ( ( cons_P64011158483510406od_a_a @ X3 @ Xs2 )
= ( map_f_5881429773128424145od_a_a @ F @ Ys2 ) )
=> ? [Z2: f,Zs2: list_f] :
( ( Ys2
= ( cons_f @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_f_5881429773128424145od_a_a @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_139_Cons__eq__map__D,axiom,
! [X3: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a,F: nat > produc4044097585999906000od_a_a,Ys2: list_nat] :
( ( ( cons_P64011158483510406od_a_a @ X3 @ Xs2 )
= ( map_na2567344611816411322od_a_a @ F @ Ys2 ) )
=> ? [Z2: nat,Zs2: list_nat] :
( ( Ys2
= ( cons_nat @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_na2567344611816411322od_a_a @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_140_Cons__eq__map__D,axiom,
! [X3: f,Xs2: list_f,F: produc4044097585999906000od_a_a > f,Ys2: list_P1802437025701573206od_a_a] :
( ( ( cons_f @ X3 @ Xs2 )
= ( map_Pr4634343309551623287_a_a_f @ F @ Ys2 ) )
=> ? [Z2: produc4044097585999906000od_a_a,Zs2: list_P1802437025701573206od_a_a] :
( ( Ys2
= ( cons_P64011158483510406od_a_a @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_Pr4634343309551623287_a_a_f @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_141_Cons__eq__map__D,axiom,
! [X3: f,Xs2: list_f,F: f > f,Ys2: list_f] :
( ( ( cons_f @ X3 @ Xs2 )
= ( map_f_f @ F @ Ys2 ) )
=> ? [Z2: f,Zs2: list_f] :
( ( Ys2
= ( cons_f @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_f_f @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_142_Cons__eq__map__D,axiom,
! [X3: f,Xs2: list_f,F: nat > f,Ys2: list_nat] :
( ( ( cons_f @ X3 @ Xs2 )
= ( map_nat_f @ F @ Ys2 ) )
=> ? [Z2: nat,Zs2: list_nat] :
( ( Ys2
= ( cons_nat @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_nat_f @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_143_Cons__eq__map__D,axiom,
! [X3: nat,Xs2: list_nat,F: produc4044097585999906000od_a_a > nat,Ys2: list_P1802437025701573206od_a_a] :
( ( ( cons_nat @ X3 @ Xs2 )
= ( map_Pr165270791793943900_a_nat @ F @ Ys2 ) )
=> ? [Z2: produc4044097585999906000od_a_a,Zs2: list_P1802437025701573206od_a_a] :
( ( Ys2
= ( cons_P64011158483510406od_a_a @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_Pr165270791793943900_a_nat @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_144_Cons__eq__map__D,axiom,
! [X3: nat,Xs2: list_nat,F: f > nat,Ys2: list_f] :
( ( ( cons_nat @ X3 @ Xs2 )
= ( map_f_nat @ F @ Ys2 ) )
=> ? [Z2: f,Zs2: list_f] :
( ( Ys2
= ( cons_f @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_f_nat @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_145_Cons__eq__map__D,axiom,
! [X3: nat,Xs2: list_nat,F: nat > nat,Ys2: list_nat] :
( ( ( cons_nat @ X3 @ Xs2 )
= ( map_nat_nat @ F @ Ys2 ) )
=> ? [Z2: nat,Zs2: list_nat] :
( ( Ys2
= ( cons_nat @ Z2 @ Zs2 ) )
& ( X3
= ( F @ Z2 ) )
& ( Xs2
= ( map_nat_nat @ F @ Zs2 ) ) ) ) ).
% Cons_eq_map_D
thf(fact_146_list_Osimps_I9_J,axiom,
! [F: produc4044097585999906000od_a_a > a,X21: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a] :
( ( map_Pr4634343309551623282_a_a_a @ F @ ( cons_P64011158483510406od_a_a @ X21 @ X22 ) )
= ( cons_a @ ( F @ X21 ) @ ( map_Pr4634343309551623282_a_a_a @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_147_list_Osimps_I9_J,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,X21: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a] :
( ( map_Pr243255708951746116od_a_a @ F @ ( cons_P64011158483510406od_a_a @ X21 @ X22 ) )
= ( cons_P64011158483510406od_a_a @ ( F @ X21 ) @ ( map_Pr243255708951746116od_a_a @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_148_list_Osimps_I9_J,axiom,
! [F: produc4044097585999906000od_a_a > f,X21: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a] :
( ( map_Pr4634343309551623287_a_a_f @ F @ ( cons_P64011158483510406od_a_a @ X21 @ X22 ) )
= ( cons_f @ ( F @ X21 ) @ ( map_Pr4634343309551623287_a_a_f @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_149_list_Osimps_I9_J,axiom,
! [F: produc4044097585999906000od_a_a > nat,X21: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a] :
( ( map_Pr165270791793943900_a_nat @ F @ ( cons_P64011158483510406od_a_a @ X21 @ X22 ) )
= ( cons_nat @ ( F @ X21 ) @ ( map_Pr165270791793943900_a_nat @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_150_list_Osimps_I9_J,axiom,
! [F: f > produc4044097585999906000od_a_a,X21: f,X22: list_f] :
( ( map_f_5881429773128424145od_a_a @ F @ ( cons_f @ X21 @ X22 ) )
= ( cons_P64011158483510406od_a_a @ ( F @ X21 ) @ ( map_f_5881429773128424145od_a_a @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_151_list_Osimps_I9_J,axiom,
! [F: f > f,X21: f,X22: list_f] :
( ( map_f_f @ F @ ( cons_f @ X21 @ X22 ) )
= ( cons_f @ ( F @ X21 ) @ ( map_f_f @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_152_list_Osimps_I9_J,axiom,
! [F: f > nat,X21: f,X22: list_f] :
( ( map_f_nat @ F @ ( cons_f @ X21 @ X22 ) )
= ( cons_nat @ ( F @ X21 ) @ ( map_f_nat @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_153_list_Osimps_I9_J,axiom,
! [F: nat > produc4044097585999906000od_a_a,X21: nat,X22: list_nat] :
( ( map_na2567344611816411322od_a_a @ F @ ( cons_nat @ X21 @ X22 ) )
= ( cons_P64011158483510406od_a_a @ ( F @ X21 ) @ ( map_na2567344611816411322od_a_a @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_154_list_Osimps_I9_J,axiom,
! [F: nat > f,X21: nat,X22: list_nat] :
( ( map_nat_f @ F @ ( cons_nat @ X21 @ X22 ) )
= ( cons_f @ ( F @ X21 ) @ ( map_nat_f @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_155_list_Osimps_I9_J,axiom,
! [F: nat > nat,X21: nat,X22: list_nat] :
( ( map_nat_nat @ F @ ( cons_nat @ X21 @ X22 ) )
= ( cons_nat @ ( F @ X21 ) @ ( map_nat_nat @ F @ X22 ) ) ) ).
% list.simps(9)
thf(fact_156_ex__map__conv,axiom,
! [Ys2: list_nat,F: nat > nat] :
( ( ? [Xs: list_nat] :
( Ys2
= ( map_nat_nat @ F @ Xs ) ) )
= ( ! [X2: nat] :
( ( member_nat @ X2 @ ( set_nat2 @ Ys2 ) )
=> ? [Y: nat] :
( X2
= ( F @ Y ) ) ) ) ) ).
% ex_map_conv
thf(fact_157_ex__map__conv,axiom,
! [Ys2: list_a,F: produc4044097585999906000od_a_a > a] :
( ( ? [Xs: list_P1802437025701573206od_a_a] :
( Ys2
= ( map_Pr4634343309551623282_a_a_a @ F @ Xs ) ) )
= ( ! [X2: a] :
( ( member_a @ X2 @ ( set_a2 @ Ys2 ) )
=> ? [Y: produc4044097585999906000od_a_a] :
( X2
= ( F @ Y ) ) ) ) ) ).
% ex_map_conv
thf(fact_158_map__cong,axiom,
! [Xs2: list_nat,Ys2: list_nat,F: nat > nat,G: nat > nat] :
( ( Xs2 = Ys2 )
=> ( ! [X4: nat] :
( ( member_nat @ X4 @ ( set_nat2 @ Ys2 ) )
=> ( ( F @ X4 )
= ( G @ X4 ) ) )
=> ( ( map_nat_nat @ F @ Xs2 )
= ( map_nat_nat @ G @ Ys2 ) ) ) ) ).
% map_cong
thf(fact_159_map__cong,axiom,
! [Xs2: list_P1802437025701573206od_a_a,Ys2: list_P1802437025701573206od_a_a,F: produc4044097585999906000od_a_a > a,G: produc4044097585999906000od_a_a > a] :
( ( Xs2 = Ys2 )
=> ( ! [X4: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ X4 @ ( set_Pr7008919305446870117od_a_a @ Ys2 ) )
=> ( ( F @ X4 )
= ( G @ X4 ) ) )
=> ( ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 )
= ( map_Pr4634343309551623282_a_a_a @ G @ Ys2 ) ) ) ) ).
% map_cong
thf(fact_160_mem__Collect__eq,axiom,
! [A2: a,P2: a > $o] :
( ( member_a @ A2 @ ( collect_a @ P2 ) )
= ( P2 @ A2 ) ) ).
% mem_Collect_eq
thf(fact_161_Collect__mem__eq,axiom,
! [A: set_a] :
( ( collect_a
@ ^ [X2: a] : ( member_a @ X2 @ A ) )
= A ) ).
% Collect_mem_eq
thf(fact_162_map__idI,axiom,
! [Xs2: list_nat,F: nat > nat] :
( ! [X4: nat] :
( ( member_nat @ X4 @ ( set_nat2 @ Xs2 ) )
=> ( ( F @ X4 )
= X4 ) )
=> ( ( map_nat_nat @ F @ Xs2 )
= Xs2 ) ) ).
% map_idI
thf(fact_163_map__idI,axiom,
! [Xs2: list_f,F: f > f] :
( ! [X4: f] :
( ( member_f @ X4 @ ( set_f2 @ Xs2 ) )
=> ( ( F @ X4 )
= X4 ) )
=> ( ( map_f_f @ F @ Xs2 )
= Xs2 ) ) ).
% map_idI
thf(fact_164_map__idI,axiom,
! [Xs2: list_P1802437025701573206od_a_a,F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a] :
( ! [X4: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ X4 @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) )
=> ( ( F @ X4 )
= X4 ) )
=> ( ( map_Pr243255708951746116od_a_a @ F @ Xs2 )
= Xs2 ) ) ).
% map_idI
thf(fact_165_map__idI,axiom,
! [Xs2: list_a,F: a > a] :
( ! [X4: a] :
( ( member_a @ X4 @ ( set_a2 @ Xs2 ) )
=> ( ( F @ X4 )
= X4 ) )
=> ( ( map_a_a @ F @ Xs2 )
= Xs2 ) ) ).
% map_idI
thf(fact_166_map__ext,axiom,
! [Xs2: list_nat,F: nat > nat,G: nat > nat] :
( ! [X4: nat] :
( ( member_nat @ X4 @ ( set_nat2 @ Xs2 ) )
=> ( ( F @ X4 )
= ( G @ X4 ) ) )
=> ( ( map_nat_nat @ F @ Xs2 )
= ( map_nat_nat @ G @ Xs2 ) ) ) ).
% map_ext
thf(fact_167_map__ext,axiom,
! [Xs2: list_P1802437025701573206od_a_a,F: produc4044097585999906000od_a_a > a,G: produc4044097585999906000od_a_a > a] :
( ! [X4: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ X4 @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) )
=> ( ( F @ X4 )
= ( G @ X4 ) ) )
=> ( ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 )
= ( map_Pr4634343309551623282_a_a_a @ G @ Xs2 ) ) ) ).
% map_ext
thf(fact_168_list_Omap__ident__strong,axiom,
! [T: list_nat,F: nat > nat] :
( ! [Z2: nat] :
( ( member_nat @ Z2 @ ( set_nat2 @ T ) )
=> ( ( F @ Z2 )
= Z2 ) )
=> ( ( map_nat_nat @ F @ T )
= T ) ) ).
% list.map_ident_strong
thf(fact_169_list_Omap__ident__strong,axiom,
! [T: list_f,F: f > f] :
( ! [Z2: f] :
( ( member_f @ Z2 @ ( set_f2 @ T ) )
=> ( ( F @ Z2 )
= Z2 ) )
=> ( ( map_f_f @ F @ T )
= T ) ) ).
% list.map_ident_strong
thf(fact_170_list_Omap__ident__strong,axiom,
! [T: list_P1802437025701573206od_a_a,F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a] :
( ! [Z2: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ Z2 @ ( set_Pr7008919305446870117od_a_a @ T ) )
=> ( ( F @ Z2 )
= Z2 ) )
=> ( ( map_Pr243255708951746116od_a_a @ F @ T )
= T ) ) ).
% list.map_ident_strong
thf(fact_171_list_Omap__ident__strong,axiom,
! [T: list_a,F: a > a] :
( ! [Z2: a] :
( ( member_a @ Z2 @ ( set_a2 @ T ) )
=> ( ( F @ Z2 )
= Z2 ) )
=> ( ( map_a_a @ F @ T )
= T ) ) ).
% list.map_ident_strong
thf(fact_172_list_Oinj__map__strong,axiom,
! [X3: list_nat,Xa: list_nat,F: nat > nat,Fa: nat > nat] :
( ! [Z2: nat,Za: nat] :
( ( member_nat @ Z2 @ ( set_nat2 @ X3 ) )
=> ( ( member_nat @ Za @ ( set_nat2 @ Xa ) )
=> ( ( ( F @ Z2 )
= ( Fa @ Za ) )
=> ( Z2 = Za ) ) ) )
=> ( ( ( map_nat_nat @ F @ X3 )
= ( map_nat_nat @ Fa @ Xa ) )
=> ( X3 = Xa ) ) ) ).
% list.inj_map_strong
thf(fact_173_list_Oinj__map__strong,axiom,
! [X3: list_P1802437025701573206od_a_a,Xa: list_P1802437025701573206od_a_a,F: produc4044097585999906000od_a_a > a,Fa: produc4044097585999906000od_a_a > a] :
( ! [Z2: produc4044097585999906000od_a_a,Za: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ Z2 @ ( set_Pr7008919305446870117od_a_a @ X3 ) )
=> ( ( member3071122053849602553od_a_a @ Za @ ( set_Pr7008919305446870117od_a_a @ Xa ) )
=> ( ( ( F @ Z2 )
= ( Fa @ Za ) )
=> ( Z2 = Za ) ) ) )
=> ( ( ( map_Pr4634343309551623282_a_a_a @ F @ X3 )
= ( map_Pr4634343309551623282_a_a_a @ Fa @ Xa ) )
=> ( X3 = Xa ) ) ) ).
% list.inj_map_strong
thf(fact_174_list_Omap__cong0,axiom,
! [X3: list_nat,F: nat > nat,G: nat > nat] :
( ! [Z2: nat] :
( ( member_nat @ Z2 @ ( set_nat2 @ X3 ) )
=> ( ( F @ Z2 )
= ( G @ Z2 ) ) )
=> ( ( map_nat_nat @ F @ X3 )
= ( map_nat_nat @ G @ X3 ) ) ) ).
% list.map_cong0
thf(fact_175_list_Omap__cong0,axiom,
! [X3: list_P1802437025701573206od_a_a,F: produc4044097585999906000od_a_a > a,G: produc4044097585999906000od_a_a > a] :
( ! [Z2: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ Z2 @ ( set_Pr7008919305446870117od_a_a @ X3 ) )
=> ( ( F @ Z2 )
= ( G @ Z2 ) ) )
=> ( ( map_Pr4634343309551623282_a_a_a @ F @ X3 )
= ( map_Pr4634343309551623282_a_a_a @ G @ X3 ) ) ) ).
% list.map_cong0
thf(fact_176_list_Omap__cong,axiom,
! [X3: list_nat,Ya: list_nat,F: nat > nat,G: nat > nat] :
( ( X3 = Ya )
=> ( ! [Z2: nat] :
( ( member_nat @ Z2 @ ( set_nat2 @ Ya ) )
=> ( ( F @ Z2 )
= ( G @ Z2 ) ) )
=> ( ( map_nat_nat @ F @ X3 )
= ( map_nat_nat @ G @ Ya ) ) ) ) ).
% list.map_cong
thf(fact_177_list_Omap__cong,axiom,
! [X3: list_P1802437025701573206od_a_a,Ya: list_P1802437025701573206od_a_a,F: produc4044097585999906000od_a_a > a,G: produc4044097585999906000od_a_a > a] :
( ( X3 = Ya )
=> ( ! [Z2: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ Z2 @ ( set_Pr7008919305446870117od_a_a @ Ya ) )
=> ( ( F @ Z2 )
= ( G @ Z2 ) ) )
=> ( ( map_Pr4634343309551623282_a_a_a @ F @ X3 )
= ( map_Pr4634343309551623282_a_a_a @ G @ Ya ) ) ) ) ).
% list.map_cong
thf(fact_178_distinct__length__2__or__more,axiom,
! [A2: a,B: a,Xs2: list_a] :
( ( distinct_a @ ( cons_a @ A2 @ ( cons_a @ B @ Xs2 ) ) )
= ( ( A2 != B )
& ( distinct_a @ ( cons_a @ A2 @ Xs2 ) )
& ( distinct_a @ ( cons_a @ B @ Xs2 ) ) ) ) ).
% distinct_length_2_or_more
thf(fact_179_distinct__length__2__or__more,axiom,
! [A2: produc4044097585999906000od_a_a,B: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a] :
( ( distin4039418177281331017od_a_a @ ( cons_P64011158483510406od_a_a @ A2 @ ( cons_P64011158483510406od_a_a @ B @ Xs2 ) ) )
= ( ( A2 != B )
& ( distin4039418177281331017od_a_a @ ( cons_P64011158483510406od_a_a @ A2 @ Xs2 ) )
& ( distin4039418177281331017od_a_a @ ( cons_P64011158483510406od_a_a @ B @ Xs2 ) ) ) ) ).
% distinct_length_2_or_more
thf(fact_180_distinct__length__2__or__more,axiom,
! [A2: f,B: f,Xs2: list_f] :
( ( distinct_f @ ( cons_f @ A2 @ ( cons_f @ B @ Xs2 ) ) )
= ( ( A2 != B )
& ( distinct_f @ ( cons_f @ A2 @ Xs2 ) )
& ( distinct_f @ ( cons_f @ B @ Xs2 ) ) ) ) ).
% distinct_length_2_or_more
thf(fact_181_distinct__length__2__or__more,axiom,
! [A2: nat,B: nat,Xs2: list_nat] :
( ( distinct_nat @ ( cons_nat @ A2 @ ( cons_nat @ B @ Xs2 ) ) )
= ( ( A2 != B )
& ( distinct_nat @ ( cons_nat @ A2 @ Xs2 ) )
& ( distinct_nat @ ( cons_nat @ B @ Xs2 ) ) ) ) ).
% distinct_length_2_or_more
thf(fact_182_list__nonempty__induct,axiom,
! [Xs2: list_P1802437025701573206od_a_a,P2: list_P1802437025701573206od_a_a > $o] :
( ( Xs2 != nil_Pr7291147438282410198od_a_a )
=> ( ! [X4: produc4044097585999906000od_a_a] : ( P2 @ ( cons_P64011158483510406od_a_a @ X4 @ nil_Pr7291147438282410198od_a_a ) )
=> ( ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a] :
( ( Xs3 != nil_Pr7291147438282410198od_a_a )
=> ( ( P2 @ Xs3 )
=> ( P2 @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) ) ) )
=> ( P2 @ Xs2 ) ) ) ) ).
% list_nonempty_induct
thf(fact_183_list__nonempty__induct,axiom,
! [Xs2: list_f,P2: list_f > $o] :
( ( Xs2 != nil_f )
=> ( ! [X4: f] : ( P2 @ ( cons_f @ X4 @ nil_f ) )
=> ( ! [X4: f,Xs3: list_f] :
( ( Xs3 != nil_f )
=> ( ( P2 @ Xs3 )
=> ( P2 @ ( cons_f @ X4 @ Xs3 ) ) ) )
=> ( P2 @ Xs2 ) ) ) ) ).
% list_nonempty_induct
thf(fact_184_list__nonempty__induct,axiom,
! [Xs2: list_nat,P2: list_nat > $o] :
( ( Xs2 != nil_nat )
=> ( ! [X4: nat] : ( P2 @ ( cons_nat @ X4 @ nil_nat ) )
=> ( ! [X4: nat,Xs3: list_nat] :
( ( Xs3 != nil_nat )
=> ( ( P2 @ Xs3 )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) ) ) )
=> ( P2 @ Xs2 ) ) ) ) ).
% list_nonempty_induct
thf(fact_185_list__induct2_H,axiom,
! [P2: list_P1802437025701573206od_a_a > list_P1802437025701573206od_a_a > $o,Xs2: list_P1802437025701573206od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( P2 @ nil_Pr7291147438282410198od_a_a @ nil_Pr7291147438282410198od_a_a )
=> ( ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a] : ( P2 @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) @ nil_Pr7291147438282410198od_a_a )
=> ( ! [Y4: produc4044097585999906000od_a_a,Ys: list_P1802437025701573206od_a_a] : ( P2 @ nil_Pr7291147438282410198od_a_a @ ( cons_P64011158483510406od_a_a @ Y4 @ Ys ) )
=> ( ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a,Y4: produc4044097585999906000od_a_a,Ys: list_P1802437025701573206od_a_a] :
( ( P2 @ Xs3 @ Ys )
=> ( P2 @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) @ ( cons_P64011158483510406od_a_a @ Y4 @ Ys ) ) )
=> ( P2 @ Xs2 @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_186_list__induct2_H,axiom,
! [P2: list_P1802437025701573206od_a_a > list_f > $o,Xs2: list_P1802437025701573206od_a_a,Ys2: list_f] :
( ( P2 @ nil_Pr7291147438282410198od_a_a @ nil_f )
=> ( ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a] : ( P2 @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) @ nil_f )
=> ( ! [Y4: f,Ys: list_f] : ( P2 @ nil_Pr7291147438282410198od_a_a @ ( cons_f @ Y4 @ Ys ) )
=> ( ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a,Y4: f,Ys: list_f] :
( ( P2 @ Xs3 @ Ys )
=> ( P2 @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) @ ( cons_f @ Y4 @ Ys ) ) )
=> ( P2 @ Xs2 @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_187_list__induct2_H,axiom,
! [P2: list_P1802437025701573206od_a_a > list_nat > $o,Xs2: list_P1802437025701573206od_a_a,Ys2: list_nat] :
( ( P2 @ nil_Pr7291147438282410198od_a_a @ nil_nat )
=> ( ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a] : ( P2 @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) @ nil_nat )
=> ( ! [Y4: nat,Ys: list_nat] : ( P2 @ nil_Pr7291147438282410198od_a_a @ ( cons_nat @ Y4 @ Ys ) )
=> ( ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a,Y4: nat,Ys: list_nat] :
( ( P2 @ Xs3 @ Ys )
=> ( P2 @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) ) )
=> ( P2 @ Xs2 @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_188_list__induct2_H,axiom,
! [P2: list_f > list_P1802437025701573206od_a_a > $o,Xs2: list_f,Ys2: list_P1802437025701573206od_a_a] :
( ( P2 @ nil_f @ nil_Pr7291147438282410198od_a_a )
=> ( ! [X4: f,Xs3: list_f] : ( P2 @ ( cons_f @ X4 @ Xs3 ) @ nil_Pr7291147438282410198od_a_a )
=> ( ! [Y4: produc4044097585999906000od_a_a,Ys: list_P1802437025701573206od_a_a] : ( P2 @ nil_f @ ( cons_P64011158483510406od_a_a @ Y4 @ Ys ) )
=> ( ! [X4: f,Xs3: list_f,Y4: produc4044097585999906000od_a_a,Ys: list_P1802437025701573206od_a_a] :
( ( P2 @ Xs3 @ Ys )
=> ( P2 @ ( cons_f @ X4 @ Xs3 ) @ ( cons_P64011158483510406od_a_a @ Y4 @ Ys ) ) )
=> ( P2 @ Xs2 @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_189_list__induct2_H,axiom,
! [P2: list_f > list_f > $o,Xs2: list_f,Ys2: list_f] :
( ( P2 @ nil_f @ nil_f )
=> ( ! [X4: f,Xs3: list_f] : ( P2 @ ( cons_f @ X4 @ Xs3 ) @ nil_f )
=> ( ! [Y4: f,Ys: list_f] : ( P2 @ nil_f @ ( cons_f @ Y4 @ Ys ) )
=> ( ! [X4: f,Xs3: list_f,Y4: f,Ys: list_f] :
( ( P2 @ Xs3 @ Ys )
=> ( P2 @ ( cons_f @ X4 @ Xs3 ) @ ( cons_f @ Y4 @ Ys ) ) )
=> ( P2 @ Xs2 @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_190_list__induct2_H,axiom,
! [P2: list_f > list_nat > $o,Xs2: list_f,Ys2: list_nat] :
( ( P2 @ nil_f @ nil_nat )
=> ( ! [X4: f,Xs3: list_f] : ( P2 @ ( cons_f @ X4 @ Xs3 ) @ nil_nat )
=> ( ! [Y4: nat,Ys: list_nat] : ( P2 @ nil_f @ ( cons_nat @ Y4 @ Ys ) )
=> ( ! [X4: f,Xs3: list_f,Y4: nat,Ys: list_nat] :
( ( P2 @ Xs3 @ Ys )
=> ( P2 @ ( cons_f @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) ) )
=> ( P2 @ Xs2 @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_191_list__induct2_H,axiom,
! [P2: list_nat > list_P1802437025701573206od_a_a > $o,Xs2: list_nat,Ys2: list_P1802437025701573206od_a_a] :
( ( P2 @ nil_nat @ nil_Pr7291147438282410198od_a_a )
=> ( ! [X4: nat,Xs3: list_nat] : ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ nil_Pr7291147438282410198od_a_a )
=> ( ! [Y4: produc4044097585999906000od_a_a,Ys: list_P1802437025701573206od_a_a] : ( P2 @ nil_nat @ ( cons_P64011158483510406od_a_a @ Y4 @ Ys ) )
=> ( ! [X4: nat,Xs3: list_nat,Y4: produc4044097585999906000od_a_a,Ys: list_P1802437025701573206od_a_a] :
( ( P2 @ Xs3 @ Ys )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_P64011158483510406od_a_a @ Y4 @ Ys ) ) )
=> ( P2 @ Xs2 @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_192_list__induct2_H,axiom,
! [P2: list_nat > list_f > $o,Xs2: list_nat,Ys2: list_f] :
( ( P2 @ nil_nat @ nil_f )
=> ( ! [X4: nat,Xs3: list_nat] : ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ nil_f )
=> ( ! [Y4: f,Ys: list_f] : ( P2 @ nil_nat @ ( cons_f @ Y4 @ Ys ) )
=> ( ! [X4: nat,Xs3: list_nat,Y4: f,Ys: list_f] :
( ( P2 @ Xs3 @ Ys )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_f @ Y4 @ Ys ) ) )
=> ( P2 @ Xs2 @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_193_list__induct2_H,axiom,
! [P2: list_nat > list_nat > $o,Xs2: list_nat,Ys2: list_nat] :
( ( P2 @ nil_nat @ nil_nat )
=> ( ! [X4: nat,Xs3: list_nat] : ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ nil_nat )
=> ( ! [Y4: nat,Ys: list_nat] : ( P2 @ nil_nat @ ( cons_nat @ Y4 @ Ys ) )
=> ( ! [X4: nat,Xs3: list_nat,Y4: nat,Ys: list_nat] :
( ( P2 @ Xs3 @ Ys )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) ) )
=> ( P2 @ Xs2 @ Ys2 ) ) ) ) ) ).
% list_induct2'
thf(fact_194_neq__Nil__conv,axiom,
! [Xs2: list_P1802437025701573206od_a_a] :
( ( Xs2 != nil_Pr7291147438282410198od_a_a )
= ( ? [Y: produc4044097585999906000od_a_a,Ys3: list_P1802437025701573206od_a_a] :
( Xs2
= ( cons_P64011158483510406od_a_a @ Y @ Ys3 ) ) ) ) ).
% neq_Nil_conv
thf(fact_195_neq__Nil__conv,axiom,
! [Xs2: list_f] :
( ( Xs2 != nil_f )
= ( ? [Y: f,Ys3: list_f] :
( Xs2
= ( cons_f @ Y @ Ys3 ) ) ) ) ).
% neq_Nil_conv
thf(fact_196_neq__Nil__conv,axiom,
! [Xs2: list_nat] :
( ( Xs2 != nil_nat )
= ( ? [Y: nat,Ys3: list_nat] :
( Xs2
= ( cons_nat @ Y @ Ys3 ) ) ) ) ).
% neq_Nil_conv
thf(fact_197_remdups__adj_Ocases,axiom,
! [X3: list_P1802437025701573206od_a_a] :
( ( X3 != nil_Pr7291147438282410198od_a_a )
=> ( ! [X4: produc4044097585999906000od_a_a] :
( X3
!= ( cons_P64011158483510406od_a_a @ X4 @ nil_Pr7291147438282410198od_a_a ) )
=> ~ ! [X4: produc4044097585999906000od_a_a,Y4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a] :
( X3
!= ( cons_P64011158483510406od_a_a @ X4 @ ( cons_P64011158483510406od_a_a @ Y4 @ Xs3 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_198_remdups__adj_Ocases,axiom,
! [X3: list_f] :
( ( X3 != nil_f )
=> ( ! [X4: f] :
( X3
!= ( cons_f @ X4 @ nil_f ) )
=> ~ ! [X4: f,Y4: f,Xs3: list_f] :
( X3
!= ( cons_f @ X4 @ ( cons_f @ Y4 @ Xs3 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_199_remdups__adj_Ocases,axiom,
! [X3: list_nat] :
( ( X3 != nil_nat )
=> ( ! [X4: nat] :
( X3
!= ( cons_nat @ X4 @ nil_nat ) )
=> ~ ! [X4: nat,Y4: nat,Xs3: list_nat] :
( X3
!= ( cons_nat @ X4 @ ( cons_nat @ Y4 @ Xs3 ) ) ) ) ) ).
% remdups_adj.cases
thf(fact_200_min__list_Ocases,axiom,
! [X3: list_nat] :
( ! [X4: nat,Xs3: list_nat] :
( X3
!= ( cons_nat @ X4 @ Xs3 ) )
=> ( X3 = nil_nat ) ) ).
% min_list.cases
thf(fact_201_list_Oexhaust,axiom,
! [Y3: list_P1802437025701573206od_a_a] :
( ( Y3 != nil_Pr7291147438282410198od_a_a )
=> ~ ! [X212: produc4044097585999906000od_a_a,X222: list_P1802437025701573206od_a_a] :
( Y3
!= ( cons_P64011158483510406od_a_a @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_202_list_Oexhaust,axiom,
! [Y3: list_f] :
( ( Y3 != nil_f )
=> ~ ! [X212: f,X222: list_f] :
( Y3
!= ( cons_f @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_203_list_Oexhaust,axiom,
! [Y3: list_nat] :
( ( Y3 != nil_nat )
=> ~ ! [X212: nat,X222: list_nat] :
( Y3
!= ( cons_nat @ X212 @ X222 ) ) ) ).
% list.exhaust
thf(fact_204_list_OdiscI,axiom,
! [List: list_P1802437025701573206od_a_a,X21: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a] :
( ( List
= ( cons_P64011158483510406od_a_a @ X21 @ X22 ) )
=> ( List != nil_Pr7291147438282410198od_a_a ) ) ).
% list.discI
thf(fact_205_list_OdiscI,axiom,
! [List: list_f,X21: f,X22: list_f] :
( ( List
= ( cons_f @ X21 @ X22 ) )
=> ( List != nil_f ) ) ).
% list.discI
thf(fact_206_list_OdiscI,axiom,
! [List: list_nat,X21: nat,X22: list_nat] :
( ( List
= ( cons_nat @ X21 @ X22 ) )
=> ( List != nil_nat ) ) ).
% list.discI
thf(fact_207_list_Odistinct_I1_J,axiom,
! [X21: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a] :
( nil_Pr7291147438282410198od_a_a
!= ( cons_P64011158483510406od_a_a @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_208_list_Odistinct_I1_J,axiom,
! [X21: f,X22: list_f] :
( nil_f
!= ( cons_f @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_209_list_Odistinct_I1_J,axiom,
! [X21: nat,X22: list_nat] :
( nil_nat
!= ( cons_nat @ X21 @ X22 ) ) ).
% list.distinct(1)
thf(fact_210_image__set,axiom,
! [F: nat > nat,Xs2: list_nat] :
( ( image_nat_nat @ F @ ( set_nat2 @ Xs2 ) )
= ( set_nat2 @ ( map_nat_nat @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_211_image__set,axiom,
! [F: f > f,Xs2: list_f] :
( ( image_f_f @ F @ ( set_f2 @ Xs2 ) )
= ( set_f2 @ ( map_f_f @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_212_image__set,axiom,
! [F: f > produc4044097585999906000od_a_a,Xs2: list_f] :
( ( image_2613840852874516626od_a_a @ F @ ( set_f2 @ Xs2 ) )
= ( set_Pr7008919305446870117od_a_a @ ( map_f_5881429773128424145od_a_a @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_213_image__set,axiom,
! [F: f > a,Xs2: list_f] :
( ( image_f_a @ F @ ( set_f2 @ Xs2 ) )
= ( set_a2 @ ( map_f_a @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_214_image__set,axiom,
! [F: produc4044097585999906000od_a_a > f,Xs2: list_P1802437025701573206od_a_a] :
( ( image_1366754389297715768_a_a_f @ F @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) )
= ( set_f2 @ ( map_Pr4634343309551623287_a_a_f @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_215_image__set,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a] :
( ( image_4448319501361693189od_a_a @ F @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) )
= ( set_Pr7008919305446870117od_a_a @ ( map_Pr243255708951746116od_a_a @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_216_image__set,axiom,
! [F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a] :
( ( image_1366754389297715763_a_a_a @ F @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) )
= ( set_a2 @ ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_217_image__set,axiom,
! [F: a > f,Xs2: list_a] :
( ( image_a_f @ F @ ( set_a2 @ Xs2 ) )
= ( set_f2 @ ( map_a_f @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_218_image__set,axiom,
! [F: a > produc4044097585999906000od_a_a,Xs2: list_a] :
( ( image_4423683816074015575od_a_a @ F @ ( set_a2 @ Xs2 ) )
= ( set_Pr7008919305446870117od_a_a @ ( map_a_7691272736327923094od_a_a @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_219_image__set,axiom,
! [F: a > a,Xs2: list_a] :
( ( image_a_a @ F @ ( set_a2 @ Xs2 ) )
= ( set_a2 @ ( map_a_a @ F @ Xs2 ) ) ) ).
% image_set
thf(fact_220_distinct_Osimps_I2_J,axiom,
! [X3: a,Xs2: list_a] :
( ( distinct_a @ ( cons_a @ X3 @ Xs2 ) )
= ( ~ ( member_a @ X3 @ ( set_a2 @ Xs2 ) )
& ( distinct_a @ Xs2 ) ) ) ).
% distinct.simps(2)
thf(fact_221_distinct_Osimps_I2_J,axiom,
! [X3: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a] :
( ( distin4039418177281331017od_a_a @ ( cons_P64011158483510406od_a_a @ X3 @ Xs2 ) )
= ( ~ ( member3071122053849602553od_a_a @ X3 @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) )
& ( distin4039418177281331017od_a_a @ Xs2 ) ) ) ).
% distinct.simps(2)
thf(fact_222_distinct_Osimps_I2_J,axiom,
! [X3: f,Xs2: list_f] :
( ( distinct_f @ ( cons_f @ X3 @ Xs2 ) )
= ( ~ ( member_f @ X3 @ ( set_f2 @ Xs2 ) )
& ( distinct_f @ Xs2 ) ) ) ).
% distinct.simps(2)
thf(fact_223_distinct_Osimps_I2_J,axiom,
! [X3: nat,Xs2: list_nat] :
( ( distinct_nat @ ( cons_nat @ X3 @ Xs2 ) )
= ( ~ ( member_nat @ X3 @ ( set_nat2 @ Xs2 ) )
& ( distinct_nat @ Xs2 ) ) ) ).
% distinct.simps(2)
thf(fact_224_Pair__inject,axiom,
! [A2: f,B: list_f,A3: f,B2: list_f] :
( ( ( produc4886901243613182557list_f @ A2 @ B )
= ( produc4886901243613182557list_f @ A3 @ B2 ) )
=> ~ ( ( A2 = A3 )
=> ( B != B2 ) ) ) ).
% Pair_inject
thf(fact_225_Pair__inject,axiom,
! [A2: a,B: product_prod_o_o,A3: a,B2: product_prod_o_o] :
( ( ( produc1797438980157902144od_o_o @ A2 @ B )
= ( produc1797438980157902144od_o_o @ A3 @ B2 ) )
=> ~ ( ( A2 = A3 )
=> ( B != B2 ) ) ) ).
% Pair_inject
thf(fact_226_Pair__inject,axiom,
! [A2: a,B: produc4033586494401613520od_o_o,A3: a,B2: produc4033586494401613520od_o_o] :
( ( ( produc580260797871235561od_o_o @ A2 @ B )
= ( produc580260797871235561od_o_o @ A3 @ B2 ) )
=> ~ ( ( A2 = A3 )
=> ( B != B2 ) ) ) ).
% Pair_inject
thf(fact_227_Pair__inject,axiom,
! [A2: a,B: product_prod_a_a,A3: a,B2: product_prod_a_a] :
( ( ( produc431845341423274048od_a_a @ A2 @ B )
= ( produc431845341423274048od_a_a @ A3 @ B2 ) )
=> ~ ( ( A2 = A3 )
=> ( B != B2 ) ) ) ).
% Pair_inject
thf(fact_228_Pair__inject,axiom,
! [A2: a,B: a,A3: a,B2: a] :
( ( ( product_Pair_a_a @ A2 @ B )
= ( product_Pair_a_a @ A3 @ B2 ) )
=> ~ ( ( A2 = A3 )
=> ( B != B2 ) ) ) ).
% Pair_inject
thf(fact_229_prod__cases,axiom,
! [P2: produc7257588745650887789list_f > $o,P3: produc7257588745650887789list_f] :
( ! [A4: f,B3: list_f] : ( P2 @ ( produc4886901243613182557list_f @ A4 @ B3 ) )
=> ( P2 @ P3 ) ) ).
% prod_cases
thf(fact_230_prod__cases,axiom,
! [P2: produc4033586494401613520od_o_o > $o,P3: produc4033586494401613520od_o_o] :
( ! [A4: a,B3: product_prod_o_o] : ( P2 @ ( produc1797438980157902144od_o_o @ A4 @ B3 ) )
=> ( P2 @ P3 ) ) ).
% prod_cases
thf(fact_231_prod__cases,axiom,
! [P2: produc628930716821598713od_o_o > $o,P3: produc628930716821598713od_o_o] :
( ! [A4: a,B3: produc4033586494401613520od_o_o] : ( P2 @ ( produc580260797871235561od_o_o @ A4 @ B3 ) )
=> ( P2 @ P3 ) ) ).
% prod_cases
thf(fact_232_prod__cases,axiom,
! [P2: produc4044097585999906000od_a_a > $o,P3: produc4044097585999906000od_a_a] :
( ! [A4: a,B3: product_prod_a_a] : ( P2 @ ( produc431845341423274048od_a_a @ A4 @ B3 ) )
=> ( P2 @ P3 ) ) ).
% prod_cases
thf(fact_233_prod__cases,axiom,
! [P2: product_prod_a_a > $o,P3: product_prod_a_a] :
( ! [A4: a,B3: a] : ( P2 @ ( product_Pair_a_a @ A4 @ B3 ) )
=> ( P2 @ P3 ) ) ).
% prod_cases
thf(fact_234_surj__pair,axiom,
! [P3: produc7257588745650887789list_f] :
? [X4: f,Y4: list_f] :
( P3
= ( produc4886901243613182557list_f @ X4 @ Y4 ) ) ).
% surj_pair
thf(fact_235_surj__pair,axiom,
! [P3: produc4033586494401613520od_o_o] :
? [X4: a,Y4: product_prod_o_o] :
( P3
= ( produc1797438980157902144od_o_o @ X4 @ Y4 ) ) ).
% surj_pair
thf(fact_236_surj__pair,axiom,
! [P3: produc628930716821598713od_o_o] :
? [X4: a,Y4: produc4033586494401613520od_o_o] :
( P3
= ( produc580260797871235561od_o_o @ X4 @ Y4 ) ) ).
% surj_pair
thf(fact_237_surj__pair,axiom,
! [P3: produc4044097585999906000od_a_a] :
? [X4: a,Y4: product_prod_a_a] :
( P3
= ( produc431845341423274048od_a_a @ X4 @ Y4 ) ) ).
% surj_pair
thf(fact_238_surj__pair,axiom,
! [P3: product_prod_a_a] :
? [X4: a,Y4: a] :
( P3
= ( product_Pair_a_a @ X4 @ Y4 ) ) ).
% surj_pair
thf(fact_239_old_Oprod_Oexhaust,axiom,
! [Y3: produc7257588745650887789list_f] :
~ ! [A4: f,B3: list_f] :
( Y3
!= ( produc4886901243613182557list_f @ A4 @ B3 ) ) ).
% old.prod.exhaust
thf(fact_240_old_Oprod_Oexhaust,axiom,
! [Y3: produc4033586494401613520od_o_o] :
~ ! [A4: a,B3: product_prod_o_o] :
( Y3
!= ( produc1797438980157902144od_o_o @ A4 @ B3 ) ) ).
% old.prod.exhaust
thf(fact_241_old_Oprod_Oexhaust,axiom,
! [Y3: produc628930716821598713od_o_o] :
~ ! [A4: a,B3: produc4033586494401613520od_o_o] :
( Y3
!= ( produc580260797871235561od_o_o @ A4 @ B3 ) ) ).
% old.prod.exhaust
thf(fact_242_old_Oprod_Oexhaust,axiom,
! [Y3: produc4044097585999906000od_a_a] :
~ ! [A4: a,B3: product_prod_a_a] :
( Y3
!= ( produc431845341423274048od_a_a @ A4 @ B3 ) ) ).
% old.prod.exhaust
thf(fact_243_old_Oprod_Oexhaust,axiom,
! [Y3: product_prod_a_a] :
~ ! [A4: a,B3: a] :
( Y3
!= ( product_Pair_a_a @ A4 @ B3 ) ) ).
% old.prod.exhaust
thf(fact_244_rev__image__eqI,axiom,
! [X3: produc4044097585999906000od_a_a,A: set_Pr5530083903271594800od_a_a,B: a,F: produc4044097585999906000od_a_a > a] :
( ( member3071122053849602553od_a_a @ X3 @ A )
=> ( ( B
= ( F @ X3 ) )
=> ( member_a @ B @ ( image_1366754389297715763_a_a_a @ F @ A ) ) ) ) ).
% rev_image_eqI
thf(fact_245_rev__image__eqI,axiom,
! [X3: a,A: set_a,B: a,F: a > a] :
( ( member_a @ X3 @ A )
=> ( ( B
= ( F @ X3 ) )
=> ( member_a @ B @ ( image_a_a @ F @ A ) ) ) ) ).
% rev_image_eqI
thf(fact_246_ball__imageD,axiom,
! [F: produc4044097585999906000od_a_a > a,A: set_Pr5530083903271594800od_a_a,P2: a > $o] :
( ! [X4: a] :
( ( member_a @ X4 @ ( image_1366754389297715763_a_a_a @ F @ A ) )
=> ( P2 @ X4 ) )
=> ! [X: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ X @ A )
=> ( P2 @ ( F @ X ) ) ) ) ).
% ball_imageD
thf(fact_247_image__cong,axiom,
! [M: set_Pr5530083903271594800od_a_a,N: set_Pr5530083903271594800od_a_a,F: produc4044097585999906000od_a_a > a,G: produc4044097585999906000od_a_a > a] :
( ( M = N )
=> ( ! [X4: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ X4 @ N )
=> ( ( F @ X4 )
= ( G @ X4 ) ) )
=> ( ( image_1366754389297715763_a_a_a @ F @ M )
= ( image_1366754389297715763_a_a_a @ G @ N ) ) ) ) ).
% image_cong
thf(fact_248_bex__imageD,axiom,
! [F: produc4044097585999906000od_a_a > a,A: set_Pr5530083903271594800od_a_a,P2: a > $o] :
( ? [X: a] :
( ( member_a @ X @ ( image_1366754389297715763_a_a_a @ F @ A ) )
& ( P2 @ X ) )
=> ? [X4: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ X4 @ A )
& ( P2 @ ( F @ X4 ) ) ) ) ).
% bex_imageD
thf(fact_249_image__iff,axiom,
! [Z3: a,F: produc4044097585999906000od_a_a > a,A: set_Pr5530083903271594800od_a_a] :
( ( member_a @ Z3 @ ( image_1366754389297715763_a_a_a @ F @ A ) )
= ( ? [X2: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ X2 @ A )
& ( Z3
= ( F @ X2 ) ) ) ) ) ).
% image_iff
thf(fact_250_imageI,axiom,
! [X3: produc4044097585999906000od_a_a,A: set_Pr5530083903271594800od_a_a,F: produc4044097585999906000od_a_a > a] :
( ( member3071122053849602553od_a_a @ X3 @ A )
=> ( member_a @ ( F @ X3 ) @ ( image_1366754389297715763_a_a_a @ F @ A ) ) ) ).
% imageI
thf(fact_251_imageI,axiom,
! [X3: a,A: set_a,F: a > a] :
( ( member_a @ X3 @ A )
=> ( member_a @ ( F @ X3 ) @ ( image_a_a @ F @ A ) ) ) ).
% imageI
thf(fact_252_not__Cons__self2,axiom,
! [X3: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a] :
( ( cons_P64011158483510406od_a_a @ X3 @ Xs2 )
!= Xs2 ) ).
% not_Cons_self2
thf(fact_253_not__Cons__self2,axiom,
! [X3: f,Xs2: list_f] :
( ( cons_f @ X3 @ Xs2 )
!= Xs2 ) ).
% not_Cons_self2
thf(fact_254_not__Cons__self2,axiom,
! [X3: nat,Xs2: list_nat] :
( ( cons_nat @ X3 @ Xs2 )
!= Xs2 ) ).
% not_Cons_self2
thf(fact_255_Compr__image__eq,axiom,
! [F: produc4044097585999906000od_a_a > a,A: set_Pr5530083903271594800od_a_a,P2: a > $o] :
( ( collect_a
@ ^ [X2: a] :
( ( member_a @ X2 @ ( image_1366754389297715763_a_a_a @ F @ A ) )
& ( P2 @ X2 ) ) )
= ( image_1366754389297715763_a_a_a @ F
@ ( collec5045780995415420475od_a_a
@ ^ [X2: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ X2 @ A )
& ( P2 @ ( F @ X2 ) ) ) ) ) ) ).
% Compr_image_eq
thf(fact_256_Compr__image__eq,axiom,
! [F: a > a,A: set_a,P2: a > $o] :
( ( collect_a
@ ^ [X2: a] :
( ( member_a @ X2 @ ( image_a_a @ F @ A ) )
& ( P2 @ X2 ) ) )
= ( image_a_a @ F
@ ( collect_a
@ ^ [X2: a] :
( ( member_a @ X2 @ A )
& ( P2 @ ( F @ X2 ) ) ) ) ) ) ).
% Compr_image_eq
thf(fact_257_image__image,axiom,
! [F: a > a,G: produc4044097585999906000od_a_a > a,A: set_Pr5530083903271594800od_a_a] :
( ( image_a_a @ F @ ( image_1366754389297715763_a_a_a @ G @ A ) )
= ( image_1366754389297715763_a_a_a
@ ^ [X2: produc4044097585999906000od_a_a] : ( F @ ( G @ X2 ) )
@ A ) ) ).
% image_image
thf(fact_258_image__image,axiom,
! [F: produc4044097585999906000od_a_a > a,G: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,A: set_Pr5530083903271594800od_a_a] :
( ( image_1366754389297715763_a_a_a @ F @ ( image_4448319501361693189od_a_a @ G @ A ) )
= ( image_1366754389297715763_a_a_a
@ ^ [X2: produc4044097585999906000od_a_a] : ( F @ ( G @ X2 ) )
@ A ) ) ).
% image_image
thf(fact_259_imageE,axiom,
! [B: a,F: produc4044097585999906000od_a_a > a,A: set_Pr5530083903271594800od_a_a] :
( ( member_a @ B @ ( image_1366754389297715763_a_a_a @ F @ A ) )
=> ~ ! [X4: produc4044097585999906000od_a_a] :
( ( B
= ( F @ X4 ) )
=> ~ ( member3071122053849602553od_a_a @ X4 @ A ) ) ) ).
% imageE
thf(fact_260_imageE,axiom,
! [B: a,F: a > a,A: set_a] :
( ( member_a @ B @ ( image_a_a @ F @ A ) )
=> ~ ! [X4: a] :
( ( B
= ( F @ X4 ) )
=> ~ ( member_a @ X4 @ A ) ) ) ).
% imageE
thf(fact_261_set__ConsD,axiom,
! [Y3: a,X3: a,Xs2: list_a] :
( ( member_a @ Y3 @ ( set_a2 @ ( cons_a @ X3 @ Xs2 ) ) )
=> ( ( Y3 = X3 )
| ( member_a @ Y3 @ ( set_a2 @ Xs2 ) ) ) ) ).
% set_ConsD
thf(fact_262_set__ConsD,axiom,
! [Y3: produc4044097585999906000od_a_a,X3: produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a] :
( ( member3071122053849602553od_a_a @ Y3 @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ X3 @ Xs2 ) ) )
=> ( ( Y3 = X3 )
| ( member3071122053849602553od_a_a @ Y3 @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) ) ) ) ).
% set_ConsD
thf(fact_263_set__ConsD,axiom,
! [Y3: f,X3: f,Xs2: list_f] :
( ( member_f @ Y3 @ ( set_f2 @ ( cons_f @ X3 @ Xs2 ) ) )
=> ( ( Y3 = X3 )
| ( member_f @ Y3 @ ( set_f2 @ Xs2 ) ) ) ) ).
% set_ConsD
thf(fact_264_set__ConsD,axiom,
! [Y3: nat,X3: nat,Xs2: list_nat] :
( ( member_nat @ Y3 @ ( set_nat2 @ ( cons_nat @ X3 @ Xs2 ) ) )
=> ( ( Y3 = X3 )
| ( member_nat @ Y3 @ ( set_nat2 @ Xs2 ) ) ) ) ).
% set_ConsD
thf(fact_265_list_Oset__cases,axiom,
! [E: a,A2: list_a] :
( ( member_a @ E @ ( set_a2 @ A2 ) )
=> ( ! [Z22: list_a] :
( A2
!= ( cons_a @ E @ Z22 ) )
=> ~ ! [Z1: a,Z22: list_a] :
( ( A2
= ( cons_a @ Z1 @ Z22 ) )
=> ~ ( member_a @ E @ ( set_a2 @ Z22 ) ) ) ) ) ).
% list.set_cases
thf(fact_266_list_Oset__cases,axiom,
! [E: produc4044097585999906000od_a_a,A2: list_P1802437025701573206od_a_a] :
( ( member3071122053849602553od_a_a @ E @ ( set_Pr7008919305446870117od_a_a @ A2 ) )
=> ( ! [Z22: list_P1802437025701573206od_a_a] :
( A2
!= ( cons_P64011158483510406od_a_a @ E @ Z22 ) )
=> ~ ! [Z1: produc4044097585999906000od_a_a,Z22: list_P1802437025701573206od_a_a] :
( ( A2
= ( cons_P64011158483510406od_a_a @ Z1 @ Z22 ) )
=> ~ ( member3071122053849602553od_a_a @ E @ ( set_Pr7008919305446870117od_a_a @ Z22 ) ) ) ) ) ).
% list.set_cases
thf(fact_267_list_Oset__cases,axiom,
! [E: f,A2: list_f] :
( ( member_f @ E @ ( set_f2 @ A2 ) )
=> ( ! [Z22: list_f] :
( A2
!= ( cons_f @ E @ Z22 ) )
=> ~ ! [Z1: f,Z22: list_f] :
( ( A2
= ( cons_f @ Z1 @ Z22 ) )
=> ~ ( member_f @ E @ ( set_f2 @ Z22 ) ) ) ) ) ).
% list.set_cases
thf(fact_268_list_Oset__cases,axiom,
! [E: nat,A2: list_nat] :
( ( member_nat @ E @ ( set_nat2 @ A2 ) )
=> ( ! [Z22: list_nat] :
( A2
!= ( cons_nat @ E @ Z22 ) )
=> ~ ! [Z1: nat,Z22: list_nat] :
( ( A2
= ( cons_nat @ Z1 @ Z22 ) )
=> ~ ( member_nat @ E @ ( set_nat2 @ Z22 ) ) ) ) ) ).
% list.set_cases
thf(fact_269_list_Oset__intros_I1_J,axiom,
! [X21: a,X22: list_a] : ( member_a @ X21 @ ( set_a2 @ ( cons_a @ X21 @ X22 ) ) ) ).
% list.set_intros(1)
thf(fact_270_list_Oset__intros_I1_J,axiom,
! [X21: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a] : ( member3071122053849602553od_a_a @ X21 @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ X21 @ X22 ) ) ) ).
% list.set_intros(1)
thf(fact_271_list_Oset__intros_I1_J,axiom,
! [X21: f,X22: list_f] : ( member_f @ X21 @ ( set_f2 @ ( cons_f @ X21 @ X22 ) ) ) ).
% list.set_intros(1)
thf(fact_272_list_Oset__intros_I1_J,axiom,
! [X21: nat,X22: list_nat] : ( member_nat @ X21 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ).
% list.set_intros(1)
thf(fact_273_list_Oset__intros_I2_J,axiom,
! [Y3: a,X22: list_a,X21: a] :
( ( member_a @ Y3 @ ( set_a2 @ X22 ) )
=> ( member_a @ Y3 @ ( set_a2 @ ( cons_a @ X21 @ X22 ) ) ) ) ).
% list.set_intros(2)
thf(fact_274_list_Oset__intros_I2_J,axiom,
! [Y3: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a,X21: produc4044097585999906000od_a_a] :
( ( member3071122053849602553od_a_a @ Y3 @ ( set_Pr7008919305446870117od_a_a @ X22 ) )
=> ( member3071122053849602553od_a_a @ Y3 @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ X21 @ X22 ) ) ) ) ).
% list.set_intros(2)
thf(fact_275_list_Oset__intros_I2_J,axiom,
! [Y3: f,X22: list_f,X21: f] :
( ( member_f @ Y3 @ ( set_f2 @ X22 ) )
=> ( member_f @ Y3 @ ( set_f2 @ ( cons_f @ X21 @ X22 ) ) ) ) ).
% list.set_intros(2)
thf(fact_276_list_Oset__intros_I2_J,axiom,
! [Y3: nat,X22: list_nat,X21: nat] :
( ( member_nat @ Y3 @ ( set_nat2 @ X22 ) )
=> ( member_nat @ Y3 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ) ).
% list.set_intros(2)
thf(fact_277_fst__conv,axiom,
! [X1: f,X23: list_f] :
( ( product_fst_f_list_f @ ( produc4886901243613182557list_f @ X1 @ X23 ) )
= X1 ) ).
% fst_conv
thf(fact_278_fst__conv,axiom,
! [X1: a,X23: product_prod_o_o] :
( ( produc1798141892355912492od_o_o @ ( produc1797438980157902144od_o_o @ X1 @ X23 ) )
= X1 ) ).
% fst_conv
thf(fact_279_fst__conv,axiom,
! [X1: a,X23: produc4033586494401613520od_o_o] :
( ( produc6085592959510199253od_o_o @ ( produc580260797871235561od_o_o @ X1 @ X23 ) )
= X1 ) ).
% fst_conv
thf(fact_280_fst__conv,axiom,
! [X1: a,X23: a] :
( ( product_fst_a_a @ ( product_Pair_a_a @ X1 @ X23 ) )
= X1 ) ).
% fst_conv
thf(fact_281_fst__conv,axiom,
! [X1: a,X23: product_prod_a_a] :
( ( produc6516300539023753772od_a_a @ ( produc431845341423274048od_a_a @ X1 @ X23 ) )
= X1 ) ).
% fst_conv
thf(fact_282_fst__eqD,axiom,
! [X3: f,Y3: list_f,A2: f] :
( ( ( product_fst_f_list_f @ ( produc4886901243613182557list_f @ X3 @ Y3 ) )
= A2 )
=> ( X3 = A2 ) ) ).
% fst_eqD
thf(fact_283_fst__eqD,axiom,
! [X3: a,Y3: product_prod_o_o,A2: a] :
( ( ( produc1798141892355912492od_o_o @ ( produc1797438980157902144od_o_o @ X3 @ Y3 ) )
= A2 )
=> ( X3 = A2 ) ) ).
% fst_eqD
thf(fact_284_fst__eqD,axiom,
! [X3: a,Y3: produc4033586494401613520od_o_o,A2: a] :
( ( ( produc6085592959510199253od_o_o @ ( produc580260797871235561od_o_o @ X3 @ Y3 ) )
= A2 )
=> ( X3 = A2 ) ) ).
% fst_eqD
thf(fact_285_fst__eqD,axiom,
! [X3: a,Y3: a,A2: a] :
( ( ( product_fst_a_a @ ( product_Pair_a_a @ X3 @ Y3 ) )
= A2 )
=> ( X3 = A2 ) ) ).
% fst_eqD
thf(fact_286_fst__eqD,axiom,
! [X3: a,Y3: product_prod_a_a,A2: a] :
( ( ( produc6516300539023753772od_a_a @ ( produc431845341423274048od_a_a @ X3 @ Y3 ) )
= A2 )
=> ( X3 = A2 ) ) ).
% fst_eqD
thf(fact_287_prod__induct4,axiom,
! [P2: produc628930716821598713od_o_o > $o,X3: produc628930716821598713od_o_o] :
( ! [A4: a,B3: a,C: $o,D: $o] : ( P2 @ ( produc580260797871235561od_o_o @ A4 @ ( produc1797438980157902144od_o_o @ B3 @ ( product_Pair_o_o @ C @ D ) ) ) )
=> ( P2 @ X3 ) ) ).
% prod_induct4
thf(fact_288_prod__induct3,axiom,
! [P2: produc4033586494401613520od_o_o > $o,X3: produc4033586494401613520od_o_o] :
( ! [A4: a,B3: $o,C: $o] : ( P2 @ ( produc1797438980157902144od_o_o @ A4 @ ( product_Pair_o_o @ B3 @ C ) ) )
=> ( P2 @ X3 ) ) ).
% prod_induct3
thf(fact_289_prod__induct3,axiom,
! [P2: produc628930716821598713od_o_o > $o,X3: produc628930716821598713od_o_o] :
( ! [A4: a,B3: a,C: product_prod_o_o] : ( P2 @ ( produc580260797871235561od_o_o @ A4 @ ( produc1797438980157902144od_o_o @ B3 @ C ) ) )
=> ( P2 @ X3 ) ) ).
% prod_induct3
thf(fact_290_prod__induct3,axiom,
! [P2: produc4044097585999906000od_a_a > $o,X3: produc4044097585999906000od_a_a] :
( ! [A4: a,B3: a,C: a] : ( P2 @ ( produc431845341423274048od_a_a @ A4 @ ( product_Pair_a_a @ B3 @ C ) ) )
=> ( P2 @ X3 ) ) ).
% prod_induct3
thf(fact_291_prod__cases4,axiom,
! [Y3: produc628930716821598713od_o_o] :
~ ! [A4: a,B3: a,C: $o,D: $o] :
( Y3
!= ( produc580260797871235561od_o_o @ A4 @ ( produc1797438980157902144od_o_o @ B3 @ ( product_Pair_o_o @ C @ D ) ) ) ) ).
% prod_cases4
thf(fact_292_assms_I3_J,axiom,
( ~ prop
=> ! [X: f] :
( ( member_f @ X @ ( set_f2 @ conds ) )
=> ( eval @ alpha @ X ) ) ) ).
% assms(3)
thf(fact_293_eq__key__imp__eq__value,axiom,
! [Xs2: list_P2466969118621037811list_f,K: f,V1: list_f,V22: list_f] :
( ( distinct_f @ ( map_Pr3956008058198342810st_f_f @ product_fst_f_list_f @ Xs2 ) )
=> ( ( member3461277295392922134list_f @ ( produc4886901243613182557list_f @ K @ V1 ) @ ( set_Pr1611525768661774978list_f @ Xs2 ) )
=> ( ( member3461277295392922134list_f @ ( produc4886901243613182557list_f @ K @ V22 ) @ ( set_Pr1611525768661774978list_f @ Xs2 ) )
=> ( V1 = V22 ) ) ) ) ).
% eq_key_imp_eq_value
thf(fact_294_eq__key__imp__eq__value,axiom,
! [Xs2: list_P4322691845745735510od_o_o,K: a,V1: product_prod_o_o,V22: product_prod_o_o] :
( ( distinct_a @ ( map_Pr6946130393055991666_o_o_a @ produc1798141892355912492od_o_o @ Xs2 ) )
=> ( ( member1089989612134903033od_o_o @ ( produc1797438980157902144od_o_o @ K @ V1 ) @ ( set_Pr984843999762680677od_o_o @ Xs2 ) )
=> ( ( member1089989612134903033od_o_o @ ( produc1797438980157902144od_o_o @ K @ V22 ) @ ( set_Pr984843999762680677od_o_o @ Xs2 ) )
=> ( V1 = V22 ) ) ) ) ).
% eq_key_imp_eq_value
thf(fact_295_eq__key__imp__eq__value,axiom,
! [Xs2: list_P6397469967847391999od_o_o,K: a,V1: produc4033586494401613520od_o_o,V22: produc4033586494401613520od_o_o] :
( ( distinct_a @ ( map_Pr1560379411928638345_o_o_a @ produc6085592959510199253od_o_o @ Xs2 ) )
=> ( ( member8623860796875751202od_o_o @ ( produc580260797871235561od_o_o @ K @ V1 ) @ ( set_Pr9104161137945596302od_o_o @ Xs2 ) )
=> ( ( member8623860796875751202od_o_o @ ( produc580260797871235561od_o_o @ K @ V22 ) @ ( set_Pr9104161137945596302od_o_o @ Xs2 ) )
=> ( V1 = V22 ) ) ) ) ).
% eq_key_imp_eq_value
thf(fact_296_eq__key__imp__eq__value,axiom,
! [Xs2: list_P1396940483166286381od_a_a,K: a,V1: a,V22: a] :
( ( distinct_a @ ( map_Pr3897371633210041563_a_a_a @ product_fst_a_a @ Xs2 ) )
=> ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ K @ V1 ) @ ( set_Product_prod_a_a2 @ Xs2 ) )
=> ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ K @ V22 ) @ ( set_Product_prod_a_a2 @ Xs2 ) )
=> ( V1 = V22 ) ) ) ) ).
% eq_key_imp_eq_value
thf(fact_297_eq__key__imp__eq__value,axiom,
! [Xs2: list_P1802437025701573206od_a_a,K: a,V1: product_prod_a_a,V22: product_prod_a_a] :
( ( distinct_a @ ( map_Pr4634343309551623282_a_a_a @ produc6516300539023753772od_a_a @ Xs2 ) )
=> ( ( member3071122053849602553od_a_a @ ( produc431845341423274048od_a_a @ K @ V1 ) @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) )
=> ( ( member3071122053849602553od_a_a @ ( produc431845341423274048od_a_a @ K @ V22 ) @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) )
=> ( V1 = V22 ) ) ) ) ).
% eq_key_imp_eq_value
thf(fact_298__092_060open_062eval__all_A_092_060alpha_062_Aconds_A_092_060and_062_A_092_060alpha_062_Afzero_A_061_A_I_092_060not_062_A_I_092_060exists_062a_092_060in_062fst_A_096_Aset_A_Ir_A_D_Arr_J_O_A_092_060alpha_062_Aa_J_J_A_092_060and_062_A_092_060alpha_062_Afone_A_061_A_I_092_060exists_062_Bx_O_Ax_A_092_060in_062_Afst_A_096_Aset_A_Ir_A_D_Arr_J_A_092_060and_062_A_092_060alpha_062_Ax_J_092_060close_062,axiom,
( ! [X: f] :
( ( member_f @ X @ ( set_f2 @ condsa ) )
=> ( eval @ alpha @ X ) )
& ( ( alpha @ fzero )
= ( ~ ? [X2: a] :
( ( member_a @ X2 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
& ( alpha @ X2 ) ) ) )
& ( ( alpha @ fone )
= ( ? [X2: a] :
( ( member_a @ X2 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
& ( alpha @ X2 )
& ! [Y: a] :
( ( ( member_a @ Y @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
& ( alpha @ Y ) )
=> ( Y = X2 ) ) ) ) ) ) ).
% \<open>eval_all \<alpha> conds \<and> \<alpha> fzero = (\<not> (\<exists>a\<in>fst ` set (r # rr). \<alpha> a)) \<and> \<alpha> fone = (\<exists>!x. x \<in> fst ` set (r # rr) \<and> \<alpha> x)\<close>
thf(fact_299__092_060open_062_Ienc__equiv__and__not_Azero_Afzero_Ax_A_D_Aenc__equiv__ite_Aone_Ax_Afzero_Afone_A_D_Aconds_M_Azero_M_Aone_J_A_061_A_Iconds_H_M_Azero_H_M_Aone_H_J_092_060close_062,axiom,
( ( produc3886013187752893941od_a_a @ ( cons_f @ ( enc_equiv_and_not @ zeroa @ fzero @ x ) @ ( cons_f @ ( enc_equiv_ite @ onea @ x @ fzero @ fone ) @ condsa ) ) @ ( product_Pair_a_a @ zeroa @ onea ) )
= ( produc3886013187752893941od_a_a @ conds2 @ ( product_Pair_a_a @ zero2 @ one2 ) ) ) ).
% \<open>(enc_equiv_and_not zero fzero x # enc_equiv_ite one x fzero fone # conds, zero, one) = (conds', zero', one')\<close>
thf(fact_300_distinct__union,axiom,
! [Xs2: list_a,Ys2: list_a] :
( ( distinct_a @ ( union_a @ Xs2 @ Ys2 ) )
= ( distinct_a @ Ys2 ) ) ).
% distinct_union
thf(fact_301_distinct__union,axiom,
! [Xs2: list_nat,Ys2: list_nat] :
( ( distinct_nat @ ( union_nat @ Xs2 @ Ys2 ) )
= ( distinct_nat @ Ys2 ) ) ).
% distinct_union
thf(fact_302_the__elem__set,axiom,
! [X3: a] :
( ( the_elem_a @ ( set_a2 @ ( cons_a @ X3 @ nil_a ) ) )
= X3 ) ).
% the_elem_set
thf(fact_303_the__elem__set,axiom,
! [X3: produc4044097585999906000od_a_a] :
( ( the_el7097569866588581061od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ X3 @ nil_Pr7291147438282410198od_a_a ) ) )
= X3 ) ).
% the_elem_set
thf(fact_304_the__elem__set,axiom,
! [X3: f] :
( ( the_elem_f @ ( set_f2 @ ( cons_f @ X3 @ nil_f ) ) )
= X3 ) ).
% the_elem_set
thf(fact_305_the__elem__set,axiom,
! [X3: nat] :
( ( the_elem_nat @ ( set_nat2 @ ( cons_nat @ X3 @ nil_nat ) ) )
= X3 ) ).
% the_elem_set
thf(fact_306_Cons_Oprems_I1_J,axiom,
( ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ x @ ( product_Pair_a_a @ zeroa @ onea ) ) @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) )
= ( produc3886013187752893941od_a_a @ conds2 @ ( product_Pair_a_a @ zero2 @ one2 ) ) ) ).
% Cons.prems(1)
thf(fact_307_eq__fst__iff,axiom,
! [A2: f,P3: produc7257588745650887789list_f] :
( ( A2
= ( product_fst_f_list_f @ P3 ) )
= ( ? [B4: list_f] :
( P3
= ( produc4886901243613182557list_f @ A2 @ B4 ) ) ) ) ).
% eq_fst_iff
thf(fact_308_eq__fst__iff,axiom,
! [A2: a,P3: produc4033586494401613520od_o_o] :
( ( A2
= ( produc1798141892355912492od_o_o @ P3 ) )
= ( ? [B4: product_prod_o_o] :
( P3
= ( produc1797438980157902144od_o_o @ A2 @ B4 ) ) ) ) ).
% eq_fst_iff
thf(fact_309_eq__fst__iff,axiom,
! [A2: a,P3: produc628930716821598713od_o_o] :
( ( A2
= ( produc6085592959510199253od_o_o @ P3 ) )
= ( ? [B4: produc4033586494401613520od_o_o] :
( P3
= ( produc580260797871235561od_o_o @ A2 @ B4 ) ) ) ) ).
% eq_fst_iff
thf(fact_310_eq__fst__iff,axiom,
! [A2: a,P3: product_prod_a_a] :
( ( A2
= ( product_fst_a_a @ P3 ) )
= ( ? [B4: a] :
( P3
= ( product_Pair_a_a @ A2 @ B4 ) ) ) ) ).
% eq_fst_iff
thf(fact_311_eq__fst__iff,axiom,
! [A2: a,P3: produc4044097585999906000od_a_a] :
( ( A2
= ( produc6516300539023753772od_a_a @ P3 ) )
= ( ? [B4: product_prod_a_a] :
( P3
= ( produc431845341423274048od_a_a @ A2 @ B4 ) ) ) ) ).
% eq_fst_iff
thf(fact_312_fstI,axiom,
! [X3: produc7257588745650887789list_f,Y3: f,Z3: list_f] :
( ( X3
= ( produc4886901243613182557list_f @ Y3 @ Z3 ) )
=> ( ( product_fst_f_list_f @ X3 )
= Y3 ) ) ).
% fstI
thf(fact_313_fstI,axiom,
! [X3: produc4033586494401613520od_o_o,Y3: a,Z3: product_prod_o_o] :
( ( X3
= ( produc1797438980157902144od_o_o @ Y3 @ Z3 ) )
=> ( ( produc1798141892355912492od_o_o @ X3 )
= Y3 ) ) ).
% fstI
thf(fact_314_fstI,axiom,
! [X3: produc628930716821598713od_o_o,Y3: a,Z3: produc4033586494401613520od_o_o] :
( ( X3
= ( produc580260797871235561od_o_o @ Y3 @ Z3 ) )
=> ( ( produc6085592959510199253od_o_o @ X3 )
= Y3 ) ) ).
% fstI
thf(fact_315_fstI,axiom,
! [X3: product_prod_a_a,Y3: a,Z3: a] :
( ( X3
= ( product_Pair_a_a @ Y3 @ Z3 ) )
=> ( ( product_fst_a_a @ X3 )
= Y3 ) ) ).
% fstI
thf(fact_316_fstI,axiom,
! [X3: produc4044097585999906000od_a_a,Y3: a,Z3: product_prod_a_a] :
( ( X3
= ( produc431845341423274048od_a_a @ Y3 @ Z3 ) )
=> ( ( produc6516300539023753772od_a_a @ X3 )
= Y3 ) ) ).
% fstI
thf(fact_317_subset__eq__mset__impl_Ocases,axiom,
! [X3: produc3323165008400776615od_a_a] :
( ! [Ys: list_P1802437025701573206od_a_a] :
( X3
!= ( produc4694146025100153495od_a_a @ nil_Pr7291147438282410198od_a_a @ Ys ) )
=> ~ ! [X4: produc4044097585999906000od_a_a,Xs3: list_P1802437025701573206od_a_a,Ys: list_P1802437025701573206od_a_a] :
( X3
!= ( produc4694146025100153495od_a_a @ ( cons_P64011158483510406od_a_a @ X4 @ Xs3 ) @ Ys ) ) ) ).
% subset_eq_mset_impl.cases
thf(fact_318_subset__eq__mset__impl_Ocases,axiom,
! [X3: produc1604256039088728679list_f] :
( ! [Ys: list_f] :
( X3
!= ( produc8144748701140958423list_f @ nil_f @ Ys ) )
=> ~ ! [X4: f,Xs3: list_f,Ys: list_f] :
( X3
!= ( produc8144748701140958423list_f @ ( cons_f @ X4 @ Xs3 ) @ Ys ) ) ) ).
% subset_eq_mset_impl.cases
thf(fact_319_subset__eq__mset__impl_Ocases,axiom,
! [X3: produc1828647624359046049st_nat] :
( ! [Ys: list_nat] :
( X3
!= ( produc2694037385005941721st_nat @ nil_nat @ Ys ) )
=> ~ ! [X4: nat,Xs3: list_nat,Ys: list_nat] :
( X3
!= ( produc2694037385005941721st_nat @ ( cons_nat @ X4 @ Xs3 ) @ Ys ) ) ) ).
% subset_eq_mset_impl.cases
thf(fact_320_Cons_Oprems_I2_J,axiom,
! [I: nat,X3: a,Ze: a,On: a,Re: list_P1802437025701573206od_a_a] :
( prop
=> ( ( ord_less_nat @ I @ ( size_s6425312265427517634od_a_a @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ x @ ( product_Pair_a_a @ zeroa @ onea ) ) @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
=> ( ( ( drop_P3280791721155218966od_a_a @ I @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ x @ ( product_Pair_a_a @ zeroa @ onea ) ) @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) )
= ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X3 @ ( product_Pair_a_a @ Ze @ On ) ) @ Re ) )
=> ( ( ( alpha @ Ze )
= ( ~ ? [X2: a] :
( ( member_a @ X2 @ ( insert_a @ X3 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ Re ) ) ) )
& ( alpha @ X2 ) ) ) )
& ( ( alpha @ On )
= ( ? [X2: a] :
( ( member_a @ X2 @ ( insert_a @ X3 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ Re ) ) ) )
& ( alpha @ X2 )
& ! [Y: a] :
( ( ( member_a @ Y @ ( insert_a @ X3 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ Re ) ) ) )
& ( alpha @ Y ) )
=> ( Y = X2 ) ) ) ) ) ) ) ) ) ).
% Cons.prems(2)
thf(fact_321_insertCI,axiom,
! [A2: a,B5: set_a,B: a] :
( ( ~ ( member_a @ A2 @ B5 )
=> ( A2 = B ) )
=> ( member_a @ A2 @ ( insert_a @ B @ B5 ) ) ) ).
% insertCI
thf(fact_322_insert__iff,axiom,
! [A2: a,B: a,A: set_a] :
( ( member_a @ A2 @ ( insert_a @ B @ A ) )
= ( ( A2 = B )
| ( member_a @ A2 @ A ) ) ) ).
% insert_iff
thf(fact_323_insert__absorb2,axiom,
! [X3: a,A: set_a] :
( ( insert_a @ X3 @ ( insert_a @ X3 @ A ) )
= ( insert_a @ X3 @ A ) ) ).
% insert_absorb2
thf(fact_324_image__insert,axiom,
! [F: produc4044097585999906000od_a_a > a,A2: produc4044097585999906000od_a_a,B5: set_Pr5530083903271594800od_a_a] :
( ( image_1366754389297715763_a_a_a @ F @ ( insert5959526376311583392od_a_a @ A2 @ B5 ) )
= ( insert_a @ ( F @ A2 ) @ ( image_1366754389297715763_a_a_a @ F @ B5 ) ) ) ).
% image_insert
thf(fact_325_image__insert,axiom,
! [F: a > a,A2: a,B5: set_a] :
( ( image_a_a @ F @ ( insert_a @ A2 @ B5 ) )
= ( insert_a @ ( F @ A2 ) @ ( image_a_a @ F @ B5 ) ) ) ).
% image_insert
thf(fact_326_insert__image,axiom,
! [X3: produc4044097585999906000od_a_a,A: set_Pr5530083903271594800od_a_a,F: produc4044097585999906000od_a_a > a] :
( ( member3071122053849602553od_a_a @ X3 @ A )
=> ( ( insert_a @ ( F @ X3 ) @ ( image_1366754389297715763_a_a_a @ F @ A ) )
= ( image_1366754389297715763_a_a_a @ F @ A ) ) ) ).
% insert_image
thf(fact_327_insert__image,axiom,
! [X3: a,A: set_a,F: a > a] :
( ( member_a @ X3 @ A )
=> ( ( insert_a @ ( F @ X3 ) @ ( image_a_a @ F @ A ) )
= ( image_a_a @ F @ A ) ) ) ).
% insert_image
thf(fact_328_length__map,axiom,
! [F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a] :
( ( size_size_list_a @ ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 ) )
= ( size_s6425312265427517634od_a_a @ Xs2 ) ) ).
% length_map
thf(fact_329_length__map,axiom,
! [F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a] :
( ( size_s6425312265427517634od_a_a @ ( map_Pr243255708951746116od_a_a @ F @ Xs2 ) )
= ( size_s6425312265427517634od_a_a @ Xs2 ) ) ).
% length_map
thf(fact_330_length__map,axiom,
! [F: nat > produc4044097585999906000od_a_a,Xs2: list_nat] :
( ( size_s6425312265427517634od_a_a @ ( map_na2567344611816411322od_a_a @ F @ Xs2 ) )
= ( size_size_list_nat @ Xs2 ) ) ).
% length_map
thf(fact_331_length__map,axiom,
! [F: produc4044097585999906000od_a_a > nat,Xs2: list_P1802437025701573206od_a_a] :
( ( size_size_list_nat @ ( map_Pr165270791793943900_a_nat @ F @ Xs2 ) )
= ( size_s6425312265427517634od_a_a @ Xs2 ) ) ).
% length_map
thf(fact_332_length__map,axiom,
! [F: nat > nat,Xs2: list_nat] :
( ( size_size_list_nat @ ( map_nat_nat @ F @ Xs2 ) )
= ( size_size_list_nat @ Xs2 ) ) ).
% length_map
thf(fact_333_IH_I1_J,axiom,
! [X: f] :
( ( member_f @ X @ ( set_f2 @ condsa ) )
=> ( eval @ alpha @ X ) ) ).
% IH(1)
thf(fact_334_res,axiom,
( ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ r @ rr ) )
= ( produc3886013187752893941od_a_a @ condsa @ ( product_Pair_a_a @ fzero @ fone ) ) ) ).
% res
thf(fact_335_list_Osimps_I15_J,axiom,
! [X21: a,X22: list_a] :
( ( set_a2 @ ( cons_a @ X21 @ X22 ) )
= ( insert_a @ X21 @ ( set_a2 @ X22 ) ) ) ).
% list.simps(15)
thf(fact_336_list_Osimps_I15_J,axiom,
! [X21: produc4044097585999906000od_a_a,X22: list_P1802437025701573206od_a_a] :
( ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ X21 @ X22 ) )
= ( insert5959526376311583392od_a_a @ X21 @ ( set_Pr7008919305446870117od_a_a @ X22 ) ) ) ).
% list.simps(15)
thf(fact_337_list_Osimps_I15_J,axiom,
! [X21: f,X22: list_f] :
( ( set_f2 @ ( cons_f @ X21 @ X22 ) )
= ( insert_f @ X21 @ ( set_f2 @ X22 ) ) ) ).
% list.simps(15)
thf(fact_338_list_Osimps_I15_J,axiom,
! [X21: nat,X22: list_nat] :
( ( set_nat2 @ ( cons_nat @ X21 @ X22 ) )
= ( insert_nat @ X21 @ ( set_nat2 @ X22 ) ) ) ).
% list.simps(15)
thf(fact_339_assms_I1_J,axiom,
( ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ vars )
= ( produc3886013187752893941od_a_a @ conds @ ( product_Pair_a_a @ zero @ one ) ) ) ).
% assms(1)
thf(fact_340__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062conds_Afzero_Afone_O_Aencode__sum__0__1__main_A_Ir_A_D_Arr_J_A_061_A_Iconds_M_Afzero_M_Afone_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
~ ! [Conds: list_f,Fzero: a,Fone: a] :
( ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ r @ rr ) )
!= ( produc3886013187752893941od_a_a @ Conds @ ( product_Pair_a_a @ Fzero @ Fone ) ) ) ).
% \<open>\<And>thesis. (\<And>conds fzero fone. encode_sum_0_1_main (r # rr) = (conds, fzero, fone) \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_341_encode__sum__0__1__main_Osimps_I1_J,axiom,
! [X3: a,Zero2: a,One2: a] :
( ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X3 @ ( product_Pair_a_a @ Zero2 @ One2 ) ) @ nil_Pr7291147438282410198od_a_a ) )
= ( produc3886013187752893941od_a_a @ ( cons_f @ ( enc_different @ Zero2 @ X3 ) @ nil_f ) @ ( product_Pair_a_a @ Zero2 @ X3 ) ) ) ).
% encode_sum_0_1_main.simps(1)
thf(fact_342_enc__sound_I7_J,axiom,
! [Alpha: a > $o,X3: a,Y3: a,Z3: a,U: a] :
( ( eval @ Alpha @ ( enc_equiv_ite @ X3 @ Y3 @ Z3 @ U ) )
= ( ( Alpha @ X3 )
= ( ( ( Alpha @ Y3 )
=> ( Alpha @ Z3 ) )
& ( ~ ( Alpha @ Y3 )
=> ( Alpha @ U ) ) ) ) ) ).
% enc_sound(7)
thf(fact_343_enc__sound_I6_J,axiom,
! [Alpha: a > $o,X3: a,Y3: a,Z3: a] :
( ( eval @ Alpha @ ( enc_equiv_and_not @ X3 @ Y3 @ Z3 ) )
= ( ( Alpha @ X3 )
= ( ( Alpha @ Y3 )
& ~ ( Alpha @ Z3 ) ) ) ) ).
% enc_sound(6)
thf(fact_344_enc__sound_I5_J,axiom,
! [Alpha: a > $o,X3: a,Y3: a] :
( ( eval @ Alpha @ ( enc_different @ X3 @ Y3 ) )
= ( ( Alpha @ X3 )
!= ( Alpha @ Y3 ) ) ) ).
% enc_sound(5)
thf(fact_345_assms_I2_J,axiom,
! [I: nat,X3: a,Ze: a,On: a,Re: list_P1802437025701573206od_a_a] :
( prop
=> ( ( ord_less_nat @ I @ ( size_s6425312265427517634od_a_a @ vars ) )
=> ( ( ( drop_P3280791721155218966od_a_a @ I @ vars )
= ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X3 @ ( product_Pair_a_a @ Ze @ On ) ) @ Re ) )
=> ( ( ( alpha @ Ze )
= ( ~ ? [X2: a] :
( ( member_a @ X2 @ ( insert_a @ X3 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ Re ) ) ) )
& ( alpha @ X2 ) ) ) )
& ( ( alpha @ On )
= ( ? [X2: a] :
( ( member_a @ X2 @ ( insert_a @ X3 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ Re ) ) ) )
& ( alpha @ X2 )
& ! [Y: a] :
( ( ( member_a @ Y @ ( insert_a @ X3 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ Re ) ) ) )
& ( alpha @ Y ) )
=> ( Y = X2 ) ) ) ) ) ) ) ) ) ).
% assms(2)
thf(fact_346_conds_H,axiom,
( conds2
= ( cons_f @ ( enc_equiv_and_not @ zeroa @ fzero @ x ) @ ( cons_f @ ( enc_equiv_ite @ onea @ x @ fzero @ fone ) @ condsa ) ) ) ).
% conds'
thf(fact_347_Cons_Ohyps,axiom,
! [Conds2: list_f,Zero2: a,One2: a] :
( ( ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ r @ rr ) )
= ( produc3886013187752893941od_a_a @ Conds2 @ ( product_Pair_a_a @ Zero2 @ One2 ) ) )
=> ( ( prop
=> ! [I2: nat] :
( ( ord_less_nat @ I2 @ ( size_s6425312265427517634od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) )
=> ! [X4: a,Ze2: a,On2: a,Re2: list_P1802437025701573206od_a_a] :
( ( ( drop_P3280791721155218966od_a_a @ I2 @ ( cons_P64011158483510406od_a_a @ r @ rr ) )
= ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X4 @ ( product_Pair_a_a @ Ze2 @ On2 ) ) @ Re2 ) )
=> ( ( ( alpha @ Ze2 )
= ( ~ ? [Y: a] :
( ( member_a @ Y @ ( insert_a @ X4 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ Re2 ) ) ) )
& ( alpha @ Y ) ) ) )
& ( ( alpha @ On2 )
= ( ? [Y: a] :
( ( member_a @ Y @ ( insert_a @ X4 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ Re2 ) ) ) )
& ( alpha @ Y )
& ! [Z: a] :
( ( ( member_a @ Z @ ( insert_a @ X4 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ Re2 ) ) ) )
& ( alpha @ Z ) )
=> ( Z = Y ) ) ) ) ) ) ) ) )
=> ( ( ~ prop
=> ! [X4: f] :
( ( member_f @ X4 @ ( set_f2 @ Conds2 ) )
=> ( eval @ alpha @ X4 ) ) )
=> ( ( distinct_a @ ( map_Pr4634343309551623282_a_a_a @ produc6516300539023753772od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) )
=> ( ( ( cons_P64011158483510406od_a_a @ r @ rr )
!= nil_Pr7291147438282410198od_a_a )
=> ( ! [X: f] :
( ( member_f @ X @ ( set_f2 @ Conds2 ) )
=> ( eval @ alpha @ X ) )
& ( ( alpha @ Zero2 )
= ( ~ ? [X2: a] :
( ( member_a @ X2 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
& ( alpha @ X2 ) ) ) )
& ( ( alpha @ One2 )
= ( ? [X2: a] :
( ( member_a @ X2 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
& ( alpha @ X2 )
& ! [Y: a] :
( ( ( member_a @ Y @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) )
& ( alpha @ Y ) )
=> ( Y = X2 ) ) ) ) ) ) ) ) ) ) ) ).
% Cons.hyps
thf(fact_348_insertE,axiom,
! [A2: a,B: a,A: set_a] :
( ( member_a @ A2 @ ( insert_a @ B @ A ) )
=> ( ( A2 != B )
=> ( member_a @ A2 @ A ) ) ) ).
% insertE
thf(fact_349_Ball__def,axiom,
( ball_a
= ( ^ [A5: set_a,P4: a > $o] :
! [X2: a] :
( ( member_a @ X2 @ A5 )
=> ( P4 @ X2 ) ) ) ) ).
% Ball_def
thf(fact_350_insertI1,axiom,
! [A2: a,B5: set_a] : ( member_a @ A2 @ ( insert_a @ A2 @ B5 ) ) ).
% insertI1
thf(fact_351_insertI2,axiom,
! [A2: a,B5: set_a,B: a] :
( ( member_a @ A2 @ B5 )
=> ( member_a @ A2 @ ( insert_a @ B @ B5 ) ) ) ).
% insertI2
thf(fact_352_Set_Oset__insert,axiom,
! [X3: a,A: set_a] :
( ( member_a @ X3 @ A )
=> ~ ! [B6: set_a] :
( ( A
= ( insert_a @ X3 @ B6 ) )
=> ( member_a @ X3 @ B6 ) ) ) ).
% Set.set_insert
thf(fact_353_insert__ident,axiom,
! [X3: a,A: set_a,B5: set_a] :
( ~ ( member_a @ X3 @ A )
=> ( ~ ( member_a @ X3 @ B5 )
=> ( ( ( insert_a @ X3 @ A )
= ( insert_a @ X3 @ B5 ) )
= ( A = B5 ) ) ) ) ).
% insert_ident
thf(fact_354_insert__absorb,axiom,
! [A2: a,A: set_a] :
( ( member_a @ A2 @ A )
=> ( ( insert_a @ A2 @ A )
= A ) ) ).
% insert_absorb
thf(fact_355_insert__eq__iff,axiom,
! [A2: a,A: set_a,B: a,B5: set_a] :
( ~ ( member_a @ A2 @ A )
=> ( ~ ( member_a @ B @ B5 )
=> ( ( ( insert_a @ A2 @ A )
= ( insert_a @ B @ B5 ) )
= ( ( ( A2 = B )
=> ( A = B5 ) )
& ( ( A2 != B )
=> ? [C2: set_a] :
( ( A
= ( insert_a @ B @ C2 ) )
& ~ ( member_a @ B @ C2 )
& ( B5
= ( insert_a @ A2 @ C2 ) )
& ~ ( member_a @ A2 @ C2 ) ) ) ) ) ) ) ).
% insert_eq_iff
thf(fact_356_length__induct,axiom,
! [P2: list_P1802437025701573206od_a_a > $o,Xs2: list_P1802437025701573206od_a_a] :
( ! [Xs3: list_P1802437025701573206od_a_a] :
( ! [Ys4: list_P1802437025701573206od_a_a] :
( ( ord_less_nat @ ( size_s6425312265427517634od_a_a @ Ys4 ) @ ( size_s6425312265427517634od_a_a @ Xs3 ) )
=> ( P2 @ Ys4 ) )
=> ( P2 @ Xs3 ) )
=> ( P2 @ Xs2 ) ) ).
% length_induct
thf(fact_357_length__induct,axiom,
! [P2: list_nat > $o,Xs2: list_nat] :
( ! [Xs3: list_nat] :
( ! [Ys4: list_nat] :
( ( ord_less_nat @ ( size_size_list_nat @ Ys4 ) @ ( size_size_list_nat @ Xs3 ) )
=> ( P2 @ Ys4 ) )
=> ( P2 @ Xs3 ) )
=> ( P2 @ Xs2 ) ) ).
% length_induct
thf(fact_358_insert__commute,axiom,
! [X3: a,Y3: a,A: set_a] :
( ( insert_a @ X3 @ ( insert_a @ Y3 @ A ) )
= ( insert_a @ Y3 @ ( insert_a @ X3 @ A ) ) ) ).
% insert_commute
thf(fact_359_Ex__list__of__length,axiom,
! [N2: nat] :
? [Xs3: list_P1802437025701573206od_a_a] :
( ( size_s6425312265427517634od_a_a @ Xs3 )
= N2 ) ).
% Ex_list_of_length
thf(fact_360_Ex__list__of__length,axiom,
! [N2: nat] :
? [Xs3: list_nat] :
( ( size_size_list_nat @ Xs3 )
= N2 ) ).
% Ex_list_of_length
thf(fact_361_neq__if__length__neq,axiom,
! [Xs2: list_P1802437025701573206od_a_a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( size_s6425312265427517634od_a_a @ Xs2 )
!= ( size_s6425312265427517634od_a_a @ Ys2 ) )
=> ( Xs2 != Ys2 ) ) ).
% neq_if_length_neq
thf(fact_362_neq__if__length__neq,axiom,
! [Xs2: list_nat,Ys2: list_nat] :
( ( ( size_size_list_nat @ Xs2 )
!= ( size_size_list_nat @ Ys2 ) )
=> ( Xs2 != Ys2 ) ) ).
% neq_if_length_neq
thf(fact_363_mk__disjoint__insert,axiom,
! [A2: a,A: set_a] :
( ( member_a @ A2 @ A )
=> ? [B6: set_a] :
( ( A
= ( insert_a @ A2 @ B6 ) )
& ~ ( member_a @ A2 @ B6 ) ) ) ).
% mk_disjoint_insert
thf(fact_364_encoder_Oencode__sum__0__1__main_Ocong,axiom,
multis3280010013254100632in_a_f = multis3280010013254100632in_a_f ).
% encoder.encode_sum_0_1_main.cong
thf(fact_365_insert__Collect,axiom,
! [A2: a,P2: a > $o] :
( ( insert_a @ A2 @ ( collect_a @ P2 ) )
= ( collect_a
@ ^ [U2: a] :
( ( U2 != A2 )
=> ( P2 @ U2 ) ) ) ) ).
% insert_Collect
thf(fact_366_insert__compr,axiom,
( insert_a
= ( ^ [A6: a,B7: set_a] :
( collect_a
@ ^ [X2: a] :
( ( X2 = A6 )
| ( member_a @ X2 @ B7 ) ) ) ) ) ).
% insert_compr
thf(fact_367_drop__Nil,axiom,
! [N2: nat] :
( ( drop_P3280791721155218966od_a_a @ N2 @ nil_Pr7291147438282410198od_a_a )
= nil_Pr7291147438282410198od_a_a ) ).
% drop_Nil
thf(fact_368_drop__Nil,axiom,
! [N2: nat] :
( ( drop_f @ N2 @ nil_f )
= nil_f ) ).
% drop_Nil
thf(fact_369_drop__Nil,axiom,
! [N2: nat] :
( ( drop_nat @ N2 @ nil_nat )
= nil_nat ) ).
% drop_Nil
thf(fact_370_in__set__dropD,axiom,
! [X3: nat,N2: nat,Xs2: list_nat] :
( ( member_nat @ X3 @ ( set_nat2 @ ( drop_nat @ N2 @ Xs2 ) ) )
=> ( member_nat @ X3 @ ( set_nat2 @ Xs2 ) ) ) ).
% in_set_dropD
thf(fact_371_in__set__dropD,axiom,
! [X3: f,N2: nat,Xs2: list_f] :
( ( member_f @ X3 @ ( set_f2 @ ( drop_f @ N2 @ Xs2 ) ) )
=> ( member_f @ X3 @ ( set_f2 @ Xs2 ) ) ) ).
% in_set_dropD
thf(fact_372_in__set__dropD,axiom,
! [X3: produc4044097585999906000od_a_a,N2: nat,Xs2: list_P1802437025701573206od_a_a] :
( ( member3071122053849602553od_a_a @ X3 @ ( set_Pr7008919305446870117od_a_a @ ( drop_P3280791721155218966od_a_a @ N2 @ Xs2 ) ) )
=> ( member3071122053849602553od_a_a @ X3 @ ( set_Pr7008919305446870117od_a_a @ Xs2 ) ) ) ).
% in_set_dropD
thf(fact_373_in__set__dropD,axiom,
! [X3: a,N2: nat,Xs2: list_a] :
( ( member_a @ X3 @ ( set_a2 @ ( drop_a @ N2 @ Xs2 ) ) )
=> ( member_a @ X3 @ ( set_a2 @ Xs2 ) ) ) ).
% in_set_dropD
thf(fact_374_drop__map,axiom,
! [N2: nat,F: produc4044097585999906000od_a_a > produc4044097585999906000od_a_a,Xs2: list_P1802437025701573206od_a_a] :
( ( drop_P3280791721155218966od_a_a @ N2 @ ( map_Pr243255708951746116od_a_a @ F @ Xs2 ) )
= ( map_Pr243255708951746116od_a_a @ F @ ( drop_P3280791721155218966od_a_a @ N2 @ Xs2 ) ) ) ).
% drop_map
thf(fact_375_drop__map,axiom,
! [N2: nat,F: nat > produc4044097585999906000od_a_a,Xs2: list_nat] :
( ( drop_P3280791721155218966od_a_a @ N2 @ ( map_na2567344611816411322od_a_a @ F @ Xs2 ) )
= ( map_na2567344611816411322od_a_a @ F @ ( drop_nat @ N2 @ Xs2 ) ) ) ).
% drop_map
thf(fact_376_drop__map,axiom,
! [N2: nat,F: produc4044097585999906000od_a_a > nat,Xs2: list_P1802437025701573206od_a_a] :
( ( drop_nat @ N2 @ ( map_Pr165270791793943900_a_nat @ F @ Xs2 ) )
= ( map_Pr165270791793943900_a_nat @ F @ ( drop_P3280791721155218966od_a_a @ N2 @ Xs2 ) ) ) ).
% drop_map
thf(fact_377_drop__map,axiom,
! [N2: nat,F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a] :
( ( drop_a @ N2 @ ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 ) )
= ( map_Pr4634343309551623282_a_a_a @ F @ ( drop_P3280791721155218966od_a_a @ N2 @ Xs2 ) ) ) ).
% drop_map
thf(fact_378_drop__map,axiom,
! [N2: nat,F: nat > nat,Xs2: list_nat] :
( ( drop_nat @ N2 @ ( map_nat_nat @ F @ Xs2 ) )
= ( map_nat_nat @ F @ ( drop_nat @ N2 @ Xs2 ) ) ) ).
% drop_map
thf(fact_379_map__eq__imp__length__eq,axiom,
! [F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a,G: produc4044097585999906000od_a_a > a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 )
= ( map_Pr4634343309551623282_a_a_a @ G @ Ys2 ) )
=> ( ( size_s6425312265427517634od_a_a @ Xs2 )
= ( size_s6425312265427517634od_a_a @ Ys2 ) ) ) ).
% map_eq_imp_length_eq
thf(fact_380_map__eq__imp__length__eq,axiom,
! [F: produc4044097585999906000od_a_a > nat,Xs2: list_P1802437025701573206od_a_a,G: nat > nat,Ys2: list_nat] :
( ( ( map_Pr165270791793943900_a_nat @ F @ Xs2 )
= ( map_nat_nat @ G @ Ys2 ) )
=> ( ( size_s6425312265427517634od_a_a @ Xs2 )
= ( size_size_list_nat @ Ys2 ) ) ) ).
% map_eq_imp_length_eq
thf(fact_381_map__eq__imp__length__eq,axiom,
! [F: produc4044097585999906000od_a_a > a,Xs2: list_P1802437025701573206od_a_a,G: nat > a,Ys2: list_nat] :
( ( ( map_Pr4634343309551623282_a_a_a @ F @ Xs2 )
= ( map_nat_a @ G @ Ys2 ) )
=> ( ( size_s6425312265427517634od_a_a @ Xs2 )
= ( size_size_list_nat @ Ys2 ) ) ) ).
% map_eq_imp_length_eq
thf(fact_382_map__eq__imp__length__eq,axiom,
! [F: nat > a,Xs2: list_nat,G: produc4044097585999906000od_a_a > a,Ys2: list_P1802437025701573206od_a_a] :
( ( ( map_nat_a @ F @ Xs2 )
= ( map_Pr4634343309551623282_a_a_a @ G @ Ys2 ) )
=> ( ( size_size_list_nat @ Xs2 )
= ( size_s6425312265427517634od_a_a @ Ys2 ) ) ) ).
% map_eq_imp_length_eq
thf(fact_383_map__eq__imp__length__eq,axiom,
! [F: nat > nat,Xs2: list_nat,G: produc4044097585999906000od_a_a > nat,Ys2: list_P1802437025701573206od_a_a] :
( ( ( map_nat_nat @ F @ Xs2 )
= ( map_Pr165270791793943900_a_nat @ G @ Ys2 ) )
=> ( ( size_size_list_nat @ Xs2 )
= ( size_s6425312265427517634od_a_a @ Ys2 ) ) ) ).
% map_eq_imp_length_eq
thf(fact_384_map__eq__imp__length__eq,axiom,
! [F: nat > nat,Xs2: list_nat,G: nat > nat,Ys2: list_nat] :
( ( ( map_nat_nat @ F @ Xs2 )
= ( map_nat_nat @ G @ Ys2 ) )
=> ( ( size_size_list_nat @ Xs2 )
= ( size_size_list_nat @ Ys2 ) ) ) ).
% map_eq_imp_length_eq
thf(fact_385_distinct__drop,axiom,
! [Xs2: list_P1802437025701573206od_a_a,I: nat] :
( ( distin4039418177281331017od_a_a @ Xs2 )
=> ( distin4039418177281331017od_a_a @ ( drop_P3280791721155218966od_a_a @ I @ Xs2 ) ) ) ).
% distinct_drop
thf(fact_386_distinct__drop,axiom,
! [Xs2: list_a,I: nat] :
( ( distinct_a @ Xs2 )
=> ( distinct_a @ ( drop_a @ I @ Xs2 ) ) ) ).
% distinct_drop
thf(fact_387_distinct__drop,axiom,
! [Xs2: list_nat,I: nat] :
( ( distinct_nat @ Xs2 )
=> ( distinct_nat @ ( drop_nat @ I @ Xs2 ) ) ) ).
% distinct_drop
thf(fact_388_list__induct4,axiom,
! [Xs2: list_f,Ys2: list_nat,Zs3: list_f,Ws: list_f,P2: list_f > list_nat > list_f > list_f > $o] :
( ( ( size_size_list_f @ Xs2 )
= ( size_size_list_nat @ Ys2 ) )
=> ( ( ( size_size_list_nat @ Ys2 )
= ( size_size_list_f @ Zs3 ) )
=> ( ( ( size_size_list_f @ Zs3 )
= ( size_size_list_f @ Ws ) )
=> ( ( P2 @ nil_f @ nil_nat @ nil_f @ nil_f )
=> ( ! [X4: f,Xs3: list_f,Y4: nat,Ys: list_nat,Z2: f,Zs2: list_f,W: f,Ws2: list_f] :
( ( ( size_size_list_f @ Xs3 )
= ( size_size_list_nat @ Ys ) )
=> ( ( ( size_size_list_nat @ Ys )
= ( size_size_list_f @ Zs2 ) )
=> ( ( ( size_size_list_f @ Zs2 )
= ( size_size_list_f @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_f @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) @ ( cons_f @ Z2 @ Zs2 ) @ ( cons_f @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_389_list__induct4,axiom,
! [Xs2: list_f,Ys2: list_nat,Zs3: list_f,Ws: list_nat,P2: list_f > list_nat > list_f > list_nat > $o] :
( ( ( size_size_list_f @ Xs2 )
= ( size_size_list_nat @ Ys2 ) )
=> ( ( ( size_size_list_nat @ Ys2 )
= ( size_size_list_f @ Zs3 ) )
=> ( ( ( size_size_list_f @ Zs3 )
= ( size_size_list_nat @ Ws ) )
=> ( ( P2 @ nil_f @ nil_nat @ nil_f @ nil_nat )
=> ( ! [X4: f,Xs3: list_f,Y4: nat,Ys: list_nat,Z2: f,Zs2: list_f,W: nat,Ws2: list_nat] :
( ( ( size_size_list_f @ Xs3 )
= ( size_size_list_nat @ Ys ) )
=> ( ( ( size_size_list_nat @ Ys )
= ( size_size_list_f @ Zs2 ) )
=> ( ( ( size_size_list_f @ Zs2 )
= ( size_size_list_nat @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_f @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) @ ( cons_f @ Z2 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_390_list__induct4,axiom,
! [Xs2: list_f,Ys2: list_nat,Zs3: list_nat,Ws: list_f,P2: list_f > list_nat > list_nat > list_f > $o] :
( ( ( size_size_list_f @ Xs2 )
= ( size_size_list_nat @ Ys2 ) )
=> ( ( ( size_size_list_nat @ Ys2 )
= ( size_size_list_nat @ Zs3 ) )
=> ( ( ( size_size_list_nat @ Zs3 )
= ( size_size_list_f @ Ws ) )
=> ( ( P2 @ nil_f @ nil_nat @ nil_nat @ nil_f )
=> ( ! [X4: f,Xs3: list_f,Y4: nat,Ys: list_nat,Z2: nat,Zs2: list_nat,W: f,Ws2: list_f] :
( ( ( size_size_list_f @ Xs3 )
= ( size_size_list_nat @ Ys ) )
=> ( ( ( size_size_list_nat @ Ys )
= ( size_size_list_nat @ Zs2 ) )
=> ( ( ( size_size_list_nat @ Zs2 )
= ( size_size_list_f @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_f @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) @ ( cons_nat @ Z2 @ Zs2 ) @ ( cons_f @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_391_list__induct4,axiom,
! [Xs2: list_f,Ys2: list_nat,Zs3: list_nat,Ws: list_nat,P2: list_f > list_nat > list_nat > list_nat > $o] :
( ( ( size_size_list_f @ Xs2 )
= ( size_size_list_nat @ Ys2 ) )
=> ( ( ( size_size_list_nat @ Ys2 )
= ( size_size_list_nat @ Zs3 ) )
=> ( ( ( size_size_list_nat @ Zs3 )
= ( size_size_list_nat @ Ws ) )
=> ( ( P2 @ nil_f @ nil_nat @ nil_nat @ nil_nat )
=> ( ! [X4: f,Xs3: list_f,Y4: nat,Ys: list_nat,Z2: nat,Zs2: list_nat,W: nat,Ws2: list_nat] :
( ( ( size_size_list_f @ Xs3 )
= ( size_size_list_nat @ Ys ) )
=> ( ( ( size_size_list_nat @ Ys )
= ( size_size_list_nat @ Zs2 ) )
=> ( ( ( size_size_list_nat @ Zs2 )
= ( size_size_list_nat @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_f @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) @ ( cons_nat @ Z2 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_392_list__induct4,axiom,
! [Xs2: list_nat,Ys2: list_f,Zs3: list_f,Ws: list_f,P2: list_nat > list_f > list_f > list_f > $o] :
( ( ( size_size_list_nat @ Xs2 )
= ( size_size_list_f @ Ys2 ) )
=> ( ( ( size_size_list_f @ Ys2 )
= ( size_size_list_f @ Zs3 ) )
=> ( ( ( size_size_list_f @ Zs3 )
= ( size_size_list_f @ Ws ) )
=> ( ( P2 @ nil_nat @ nil_f @ nil_f @ nil_f )
=> ( ! [X4: nat,Xs3: list_nat,Y4: f,Ys: list_f,Z2: f,Zs2: list_f,W: f,Ws2: list_f] :
( ( ( size_size_list_nat @ Xs3 )
= ( size_size_list_f @ Ys ) )
=> ( ( ( size_size_list_f @ Ys )
= ( size_size_list_f @ Zs2 ) )
=> ( ( ( size_size_list_f @ Zs2 )
= ( size_size_list_f @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_f @ Y4 @ Ys ) @ ( cons_f @ Z2 @ Zs2 ) @ ( cons_f @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_393_list__induct4,axiom,
! [Xs2: list_nat,Ys2: list_f,Zs3: list_f,Ws: list_nat,P2: list_nat > list_f > list_f > list_nat > $o] :
( ( ( size_size_list_nat @ Xs2 )
= ( size_size_list_f @ Ys2 ) )
=> ( ( ( size_size_list_f @ Ys2 )
= ( size_size_list_f @ Zs3 ) )
=> ( ( ( size_size_list_f @ Zs3 )
= ( size_size_list_nat @ Ws ) )
=> ( ( P2 @ nil_nat @ nil_f @ nil_f @ nil_nat )
=> ( ! [X4: nat,Xs3: list_nat,Y4: f,Ys: list_f,Z2: f,Zs2: list_f,W: nat,Ws2: list_nat] :
( ( ( size_size_list_nat @ Xs3 )
= ( size_size_list_f @ Ys ) )
=> ( ( ( size_size_list_f @ Ys )
= ( size_size_list_f @ Zs2 ) )
=> ( ( ( size_size_list_f @ Zs2 )
= ( size_size_list_nat @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_f @ Y4 @ Ys ) @ ( cons_f @ Z2 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_394_list__induct4,axiom,
! [Xs2: list_nat,Ys2: list_f,Zs3: list_nat,Ws: list_f,P2: list_nat > list_f > list_nat > list_f > $o] :
( ( ( size_size_list_nat @ Xs2 )
= ( size_size_list_f @ Ys2 ) )
=> ( ( ( size_size_list_f @ Ys2 )
= ( size_size_list_nat @ Zs3 ) )
=> ( ( ( size_size_list_nat @ Zs3 )
= ( size_size_list_f @ Ws ) )
=> ( ( P2 @ nil_nat @ nil_f @ nil_nat @ nil_f )
=> ( ! [X4: nat,Xs3: list_nat,Y4: f,Ys: list_f,Z2: nat,Zs2: list_nat,W: f,Ws2: list_f] :
( ( ( size_size_list_nat @ Xs3 )
= ( size_size_list_f @ Ys ) )
=> ( ( ( size_size_list_f @ Ys )
= ( size_size_list_nat @ Zs2 ) )
=> ( ( ( size_size_list_nat @ Zs2 )
= ( size_size_list_f @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_f @ Y4 @ Ys ) @ ( cons_nat @ Z2 @ Zs2 ) @ ( cons_f @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_395_list__induct4,axiom,
! [Xs2: list_nat,Ys2: list_f,Zs3: list_nat,Ws: list_nat,P2: list_nat > list_f > list_nat > list_nat > $o] :
( ( ( size_size_list_nat @ Xs2 )
= ( size_size_list_f @ Ys2 ) )
=> ( ( ( size_size_list_f @ Ys2 )
= ( size_size_list_nat @ Zs3 ) )
=> ( ( ( size_size_list_nat @ Zs3 )
= ( size_size_list_nat @ Ws ) )
=> ( ( P2 @ nil_nat @ nil_f @ nil_nat @ nil_nat )
=> ( ! [X4: nat,Xs3: list_nat,Y4: f,Ys: list_f,Z2: nat,Zs2: list_nat,W: nat,Ws2: list_nat] :
( ( ( size_size_list_nat @ Xs3 )
= ( size_size_list_f @ Ys ) )
=> ( ( ( size_size_list_f @ Ys )
= ( size_size_list_nat @ Zs2 ) )
=> ( ( ( size_size_list_nat @ Zs2 )
= ( size_size_list_nat @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_f @ Y4 @ Ys ) @ ( cons_nat @ Z2 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_396_list__induct4,axiom,
! [Xs2: list_nat,Ys2: list_nat,Zs3: list_f,Ws: list_f,P2: list_nat > list_nat > list_f > list_f > $o] :
( ( ( size_size_list_nat @ Xs2 )
= ( size_size_list_nat @ Ys2 ) )
=> ( ( ( size_size_list_nat @ Ys2 )
= ( size_size_list_f @ Zs3 ) )
=> ( ( ( size_size_list_f @ Zs3 )
= ( size_size_list_f @ Ws ) )
=> ( ( P2 @ nil_nat @ nil_nat @ nil_f @ nil_f )
=> ( ! [X4: nat,Xs3: list_nat,Y4: nat,Ys: list_nat,Z2: f,Zs2: list_f,W: f,Ws2: list_f] :
( ( ( size_size_list_nat @ Xs3 )
= ( size_size_list_nat @ Ys ) )
=> ( ( ( size_size_list_nat @ Ys )
= ( size_size_list_f @ Zs2 ) )
=> ( ( ( size_size_list_f @ Zs2 )
= ( size_size_list_f @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) @ ( cons_f @ Z2 @ Zs2 ) @ ( cons_f @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_397_list__induct4,axiom,
! [Xs2: list_nat,Ys2: list_nat,Zs3: list_f,Ws: list_nat,P2: list_nat > list_nat > list_f > list_nat > $o] :
( ( ( size_size_list_nat @ Xs2 )
= ( size_size_list_nat @ Ys2 ) )
=> ( ( ( size_size_list_nat @ Ys2 )
= ( size_size_list_f @ Zs3 ) )
=> ( ( ( size_size_list_f @ Zs3 )
= ( size_size_list_nat @ Ws ) )
=> ( ( P2 @ nil_nat @ nil_nat @ nil_f @ nil_nat )
=> ( ! [X4: nat,Xs3: list_nat,Y4: nat,Ys: list_nat,Z2: f,Zs2: list_f,W: nat,Ws2: list_nat] :
( ( ( size_size_list_nat @ Xs3 )
= ( size_size_list_nat @ Ys ) )
=> ( ( ( size_size_list_nat @ Ys )
= ( size_size_list_f @ Zs2 ) )
=> ( ( ( size_size_list_f @ Zs2 )
= ( size_size_list_nat @ Ws2 ) )
=> ( ( P2 @ Xs3 @ Ys @ Zs2 @ Ws2 )
=> ( P2 @ ( cons_nat @ X4 @ Xs3 ) @ ( cons_nat @ Y4 @ Ys ) @ ( cons_f @ Z2 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
=> ( P2 @ Xs2 @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).
% list_induct4
thf(fact_398_enc__sound_I13_J,axiom,
! [Alpha: a > $o,Fs: list_f] :
( ( eval @ Alpha @ ( enc_conj @ Fs ) )
= ( ! [X2: f] :
( ( member_f @ X2 @ ( set_f2 @ Fs ) )
=> ( eval @ Alpha @ X2 ) ) ) ) ).
% enc_sound(13)
thf(fact_399_encode__sum__0__1__main_Osimps_I2_J,axiom,
! [X3: a,Zero2: a,One2: a,V2: produc4044097585999906000od_a_a,Va2: list_P1802437025701573206od_a_a] :
( ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X3 @ ( product_Pair_a_a @ Zero2 @ One2 ) ) @ ( cons_P64011158483510406od_a_a @ V2 @ Va2 ) ) )
= ( produc7623036209211823483od_a_a
@ ^ [Conds3: list_f] :
( produc3537265031573258201od_a_a
@ ^ [Fzero2: a,Fone2: a] : ( produc3886013187752893941od_a_a @ ( cons_f @ ( enc_equiv_and_not @ Zero2 @ Fzero2 @ X3 ) @ ( cons_f @ ( enc_equiv_ite @ One2 @ X3 @ Fzero2 @ Fone2 ) @ Conds3 ) ) @ ( product_Pair_a_a @ Zero2 @ One2 ) ) )
@ ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ V2 @ Va2 ) ) ) ) ).
% encode_sum_0_1_main.simps(2)
thf(fact_400_encode__sum__0__1__main_Oelims,axiom,
! [X3: list_P1802437025701573206od_a_a,Y3: produc1836594585875604997od_a_a] :
( ( ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ X3 )
= Y3 )
=> ( ! [X4: a,Zero: a] :
( ? [One: a] :
( X3
= ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X4 @ ( product_Pair_a_a @ Zero @ One ) ) @ nil_Pr7291147438282410198od_a_a ) )
=> ( Y3
!= ( produc3886013187752893941od_a_a @ ( cons_f @ ( enc_different @ Zero @ X4 ) @ nil_f ) @ ( product_Pair_a_a @ Zero @ X4 ) ) ) )
=> ( ! [X4: a,Zero: a,One: a,V: produc4044097585999906000od_a_a,Va: list_P1802437025701573206od_a_a] :
( ( X3
= ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X4 @ ( product_Pair_a_a @ Zero @ One ) ) @ ( cons_P64011158483510406od_a_a @ V @ Va ) ) )
=> ( Y3
!= ( produc7623036209211823483od_a_a
@ ^ [Conds3: list_f] :
( produc3537265031573258201od_a_a
@ ^ [Fzero2: a,Fone2: a] : ( produc3886013187752893941od_a_a @ ( cons_f @ ( enc_equiv_and_not @ Zero @ Fzero2 @ X4 ) @ ( cons_f @ ( enc_equiv_ite @ One @ X4 @ Fzero2 @ Fone2 ) @ Conds3 ) ) @ ( product_Pair_a_a @ Zero @ One ) ) )
@ ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ V @ Va ) ) ) ) )
=> ~ ( ( X3 = nil_Pr7291147438282410198od_a_a )
=> ( Y3 != undefi5686959434358318189od_a_a ) ) ) ) ) ).
% encode_sum_0_1_main.elims
thf(fact_401_encode__sum__0__1__main_Opelims,axiom,
! [X3: list_P1802437025701573206od_a_a,Y3: produc1836594585875604997od_a_a] :
( ( ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ X3 )
= Y3 )
=> ( ( accp_l6008386518424361951od_a_a @ multis755825801818188855_rel_a @ X3 )
=> ( ! [X4: a,Zero: a,One: a] :
( ( X3
= ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X4 @ ( product_Pair_a_a @ Zero @ One ) ) @ nil_Pr7291147438282410198od_a_a ) )
=> ( ( Y3
= ( produc3886013187752893941od_a_a @ ( cons_f @ ( enc_different @ Zero @ X4 ) @ nil_f ) @ ( product_Pair_a_a @ Zero @ X4 ) ) )
=> ~ ( accp_l6008386518424361951od_a_a @ multis755825801818188855_rel_a @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X4 @ ( product_Pair_a_a @ Zero @ One ) ) @ nil_Pr7291147438282410198od_a_a ) ) ) )
=> ( ! [X4: a,Zero: a,One: a,V: produc4044097585999906000od_a_a,Va: list_P1802437025701573206od_a_a] :
( ( X3
= ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X4 @ ( product_Pair_a_a @ Zero @ One ) ) @ ( cons_P64011158483510406od_a_a @ V @ Va ) ) )
=> ( ( Y3
= ( produc7623036209211823483od_a_a
@ ^ [Conds3: list_f] :
( produc3537265031573258201od_a_a
@ ^ [Fzero2: a,Fone2: a] : ( produc3886013187752893941od_a_a @ ( cons_f @ ( enc_equiv_and_not @ Zero @ Fzero2 @ X4 ) @ ( cons_f @ ( enc_equiv_ite @ One @ X4 @ Fzero2 @ Fone2 ) @ Conds3 ) ) @ ( product_Pair_a_a @ Zero @ One ) ) )
@ ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ V @ Va ) ) ) )
=> ~ ( accp_l6008386518424361951od_a_a @ multis755825801818188855_rel_a @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ X4 @ ( product_Pair_a_a @ Zero @ One ) ) @ ( cons_P64011158483510406od_a_a @ V @ Va ) ) ) ) )
=> ~ ( ( X3 = nil_Pr7291147438282410198od_a_a )
=> ( ( Y3 = undefi5686959434358318189od_a_a )
=> ~ ( accp_l6008386518424361951od_a_a @ multis755825801818188855_rel_a @ nil_Pr7291147438282410198od_a_a ) ) ) ) ) ) ) ).
% encode_sum_0_1_main.pelims
thf(fact_402_enc__sound_I12_J,axiom,
! [Alpha: a > $o,Xs2: list_a] :
( ( eval @ Alpha @ ( enc_not_all @ Xs2 ) )
= ( ~ ! [X2: a] :
( ( member_a @ X2 @ ( set_a2 @ Xs2 ) )
=> ( Alpha @ X2 ) ) ) ) ).
% enc_sound(12)
thf(fact_403_encodeGammaCond_Ocases,axiom,
! [X3: produc628930716821598713od_o_o] :
( ! [Gam: a,Eps: a] :
( X3
!= ( produc580260797871235561od_o_o @ Gam @ ( produc1797438980157902144od_o_o @ Eps @ ( product_Pair_o_o @ $true @ $true ) ) ) )
=> ( ! [Gam: a,Eps: a] :
( X3
!= ( produc580260797871235561od_o_o @ Gam @ ( produc1797438980157902144od_o_o @ Eps @ ( product_Pair_o_o @ $false @ $false ) ) ) )
=> ( ! [Gam: a,Eps: a] :
( X3
!= ( produc580260797871235561od_o_o @ Gam @ ( produc1797438980157902144od_o_o @ Eps @ ( product_Pair_o_o @ $false @ $true ) ) ) )
=> ~ ! [Gam: a,Eps: a] :
( X3
!= ( produc580260797871235561od_o_o @ Gam @ ( produc1797438980157902144od_o_o @ Eps @ ( product_Pair_o_o @ $true @ $false ) ) ) ) ) ) ) ).
% encodeGammaCond.cases
thf(fact_404_enc__sound_I1_J,axiom,
! [Alpha: a > $o] :
~ ( eval @ Alpha @ enc_False ) ).
% enc_sound(1)
thf(fact_405_enc__sound_I8_J,axiom,
! [Alpha: a > $o,X3: a,Y3: a,Z3: a] :
( ( eval @ Alpha @ ( enc_ite @ X3 @ Y3 @ Z3 ) )
= ( ( ( Alpha @ X3 )
=> ( Alpha @ Y3 ) )
& ( ~ ( Alpha @ X3 )
=> ( Alpha @ Z3 ) ) ) ) ).
% enc_sound(8)
thf(fact_406_enc__sound_I3_J,axiom,
! [Alpha: a > $o,X3: a] :
( ( eval @ Alpha @ ( enc_pos @ X3 ) )
= ( Alpha @ X3 ) ) ).
% enc_sound(3)
thf(fact_407_encode__exactly__one__def,axiom,
! [Vars: list_P1802437025701573206od_a_a] :
( ( multis6733176023901674631ne_f_a @ enc_False @ enc_pos @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ enc_ite @ Vars )
= ( case_l2391366069430990601od_a_a @ ( produc4886901243613182557list_f @ enc_False @ nil_f )
@ ^ [A6: produc4044097585999906000od_a_a,Vars2: list_P1802437025701573206od_a_a] :
( produc5031227304981719768list_f
@ ^ [X2: a] :
( produc2694644985735031361list_f
@ ^ [Xa2: a,Xb: a] :
( case_l2391366069430990601od_a_a @ ( produc4886901243613182557list_f @ ( enc_pos @ X2 ) @ nil_f )
@ ^ [Aa: produc4044097585999906000od_a_a,List2: list_P1802437025701573206od_a_a] :
( produc2342999718295319011list_f
@ ^ [Conds3: list_f] :
( produc2694644985735031361list_f
@ ^ [Zero3: a,One3: a] : ( produc4886901243613182557list_f @ ( enc_ite @ X2 @ Zero3 @ One3 ) @ Conds3 ) )
@ ( multis3280010013254100632in_a_f @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ ( cons_P64011158483510406od_a_a @ Aa @ List2 ) ) )
@ Vars2 ) )
@ A6 )
@ Vars ) ) ).
% encode_exactly_one_def
thf(fact_408_encoder__axioms,axiom,
multis2105231276199332433er_a_f @ eval @ enc_False @ enc_True @ enc_pos @ enc_neg @ enc_different @ enc_equiv_and_not @ enc_equiv_ite @ enc_ite @ enc_impl @ enc_var_impl @ enc_not_and @ enc_not_all @ enc_conj ).
% encoder_axioms
thf(fact_409_enc__sound_I11_J,axiom,
! [Alpha: a > $o,X3: a,Y3: a] :
( ( eval @ Alpha @ ( enc_not_and @ X3 @ Y3 ) )
= ( ~ ( ( Alpha @ X3 )
& ( Alpha @ Y3 ) ) ) ) ).
% enc_sound(11)
thf(fact_410_enc__sound_I10_J,axiom,
! [Alpha: a > $o,X3: a,Y3: a] :
( ( eval @ Alpha @ ( enc_var_impl @ X3 @ Y3 ) )
= ( ( Alpha @ X3 )
=> ( Alpha @ Y3 ) ) ) ).
% enc_sound(10)
thf(fact_411_enc__sound_I4_J,axiom,
! [Alpha: a > $o,X3: a] :
( ( eval @ Alpha @ ( enc_neg @ X3 ) )
= ( ~ ( Alpha @ X3 ) ) ) ).
% enc_sound(4)
thf(fact_412_enc__sound_I2_J,axiom,
! [Alpha: a > $o] : ( eval @ Alpha @ enc_True ) ).
% enc_sound(2)
thf(fact_413_encodeGammaCond_Oelims,axiom,
! [X3: a,Xa: a,Xb2: $o,Xc: $o,Y3: f] :
( ( ( multis5227817600615747794nd_f_a @ enc_True @ enc_neg @ enc_var_impl @ enc_not_and @ X3 @ Xa @ Xb2 @ Xc )
= Y3 )
=> ( ( Xb2
=> ( Xc
=> ( Y3 != enc_True ) ) )
=> ( ( ~ Xb2
=> ( ~ Xc
=> ( Y3
!= ( enc_neg @ X3 ) ) ) )
=> ( ( ~ Xb2
=> ( Xc
=> ( Y3
!= ( enc_var_impl @ X3 @ Xa ) ) ) )
=> ~ ( Xb2
=> ( ~ Xc
=> ( Y3
!= ( enc_not_and @ X3 @ Xa ) ) ) ) ) ) ) ) ).
% encodeGammaCond.elims
thf(fact_414_encodeGammaCond_Osimps_I1_J,axiom,
! [Gam2: a,Eps2: a] :
( ( multis5227817600615747794nd_f_a @ enc_True @ enc_neg @ enc_var_impl @ enc_not_and @ Gam2 @ Eps2 @ $true @ $true )
= enc_True ) ).
% encodeGammaCond.simps(1)
thf(fact_415_encodeGammaCond_Osimps_I2_J,axiom,
! [Gam2: a,Eps2: a] :
( ( multis5227817600615747794nd_f_a @ enc_True @ enc_neg @ enc_var_impl @ enc_not_and @ Gam2 @ Eps2 @ $false @ $false )
= ( enc_neg @ Gam2 ) ) ).
% encodeGammaCond.simps(2)
thf(fact_416_encodeGammaCond_Osimps_I3_J,axiom,
! [Gam2: a,Eps2: a] :
( ( multis5227817600615747794nd_f_a @ enc_True @ enc_neg @ enc_var_impl @ enc_not_and @ Gam2 @ Eps2 @ $false @ $true )
= ( enc_var_impl @ Gam2 @ Eps2 ) ) ).
% encodeGammaCond.simps(3)
thf(fact_417_encodeGammaCond_Osimps_I4_J,axiom,
! [Gam2: a,Eps2: a] :
( ( multis5227817600615747794nd_f_a @ enc_True @ enc_neg @ enc_var_impl @ enc_not_and @ Gam2 @ Eps2 @ $true @ $false )
= ( enc_not_and @ Gam2 @ Eps2 ) ) ).
% encodeGammaCond.simps(4)
thf(fact_418_encodeGammaCond_Opelims,axiom,
! [X3: a,Xa: a,Xb2: $o,Xc: $o,Y3: f] :
( ( ( multis5227817600615747794nd_f_a @ enc_True @ enc_neg @ enc_var_impl @ enc_not_and @ X3 @ Xa @ Xb2 @ Xc )
= Y3 )
=> ( ( accp_P6333248501074455554od_o_o @ multis4109485244188643131_rel_a @ ( produc580260797871235561od_o_o @ X3 @ ( produc1797438980157902144od_o_o @ Xa @ ( product_Pair_o_o @ Xb2 @ Xc ) ) ) )
=> ( ( Xb2
=> ( Xc
=> ( ( Y3 = enc_True )
=> ~ ( accp_P6333248501074455554od_o_o @ multis4109485244188643131_rel_a @ ( produc580260797871235561od_o_o @ X3 @ ( produc1797438980157902144od_o_o @ Xa @ ( product_Pair_o_o @ $true @ $true ) ) ) ) ) ) )
=> ( ( ~ Xb2
=> ( ~ Xc
=> ( ( Y3
= ( enc_neg @ X3 ) )
=> ~ ( accp_P6333248501074455554od_o_o @ multis4109485244188643131_rel_a @ ( produc580260797871235561od_o_o @ X3 @ ( produc1797438980157902144od_o_o @ Xa @ ( product_Pair_o_o @ $false @ $false ) ) ) ) ) ) )
=> ( ( ~ Xb2
=> ( Xc
=> ( ( Y3
= ( enc_var_impl @ X3 @ Xa ) )
=> ~ ( accp_P6333248501074455554od_o_o @ multis4109485244188643131_rel_a @ ( produc580260797871235561od_o_o @ X3 @ ( produc1797438980157902144od_o_o @ Xa @ ( product_Pair_o_o @ $false @ $true ) ) ) ) ) ) )
=> ~ ( Xb2
=> ( ~ Xc
=> ( ( Y3
= ( enc_not_and @ X3 @ Xa ) )
=> ~ ( accp_P6333248501074455554od_o_o @ multis4109485244188643131_rel_a @ ( produc580260797871235561od_o_o @ X3 @ ( produc1797438980157902144od_o_o @ Xa @ ( product_Pair_o_o @ $true @ $false ) ) ) ) ) ) ) ) ) ) ) ) ).
% encodeGammaCond.pelims
thf(fact_419_Suc__less__eq,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
= ( ord_less_nat @ M2 @ N2 ) ) ).
% Suc_less_eq
thf(fact_420_Suc__mono,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N2 ) ) ) ).
% Suc_mono
thf(fact_421_lessI,axiom,
! [N2: nat] : ( ord_less_nat @ N2 @ ( suc @ N2 ) ) ).
% lessI
thf(fact_422_nat__neq__iff,axiom,
! [M2: nat,N2: nat] :
( ( M2 != N2 )
= ( ( ord_less_nat @ M2 @ N2 )
| ( ord_less_nat @ N2 @ M2 ) ) ) ).
% nat_neq_iff
thf(fact_423_less__not__refl,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ N2 ) ).
% less_not_refl
thf(fact_424_less__not__refl2,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ N2 @ M2 )
=> ( M2 != N2 ) ) ).
% less_not_refl2
thf(fact_425_less__not__refl3,axiom,
! [S: nat,T: nat] :
( ( ord_less_nat @ S @ T )
=> ( S != T ) ) ).
% less_not_refl3
thf(fact_426_less__irrefl__nat,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ N2 ) ).
% less_irrefl_nat
thf(fact_427_nat__less__induct,axiom,
! [P2: nat > $o,N2: nat] :
( ! [N3: nat] :
( ! [M3: nat] :
( ( ord_less_nat @ M3 @ N3 )
=> ( P2 @ M3 ) )
=> ( P2 @ N3 ) )
=> ( P2 @ N2 ) ) ).
% nat_less_induct
thf(fact_428_infinite__descent,axiom,
! [P2: nat > $o,N2: nat] :
( ! [N3: nat] :
( ~ ( P2 @ N3 )
=> ? [M3: nat] :
( ( ord_less_nat @ M3 @ N3 )
& ~ ( P2 @ M3 ) ) )
=> ( P2 @ N2 ) ) ).
% infinite_descent
thf(fact_429_linorder__neqE__nat,axiom,
! [X3: nat,Y3: nat] :
( ( X3 != Y3 )
=> ( ~ ( ord_less_nat @ X3 @ Y3 )
=> ( ord_less_nat @ Y3 @ X3 ) ) ) ).
% linorder_neqE_nat
thf(fact_430_Nat_OlessE,axiom,
! [I: nat,K: nat] :
( ( ord_less_nat @ I @ K )
=> ( ( K
!= ( suc @ I ) )
=> ~ ! [J: nat] :
( ( ord_less_nat @ I @ J )
=> ( K
!= ( suc @ J ) ) ) ) ) ).
% Nat.lessE
thf(fact_431_Suc__lessD,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ ( suc @ M2 ) @ N2 )
=> ( ord_less_nat @ M2 @ N2 ) ) ).
% Suc_lessD
thf(fact_432_Suc__lessE,axiom,
! [I: nat,K: nat] :
( ( ord_less_nat @ ( suc @ I ) @ K )
=> ~ ! [J: nat] :
( ( ord_less_nat @ I @ J )
=> ( K
!= ( suc @ J ) ) ) ) ).
% Suc_lessE
thf(fact_433_Suc__lessI,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ( ( suc @ M2 )
!= N2 )
=> ( ord_less_nat @ ( suc @ M2 ) @ N2 ) ) ) ).
% Suc_lessI
thf(fact_434_less__SucE,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ ( suc @ N2 ) )
=> ( ~ ( ord_less_nat @ M2 @ N2 )
=> ( M2 = N2 ) ) ) ).
% less_SucE
thf(fact_435_less__SucI,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ord_less_nat @ M2 @ ( suc @ N2 ) ) ) ).
% less_SucI
thf(fact_436_Ex__less__Suc,axiom,
! [N2: nat,P2: nat > $o] :
( ( ? [I3: nat] :
( ( ord_less_nat @ I3 @ ( suc @ N2 ) )
& ( P2 @ I3 ) ) )
= ( ( P2 @ N2 )
| ? [I3: nat] :
( ( ord_less_nat @ I3 @ N2 )
& ( P2 @ I3 ) ) ) ) ).
% Ex_less_Suc
thf(fact_437_less__Suc__eq,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ ( suc @ N2 ) )
= ( ( ord_less_nat @ M2 @ N2 )
| ( M2 = N2 ) ) ) ).
% less_Suc_eq
thf(fact_438_not__less__eq,axiom,
! [M2: nat,N2: nat] :
( ( ~ ( ord_less_nat @ M2 @ N2 ) )
= ( ord_less_nat @ N2 @ ( suc @ M2 ) ) ) ).
% not_less_eq
thf(fact_439_All__less__Suc,axiom,
! [N2: nat,P2: nat > $o] :
( ( ! [I3: nat] :
( ( ord_less_nat @ I3 @ ( suc @ N2 ) )
=> ( P2 @ I3 ) ) )
= ( ( P2 @ N2 )
& ! [I3: nat] :
( ( ord_less_nat @ I3 @ N2 )
=> ( P2 @ I3 ) ) ) ) ).
% All_less_Suc
thf(fact_440_Suc__less__eq2,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ ( suc @ N2 ) @ M2 )
= ( ? [M4: nat] :
( ( M2
= ( suc @ M4 ) )
& ( ord_less_nat @ N2 @ M4 ) ) ) ) ).
% Suc_less_eq2
thf(fact_441_less__antisym,axiom,
! [N2: nat,M2: nat] :
( ~ ( ord_less_nat @ N2 @ M2 )
=> ( ( ord_less_nat @ N2 @ ( suc @ M2 ) )
=> ( M2 = N2 ) ) ) ).
% less_antisym
thf(fact_442_Suc__less__SucD,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ ( suc @ M2 ) @ ( suc @ N2 ) )
=> ( ord_less_nat @ M2 @ N2 ) ) ).
% Suc_less_SucD
thf(fact_443_less__trans__Suc,axiom,
! [I: nat,J2: nat,K: nat] :
( ( ord_less_nat @ I @ J2 )
=> ( ( ord_less_nat @ J2 @ K )
=> ( ord_less_nat @ ( suc @ I ) @ K ) ) ) ).
% less_trans_Suc
thf(fact_444_less__Suc__induct,axiom,
! [I: nat,J2: nat,P2: nat > nat > $o] :
( ( ord_less_nat @ I @ J2 )
=> ( ! [I2: nat] : ( P2 @ I2 @ ( suc @ I2 ) )
=> ( ! [I2: nat,J: nat,K2: nat] :
( ( ord_less_nat @ I2 @ J )
=> ( ( ord_less_nat @ J @ K2 )
=> ( ( P2 @ I2 @ J )
=> ( ( P2 @ J @ K2 )
=> ( P2 @ I2 @ K2 ) ) ) ) )
=> ( P2 @ I @ J2 ) ) ) ) ).
% less_Suc_induct
thf(fact_445_strict__inc__induct,axiom,
! [I: nat,J2: nat,P2: nat > $o] :
( ( ord_less_nat @ I @ J2 )
=> ( ! [I2: nat] :
( ( J2
= ( suc @ I2 ) )
=> ( P2 @ I2 ) )
=> ( ! [I2: nat] :
( ( ord_less_nat @ I2 @ J2 )
=> ( ( P2 @ ( suc @ I2 ) )
=> ( P2 @ I2 ) ) )
=> ( P2 @ I ) ) ) ) ).
% strict_inc_induct
thf(fact_446_not__less__less__Suc__eq,axiom,
! [N2: nat,M2: nat] :
( ~ ( ord_less_nat @ N2 @ M2 )
=> ( ( ord_less_nat @ N2 @ ( suc @ M2 ) )
= ( N2 = M2 ) ) ) ).
% not_less_less_Suc_eq
thf(fact_447_bot__nat__0_Onot__eq__extremum,axiom,
! [A2: nat] :
( ( A2 != zero_zero_nat )
= ( ord_less_nat @ zero_zero_nat @ A2 ) ) ).
% bot_nat_0.not_eq_extremum
thf(fact_448_neq0__conv,axiom,
! [N2: nat] :
( ( N2 != zero_zero_nat )
= ( ord_less_nat @ zero_zero_nat @ N2 ) ) ).
% neq0_conv
thf(fact_449_less__nat__zero__code,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ zero_zero_nat ) ).
% less_nat_zero_code
thf(fact_450_zero__less__Suc,axiom,
! [N2: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N2 ) ) ).
% zero_less_Suc
thf(fact_451_less__Suc0,axiom,
! [N2: nat] :
( ( ord_less_nat @ N2 @ ( suc @ zero_zero_nat ) )
= ( N2 = zero_zero_nat ) ) ).
% less_Suc0
thf(fact_452_inf__concat__simple_Ocases,axiom,
! [X3: produc8199716216217303280at_nat] :
( ! [F2: nat > nat] :
( X3
!= ( produc72220940542539688at_nat @ F2 @ zero_zero_nat ) )
=> ~ ! [F2: nat > nat,N3: nat] :
( X3
!= ( produc72220940542539688at_nat @ F2 @ ( suc @ N3 ) ) ) ) ).
% inf_concat_simple.cases
thf(fact_453_infinite__descent0,axiom,
! [P2: nat > $o,N2: nat] :
( ( P2 @ zero_zero_nat )
=> ( ! [N3: nat] :
( ( ord_less_nat @ zero_zero_nat @ N3 )
=> ( ~ ( P2 @ N3 )
=> ? [M3: nat] :
( ( ord_less_nat @ M3 @ N3 )
& ~ ( P2 @ M3 ) ) ) )
=> ( P2 @ N2 ) ) ) ).
% infinite_descent0
thf(fact_454_gr__implies__not0,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( N2 != zero_zero_nat ) ) ).
% gr_implies_not0
thf(fact_455_less__zeroE,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ zero_zero_nat ) ).
% less_zeroE
thf(fact_456_not__less0,axiom,
! [N2: nat] :
~ ( ord_less_nat @ N2 @ zero_zero_nat ) ).
% not_less0
thf(fact_457_not__gr0,axiom,
! [N2: nat] :
( ( ~ ( ord_less_nat @ zero_zero_nat @ N2 ) )
= ( N2 = zero_zero_nat ) ) ).
% not_gr0
thf(fact_458_gr0I,axiom,
! [N2: nat] :
( ( N2 != zero_zero_nat )
=> ( ord_less_nat @ zero_zero_nat @ N2 ) ) ).
% gr0I
thf(fact_459_bot__nat__0_Oextremum__strict,axiom,
! [A2: nat] :
~ ( ord_less_nat @ A2 @ zero_zero_nat ) ).
% bot_nat_0.extremum_strict
thf(fact_460_less__Suc__eq__0__disj,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ ( suc @ N2 ) )
= ( ( M2 = zero_zero_nat )
| ? [J3: nat] :
( ( M2
= ( suc @ J3 ) )
& ( ord_less_nat @ J3 @ N2 ) ) ) ) ).
% less_Suc_eq_0_disj
thf(fact_461_gr0__implies__Suc,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ? [M5: nat] :
( N2
= ( suc @ M5 ) ) ) ).
% gr0_implies_Suc
thf(fact_462_All__less__Suc2,axiom,
! [N2: nat,P2: nat > $o] :
( ( ! [I3: nat] :
( ( ord_less_nat @ I3 @ ( suc @ N2 ) )
=> ( P2 @ I3 ) ) )
= ( ( P2 @ zero_zero_nat )
& ! [I3: nat] :
( ( ord_less_nat @ I3 @ N2 )
=> ( P2 @ ( suc @ I3 ) ) ) ) ) ).
% All_less_Suc2
thf(fact_463_gr0__conv__Suc,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
= ( ? [M6: nat] :
( N2
= ( suc @ M6 ) ) ) ) ).
% gr0_conv_Suc
thf(fact_464_Ex__less__Suc2,axiom,
! [N2: nat,P2: nat > $o] :
( ( ? [I3: nat] :
( ( ord_less_nat @ I3 @ ( suc @ N2 ) )
& ( P2 @ I3 ) ) )
= ( ( P2 @ zero_zero_nat )
| ? [I3: nat] :
( ( ord_less_nat @ I3 @ N2 )
& ( P2 @ ( suc @ I3 ) ) ) ) ) ).
% Ex_less_Suc2
thf(fact_465_tl__upt,axiom,
! [M2: nat,N2: nat] :
( ( tl_nat @ ( upt @ M2 @ N2 ) )
= ( upt @ ( suc @ M2 ) @ N2 ) ) ).
% tl_upt
thf(fact_466_hd__upt,axiom,
! [I: nat,J2: nat] :
( ( ord_less_nat @ I @ J2 )
=> ( ( hd_nat @ ( upt @ I @ J2 ) )
= I ) ) ).
% hd_upt
thf(fact_467_upt__0,axiom,
! [I: nat] :
( ( upt @ I @ zero_zero_nat )
= nil_nat ) ).
% upt_0
thf(fact_468_nat__gcd_Ocases,axiom,
! [X3: product_prod_nat_nat] :
~ ! [X4: nat,Y4: nat] :
( X3
!= ( product_Pair_nat_nat @ X4 @ Y4 ) ) ).
% nat_gcd.cases
thf(fact_469_distinct__upt,axiom,
! [I: nat,J2: nat] : ( distinct_nat @ ( upt @ I @ J2 ) ) ).
% distinct_upt
thf(fact_470_upt__conv__Cons__Cons,axiom,
! [M2: nat,N2: nat,Ns: list_nat,Q: nat] :
( ( ( cons_nat @ M2 @ ( cons_nat @ N2 @ Ns ) )
= ( upt @ M2 @ Q ) )
= ( ( cons_nat @ N2 @ Ns )
= ( upt @ ( suc @ M2 ) @ Q ) ) ) ).
% upt_conv_Cons_Cons
thf(fact_471_map__Suc__upt,axiom,
! [M2: nat,N2: nat] :
( ( map_nat_nat @ suc @ ( upt @ M2 @ N2 ) )
= ( upt @ ( suc @ M2 ) @ ( suc @ N2 ) ) ) ).
% map_Suc_upt
thf(fact_472_upt__conv__Cons,axiom,
! [I: nat,J2: nat] :
( ( ord_less_nat @ I @ J2 )
=> ( ( upt @ I @ J2 )
= ( cons_nat @ I @ ( upt @ ( suc @ I ) @ J2 ) ) ) ) ).
% upt_conv_Cons
thf(fact_473_upt__rec,axiom,
( upt
= ( ^ [I3: nat,J3: nat] : ( if_list_nat @ ( ord_less_nat @ I3 @ J3 ) @ ( cons_nat @ I3 @ ( upt @ ( suc @ I3 ) @ J3 ) ) @ nil_nat ) ) ) ).
% upt_rec
thf(fact_474_inf__concat__simple_Oelims,axiom,
! [X3: nat > nat,Xa: nat,Y3: product_prod_nat_nat] :
( ( ( inf_concat_simple @ X3 @ Xa )
= Y3 )
=> ( ( ( Xa = zero_zero_nat )
=> ( Y3
!= ( product_Pair_nat_nat @ zero_zero_nat @ zero_zero_nat ) ) )
=> ~ ! [N3: nat] :
( ( Xa
= ( suc @ N3 ) )
=> ( Y3
!= ( produc2626176000494625587at_nat
@ ^ [I3: nat,J3: nat] : ( if_Pro6206227464963214023at_nat @ ( ord_less_nat @ ( suc @ J3 ) @ ( X3 @ I3 ) ) @ ( product_Pair_nat_nat @ I3 @ ( suc @ J3 ) ) @ ( product_Pair_nat_nat @ ( suc @ I3 ) @ zero_zero_nat ) )
@ ( inf_concat_simple @ X3 @ N3 ) ) ) ) ) ) ).
% inf_concat_simple.elims
thf(fact_475_inf__concat__simple_Osimps_I2_J,axiom,
! [F: nat > nat,N2: nat] :
( ( inf_concat_simple @ F @ ( suc @ N2 ) )
= ( produc2626176000494625587at_nat
@ ^ [I3: nat,J3: nat] : ( if_Pro6206227464963214023at_nat @ ( ord_less_nat @ ( suc @ J3 ) @ ( F @ I3 ) ) @ ( product_Pair_nat_nat @ I3 @ ( suc @ J3 ) ) @ ( product_Pair_nat_nat @ ( suc @ I3 ) @ zero_zero_nat ) )
@ ( inf_concat_simple @ F @ N2 ) ) ) ).
% inf_concat_simple.simps(2)
thf(fact_476_inf__concat__simple__surj__zero,axiom,
! [F: nat > nat,I: nat] :
? [K2: nat] :
( ( inf_concat_simple @ F @ K2 )
= ( product_Pair_nat_nat @ I @ zero_zero_nat ) ) ).
% inf_concat_simple_surj_zero
thf(fact_477_inf__concat__simple_Osimps_I1_J,axiom,
! [F: nat > nat] :
( ( inf_concat_simple @ F @ zero_zero_nat )
= ( product_Pair_nat_nat @ zero_zero_nat @ zero_zero_nat ) ) ).
% inf_concat_simple.simps(1)
thf(fact_478_inf__concat__simple__surj,axiom,
! [J2: nat,F: nat > nat,I: nat] :
( ( ord_less_nat @ J2 @ ( F @ I ) )
=> ? [K2: nat] :
( ( inf_concat_simple @ F @ K2 )
= ( product_Pair_nat_nat @ I @ J2 ) ) ) ).
% inf_concat_simple_surj
thf(fact_479_upt__rec__numeral,axiom,
! [M2: num,N2: num] :
( ( ( ord_less_nat @ ( numeral_numeral_nat @ M2 ) @ ( numeral_numeral_nat @ N2 ) )
=> ( ( upt @ ( numeral_numeral_nat @ M2 ) @ ( numeral_numeral_nat @ N2 ) )
= ( cons_nat @ ( numeral_numeral_nat @ M2 ) @ ( upt @ ( suc @ ( numeral_numeral_nat @ M2 ) ) @ ( numeral_numeral_nat @ N2 ) ) ) ) )
& ( ~ ( ord_less_nat @ ( numeral_numeral_nat @ M2 ) @ ( numeral_numeral_nat @ N2 ) )
=> ( ( upt @ ( numeral_numeral_nat @ M2 ) @ ( numeral_numeral_nat @ N2 ) )
= nil_nat ) ) ) ).
% upt_rec_numeral
thf(fact_480_nat__add__left__cancel__less,axiom,
! [K: nat,M2: nat,N2: nat] :
( ( ord_less_nat @ ( plus_plus_nat @ K @ M2 ) @ ( plus_plus_nat @ K @ N2 ) )
= ( ord_less_nat @ M2 @ N2 ) ) ).
% nat_add_left_cancel_less
thf(fact_481_drop__upt,axiom,
! [M2: nat,I: nat,J2: nat] :
( ( drop_nat @ M2 @ ( upt @ I @ J2 ) )
= ( upt @ ( plus_plus_nat @ I @ M2 ) @ J2 ) ) ).
% drop_upt
thf(fact_482_add__gr__0,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ M2 @ N2 ) )
= ( ( ord_less_nat @ zero_zero_nat @ M2 )
| ( ord_less_nat @ zero_zero_nat @ N2 ) ) ) ).
% add_gr_0
thf(fact_483_nth__upt,axiom,
! [I: nat,K: nat,J2: nat] :
( ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ J2 )
=> ( ( nth_nat @ ( upt @ I @ J2 ) @ K )
= ( plus_plus_nat @ I @ K ) ) ) ).
% nth_upt
thf(fact_484_add__lessD1,axiom,
! [I: nat,J2: nat,K: nat] :
( ( ord_less_nat @ ( plus_plus_nat @ I @ J2 ) @ K )
=> ( ord_less_nat @ I @ K ) ) ).
% add_lessD1
thf(fact_485_add__less__mono,axiom,
! [I: nat,J2: nat,K: nat,L: nat] :
( ( ord_less_nat @ I @ J2 )
=> ( ( ord_less_nat @ K @ L )
=> ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J2 @ L ) ) ) ) ).
% add_less_mono
thf(fact_486_not__add__less1,axiom,
! [I: nat,J2: nat] :
~ ( ord_less_nat @ ( plus_plus_nat @ I @ J2 ) @ I ) ).
% not_add_less1
thf(fact_487_not__add__less2,axiom,
! [J2: nat,I: nat] :
~ ( ord_less_nat @ ( plus_plus_nat @ J2 @ I ) @ I ) ).
% not_add_less2
thf(fact_488_add__less__mono1,axiom,
! [I: nat,J2: nat,K: nat] :
( ( ord_less_nat @ I @ J2 )
=> ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J2 @ K ) ) ) ).
% add_less_mono1
thf(fact_489_trans__less__add1,axiom,
! [I: nat,J2: nat,M2: nat] :
( ( ord_less_nat @ I @ J2 )
=> ( ord_less_nat @ I @ ( plus_plus_nat @ J2 @ M2 ) ) ) ).
% trans_less_add1
thf(fact_490_trans__less__add2,axiom,
! [I: nat,J2: nat,M2: nat] :
( ( ord_less_nat @ I @ J2 )
=> ( ord_less_nat @ I @ ( plus_plus_nat @ M2 @ J2 ) ) ) ).
% trans_less_add2
thf(fact_491_less__add__eq__less,axiom,
! [K: nat,L: nat,M2: nat,N2: nat] :
( ( ord_less_nat @ K @ L )
=> ( ( ( plus_plus_nat @ M2 @ L )
= ( plus_plus_nat @ K @ N2 ) )
=> ( ord_less_nat @ M2 @ N2 ) ) ) ).
% less_add_eq_less
thf(fact_492_less__imp__add__positive,axiom,
! [I: nat,J2: nat] :
( ( ord_less_nat @ I @ J2 )
=> ? [K2: nat] :
( ( ord_less_nat @ zero_zero_nat @ K2 )
& ( ( plus_plus_nat @ I @ K2 )
= J2 ) ) ) ).
% less_imp_add_positive
thf(fact_493_less__imp__Suc__add,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ? [K2: nat] :
( N2
= ( suc @ ( plus_plus_nat @ M2 @ K2 ) ) ) ) ).
% less_imp_Suc_add
thf(fact_494_less__iff__Suc__add,axiom,
( ord_less_nat
= ( ^ [M6: nat,N4: nat] :
? [K3: nat] :
( N4
= ( suc @ ( plus_plus_nat @ M6 @ K3 ) ) ) ) ) ).
% less_iff_Suc_add
thf(fact_495_less__add__Suc2,axiom,
! [I: nat,M2: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ M2 @ I ) ) ) ).
% less_add_Suc2
thf(fact_496_less__add__Suc1,axiom,
! [I: nat,M2: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ I @ M2 ) ) ) ).
% less_add_Suc1
thf(fact_497_less__natE,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ~ ! [Q2: nat] :
( N2
!= ( suc @ ( plus_plus_nat @ M2 @ Q2 ) ) ) ) ).
% less_natE
thf(fact_498_inf__concat__simple__add,axiom,
! [F: nat > nat,K: nat,I: nat,J2: nat,L: nat] :
( ( ( inf_concat_simple @ F @ K )
= ( product_Pair_nat_nat @ I @ J2 ) )
=> ( ( ord_less_nat @ ( plus_plus_nat @ J2 @ L ) @ ( F @ I ) )
=> ( ( inf_concat_simple @ F @ ( plus_plus_nat @ K @ L ) )
= ( product_Pair_nat_nat @ I @ ( plus_plus_nat @ J2 @ L ) ) ) ) ) ).
% inf_concat_simple_add
thf(fact_499_map__add__upt,axiom,
! [N2: nat,M2: nat] :
( ( map_nat_nat
@ ^ [I3: nat] : ( plus_plus_nat @ I3 @ N2 )
@ ( upt @ zero_zero_nat @ M2 ) )
= ( upt @ N2 @ ( plus_plus_nat @ M2 @ N2 ) ) ) ).
% map_add_upt
thf(fact_500_length__upt,axiom,
! [I: nat,J2: nat] :
( ( size_size_list_nat @ ( upt @ I @ J2 ) )
= ( minus_minus_nat @ J2 @ I ) ) ).
% length_upt
thf(fact_501_zero__less__diff,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N2 @ M2 ) )
= ( ord_less_nat @ M2 @ N2 ) ) ).
% zero_less_diff
thf(fact_502_Suc__pred,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ( ( suc @ ( minus_minus_nat @ N2 @ ( suc @ zero_zero_nat ) ) )
= N2 ) ) ).
% Suc_pred
thf(fact_503_diff__less__mono2,axiom,
! [M2: nat,N2: nat,L: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ( ord_less_nat @ M2 @ L )
=> ( ord_less_nat @ ( minus_minus_nat @ L @ N2 ) @ ( minus_minus_nat @ L @ M2 ) ) ) ) ).
% diff_less_mono2
thf(fact_504_less__imp__diff__less,axiom,
! [J2: nat,K: nat,N2: nat] :
( ( ord_less_nat @ J2 @ K )
=> ( ord_less_nat @ ( minus_minus_nat @ J2 @ N2 ) @ K ) ) ).
% less_imp_diff_less
thf(fact_505_diff__less,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ( ( ord_less_nat @ zero_zero_nat @ M2 )
=> ( ord_less_nat @ ( minus_minus_nat @ M2 @ N2 ) @ M2 ) ) ) ).
% diff_less
thf(fact_506_Suc__diff__Suc,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ N2 @ M2 )
=> ( ( suc @ ( minus_minus_nat @ M2 @ ( suc @ N2 ) ) )
= ( minus_minus_nat @ M2 @ N2 ) ) ) ).
% Suc_diff_Suc
thf(fact_507_diff__less__Suc,axiom,
! [M2: nat,N2: nat] : ( ord_less_nat @ ( minus_minus_nat @ M2 @ N2 ) @ ( suc @ M2 ) ) ).
% diff_less_Suc
thf(fact_508_add__diff__inverse__nat,axiom,
! [M2: nat,N2: nat] :
( ~ ( ord_less_nat @ M2 @ N2 )
=> ( ( plus_plus_nat @ N2 @ ( minus_minus_nat @ M2 @ N2 ) )
= M2 ) ) ).
% add_diff_inverse_nat
thf(fact_509_less__diff__conv,axiom,
! [I: nat,J2: nat,K: nat] :
( ( ord_less_nat @ I @ ( minus_minus_nat @ J2 @ K ) )
= ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ J2 ) ) ).
% less_diff_conv
thf(fact_510_diff__Suc__less,axiom,
! [N2: nat,I: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ( ord_less_nat @ ( minus_minus_nat @ N2 @ ( suc @ I ) ) @ N2 ) ) ).
% diff_Suc_less
thf(fact_511_nat__diff__split,axiom,
! [P2: nat > $o,A2: nat,B: nat] :
( ( P2 @ ( minus_minus_nat @ A2 @ B ) )
= ( ( ( ord_less_nat @ A2 @ B )
=> ( P2 @ zero_zero_nat ) )
& ! [D2: nat] :
( ( A2
= ( plus_plus_nat @ B @ D2 ) )
=> ( P2 @ D2 ) ) ) ) ).
% nat_diff_split
thf(fact_512_nat__diff__split__asm,axiom,
! [P2: nat > $o,A2: nat,B: nat] :
( ( P2 @ ( minus_minus_nat @ A2 @ B ) )
= ( ~ ( ( ( ord_less_nat @ A2 @ B )
& ~ ( P2 @ zero_zero_nat ) )
| ? [D2: nat] :
( ( A2
= ( plus_plus_nat @ B @ D2 ) )
& ~ ( P2 @ D2 ) ) ) ) ) ).
% nat_diff_split_asm
thf(fact_513_map__decr__upt,axiom,
! [M2: nat,N2: nat] :
( ( map_nat_nat
@ ^ [N4: nat] : ( minus_minus_nat @ N4 @ ( suc @ zero_zero_nat ) )
@ ( upt @ ( suc @ M2 ) @ ( suc @ N2 ) ) )
= ( upt @ M2 @ N2 ) ) ).
% map_decr_upt
thf(fact_514_Euclidean__Division_Odivmod__nat__if,axiom,
( euclidean_divmod_nat
= ( ^ [M6: nat,N4: nat] :
( if_Pro6206227464963214023at_nat
@ ( ( N4 = zero_zero_nat )
| ( ord_less_nat @ M6 @ N4 ) )
@ ( product_Pair_nat_nat @ zero_zero_nat @ M6 )
@ ( produc2626176000494625587at_nat
@ ^ [Q3: nat] : ( product_Pair_nat_nat @ ( suc @ Q3 ) )
@ ( euclidean_divmod_nat @ ( minus_minus_nat @ M6 @ N4 ) @ N4 ) ) ) ) ) ).
% Euclidean_Division.divmod_nat_if
thf(fact_515_upt__conv__Nil,axiom,
! [J2: nat,I: nat] :
( ( ord_less_eq_nat @ J2 @ I )
=> ( ( upt @ I @ J2 )
= nil_nat ) ) ).
% upt_conv_Nil
thf(fact_516_upt__eq__Nil__conv,axiom,
! [I: nat,J2: nat] :
( ( ( upt @ I @ J2 )
= nil_nat )
= ( ( J2 = zero_zero_nat )
| ( ord_less_eq_nat @ J2 @ I ) ) ) ).
% upt_eq_Nil_conv
thf(fact_517_nat__less__le,axiom,
( ord_less_nat
= ( ^ [M6: nat,N4: nat] :
( ( ord_less_eq_nat @ M6 @ N4 )
& ( M6 != N4 ) ) ) ) ).
% nat_less_le
thf(fact_518_less__imp__le__nat,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ord_less_eq_nat @ M2 @ N2 ) ) ).
% less_imp_le_nat
thf(fact_519_le__eq__less__or__eq,axiom,
( ord_less_eq_nat
= ( ^ [M6: nat,N4: nat] :
( ( ord_less_nat @ M6 @ N4 )
| ( M6 = N4 ) ) ) ) ).
% le_eq_less_or_eq
thf(fact_520_less__or__eq__imp__le,axiom,
! [M2: nat,N2: nat] :
( ( ( ord_less_nat @ M2 @ N2 )
| ( M2 = N2 ) )
=> ( ord_less_eq_nat @ M2 @ N2 ) ) ).
% less_or_eq_imp_le
thf(fact_521_le__neq__implies__less,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_eq_nat @ M2 @ N2 )
=> ( ( M2 != N2 )
=> ( ord_less_nat @ M2 @ N2 ) ) ) ).
% le_neq_implies_less
thf(fact_522_less__mono__imp__le__mono,axiom,
! [F: nat > nat,I: nat,J2: nat] :
( ! [I2: nat,J: nat] :
( ( ord_less_nat @ I2 @ J )
=> ( ord_less_nat @ ( F @ I2 ) @ ( F @ J ) ) )
=> ( ( ord_less_eq_nat @ I @ J2 )
=> ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J2 ) ) ) ) ).
% less_mono_imp_le_mono
thf(fact_523_nat__descend__induct,axiom,
! [N2: nat,P2: nat > $o,M2: nat] :
( ! [K2: nat] :
( ( ord_less_nat @ N2 @ K2 )
=> ( P2 @ K2 ) )
=> ( ! [K2: nat] :
( ( ord_less_eq_nat @ K2 @ N2 )
=> ( ! [I4: nat] :
( ( ord_less_nat @ K2 @ I4 )
=> ( P2 @ I4 ) )
=> ( P2 @ K2 ) ) )
=> ( P2 @ M2 ) ) ) ).
% nat_descend_induct
thf(fact_524_ex__least__nat__le,axiom,
! [P2: nat > $o,N2: nat] :
( ( P2 @ N2 )
=> ( ~ ( P2 @ zero_zero_nat )
=> ? [K2: nat] :
( ( ord_less_eq_nat @ K2 @ N2 )
& ! [I4: nat] :
( ( ord_less_nat @ I4 @ K2 )
=> ~ ( P2 @ I4 ) )
& ( P2 @ K2 ) ) ) ) ).
% ex_least_nat_le
thf(fact_525_le__imp__less__Suc,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_eq_nat @ M2 @ N2 )
=> ( ord_less_nat @ M2 @ ( suc @ N2 ) ) ) ).
% le_imp_less_Suc
thf(fact_526_less__eq__Suc__le,axiom,
( ord_less_nat
= ( ^ [N4: nat] : ( ord_less_eq_nat @ ( suc @ N4 ) ) ) ) ).
% less_eq_Suc_le
thf(fact_527_less__Suc__eq__le,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ ( suc @ N2 ) )
= ( ord_less_eq_nat @ M2 @ N2 ) ) ).
% less_Suc_eq_le
thf(fact_528_le__less__Suc__eq,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_eq_nat @ M2 @ N2 )
=> ( ( ord_less_nat @ N2 @ ( suc @ M2 ) )
= ( N2 = M2 ) ) ) ).
% le_less_Suc_eq
thf(fact_529_Suc__le__lessD,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_eq_nat @ ( suc @ M2 ) @ N2 )
=> ( ord_less_nat @ M2 @ N2 ) ) ).
% Suc_le_lessD
thf(fact_530_inc__induct,axiom,
! [I: nat,J2: nat,P2: nat > $o] :
( ( ord_less_eq_nat @ I @ J2 )
=> ( ( P2 @ J2 )
=> ( ! [N3: nat] :
( ( ord_less_eq_nat @ I @ N3 )
=> ( ( ord_less_nat @ N3 @ J2 )
=> ( ( P2 @ ( suc @ N3 ) )
=> ( P2 @ N3 ) ) ) )
=> ( P2 @ I ) ) ) ) ).
% inc_induct
thf(fact_531_dec__induct,axiom,
! [I: nat,J2: nat,P2: nat > $o] :
( ( ord_less_eq_nat @ I @ J2 )
=> ( ( P2 @ I )
=> ( ! [N3: nat] :
( ( ord_less_eq_nat @ I @ N3 )
=> ( ( ord_less_nat @ N3 @ J2 )
=> ( ( P2 @ N3 )
=> ( P2 @ ( suc @ N3 ) ) ) ) )
=> ( P2 @ J2 ) ) ) ) ).
% dec_induct
thf(fact_532_Suc__le__eq,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_eq_nat @ ( suc @ M2 ) @ N2 )
= ( ord_less_nat @ M2 @ N2 ) ) ).
% Suc_le_eq
thf(fact_533_Suc__leI,axiom,
! [M2: nat,N2: nat] :
( ( ord_less_nat @ M2 @ N2 )
=> ( ord_less_eq_nat @ ( suc @ M2 ) @ N2 ) ) ).
% Suc_leI
thf(fact_534_mono__nat__linear__lb,axiom,
! [F: nat > nat,M2: nat,K: nat] :
( ! [M5: nat,N3: nat] :
( ( ord_less_nat @ M5 @ N3 )
=> ( ord_less_nat @ ( F @ M5 ) @ ( F @ N3 ) ) )
=> ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M2 ) @ K ) @ ( F @ ( plus_plus_nat @ M2 @ K ) ) ) ) ).
% mono_nat_linear_lb
thf(fact_535_diff__less__mono,axiom,
! [A2: nat,B: nat,C3: nat] :
( ( ord_less_nat @ A2 @ B )
=> ( ( ord_less_eq_nat @ C3 @ A2 )
=> ( ord_less_nat @ ( minus_minus_nat @ A2 @ C3 ) @ ( minus_minus_nat @ B @ C3 ) ) ) ) ).
% diff_less_mono
thf(fact_536_less__diff__iff,axiom,
! [K: nat,M2: nat,N2: nat] :
( ( ord_less_eq_nat @ K @ M2 )
=> ( ( ord_less_eq_nat @ K @ N2 )
=> ( ( ord_less_nat @ ( minus_minus_nat @ M2 @ K ) @ ( minus_minus_nat @ N2 @ K ) )
= ( ord_less_nat @ M2 @ N2 ) ) ) ) ).
% less_diff_iff
thf(fact_537_ex__least__nat__less,axiom,
! [P2: nat > $o,N2: nat] :
( ( P2 @ N2 )
=> ( ~ ( P2 @ zero_zero_nat )
=> ? [K2: nat] :
( ( ord_less_nat @ K2 @ N2 )
& ! [I4: nat] :
( ( ord_less_eq_nat @ I4 @ K2 )
=> ~ ( P2 @ I4 ) )
& ( P2 @ ( suc @ K2 ) ) ) ) ) ).
% ex_least_nat_less
thf(fact_538_less__diff__conv2,axiom,
! [K: nat,J2: nat,I: nat] :
( ( ord_less_eq_nat @ K @ J2 )
=> ( ( ord_less_nat @ ( minus_minus_nat @ J2 @ K ) @ I )
= ( ord_less_nat @ J2 @ ( plus_plus_nat @ I @ K ) ) ) ) ).
% less_diff_conv2
thf(fact_539_less__one,axiom,
! [N2: nat] :
( ( ord_less_nat @ N2 @ one_one_nat )
= ( N2 = zero_zero_nat ) ) ).
% less_one
thf(fact_540_Suc__diff__1,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ( ( suc @ ( minus_minus_nat @ N2 @ one_one_nat ) )
= N2 ) ) ).
% Suc_diff_1
thf(fact_541_nat__induct__non__zero,axiom,
! [N2: nat,P2: nat > $o] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ( ( P2 @ one_one_nat )
=> ( ! [N3: nat] :
( ( ord_less_nat @ zero_zero_nat @ N3 )
=> ( ( P2 @ N3 )
=> ( P2 @ ( suc @ N3 ) ) ) )
=> ( P2 @ N2 ) ) ) ) ).
% nat_induct_non_zero
thf(fact_542_Suc__diff__eq__diff__pred,axiom,
! [N2: nat,M2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ( ( minus_minus_nat @ ( suc @ M2 ) @ N2 )
= ( minus_minus_nat @ M2 @ ( minus_minus_nat @ N2 @ one_one_nat ) ) ) ) ).
% Suc_diff_eq_diff_pred
thf(fact_543_Suc__pred_H,axiom,
! [N2: nat] :
( ( ord_less_nat @ zero_zero_nat @ N2 )
=> ( N2
= ( suc @ ( minus_minus_nat @ N2 @ one_one_nat ) ) ) ) ).
% Suc_pred'
thf(fact_544_upt__eq__Cons__conv,axiom,
! [I: nat,J2: nat,X3: nat,Xs2: list_nat] :
( ( ( upt @ I @ J2 )
= ( cons_nat @ X3 @ Xs2 ) )
= ( ( ord_less_nat @ I @ J2 )
& ( I = X3 )
& ( ( upt @ ( plus_plus_nat @ I @ one_one_nat ) @ J2 )
= Xs2 ) ) ) ).
% upt_eq_Cons_conv
thf(fact_545_inf__concat__simple_Opelims,axiom,
! [X3: nat > nat,Xa: nat,Y3: product_prod_nat_nat] :
( ( ( inf_concat_simple @ X3 @ Xa )
= Y3 )
=> ( ( accp_P6412015083367660281at_nat @ inf_co2821209343098213861le_rel @ ( produc72220940542539688at_nat @ X3 @ Xa ) )
=> ( ( ( Xa = zero_zero_nat )
=> ( ( Y3
= ( product_Pair_nat_nat @ zero_zero_nat @ zero_zero_nat ) )
=> ~ ( accp_P6412015083367660281at_nat @ inf_co2821209343098213861le_rel @ ( produc72220940542539688at_nat @ X3 @ zero_zero_nat ) ) ) )
=> ~ ! [N3: nat] :
( ( Xa
= ( suc @ N3 ) )
=> ( ( Y3
= ( produc2626176000494625587at_nat
@ ^ [I3: nat,J3: nat] : ( if_Pro6206227464963214023at_nat @ ( ord_less_nat @ ( suc @ J3 ) @ ( X3 @ I3 ) ) @ ( product_Pair_nat_nat @ I3 @ ( suc @ J3 ) ) @ ( product_Pair_nat_nat @ ( suc @ I3 ) @ zero_zero_nat ) )
@ ( inf_concat_simple @ X3 @ N3 ) ) )
=> ~ ( accp_P6412015083367660281at_nat @ inf_co2821209343098213861le_rel @ ( produc72220940542539688at_nat @ X3 @ ( suc @ N3 ) ) ) ) ) ) ) ) ).
% inf_concat_simple.pelims
% Helper facts (5)
thf(help_If_2_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
! [X3: list_nat,Y3: list_nat] :
( ( if_list_nat @ $false @ X3 @ Y3 )
= Y3 ) ).
thf(help_If_1_1_If_001t__List__Olist_It__Nat__Onat_J_T,axiom,
! [X3: list_nat,Y3: list_nat] :
( ( if_list_nat @ $true @ X3 @ Y3 )
= X3 ) ).
thf(help_If_3_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
! [P2: $o] :
( ( P2 = $true )
| ( P2 = $false ) ) ).
thf(help_If_2_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
! [X3: product_prod_nat_nat,Y3: product_prod_nat_nat] :
( ( if_Pro6206227464963214023at_nat @ $false @ X3 @ Y3 )
= Y3 ) ).
thf(help_If_1_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
! [X3: product_prod_nat_nat,Y3: product_prod_nat_nat] :
( ( if_Pro6206227464963214023at_nat @ $true @ X3 @ Y3 )
= X3 ) ).
% Conjectures (1)
thf(conj_0,conjecture,
( ! [X4: f] :
( ( member_f @ X4 @ ( set_f2 @ conds2 ) )
=> ( eval @ alpha @ X4 ) )
& ( ( alpha @ zero2 )
!= ( ? [X2: a] :
( ( member_a @ X2 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ x @ ( product_Pair_a_a @ zeroa @ onea ) ) @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) ) )
& ( alpha @ X2 ) ) ) )
& ( ( alpha @ one2 )
!= ( ~ ? [X2: a] :
( ( member_a @ X2 @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ x @ ( product_Pair_a_a @ zeroa @ onea ) ) @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) ) )
& ( alpha @ X2 )
& ! [Y: a] :
( ( ( member_a @ Y @ ( image_1366754389297715763_a_a_a @ produc6516300539023753772od_a_a @ ( set_Pr7008919305446870117od_a_a @ ( cons_P64011158483510406od_a_a @ ( produc431845341423274048od_a_a @ x @ ( product_Pair_a_a @ zeroa @ onea ) ) @ ( cons_P64011158483510406od_a_a @ r @ rr ) ) ) ) )
& ( alpha @ Y ) )
=> ( Y = X2 ) ) ) ) ) ) ).
%------------------------------------------------------------------------------