TPTP Problem File: SLH0682^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    : VYDRA_MDL/0009_Window/prob_01676_075934__16530022_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1976 ( 542 unt; 707 typ;   0 def)
%            Number of atoms       : 3689 (2090 equ;   0 cnn)
%            Maximal formula atoms :   14 (   2 avg)
%            Number of connectives : 14834 ( 507   ~;  65   |; 427   &;12203   @)
%                                         (   0 <=>;1632  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (   7 avg)
%            Number of types       :  155 ( 154 usr)
%            Number of type conns  : 1711 (1711   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  556 ( 553 usr;  80 con; 0-12 aty)
%            Number of variables   : 4614 ( 155   ^;4176   !; 283   ?;4614   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 14:53:22.819
%------------------------------------------------------------------------------
% Could-be-implicit typings (154)
thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J_J,type,
    produc2394847101135349681_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    produc8961436260983803651_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc6197995530345584105_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J_J,type,
    produc3811846573304060571_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Product____Type__Oprod_It__Mapping__Omapping_Itf__b_M_Eo_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J_J_J,type,
    produc3942832651944972825_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    produc5275947371904017901_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Mapping__Omapping_Itf__b_M_Eo_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J_J,type,
    produc4189664704512150478_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Product____Type__Oprod_I_062_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J_J_J_J,type,
    produc5088161498965713589_b_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    produc8174351187649341119_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Product____Type__Oprod_I_062_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J_J_J,type,
    produc1075978069021160711_b_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc8600815927852562741_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    produc5381401970098337411_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc7145097981230258193_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc6108570406455952350_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc3999919853669154241_c_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    set_Pr6433210042409515187_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    produc331365250687890936_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    produc483654848071607251_c_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    option7370380519722188825_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    list_P2889901965215479385_c_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    set_Pr2912316883363060019_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J_J,type,
    produc2269143874853082556_b_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    produc5395660537523052075_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    produc4731008658490410835_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    list_P6274885450196660515_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    list_P5135105496981608305_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    produc6305528412156972998_b_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    produc7123198797777838443_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    list_P2747636819685220005_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_Itf__e_Mtf__a_J_J_J,type,
    list_P1687796135946937257od_e_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_Itf__d_Mtf__c_J_J_J,type,
    list_P3218128705725046124od_d_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc5405368317271509971at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J_J_J,type,
    produc7266611839391640223od_d_e: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    set_Pr1542805901266377927at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc4471711990508489141at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_I_062_Itf__e_Mtf__e_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J_J_J,type,
    produc4562538492965174175od_d_e: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J_J_J_J,type,
    produc4754043513949134363od_d_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_062_Itf__a_Mtf__a_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J_J,type,
    produc3573252703937573335od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    produc2009451851958091931od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc6121082497140218670at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc6392793444374437607at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J,type,
    set_Pr2869033644396942791od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J_J,type,
    produc5366608981045201046_b_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J_J,type,
    set_Pr7214452792380506916_b_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    produc6358558248090350139_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    list_P7417839048565863355_c_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    set_Pr1357614096732492745_c_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_Pr8693737435421807431at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J_J,type,
    produc5731551883586253934od_d_e: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    produc8538575299855860967od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_I_062_Itf__e_Mtf__e_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J_J,type,
    produc882246603579524079od_d_e: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J_J_J,type,
    produc2121810974477083755od_d_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc3027252292617403629od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_062_Itf__a_Mtf__a_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J,type,
    produc3814096004444803368od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J,type,
    produc8903368046413730158_b_a_b: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    produc6689720525226317995_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    produc7939216919652929299_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc859450856879609959at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc2687737633280426365at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    list_P3384435229636669549od_c_a: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J,type,
    option2373316081166772648_b_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    set_Pr5414900262478774087od_c_a: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    option2970150418924381261_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J,type,
    list_P1642740157484131176_b_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J,type,
    set_Pr734110891364819982_b_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    list_P8155366108056616461_c_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    set_Pr8806432033423503795_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J,type,
    produc776183636326376382od_d_e: $tType ).

thf(ty_n_t__Option__Ooption_It__Window__Owindow__Owindow____ext_Itf__a_Mtf__b_Mtf__c_Mtf__d_Mtf__e_Mt__Product____Type__Ounit_J_J,type,
    option672115446427617938t_unit: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc8472197452120411308at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    produc883574481494864231od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_Itf__e_Mtf__e_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J,type,
    produc6324688420976345918od_d_e: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J_J,type,
    produc1825631139714230716od_d_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc5747662315571815230od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_Itf__a_Mtf__a_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    produc3899275464808295675od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    produc69853407467193432_b_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr3451248702717554689st_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    produc4862256710654508797_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    list_P5567253521434164541_c_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    list_P511271182517053658od_c_a: $tType ).

thf(ty_n_t__Window__Owindow__Owindow____ext_Itf__a_Mtf__b_Mtf__c_Mtf__d_Mtf__e_Mt__Product____Type__Ounit_J,type,
    window3238552108609023426t_unit: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc7248412053542808358at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__d_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J,type,
    produc4923670003902198484od_d_e: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__d_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J_J,type,
    produc742667003625493970od_d_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    list_P4431676646793375826od_c_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__e_Mtf__a_J_J_J,type,
    list_P1845696090888485649od_e_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__d_Mtf__c_J_J_J,type,
    list_P3376028660666594516od_d_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    list_P7103777886698764500od_c_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mtf__c_J_J,type,
    list_P8956905351169059016_c_a_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mtf__a_J_J,type,
    list_P8814837271076367046_c_a_a: $tType ).

thf(ty_n_t__Window__Oargs__Oargs____ext_Itf__a_Mtf__b_Mtf__c_Mtf__d_Mtf__e_Mt__Product____Type__Ounit_J,type,
    args_e6516999200615308162t_unit: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__d_J_Mt__List__Olist_Itf__e_J_J_J,type,
    set_Pr3153588453127247688list_e: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__d_J_Mt__List__Olist_Itf__c_J_J_J,type,
    set_Pr8195957489705318982list_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__List__Olist_Itf__c_J_J_J,type,
    set_Pr2058341694840537735list_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J_J,type,
    set_Pr4048851178543822343list_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__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    list_m3852300627133942458_b_a_b: $tType ).

thf(ty_n_t__List__Olist_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    list_o9079336047566018143_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mtf__e_J_J,type,
    produc477835513730765709od_d_e: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    produc829348354150368458od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__d_J_Mt__List__Olist_Itf__e_J_J,type,
    produc2854810764659981544list_e: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__d_J_Mt__List__Olist_Itf__c_J_J,type,
    produc2712742684567289574list_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__List__Olist_Itf__c_J_J,type,
    produc7985223085803476903list_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    produc9164743771328383783list_a: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    option4927543243414619207at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    list_P6011104703257516679at_nat: $tType ).

thf(ty_n_t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    mappin8597647756751374250_b_a_b: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_Pr1261947904930325089at_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    option7520157102916957007_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_Eo_Mt__Mapping__Omapping_Itf__b_M_Eo_J_J,type,
    produc110524462246346417ng_b_o: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    list_P5561950507774946575_c_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__e_Mtf__a_J_J,type,
    option2667564420535437033od_e_a: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J,type,
    option3587349581325807662od_d_e: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J,type,
    option3445281501233115692od_d_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    option3938862421745410411od_c_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__e_Mtf__a_J_J,type,
    list_P8077716517601115433od_e_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J,type,
    list_P8997501678391486062od_d_e: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J,type,
    list_P8855433598298794092od_d_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__c_J_J,type,
    list_P267710562049004973od_c_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    list_P125642481956313003od_c_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    list_P903359562653991662od_b_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mtf__c_J_J,type,
    list_P1539008563258978351od_a_c: $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__d_Mtf__e_J_J,type,
    set_Product_prod_d_e: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J,type,
    set_Product_prod_d_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__c_Mtf__c_J_J,type,
    set_Product_prod_c_c: $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__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    product_prod_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    product_prod_e_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__d_Mtf__e_J,type,
    product_prod_d_e: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    product_prod_d_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    product_prod_c_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    product_prod_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    product_prod_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    product_prod_a_a: $tType ).

thf(ty_n_t__Mapping__Omapping_Itf__b_M_Eo_J,type,
    mapping_b_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__Option__Ooption_Itf__c_J,type,
    option_c: $tType ).

thf(ty_n_t__Product____Type__Ounit,type,
    product_unit: $tType ).

thf(ty_n_t__List__Olist_Itf__e_J,type,
    list_e: $tType ).

thf(ty_n_t__List__Olist_Itf__d_J,type,
    list_d: $tType ).

thf(ty_n_t__List__Olist_Itf__c_J,type,
    list_c: $tType ).

thf(ty_n_t__List__Olist_Itf__b_J,type,
    list_b: $tType ).

thf(ty_n_t__List__Olist_Itf__a_J,type,
    list_a: $tType ).

thf(ty_n_t__Set__Oset_Itf__c_J,type,
    set_c: $tType ).

thf(ty_n_t__Set__Oset_Itf__b_J,type,
    set_b: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $tType ).

thf(ty_n_tf__e,type,
    e: $tType ).

thf(ty_n_tf__d,type,
    d: $tType ).

thf(ty_n_tf__c,type,
    c: $tType ).

thf(ty_n_tf__b,type,
    b: $tType ).

thf(ty_n_tf__a,type,
    a: $tType ).

% Explicit typings (553)
thf(sy_c_AList_Omap__default_001t__Nat__Onat_001t__Nat__Onat,type,
    map_default_nat_nat: nat > nat > ( nat > nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Omap__default_001tf__b_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    map_de1779270183008234705_b_a_b: b > mappin8597647756751374250_b_a_b > ( mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b ) > list_P1642740157484131176_b_a_b > list_P1642740157484131176_b_a_b ).

thf(sy_c_AList_Omap__default_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    map_de5305620854455122934_c_nat: b > option7520157102916957007_c_nat > ( option7520157102916957007_c_nat > option7520157102916957007_c_nat ) > list_P8155366108056616461_c_nat > list_P8155366108056616461_c_nat ).

thf(sy_c_AList_Omap__default_001tf__b_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    map_de641635468176428804_c_nat: b > produc7123198797777838443_c_nat > ( produc7123198797777838443_c_nat > produc7123198797777838443_c_nat ) > list_P2889901965215479385_c_nat > list_P2889901965215479385_c_nat ).

thf(sy_c_AList_Omap__default_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    map_de8565690227408816292_c_nat: b > produc4862256710654508797_c_nat > ( produc4862256710654508797_c_nat > produc4862256710654508797_c_nat ) > list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_AList_Omap__default_001tf__b_001tf__c,type,
    map_default_b_c: b > c > ( c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_AList_Omap__default_001tf__c_001tf__a,type,
    map_default_c_a: c > a > ( a > a ) > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_AList_Omap__default_001tf__d_001tf__c,type,
    map_default_d_c: d > c > ( c > c ) > list_P8855433598298794092od_d_c > list_P8855433598298794092od_d_c ).

thf(sy_c_AList_Omap__default_001tf__d_001tf__e,type,
    map_default_d_e: d > e > ( e > e ) > list_P8997501678391486062od_d_e > list_P8997501678391486062od_d_e ).

thf(sy_c_AList_Omap__default__rel_001t__Nat__Onat_001t__Nat__Onat,type,
    map_de1546328871509799619at_nat: produc5405368317271509971at_nat > produc5405368317271509971at_nat > $o ).

thf(sy_c_AList_Omap__default__rel_001tf__b_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    map_de4432429773335074632_b_a_b: produc5088161498965713589_b_a_b > produc5088161498965713589_b_a_b > $o ).

thf(sy_c_AList_Omap__default__rel_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    map_de7178281694451429869_c_nat: produc8174351187649341119_c_nat > produc8174351187649341119_c_nat > $o ).

thf(sy_c_AList_Omap__default__rel_001tf__b_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    map_de2150044412263742285_c_nat: produc2394847101135349681_c_nat > produc2394847101135349681_c_nat > $o ).

thf(sy_c_AList_Omap__default__rel_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    map_de2601993647352999835_c_nat: produc3811846573304060571_c_nat > produc3811846573304060571_c_nat > $o ).

thf(sy_c_AList_Omap__default__rel_001tf__b_001tf__c,type,
    map_default_rel_b_c: produc2009451851958091931od_b_c > produc2009451851958091931od_b_c > $o ).

thf(sy_c_AList_Omap__default__rel_001tf__c_001tf__a,type,
    map_default_rel_c_a: produc3573252703937573335od_c_a > produc3573252703937573335od_c_a > $o ).

thf(sy_c_AList_Omap__default__rel_001tf__d_001tf__c,type,
    map_default_rel_d_c: produc4754043513949134363od_d_c > produc4754043513949134363od_d_c > $o ).

thf(sy_c_AList_Omap__default__rel_001tf__d_001tf__e,type,
    map_default_rel_d_e: produc4562538492965174175od_d_e > produc4562538492965174175od_d_e > $o ).

thf(sy_c_AList_Omap__entry_001t__Nat__Onat_001t__Nat__Onat,type,
    map_entry_nat_nat: nat > ( nat > nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Omap__entry_001tf__b_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    map_en1591201911180070432_b_a_b: b > ( mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b ) > list_P1642740157484131176_b_a_b > list_P1642740157484131176_b_a_b ).

thf(sy_c_AList_Omap__entry_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    map_en7725529839661896901_c_nat: b > ( option7520157102916957007_c_nat > option7520157102916957007_c_nat ) > list_P8155366108056616461_c_nat > list_P8155366108056616461_c_nat ).

thf(sy_c_AList_Omap__entry_001tf__b_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    map_en5757600416089154165_c_nat: b > ( produc7123198797777838443_c_nat > produc7123198797777838443_c_nat ) > list_P2889901965215479385_c_nat > list_P2889901965215479385_c_nat ).

thf(sy_c_AList_Omap__entry_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    map_en8198299921509431923_c_nat: b > ( produc4862256710654508797_c_nat > produc4862256710654508797_c_nat ) > list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_AList_Omap__entry_001tf__b_001tf__c,type,
    map_entry_b_c: b > ( c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_AList_Omap__entry_001tf__c_001tf__a,type,
    map_entry_c_a: c > ( a > a ) > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_AList_Omap__entry_001tf__d_001tf__c,type,
    map_entry_d_c: d > ( c > c ) > list_P8855433598298794092od_d_c > list_P8855433598298794092od_d_c ).

thf(sy_c_AList_Omap__entry_001tf__d_001tf__e,type,
    map_entry_d_e: d > ( e > e ) > list_P8997501678391486062od_d_e > list_P8997501678391486062od_d_e ).

thf(sy_c_AList_Oupdate__with__aux_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_001tf__b,type,
    update190060169539129425_a_b_b: mappin8597647756751374250_b_a_b > b > ( mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b ) > list_P1642740157484131176_b_a_b > list_P1642740157484131176_b_a_b ).

thf(sy_c_AList_Oupdate__with__aux_001t__Nat__Onat_001t__Nat__Onat,type,
    update528237659335440164at_nat: nat > nat > ( nat > nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Oupdate__with__aux_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_001tf__b,type,
    update6007670785845294700_nat_b: option7520157102916957007_c_nat > b > ( option7520157102916957007_c_nat > option7520157102916957007_c_nat ) > list_P8155366108056616461_c_nat > list_P8155366108056616461_c_nat ).

thf(sy_c_AList_Oupdate__with__aux_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001tf__b,type,
    update5854347117395237206_nat_b: produc7123198797777838443_c_nat > b > ( produc7123198797777838443_c_nat > produc7123198797777838443_c_nat ) > list_P2889901965215479385_c_nat > list_P2889901965215479385_c_nat ).

thf(sy_c_AList_Oupdate__with__aux_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001tf__b,type,
    update5508768958394535230_nat_b: produc4862256710654508797_c_nat > b > ( produc4862256710654508797_c_nat > produc4862256710654508797_c_nat ) > list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_AList_Oupdate__with__aux_001tf__a_001tf__c,type,
    update_with_aux_a_c: a > c > ( a > a ) > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_AList_Oupdate__with__aux_001tf__c_001tf__b,type,
    update_with_aux_c_b: c > b > ( c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_AList_Oupdate__with__aux_001tf__c_001tf__d,type,
    update_with_aux_c_d: c > d > ( c > c ) > list_P8855433598298794092od_d_c > list_P8855433598298794092od_d_c ).

thf(sy_c_AList_Oupdate__with__aux_001tf__e_001tf__d,type,
    update_with_aux_e_d: e > d > ( e > e ) > list_P8997501678391486062od_d_e > list_P8997501678391486062od_d_e ).

thf(sy_c_Fun__Def_Opair__leq,type,
    fun_pair_leq: set_Pr8693737435421807431at_nat ).

thf(sy_c_Fun__Def_Opair__less,type,
    fun_pair_less: set_Pr8693737435421807431at_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_Oplus__class_Oplus_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    plus_p9057090461656269880at_nat: product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001tf__c,type,
    plus_plus_c: c > c > c ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: 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_Oappend_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    append4387805339873220943_b_a_b: list_m3852300627133942458_b_a_b > list_m3852300627133942458_b_a_b > list_m3852300627133942458_b_a_b ).

thf(sy_c_List_Oappend_001t__Nat__Onat,type,
    append_nat: list_nat > list_nat > list_nat ).

thf(sy_c_List_Oappend_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    append5745659807110252404_c_nat: list_o9079336047566018143_c_nat > list_o9079336047566018143_c_nat > list_o9079336047566018143_c_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    append7031108110503470086_c_nat: list_P5135105496981608305_c_nat > list_P5135105496981608305_c_nat > list_P5135105496981608305_c_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    append985823374593552924at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    append1952407293978134383od_c_a: list_P511271182517053658od_c_a > list_P511271182517053658od_c_a > list_P511271182517053658od_c_a ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    append2097806884062395138od_c_a: list_P3384435229636669549od_c_a > list_P3384435229636669549od_c_a > list_P3384435229636669549od_c_a ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mtf__a_J,type,
    append6453043038217130459_c_a_a: list_P8814837271076367046_c_a_a > list_P8814837271076367046_c_a_a > list_P8814837271076367046_c_a_a ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mtf__c_J,type,
    append6453043046823588061_c_a_c: list_P8956905351169059016_c_a_c > list_P8956905351169059016_c_a_c > list_P8956905351169059016_c_a_c ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    append3453885379532687081od_c_a: list_P7103777886698764500od_c_a > list_P7103777886698764500od_c_a > list_P7103777886698764500od_c_a ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    append7611157511503221456_c_nat: list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    append2547753245680614915od_b_c: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    append2175004778869054823od_c_a: list_P4431676646793375826od_c_a > list_P4431676646793375826od_c_a > list_P4431676646793375826od_c_a ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    append8983669691956257088od_c_a: list_P125642481956313003od_c_a > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_List_Oappend_001tf__a,type,
    append_a: list_a > list_a > list_a ).

thf(sy_c_List_Oappend_001tf__b,type,
    append_b: list_b > list_b > list_b ).

thf(sy_c_List_Oappend_001tf__c,type,
    append_c: list_c > list_c > list_c ).

thf(sy_c_List_Oappend_001tf__e,type,
    append_e: list_e > list_e > list_e ).

thf(sy_c_List_Odistinct_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    distin3780794742951484702od_c_a: list_P125642481956313003od_c_a > $o ).

thf(sy_c_List_Odistinct_001tf__a,type,
    distinct_a: list_a > $o ).

thf(sy_c_List_Odistinct_001tf__b,type,
    distinct_b: list_b > $o ).

thf(sy_c_List_Odistinct_001tf__c,type,
    distinct_c: list_c > $o ).

thf(sy_c_List_Odrop_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    drop_m2269873859569157860_b_a_b: nat > list_m3852300627133942458_b_a_b > list_m3852300627133942458_b_a_b ).

thf(sy_c_List_Odrop_001t__Nat__Onat,type,
    drop_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Odrop_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    drop_o1246127881548230537_c_nat: nat > list_o9079336047566018143_c_nat > list_o9079336047566018143_c_nat ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    drop_P452401866756478641_c_nat: nat > list_P5135105496981608305_c_nat > list_P5135105496981608305_c_nat ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    drop_P8456769997282094189od_a_a: nat > list_P1396940483166286381od_a_a > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__a_Mtf__c_J,type,
    drop_P8456770005888551791od_a_c: nat > list_P1539008563258978351od_a_c > list_P1539008563258978351od_a_c ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    drop_P4829762223478669541_c_nat: nat > list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    drop_P5669314423915875758od_b_c: nat > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    drop_P2881858833336742123od_c_a: nat > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    drop_P2881858841943199725od_c_c: nat > list_P267710562049004973od_c_c > list_P267710562049004973od_c_c ).

thf(sy_c_List_Odrop_001tf__a,type,
    drop_a: nat > list_a > list_a ).

thf(sy_c_List_Odrop_001tf__b,type,
    drop_b: nat > list_b > list_b ).

thf(sy_c_List_Odrop_001tf__c,type,
    drop_c: nat > list_c > list_c ).

thf(sy_c_List_Odrop_001tf__e,type,
    drop_e: nat > list_e > list_e ).

thf(sy_c_List_Oenumerate_001t__Nat__Onat,type,
    enumerate_nat: nat > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Oenumerate_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    enumer3678193802876429962od_c_a: nat > list_P125642481956313003od_c_a > list_P511271182517053658od_c_a ).

thf(sy_c_List_Ofind_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    find_P3078163662823531489_c_nat: ( produc4862256710654508797_c_nat > $o ) > list_P8155366108056616461_c_nat > option2970150418924381261_c_nat ).

thf(sy_c_List_Ofind_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    find_P8596037747533280611_c_nat: ( product_prod_c_nat > $o ) > list_P5561950507774946575_c_nat > option7520157102916957007_c_nat ).

thf(sy_c_List_Ofind_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    find_P5897415665891709889od_c_a: ( product_prod_c_a > $o ) > list_P125642481956313003od_c_a > option3938862421745410411od_c_a ).

thf(sy_c_List_Ofind_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    find_P3109960092525491458od_d_c: ( product_prod_d_c > $o ) > list_P8855433598298794092od_d_c > option3445281501233115692od_d_c ).

thf(sy_c_List_Ofind_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    find_P322504501946357823od_e_a: ( product_prod_e_a > $o ) > list_P8077716517601115433od_e_a > option2667564420535437033od_e_a ).

thf(sy_c_List_Olenlex_001t__Nat__Onat,type,
    lenlex_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olenlex_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    lenlex325483962726685836at_nat: set_Pr8693737435421807431at_nat > set_Pr1542805901266377927at_nat ).

thf(sy_c_List_Olenlex_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    lenlex2981440866057360304od_c_a: set_Pr5414900262478774087od_c_a > set_Pr2869033644396942791od_c_a ).

thf(sy_c_List_Olex_001t__Nat__Onat,type,
    lex_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olex_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    lex_Pr8571645452597969515at_nat: set_Pr8693737435421807431at_nat > set_Pr1542805901266377927at_nat ).

thf(sy_c_List_Olex_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    lex_Product_prod_c_a: set_Pr5414900262478774087od_c_a > set_Pr2869033644396942791od_c_a ).

thf(sy_c_List_Olex_001tf__a,type,
    lex_a: set_Product_prod_a_a > set_Pr4048851178543822343list_a ).

thf(sy_c_List_Olex_001tf__c,type,
    lex_c: set_Product_prod_c_c > set_Pr2058341694840537735list_c ).

thf(sy_c_List_Olist_OCons_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    cons_m5583439491531089012_b_a_b: mappin8597647756751374250_b_a_b > list_m3852300627133942458_b_a_b > list_m3852300627133942458_b_a_b ).

thf(sy_c_List_Olist_OCons_001t__Nat__Onat,type,
    cons_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Olist_OCons_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    cons_o7152427081109263641_c_nat: option7520157102916957007_c_nat > list_o9079336047566018143_c_nat > list_o9079336047566018143_c_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    cons_P7624949988608740641_c_nat: produc7123198797777838443_c_nat > list_P5135105496981608305_c_nat > list_P5135105496981608305_c_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    cons_P6512896166579812791at_nat: product_prod_nat_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    cons_P6785400485683988258_b_a_b: produc69853407467193432_b_a_b > list_P1642740157484131176_b_a_b > list_P1642740157484131176_b_a_b ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    cons_P7928565014262433479_c_nat: produc4862256710654508797_c_nat > list_P8155366108056616461_c_nat > list_P8155366108056616461_c_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    cons_P7855309020881882377_c_nat: produc4731008658490410835_c_nat > list_P2889901965215479385_c_nat > list_P2889901965215479385_c_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    cons_P7294201633519847029_c_nat: produc6689720525226317995_c_nat > list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    cons_P4529483553340347422od_b_c: product_prod_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    cons_P1742027962761213787od_c_a: product_prod_c_a > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    cons_P8177944426249771164od_d_c: product_prod_d_c > list_P8855433598298794092od_d_c > list_P8855433598298794092od_d_c ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__d_Mtf__e_J,type,
    cons_P8177944434856228766od_d_e: product_prod_d_e > list_P8997501678391486062od_d_e > list_P8997501678391486062od_d_e ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    cons_P5390488835670637529od_e_a: product_prod_e_a > list_P8077716517601115433od_e_a > list_P8077716517601115433od_e_a ).

thf(sy_c_List_Olist_OCons_001tf__a,type,
    cons_a: a > list_a > list_a ).

thf(sy_c_List_Olist_OCons_001tf__b,type,
    cons_b: b > list_b > list_b ).

thf(sy_c_List_Olist_OCons_001tf__c,type,
    cons_c: c > list_c > list_c ).

thf(sy_c_List_Olist_OCons_001tf__d,type,
    cons_d: d > list_d > list_d ).

thf(sy_c_List_Olist_OCons_001tf__e,type,
    cons_e: e > list_e > list_e ).

thf(sy_c_List_Olist_ONil_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    nil_ma6778580008647547940_b_a_b: list_m3852300627133942458_b_a_b ).

thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
    nil_nat: list_nat ).

thf(sy_c_List_Olist_ONil_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    nil_op2410232952894710985_c_nat: list_o9079336047566018143_c_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    nil_Pr1286845431714845041_c_nat: list_P5135105496981608305_c_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nil_Pr5478986624290739719at_nat: list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    nil_Pr9103419051586686674_b_a_b: list_P1642740157484131176_b_a_b ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    nil_Pr2407244426195543671_c_nat: list_P8155366108056616461_c_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    nil_Pr7508691997839540569_c_nat: list_P2889901965215479385_c_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    nil_Pr7000167559216756261_c_nat: list_P7417839048565863355_c_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    nil_Product_prod_b_c: list_P903359562653991662od_b_c ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    nil_Pr650041864559007481_c_nat: list_P5561950507774946575_c_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    nil_Product_prod_c_a: list_P125642481956313003od_c_a ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    nil_Product_prod_d_c: list_P8855433598298794092od_d_c ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_Itf__d_Mtf__e_J,type,
    nil_Product_prod_d_e: list_P8997501678391486062od_d_e ).

thf(sy_c_List_Olist_ONil_001tf__a,type,
    nil_a: list_a ).

thf(sy_c_List_Olist_ONil_001tf__b,type,
    nil_b: list_b ).

thf(sy_c_List_Olist_ONil_001tf__c,type,
    nil_c: list_c ).

thf(sy_c_List_Olist_ONil_001tf__d,type,
    nil_d: list_d ).

thf(sy_c_List_Olist_ONil_001tf__e,type,
    nil_e: list_e ).

thf(sy_c_List_Olist_Ohd_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    hd_map280079242958091007_b_a_b: list_m3852300627133942458_b_a_b > mappin8597647756751374250_b_a_b ).

thf(sy_c_List_Olist_Ohd_001t__Nat__Onat,type,
    hd_nat: list_nat > nat ).

thf(sy_c_List_Olist_Ohd_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    hd_opt1486276835331225892_c_nat: list_o9079336047566018143_c_nat > option7520157102916957007_c_nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    hd_Pro7543491757476120150_c_nat: list_P5135105496981608305_c_nat > produc7123198797777838443_c_nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    hd_Pro3460610213475200108at_nat: list_P6011104703257516679at_nat > product_prod_nat_nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    hd_Pro1431018897095021229_b_a_b: list_P1642740157484131176_b_a_b > produc69853407467193432_b_a_b ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    hd_Pro908356766978074578_c_nat: list_P8155366108056616461_c_nat > produc4862256710654508797_c_nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    hd_Pro2808596523311761726_c_nat: list_P2889901965215479385_c_nat > produc4731008658490410835_c_nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    hd_Pro890923934664041600_c_nat: list_P7417839048565863355_c_nat > produc6689720525226317995_c_nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    hd_Product_prod_b_c: list_P903359562653991662od_b_c > product_prod_b_c ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    hd_Product_prod_c_a: list_P125642481956313003od_c_a > product_prod_c_a ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    hd_Product_prod_d_c: list_P8855433598298794092od_d_c > product_prod_d_c ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_Itf__d_Mtf__e_J,type,
    hd_Product_prod_d_e: list_P8997501678391486062od_d_e > product_prod_d_e ).

thf(sy_c_List_Olist_Ohd_001tf__a,type,
    hd_a: list_a > a ).

thf(sy_c_List_Olist_Ohd_001tf__b,type,
    hd_b: list_b > b ).

thf(sy_c_List_Olist_Ohd_001tf__c,type,
    hd_c: list_c > c ).

thf(sy_c_List_Olist_Ohd_001tf__d,type,
    hd_d: list_d > d ).

thf(sy_c_List_Olist_Ohd_001tf__e,type,
    hd_e: list_e > e ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    map_Pr4369283293917839426od_c_a: ( produc883574481494864231od_c_a > product_prod_c_a ) > list_P3384435229636669549od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    map_Pr8931211203828011794_c_nat: ( produc4862256710654508797_c_nat > option7520157102916957007_c_nat ) > list_P8155366108056616461_c_nat > list_o9079336047566018143_c_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001tf__b,type,
    map_Pr418519014202471036_nat_b: ( produc4862256710654508797_c_nat > b ) > list_P8155366108056616461_c_nat > list_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    map_Pr4595408008933130094_c_nat: ( produc6689720525226317995_c_nat > produc4862256710654508797_c_nat ) > list_P7417839048565863355_c_nat > list_P8155366108056616461_c_nat ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_001tf__b,type,
    map_Pr6200325787298368846_nat_b: ( produc6689720525226317995_c_nat > b ) > list_P7417839048565863355_c_nat > list_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b,type,
    map_Pr8222292247188198875_b_c_b: ( product_prod_b_c > b ) > list_P903359562653991662od_b_c > list_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__c,type,
    map_Pr8222292247188198876_b_c_c: ( product_prod_b_c > c ) > list_P903359562653991662od_b_c > list_c ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    map_Pr985857057908331396od_c_a: ( product_prod_c_a > product_prod_c_a ) > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001tf__a,type,
    map_Pr5866436826731527133_c_a_a: ( product_prod_c_a > a ) > list_P125642481956313003od_c_a > list_a ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001tf__b,type,
    map_Pr5866436826731527134_c_a_b: ( product_prod_c_a > b ) > list_P125642481956313003od_c_a > list_b ).

thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001tf__c,type,
    map_Pr5866436826731527135_c_a_c: ( product_prod_c_a > c ) > list_P125642481956313003od_c_a > list_c ).

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__c,type,
    map_a_c: ( a > c ) > list_a > list_c ).

thf(sy_c_List_Olist_Omap_001tf__c_001tf__a,type,
    map_c_a: ( c > a ) > list_c > list_a ).

thf(sy_c_List_Olist_Omap_001tf__c_001tf__c,type,
    map_c_c: ( c > c ) > list_c > list_c ).

thf(sy_c_List_Olistrel_001t__Nat__Onat_001t__Nat__Onat,type,
    listrel_nat_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olistrel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    listre818007680106770737at_nat: set_Pr8693737435421807431at_nat > set_Pr1542805901266377927at_nat ).

thf(sy_c_List_Olistrel_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    listre9015803571642780977od_c_a: set_Pr5414900262478774087od_c_a > set_Pr2869033644396942791od_c_a ).

thf(sy_c_List_Olistrel_001tf__b_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    listre7442323372248500856_b_a_b: set_Pr734110891364819982_b_a_b > set_Pr7214452792380506916_b_a_b ).

thf(sy_c_List_Olistrel_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    listre912106323739344157_c_nat: set_Pr8806432033423503795_c_nat > set_Pr1357614096732492745_c_nat ).

thf(sy_c_List_Olistrel_001tf__b_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    listre8589465890420352029_c_nat: set_Pr2912316883363060019_c_nat > set_Pr6433210042409515187_c_nat ).

thf(sy_c_List_Olistrel_001tf__d_001tf__c,type,
    listrel_d_c: set_Product_prod_d_c > set_Pr8195957489705318982list_c ).

thf(sy_c_List_Olistrel_001tf__d_001tf__e,type,
    listrel_d_e: set_Product_prod_d_e > set_Pr3153588453127247688list_e ).

thf(sy_c_List_Onth_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    nth_ma1316758834107384419_b_a_b: list_m3852300627133942458_b_a_b > nat > mappin8597647756751374250_b_a_b ).

thf(sy_c_List_Onth_001t__Nat__Onat,type,
    nth_nat: list_nat > nat > nat ).

thf(sy_c_List_Onth_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    nth_op3507996449721514632_c_nat: list_o9079336047566018143_c_nat > nat > option7520157102916957007_c_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    nth_Pr2892372970212649970_c_nat: list_P5135105496981608305_c_nat > nat > produc7123198797777838443_c_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nth_Pr7617993195940197384at_nat: list_P6011104703257516679at_nat > nat > product_prod_nat_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    nth_Pr709418176359265411od_c_a: list_P511271182517053658od_c_a > nat > produc829348354150368458od_c_a ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    nth_Pr2987769389651140334od_c_a: list_P3384435229636669549od_c_a > nat > produc883574481494864231od_c_a ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    nth_Pr4690051528323046929_b_a_b: list_P1642740157484131176_b_a_b > nat > produc69853407467193432_b_a_b ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    nth_Pr2792413365796742454_c_nat: list_P8155366108056616461_c_nat > nat > produc4862256710654508797_c_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    nth_Pr6129491802916713178_c_nat: list_P2889901965215479385_c_nat > nat > produc4731008658490410835_c_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    nth_Pr5527437225574620644_c_nat: list_P7417839048565863355_c_nat > nat > produc6689720525226317995_c_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    nth_Product_prod_b_c: list_P903359562653991662od_b_c > nat > product_prod_b_c ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    nth_Product_prod_c_a: list_P125642481956313003od_c_a > nat > product_prod_c_a ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    nth_Product_prod_d_c: list_P8855433598298794092od_d_c > nat > product_prod_d_c ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__d_Mtf__e_J,type,
    nth_Product_prod_d_e: list_P8997501678391486062od_d_e > nat > product_prod_d_e ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    nth_Product_prod_e_a: list_P8077716517601115433od_e_a > nat > product_prod_e_a ).

thf(sy_c_List_Onth_001tf__a,type,
    nth_a: list_a > nat > a ).

thf(sy_c_List_Onth_001tf__b,type,
    nth_b: list_b > nat > b ).

thf(sy_c_List_Onth_001tf__c,type,
    nth_c: list_c > nat > c ).

thf(sy_c_List_Onth_001tf__d,type,
    nth_d: list_d > nat > d ).

thf(sy_c_List_Onth_001tf__e,type,
    nth_e: list_e > nat > e ).

thf(sy_c_List_Orotate1_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    rotate4489221380399487896_c_nat: list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_List_Orotate1_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    rotate2520862970304543547od_b_c: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Orotate1_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    rotate8956779416580185720od_c_a: list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_List_Orotate1_001tf__a,type,
    rotate1_a: list_a > list_a ).

thf(sy_c_List_Orotate1_001tf__b,type,
    rotate1_b: list_b > list_b ).

thf(sy_c_List_Orotate1_001tf__c,type,
    rotate1_c: list_c > list_c ).

thf(sy_c_List_Otake_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    take_m5285475200942867004_b_a_b: nat > list_m3852300627133942458_b_a_b > list_m3852300627133942458_b_a_b ).

thf(sy_c_List_Otake_001t__Nat__Onat,type,
    take_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Otake_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    take_o5371385906277652193_c_nat: nat > list_o9079336047566018143_c_nat > list_o9079336047566018143_c_nat ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    take_P5974164312936405337_c_nat: nat > list_P5135105496981608305_c_nat > list_P5135105496981608305_c_nat ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    take_P2173866234530122223at_nat: nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    take_P1986783995523548949od_a_a: nat > list_P1396940483166286381od_a_a > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__a_Mtf__c_J,type,
    take_P1986784004130006551od_a_c: nat > list_P1539008563258978351od_a_c > list_P1539008563258978351od_a_c ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    take_P8276329344927103037_c_nat: nat > list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    take_P8422700459012106326od_b_c: nat > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    take_P5635244868432972691od_c_a: nat > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    take_P5635244877039430293od_c_c: nat > list_P267710562049004973od_c_c > list_P267710562049004973od_c_c ).

thf(sy_c_List_Otake_001tf__a,type,
    take_a: nat > list_a > list_a ).

thf(sy_c_List_Otake_001tf__b,type,
    take_b: nat > list_b > list_b ).

thf(sy_c_List_Otake_001tf__c,type,
    take_c: nat > list_c > list_c ).

thf(sy_c_List_Otake_001tf__e,type,
    take_e: nat > list_e > list_e ).

thf(sy_c_List_Ounion_001tf__b,type,
    union_b: list_b > list_b > list_b ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001t__Nat__Onat,type,
    zip_nat_nat: list_nat > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    zip_Pr3634142598522762231od_c_a: list_P125642481956313003od_c_a > list_P125642481956313003od_c_a > list_P3384435229636669549od_c_a ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001tf__a,type,
    zip_Pr1854719111170197328_c_a_a: list_P125642481956313003od_c_a > list_a > list_P8814837271076367046_c_a_a ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001tf__c,type,
    zip_Pr1854719111170197330_c_a_c: list_P125642481956313003od_c_a > list_c > list_P8956905351169059016_c_a_c ).

thf(sy_c_List_Ozip_001tf__a_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    zip_a_7496795320248673246od_c_a: list_a > list_P125642481956313003od_c_a > list_P7103777886698764500od_c_a ).

thf(sy_c_List_Ozip_001tf__a_001tf__a,type,
    zip_a_a: list_a > list_a > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Ozip_001tf__a_001tf__c,type,
    zip_a_c: list_a > list_c > list_P1539008563258978351od_a_c ).

thf(sy_c_List_Ozip_001tf__b_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    zip_b_7586291491810331698_b_a_b: list_b > list_m3852300627133942458_b_a_b > list_P1642740157484131176_b_a_b ).

thf(sy_c_List_Ozip_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    zip_b_1039741285442616279_c_nat: list_b > list_o9079336047566018143_c_nat > list_P8155366108056616461_c_nat ).

thf(sy_c_List_Ozip_001tf__b_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    zip_b_2945092286201067235_c_nat: list_b > list_P5135105496981608305_c_nat > list_P2889901965215479385_c_nat ).

thf(sy_c_List_Ozip_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    zip_b_1292320801234550661_c_nat: list_b > list_P8155366108056616461_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_List_Ozip_001tf__b_001tf__c,type,
    zip_b_c: list_b > list_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Ozip_001tf__c_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    zip_c_6217914719585040988od_c_a: list_c > list_P125642481956313003od_c_a > list_P4431676646793375826od_c_a ).

thf(sy_c_List_Ozip_001tf__c_001tf__a,type,
    zip_c_a: list_c > list_a > list_P125642481956313003od_c_a ).

thf(sy_c_List_Ozip_001tf__c_001tf__c,type,
    zip_c_c: list_c > list_c > list_P267710562049004973od_c_c ).

thf(sy_c_List_Ozip_001tf__d_001tf__c,type,
    zip_d_c: list_d > list_c > list_P8855433598298794092od_d_c ).

thf(sy_c_List_Ozip_001tf__d_001tf__e,type,
    zip_d_e: list_d > list_e > list_P8997501678391486062od_d_e ).

thf(sy_c_Nat_OSuc,type,
    suc: nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    size_s2966806975912981838_b_a_b: list_m3852300627133942458_b_a_b > 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__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    size_s2257988276474858227_c_nat: list_o9079336047566018143_c_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    size_s5207250038119628253_c_nat: list_P5135105496981608305_c_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    size_s5460976970255530739at_nat: list_P6011104703257516679at_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    size_s5078400991219537774od_c_a: list_P511271182517053658od_c_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    size_s75764030081941153_c_nat: list_P8155366108056616461_c_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    size_s8291829157642911823_c_nat: list_P7417839048565863355_c_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    size_s3392097710323735898od_b_c: list_P903359562653991662od_b_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    size_s2614380629626057239od_c_a: list_P125642481956313003od_c_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J,type,
    size_s2120799709113762520od_d_c: list_P8855433598298794092od_d_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__e_Mtf__a_J_J,type,
    size_s1343082628416083861od_e_a: list_P8077716517601115433od_e_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__b_J,type,
    size_size_list_b: list_b > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__c_J,type,
    size_size_list_c: list_c > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__d_J,type,
    size_size_list_d: list_d > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__e_J,type,
    size_size_list_e: list_e > nat ).

thf(sy_c_Nat__Bijection_Oprod__decode__aux,type,
    nat_prod_decode_aux: nat > nat > product_prod_nat_nat ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    none_P8487441334512977628_c_nat: option2970150418924381261_c_nat ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    none_P6573378090780909534_c_nat: option7520157102916957007_c_nat ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    none_P2775711083323585351od_d_c: option3445281501233115692od_d_c ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    none_P9211627529599227524od_e_a: option2667564420535437033od_e_a ).

thf(sy_c_Option_Ooption_ONone_001tf__c,type,
    none_c: option_c ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    some_P7363390416028606310at_nat: product_prod_nat_nat > option4927543243414619207at_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    some_P3758648796427522099_b_a_b: produc69853407467193432_b_a_b > option2373316081166772648_b_a_b ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    some_P2720002978653898840_c_nat: produc4862256710654508797_c_nat > option2970150418924381261_c_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    some_P5809380379890353976_c_nat: produc4731008658490410835_c_nat > option7370380519722188825_c_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    some_P8722241760384591706_c_nat: product_prod_c_nat > option7520157102916957007_c_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    some_P7240528168104800650od_c_a: product_prod_c_a > option3938862421745410411od_c_a ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    some_P4453072594738582219od_d_c: product_prod_d_c > option3445281501233115692od_d_c ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__d_Mtf__e_J,type,
    some_P4453072603345039821od_d_e: product_prod_d_e > option3587349581325807662od_d_e ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    some_P1665617004159448584od_e_a: product_prod_e_a > option2667564420535437033od_e_a ).

thf(sy_c_Option_Ooption_OSome_001t__Window__Owindow__Owindow____ext_Itf__a_Mtf__b_Mtf__c_Mtf__d_Mtf__e_Mt__Product____Type__Ounit_J,type,
    some_w4026151259905748253t_unit: window3238552108609023426t_unit > option672115446427617938t_unit ).

thf(sy_c_Option_Ooption_OSome_001tf__c,type,
    some_c: c > option_c ).

thf(sy_c_Option_Ooption_Othe_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    the_Pr3263588667584626537_c_nat: option2970150418924381261_c_nat > produc4862256710654508797_c_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_001t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    ord_le6428140832669894131at_nat: set_Pr8693737435421807431at_nat > set_Pr8693737435421807431at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_Itf__b_J,type,
    ord_less_set_b: set_b > set_b > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001tf__c,type,
    ord_less_c: c > c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Nat__Onat,type,
    ord_less_eq_nat: nat > nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_less_eq_set_nat: set_nat > set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    ord_le3000389064537975527at_nat: set_Pr8693737435421807431at_nat > set_Pr8693737435421807431at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_Itf__b_J,type,
    ord_less_eq_set_b: set_b > set_b > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001tf__c,type,
    ord_less_eq_c: c > c > $o ).

thf(sy_c_Product__Type_OPair_001_062_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J,type,
    produc5586444857851537652_b_a_b: ( mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b ) > list_P1642740157484131176_b_a_b > produc2269143874853082556_b_a_b ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_062_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc3209952032786966637at_nat: ( nat > nat > nat ) > produc7248412053542808358at_nat > produc4471711990508489141at_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc1236331799044183215at_nat: ( nat > nat ) > list_P6011104703257516679at_nat > produc2687737633280426365at_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    produc5195976547672773731_c_nat: ( option7520157102916957007_c_nat > option7520157102916957007_c_nat ) > list_P8155366108056616461_c_nat > produc5395660537523052075_c_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    produc5502883518275468059_c_nat: ( produc7123198797777838443_c_nat > produc7123198797777838443_c_nat ) > list_P2889901965215479385_c_nat > produc6197995530345584105_c_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    produc4003268613017673069_c_nat: ( produc4862256710654508797_c_nat > produc4862256710654508797_c_nat ) > list_P7417839048565863355_c_nat > produc8600815927852562741_c_nat ).

thf(sy_c_Product__Type_OPair_001_062_Itf__a_Mtf__a_J_001t__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    produc5907466840628013od_c_a: ( a > a ) > list_P125642481956313003od_c_a > produc3899275464808295675od_c_a ).

thf(sy_c_Product__Type_OPair_001_062_Itf__c_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc1101678828523717360od_b_c: ( c > c ) > list_P903359562653991662od_b_c > produc5747662315571815230od_b_c ).

thf(sy_c_Product__Type_OPair_001_062_Itf__c_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J,type,
    produc9053752864168519790od_d_c: ( c > c ) > list_P8855433598298794092od_d_c > produc1825631139714230716od_d_c ).

thf(sy_c_Product__Type_OPair_001_062_Itf__e_Mtf__e_J_001t__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J,type,
    produc290503188391846640od_d_e: ( e > e ) > list_P8997501678391486062od_d_e > produc6324688420976345918od_d_e ).

thf(sy_c_Product__Type_OPair_001_Eo_001t__Mapping__Omapping_Itf__b_M_Eo_J,type,
    produc7969538617268389291ng_b_o: $o > mapping_b_o > produc110524462246346417ng_b_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_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc5943733680697469783at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > produc6392793444374437607at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    produc2936636199886334_b_a_b: list_P7417839048565863355_c_nat > mappin8597647756751374250_b_a_b > produc6305528412156972998_b_a_b ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    produc3198819265183462307_c_nat: list_P7417839048565863355_c_nat > option7520157102916957007_c_nat > produc7123198797777838443_c_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    produc6488642625900928599od_c_a: list_P125642481956313003od_c_a > list_P125642481956313003od_c_a > produc8538575299855860967od_c_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__a_J_001t__List__Olist_Itf__a_J,type,
    produc6837034575241423639list_a: list_a > list_a > produc9164743771328383783list_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__b_J_001t__List__Olist_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    produc2035645408209605992_b_a_b: list_b > list_m3852300627133942458_b_a_b > produc8903368046413730158_b_a_b ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__b_J_001t__List__Olist_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    produc3396530682269014029_c_nat: list_b > list_o9079336047566018143_c_nat > produc7939216919652929299_c_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__b_J_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    produc6457396413173082691_c_nat: list_b > list_P5135105496981608305_c_nat > produc483654848071607251_c_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__c_J_001t__List__Olist_Itf__c_J,type,
    produc5515445818230282391list_c: list_c > list_c > produc7985223085803476903list_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__d_J_001t__List__Olist_Itf__c_J,type,
    produc242965416994095062list_c: list_d > list_c > produc2712742684567289574list_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__d_J_001t__List__Olist_Itf__e_J,type,
    produc242965425600552664list_e: list_d > list_e > produc2854810764659981544list_e ).

thf(sy_c_Product__Type_OPair_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_001t__Product____Type__Oprod_I_062_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J_J,type,
    produc5317212534990973881_b_a_b: mappin8597647756751374250_b_a_b > produc2269143874853082556_b_a_b > produc1075978069021160711_b_a_b ).

thf(sy_c_Product__Type_OPair_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_001t__Product____Type__Oprod_It__Mapping__Omapping_Itf__b_M_Eo_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J_J,type,
    produc2213499015815695947_c_nat: mappin8597647756751374250_b_a_b > produc4189664704512150478_c_nat > produc3942832651944972825_c_nat ).

thf(sy_c_Product__Type_OPair_001t__Mapping__Omapping_Itf__b_M_Eo_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    produc8693840700255356934_c_nat: mapping_b_o > produc5381401970098337411_c_nat > produc4189664704512150478_c_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc6109913384486294878at_nat: nat > list_P6011104703257516679at_nat > produc8472197452120411308at_nat ).

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_001t__Nat__Onat_001t__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc1709345877921393766at_nat: nat > produc2687737633280426365at_nat > produc6121082497140218670at_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc487386426758144856at_nat: nat > product_prod_nat_nat > produc7248412053542808358at_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc2291548248119593221at_nat: nat > produc6121082497140218670at_nat > produc5405368317271509971at_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    produc1451497401996289148od_c_a: nat > product_prod_c_a > produc829348354150368458od_c_a ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J_J,type,
    produc567323201292048087od_d_e: nat > produc5731551883586253934od_d_e > produc7266611839391640223od_d_e ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc26586266114070709_c_nat: nat > produc6108570406455952350_c_nat > produc5381401970098337411_c_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_Itf__d_Mtf__e_J,type,
    produc7887413874091304127od_d_e: nat > product_prod_d_e > produc477835513730765709od_d_e ).

thf(sy_c_Product__Type_OPair_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_I_062_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    produc8618114333783736899_c_nat: option7520157102916957007_c_nat > produc5395660537523052075_c_nat > produc7145097981230258193_c_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc4173555720299820541_c_nat: produc7123198797777838443_c_nat > produc6197995530345584105_c_nat > produc8961436260983803651_c_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc6161850002892822231at_nat: product_prod_nat_nat > product_prod_nat_nat > produc859450856879609959at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc7240219008752950559_c_nat: produc4862256710654508797_c_nat > produc8600815927852562741_c_nat > produc5275947371904017901_c_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    produc968124180156873943od_c_a: product_prod_c_a > product_prod_c_a > produc883574481494864231od_c_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_I_062_Itf__a_Mtf__a_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    produc8592089209173205282od_c_a: a > produc3899275464808295675od_c_a > produc3814096004444803368od_c_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__b_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J,type,
    produc8625867758329604880_b_a_b: b > list_P1642740157484131176_b_a_b > produc5366608981045201046_b_a_b ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    produc385356081875622325_c_nat: b > list_P8155366108056616461_c_nat > produc6358558248090350139_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    produc7720905152589410481_c_nat: b > list_P2889901965215479385_c_nat > produc3999919853669154241_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    produc5420919026241514322_b_a_b: b > mappin8597647756751374250_b_a_b > produc69853407467193432_b_a_b ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    produc5716802255202478839_c_nat: b > option7520157102916957007_c_nat > produc4862256710654508797_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    produc1153541909957361603_c_nat: b > produc7123198797777838443_c_nat > produc4731008658490410835_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Product____Type__Oprod_I_062_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J_J_J,type,
    produc6793992019525860527_b_a_b: b > produc1075978069021160711_b_a_b > produc5088161498965713589_b_a_b ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc3000800644307087289_c_nat: b > produc7145097981230258193_c_nat > produc8174351187649341119_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    produc7566015309729631915_c_nat: b > produc8961436260983803651_c_nat > produc2394847101135349681_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    produc6689170455415217557_c_nat: b > produc5275947371904017901_c_nat > produc3811846573304060571_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    produc8868828497325608613_c_nat: b > produc4862256710654508797_c_nat > produc6689720525226317995_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc1384939585547926677od_b_c: b > produc3027252292617403629od_b_c > produc2009451851958091931od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__b_001tf__c,type,
    product_Pair_b_c: b > c > product_prod_b_c ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Nat__Onat,type,
    product_Pair_c_nat: c > nat > product_prod_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc3590379597927054951od_b_c: c > produc5747662315571815230od_b_c > produc3027252292617403629od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J_J,type,
    produc8891720458924246245od_d_c: c > produc1825631139714230716od_d_c > produc2121810974477083755od_d_c ).

thf(sy_c_Product__Type_OPair_001tf__c_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_062_Itf__a_Mtf__a_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J,type,
    produc5401631760763263825od_c_a: c > produc3814096004444803368od_c_a > produc3573252703937573335od_c_a ).

thf(sy_c_Product__Type_OPair_001tf__c_001tf__a,type,
    product_Pair_c_a: c > a > product_prod_c_a ).

thf(sy_c_Product__Type_OPair_001tf__c_001tf__c,type,
    product_Pair_c_c: c > c > product_prod_c_c ).

thf(sy_c_Product__Type_OPair_001tf__d_001t__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J,type,
    produc6703401783323304514od_d_c: d > list_P8855433598298794092od_d_c > produc742667003625493970od_d_c ).

thf(sy_c_Product__Type_OPair_001tf__d_001t__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J,type,
    produc6845469863415996484od_d_e: d > list_P8997501678391486062od_d_e > produc4923670003902198484od_d_e ).

thf(sy_c_Product__Type_OPair_001tf__d_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J_J_J,type,
    produc6939195194183481621od_d_c: d > produc2121810974477083755od_d_c > produc4754043513949134363od_d_c ).

thf(sy_c_Product__Type_OPair_001tf__d_001t__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_I_062_Itf__e_Mtf__e_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J_J,type,
    produc5699630823285921945od_d_e: d > produc882246603579524079od_d_e > produc4562538492965174175od_d_e ).

thf(sy_c_Product__Type_OPair_001tf__d_001t__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J,type,
    produc2738068492226668904od_d_e: d > produc776183636326376382od_d_e > produc5731551883586253934od_d_e ).

thf(sy_c_Product__Type_OPair_001tf__d_001t__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    produc8163416302152420558_c_nat: d > produc331365250687890936_c_nat > produc6108570406455952350_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__d_001tf__c,type,
    product_Pair_d_c: d > c > product_prod_d_c ).

thf(sy_c_Product__Type_OPair_001tf__d_001tf__e,type,
    product_Pair_d_e: d > e > product_prod_d_e ).

thf(sy_c_Product__Type_OPair_001tf__e_001t__Product____Type__Oprod_I_062_Itf__e_Mtf__e_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J,type,
    produc6540681278176691561od_d_e: e > produc6324688420976345918od_d_e > produc882246603579524079od_d_e ).

thf(sy_c_Product__Type_OPair_001tf__e_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mtf__e_J_J,type,
    produc5384269442762620216od_d_e: e > produc477835513730765709od_d_e > produc776183636326376382od_d_e ).

thf(sy_c_Product__Type_OPair_001tf__e_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    produc8689783093404602216_c_nat: e > produc4731008658490410835_c_nat > produc331365250687890936_c_nat ).

thf(sy_c_Product__Type_OPair_001tf__e_001tf__a,type,
    product_Pair_e_a: e > a > product_prod_e_a ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__Nat__Onat,type,
    product_fst_nat_nat: product_prod_nat_nat > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    produc8654638294294604483od_c_a: produc883574481494864231od_c_a > product_prod_c_a ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    produc3398860285988099686_b_a_b: produc69853407467193432_b_a_b > b ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    produc8816143915943518219_c_nat: produc4862256710654508797_c_nat > b ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    produc3138273293139183023_c_nat: produc4731008658490410835_c_nat > b ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    produc6033490199168946105_c_nat: produc6689720525226317995_c_nat > b ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001tf__c,type,
    product_fst_b_c: product_prod_b_c > b ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__c_001tf__a,type,
    product_fst_c_a: product_prod_c_a > c ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__d_001tf__c,type,
    product_fst_d_c: product_prod_d_c > d ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__d_001tf__e,type,
    product_fst_d_e: product_prod_d_e > d ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__Nat__Onat,type,
    product_snd_nat_nat: product_prod_nat_nat > nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Product____Type__Oprod_Itf__c_Mtf__a_J_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    produc3293453012504724997od_c_a: produc883574481494864231od_c_a > product_prod_c_a ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__b_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    produc7010306612471679140_b_a_b: produc69853407467193432_b_a_b > mappin8597647756751374250_b_a_b ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    produc2435110264752509257_c_nat: produc4862256710654508797_c_nat > option7520157102916957007_c_nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__b_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    produc8285974589448078577_c_nat: produc4731008658490410835_c_nat > produc7123198797777838443_c_nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    produc6319817161620345591_c_nat: produc6689720525226317995_c_nat > produc4862256710654508797_c_nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__b_001tf__c,type,
    product_snd_b_c: product_prod_b_c > c ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__c_001tf__a,type,
    product_snd_c_a: product_prod_c_a > a ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__d_001tf__c,type,
    product_snd_d_c: product_prod_d_c > c ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__d_001tf__e,type,
    product_snd_d_e: product_prod_d_e > e ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    collec7088162979684241874at_nat: ( produc859450856879609959at_nat > $o ) > set_Pr8693737435421807431at_nat ).

thf(sy_c_Set_OCollect_001tf__b,type,
    collect_b: ( b > $o ) > set_b ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001t__Nat__Onat,type,
    set_or4665077453230672383an_nat: nat > nat > set_nat ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001tf__c,type,
    set_or5139330845457685137Than_c: c > c > set_c ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_I_062_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    accp_P8262604802235901066at_nat: ( produc5405368317271509971at_nat > produc5405368317271509971at_nat > $o ) > produc5405368317271509971at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Product____Type__Oprod_I_062_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J_J_J_J,type,
    accp_P3581727846964283372_b_a_b: ( produc5088161498965713589_b_a_b > produc5088161498965713589_b_a_b > $o ) > produc5088161498965713589_b_a_b > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_I_062_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J,type,
    accp_P3076908095482526198_c_nat: ( produc8174351187649341119_c_nat > produc8174351187649341119_c_nat > $o ) > produc8174351187649341119_c_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J_J,type,
    accp_P6670008382440411624_c_nat: ( produc2394847101135349681_c_nat > produc2394847101135349681_c_nat > $o ) > produc2394847101135349681_c_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J_J,type,
    accp_P6393395294101418450_c_nat: ( produc3811846573304060571_c_nat > produc3811846573304060571_c_nat > $o ) > produc3811846573304060571_c_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    accp_P2383248136236608210od_b_c: ( produc2009451851958091931od_b_c > produc2009451851958091931od_b_c > $o ) > produc2009451851958091931od_b_c > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_I_062_Itf__a_Mtf__a_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J_J,type,
    accp_P3947048988216089614od_c_a: ( produc3573252703937573335od_c_a > produc3573252703937573335od_c_a > $o ) > produc3573252703937573335od_c_a > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_I_062_Itf__c_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__c_J_J_J_J_J,type,
    accp_P5127839798227650642od_d_c: ( produc4754043513949134363od_d_c > produc4754043513949134363od_d_c > $o ) > produc4754043513949134363od_d_c > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_I_062_Itf__e_Mtf__e_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__d_Mtf__e_J_J_J_J_J,type,
    accp_P4936334777243690454od_d_e: ( produc4562538492965174175od_d_e > produc4562538492965174175od_d_e > $o ) > produc4562538492965174175od_d_e > $o ).

thf(sy_c_While__Combinator_Owhile_001t__Product____Type__Oprod_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_Mt__Product____Type__Oprod_It__Mapping__Omapping_Itf__b_M_Eo_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__d_Mt__Product____Type__Oprod_Itf__e_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_J_J_J_J,type,
    while_3439336722454791018_c_nat: ( produc3942832651944972825_c_nat > $o ) > ( produc3942832651944972825_c_nat > produc3942832651944972825_c_nat ) > produc3942832651944972825_c_nat > produc3942832651944972825_c_nat ).

thf(sy_c_Window_Oacc_001tf__b_001tf__a_001tf__c,type,
    acc_b_a_c: ( b > a > b ) > ( b > $o ) > list_P125642481956313003od_c_a > b > product_prod_nat_nat > $o ).

thf(sy_c_Window_Oadv__d_001tf__b_001tf__a_001tf__c,type,
    adv_d_b_a_c: ( b > a > b ) > mappin8597647756751374250_b_a_b > nat > a > list_P7417839048565863355_c_nat > produc6305528412156972998_b_a_b ).

thf(sy_c_Window_Oadv__end_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e,type,
    adv_end_a_b_c_d_e: args_e6516999200615308162t_unit > window3238552108609023426t_unit > option672115446427617938t_unit ).

thf(sy_c_Window_Oargs_Oargs__ext_001tf__b_001tf__a_001tf__d_001tf__c_001tf__e_001t__Product____Type__Ounit,type,
    args_e9083925656978281604t_unit: b > ( b > a > b ) > ( b > $o ) > ( d > option3445281501233115692od_d_c ) > ( d > option_c ) > ( e > option2667564420535437033od_e_a ) > product_unit > args_e6516999200615308162t_unit ).

thf(sy_c_Window_Oargs_Omore_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    more_a893818824965617355t_unit: args_e6516999200615308162t_unit > product_unit ).

thf(sy_c_Window_Oargs_Ow__accept_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_acce2293875733780235011t_unit: args_e6516999200615308162t_unit > b > $o ).

thf(sy_c_Window_Oargs_Ow__init_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_init5504024821283585547t_unit: args_e6516999200615308162t_unit > b ).

thf(sy_c_Window_Oargs_Ow__read__t_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_read2325810693662453533t_unit: args_e6516999200615308162t_unit > d > option_c ).

thf(sy_c_Window_Oargs_Ow__run__sub_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_run_5029099626773294832t_unit: args_e6516999200615308162t_unit > e > option2667564420535437033od_e_a ).

thf(sy_c_Window_Oargs_Ow__run__t_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_run_2440119097188408004t_unit: args_e6516999200615308162t_unit > d > option3445281501233115692od_d_c ).

thf(sy_c_Window_Oargs_Ow__step_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_step6169476737019890567t_unit: args_e6516999200615308162t_unit > b > a > b ).

thf(sy_c_Window_Obs__at_001tf__c_001tf__a,type,
    bs_at_c_a: list_P125642481956313003od_c_a > nat > a ).

thf(sy_c_Window_Ocac_001tf__b,type,
    cac_b: ( b > $o ) > mapping_b_o > b > produc110524462246346417ng_b_o ).

thf(sy_c_Window_Ochain__le_001t__Nat__Onat,type,
    chain_le_nat: list_nat > $o ).

thf(sy_c_Window_Ochain__le_001tf__c,type,
    chain_le_c: list_c > $o ).

thf(sy_c_Window_Ocstep_001tf__b_001tf__a,type,
    cstep_b_a: ( b > a > b ) > mappin8597647756751374250_b_a_b > b > a > produc69853407467193432_b_a_b ).

thf(sy_c_Window_Ofold__sup_001tf__b_001tf__c,type,
    fold_sup_b_c: list_P903359562653991662od_b_c > ( b > b ) > list_P903359562653991662od_b_c ).

thf(sy_c_Window_Oloop__body_001tf__b_001tf__a_001tf__d_001tf__d_001tf__c_001tf__e_001tf__e_001tf__c,type,
    loop_b2218575551323420833_e_e_c: ( b > a > b ) > ( b > $o ) > ( d > option3445281501233115692od_d_c ) > ( e > option2667564420535437033od_e_a ) > produc3942832651944972825_c_nat > produc3942832651944972825_c_nat ).

thf(sy_c_Window_Oloop__cond_001t__Nat__Onat_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_001t__Mapping__Omapping_Itf__b_M_Eo_J_001tf__d_001tf__e_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    loop_c1650738222079389858_c_nat: nat > produc3942832651944972825_c_nat > $o ).

thf(sy_c_Window_Oloop__inv_001tf__b_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e,type,
    loop_inv_b_a_b_c_d_e: b > ( b > a > b ) > ( b > $o ) > args_e6516999200615308162t_unit > d > e > list_P125642481956313003od_c_a > nat > nat > d > e > produc3942832651944972825_c_nat > $o ).

thf(sy_c_Window_Ommap__keys_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    mmap_k8225290564293298213_c_nat: list_P6274885450196660515_c_nat > set_Pr8693737435421807431at_nat ).

thf(sy_c_Window_Ommap__keys_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    mmap_k151633161116578727_c_nat: list_P2747636819685220005_c_nat > set_Pr8693737435421807431at_nat ).

thf(sy_c_Window_Ommap__keys_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    mmap_k5301915514662780862od_d_c: list_P3218128705725046124od_d_c > set_Pr8693737435421807431at_nat ).

thf(sy_c_Window_Ommap__keys_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    mmap_k2514459924083647227od_e_a: list_P1687796135946937257od_e_a > set_Pr8693737435421807431at_nat ).

thf(sy_c_Window_Ommap__keys_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    mmap_k3080892797436903101_c_nat: list_P7417839048565863355_c_nat > set_b ).

thf(sy_c_Window_Ommap__keys_001tf__b_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    mmap_k3066642428818769471_c_nat: list_P5567253521434164541_c_nat > set_b ).

thf(sy_c_Window_Ommap__keys_001tf__b_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    mmap_k3484546229528732454od_d_c: list_P3376028660666594516od_d_c > set_b ).

thf(sy_c_Window_Ommap__keys_001tf__b_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    mmap_k697090638949598819od_e_a: list_P1845696090888485649od_e_a > set_b ).

thf(sy_c_Window_Ommap__keys_001tf__b_001tf__c,type,
    mmap_keys_b_c: list_P903359562653991662od_b_c > set_b ).

thf(sy_c_Window_Ommap__lookup_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    mmap_l3052497582771463455_c_nat: list_P6274885450196660515_c_nat > produc859450856879609959at_nat > option2970150418924381261_c_nat ).

thf(sy_c_Window_Ommap__lookup_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    mmap_l440427023202933153_c_nat: list_P2747636819685220005_c_nat > produc859450856879609959at_nat > option7520157102916957007_c_nat ).

thf(sy_c_Window_Ommap__lookup_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    mmap_l4463521807085151300od_d_c: list_P3218128705725046124od_d_c > produc859450856879609959at_nat > option3445281501233115692od_d_c ).

thf(sy_c_Window_Ommap__lookup_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    mmap_l1676066216506017665od_e_a: list_P1687796135946937257od_e_a > produc859450856879609959at_nat > option2667564420535437033od_e_a ).

thf(sy_c_Window_Ommap__lookup_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    mmap_l5026999719965937591_c_nat: list_P7417839048565863355_c_nat > b > option2970150418924381261_c_nat ).

thf(sy_c_Window_Ommap__lookup_001tf__b_001t__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J,type,
    mmap_l4793845786776461369_c_nat: list_P5567253521434164541_c_nat > b > option7520157102916957007_c_nat ).

thf(sy_c_Window_Ommap__lookup_001tf__b_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    mmap_l6702574138473943980od_d_c: list_P3376028660666594516od_d_c > b > option3445281501233115692od_d_c ).

thf(sy_c_Window_Ommap__lookup_001tf__b_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    mmap_l3915118547894810345od_e_a: list_P1845696090888485649od_e_a > b > option2667564420535437033od_e_a ).

thf(sy_c_Window_Ommap__lookup_001tf__b_001tf__c,type,
    mmap_lookup_b_c: list_P903359562653991662od_b_c > b > option_c ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    mmap_m4119996586642187405_c_nat: ( b > option7520157102916957007_c_nat > option7520157102916957007_c_nat ) > list_P8155366108056616461_c_nat > list_P8155366108056616461_c_nat ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    mmap_m6323497282726167099_c_nat: ( b > option7520157102916957007_c_nat > produc4862256710654508797_c_nat ) > list_P8155366108056616461_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_001tf__c,type,
    mmap_m309430304289022530_nat_c: ( b > option7520157102916957007_c_nat > c ) > list_P8155366108056616461_c_nat > list_P903359562653991662od_b_c ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    mmap_m3808618123258838843_c_nat: ( b > produc4862256710654508797_c_nat > option7520157102916957007_c_nat ) > list_P7417839048565863355_c_nat > list_P8155366108056616461_c_nat ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    mmap_m881505119971688169_c_nat: ( b > produc4862256710654508797_c_nat > produc4862256710654508797_c_nat ) > list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    mmap_m9171942480829126650od_d_c: ( b > produc4862256710654508797_c_nat > product_prod_d_c ) > list_P7417839048565863355_c_nat > list_P3376028660666594516od_d_c ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    mmap_m6384486890249993015od_e_a: ( b > produc4862256710654508797_c_nat > product_prod_e_a ) > list_P7417839048565863355_c_nat > list_P1845696090888485649od_e_a ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_001tf__c,type,
    mmap_m3523663605641305108_nat_c: ( b > produc4862256710654508797_c_nat > c ) > list_P7417839048565863355_c_nat > list_P903359562653991662od_b_c ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Product____Type__Oprod_Itf__d_Mtf__c_J_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    mmap_m4864370145940641078_c_nat: ( b > product_prod_d_c > produc4862256710654508797_c_nat ) > list_P3376028660666594516od_d_c > list_P7417839048565863355_c_nat ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Product____Type__Oprod_Itf__d_Mtf__c_J_001tf__c,type,
    mmap_m4097282906021346695_d_c_c: ( b > product_prod_d_c > c ) > list_P3376028660666594516od_d_c > list_P903359562653991662od_b_c ).

thf(sy_c_Window_Ommap__map_001tf__b_001t__Product____Type__Oprod_Itf__e_Mtf__a_J_001tf__c,type,
    mmap_m1741427485564674954_e_a_c: ( b > product_prod_e_a > c ) > list_P1845696090888485649od_e_a > list_P903359562653991662od_b_c ).

thf(sy_c_Window_Ommap__map_001tf__b_001tf__c_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    mmap_m8776140404295941026_c_nat: ( b > c > option7520157102916957007_c_nat ) > list_P903359562653991662od_b_c > list_P8155366108056616461_c_nat ).

thf(sy_c_Window_Ommap__map_001tf__b_001tf__c_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    mmap_m3921707120754670672_c_nat: ( b > c > produc4862256710654508797_c_nat ) > list_P903359562653991662od_b_c > list_P7417839048565863355_c_nat ).

thf(sy_c_Window_Ommap__map_001tf__b_001tf__c_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    mmap_m1348102327091814611od_d_c: ( b > c > product_prod_d_c ) > list_P903359562653991662od_b_c > list_P3376028660666594516od_d_c ).

thf(sy_c_Window_Ommap__map_001tf__b_001tf__c_001t__Product____Type__Oprod_Itf__e_Mtf__a_J,type,
    mmap_m7784018773367456784od_e_a: ( b > c > product_prod_e_a ) > list_P903359562653991662od_b_c > list_P1845696090888485649od_e_a ).

thf(sy_c_Window_Ommap__map_001tf__b_001tf__c_001tf__c,type,
    mmap_map_b_c_c: ( b > c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_Window_Ommap__map_001tf__c_001tf__a_001tf__a,type,
    mmap_map_c_a_a: ( c > a > a ) > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_Window_Ommap__update_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    mmap_u5371215486469568154_c_nat: b > option7520157102916957007_c_nat > list_P8155366108056616461_c_nat > list_P8155366108056616461_c_nat ).

thf(sy_c_Window_Ommap__update_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    mmap_u2662500248198004552_c_nat: b > produc4862256710654508797_c_nat > list_P7417839048565863355_c_nat > list_P7417839048565863355_c_nat ).

thf(sy_c_Window_Ommap__update_001tf__b_001tf__c,type,
    mmap_update_b_c: b > c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_Window_Ommap__update_001tf__c_001tf__a,type,
    mmap_update_c_a: c > a > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a ).

thf(sy_c_Window_Oreach__window_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e,type,
    reach_1950258145352836792_c_d_e: args_e6516999200615308162t_unit > d > e > list_P125642481956313003od_c_a > produc7266611839391640223od_d_e > $o ).

thf(sy_c_Window_Oreaches__on_001t__Nat__Onat_001t__Nat__Onat,type,
    reaches_on_nat_nat: ( nat > option4927543243414619207at_nat ) > nat > list_nat > nat > $o ).

thf(sy_c_Window_Oreaches__on_001tf__b_001t__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J,type,
    reache2776293828163486629_b_a_b: ( b > option2373316081166772648_b_a_b ) > b > list_m3852300627133942458_b_a_b > b > $o ).

thf(sy_c_Window_Oreaches__on_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    reache896934410160684234_c_nat: ( b > option2970150418924381261_c_nat ) > b > list_o9079336047566018143_c_nat > b > $o ).

thf(sy_c_Window_Oreaches__on_001tf__b_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    reache4715653029478586672_c_nat: ( b > option7370380519722188825_c_nat ) > b > list_P5135105496981608305_c_nat > b > $o ).

thf(sy_c_Window_Oreaches__on_001tf__c_001t__Nat__Onat,type,
    reaches_on_c_nat: ( c > option7520157102916957007_c_nat ) > c > list_nat > c > $o ).

thf(sy_c_Window_Oreaches__on_001tf__d_001tf__c,type,
    reaches_on_d_c: ( d > option3445281501233115692od_d_c ) > d > list_c > d > $o ).

thf(sy_c_Window_Oreaches__on_001tf__d_001tf__e,type,
    reaches_on_d_e: ( d > option3587349581325807662od_d_e ) > d > list_e > d > $o ).

thf(sy_c_Window_Oreaches__on_001tf__e_001tf__a,type,
    reaches_on_e_a: ( e > option2667564420535437033od_e_a ) > e > list_a > e > $o ).

thf(sy_c_Window_Osteps_001tf__b_001tf__a_001tf__c,type,
    steps_b_a_c: ( b > a > b ) > list_P125642481956313003od_c_a > b > product_prod_nat_nat > b ).

thf(sy_c_Window_Osup__acc_001tf__b_001tf__a_001tf__c,type,
    sup_acc_b_a_c: ( b > a > b ) > ( b > $o ) > list_P125642481956313003od_c_a > b > nat > nat > option7520157102916957007_c_nat ).

thf(sy_c_Window_Osup__leadsto_001tf__b_001tf__a_001tf__c,type,
    sup_leadsto_b_a_c: b > ( b > a > b ) > list_P125642481956313003od_c_a > nat > nat > b > option_c ).

thf(sy_c_Window_Ots__at_001tf__b_001t__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J,type,
    ts_at_7620129641867092224_c_nat: list_P8155366108056616461_c_nat > nat > b ).

thf(sy_c_Window_Ots__at_001tf__b_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    ts_at_5464637035514368942_c_nat: list_P7417839048565863355_c_nat > nat > b ).

thf(sy_c_Window_Ots__at_001tf__b_001tf__c,type,
    ts_at_b_c: list_P903359562653991662od_b_c > nat > b ).

thf(sy_c_Window_Ots__at_001tf__c_001tf__a,type,
    ts_at_c_a: list_P125642481956313003od_c_a > nat > c ).

thf(sy_c_Window_Ovalid__s_001tf__b_001tf__a_001tf__c,type,
    valid_s_b_a_c: b > ( b > a > b ) > mappin8597647756751374250_b_a_b > ( b > $o ) > list_P125642481956313003od_c_a > nat > nat > nat > list_P7417839048565863355_c_nat > $o ).

thf(sy_c_Window_Ovalid__window_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e,type,
    valid_6766184565374654703_c_d_e: args_e6516999200615308162t_unit > d > e > list_P125642481956313003od_c_a > window3238552108609023426t_unit > $o ).

thf(sy_c_Window_Owindow_Omore_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    more_a7796565201755138846t_unit: window3238552108609023426t_unit > product_unit ).

thf(sy_c_Window_Owindow_Ow__ac_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_ac_a7622744053686734506t_unit: window3238552108609023426t_unit > mapping_b_o ).

thf(sy_c_Window_Owindow_Ow__e_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_e_a_6136436952264050519t_unit: window3238552108609023426t_unit > list_P903359562653991662od_b_c ).

thf(sy_c_Window_Owindow_Ow__i_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_i_a_1180558361373080923t_unit: window3238552108609023426t_unit > nat ).

thf(sy_c_Window_Owindow_Ow__j_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_j_a_4553274732077726428t_unit: window3238552108609023426t_unit > nat ).

thf(sy_c_Window_Owindow_Ow__s_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_s_a_7237605957855208549t_unit: window3238552108609023426t_unit > list_P7417839048565863355_c_nat ).

thf(sy_c_Window_Owindow_Ow__si_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_si_a3062602495544914206t_unit: window3238552108609023426t_unit > e ).

thf(sy_c_Window_Owindow_Ow__sj_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_sj_a6435318866249559711t_unit: window3238552108609023426t_unit > e ).

thf(sy_c_Window_Owindow_Ow__st_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_st_a3268994425876911529t_unit: window3238552108609023426t_unit > mappin8597647756751374250_b_a_b ).

thf(sy_c_Window_Owindow_Ow__ti_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_ti_a8858756314078090205t_unit: window3238552108609023426t_unit > d ).

thf(sy_c_Window_Owindow_Ow__tj_001tf__a_001tf__b_001tf__c_001tf__d_001tf__e_001t__Product____Type__Ounit,type,
    w_tj_a3008100647927959902t_unit: window3238552108609023426t_unit > d ).

thf(sy_c_Window_Owindow_Owindow__ext_001tf__b_001tf__a_001tf__d_001tf__e_001tf__c_001t__Product____Type__Ounit,type,
    window7186094214375669090t_unit: mappin8597647756751374250_b_a_b > mapping_b_o > nat > d > e > nat > d > e > list_P7417839048565863355_c_nat > list_P903359562653991662od_b_c > product_unit > window3238552108609023426t_unit ).

thf(sy_c_member_001t__Nat__Onat,type,
    member_nat: nat > set_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member7340969449405702474st_nat: produc1828647624359046049st_nat > set_Pr3451248702717554689st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    member6693912407220327184at_nat: produc6392793444374437607at_nat > set_Pr1542805901266377927at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    member4193558843337144336od_c_a: produc8538575299855860967od_c_a > set_Pr2869033644396942791od_c_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    member8191768239178080336list_a: produc9164743771328383783list_a > set_Pr4048851178543822343list_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_It__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J_J,type,
    member1148259165895179013_b_a_b: produc8903368046413730158_b_a_b > set_Pr7214452792380506916_b_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_It__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    member2771974599376966698_c_nat: produc7939216919652929299_c_nat > set_Pr1357614096732492745_c_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J,type,
    member6065427948895910140_c_nat: produc483654848071607251_c_nat > set_Pr6433210042409515187_c_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__c_J_Mt__List__Olist_Itf__c_J_J,type,
    member7012247553653173456list_c: produc7985223085803476903list_c > set_Pr2058341694840537735list_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__d_J_Mt__List__Olist_Itf__c_J_J,type,
    member1739767152416986127list_c: produc2712742684567289574list_c > set_Pr8195957489705318982list_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__d_J_Mt__List__Olist_Itf__e_J_J,type,
    member1881835232509678097list_e: produc2854810764659981544list_e > set_Pr3153588453127247688list_e > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    member8440522571783428010at_nat: product_prod_nat_nat > set_Pr1261947904930325089at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member8206827879206165904at_nat: produc859450856879609959at_nat > set_Pr8693737435421807431at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__c_Mtf__a_J_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    member3715682548391523728od_c_a: produc883574481494864231od_c_a > set_Pr5414900262478774087od_c_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__b_Mt__Mapping__Omapping_It__Product____Type__Oprod_Itf__b_Mtf__a_J_Mtf__b_J_J,type,
    member5165263004772949231_b_a_b: produc69853407467193432_b_a_b > set_Pr734110891364819982_b_a_b > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J,type,
    member7562873241046315796_c_nat: produc4862256710654508797_c_nat > set_Pr8806432033423503795_c_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__b_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_Itf__c_Mt__Nat__Onat_J_J_J_J,type,
    member5609925333709090172_c_nat: produc4731008658490410835_c_nat > set_Pr2912316883363060019_c_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__c_Mtf__c_J,type,
    member5074992359041316560od_c_c: product_prod_c_c > set_Product_prod_c_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__d_Mtf__c_J,type,
    member2287536777068640527od_d_c: product_prod_d_c > set_Product_prod_d_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__d_Mtf__e_J,type,
    member2287536785675098129od_d_e: product_prod_d_e > set_Product_prod_d_e > $o ).

thf(sy_c_member_001tf__b,type,
    member_b: b > set_b > $o ).

thf(sy_c_member_001tf__c,type,
    member_c: c > set_c > $o ).

thf(sy_v__092_060beta_062____,type,
    beta: $o ).

thf(sy_v_ac_H__cur____,type,
    ac_cur: mapping_b_o ).

thf(sy_v_ac____,type,
    ac: mapping_b_o ).

thf(sy_v_ac__cur____,type,
    ac_cur2: mapping_b_o ).

thf(sy_v_ac__cura____,type,
    ac_cura: mapping_b_o ).

thf(sy_v_accept____,type,
    accept: b > $o ).

thf(sy_v_args,type,
    args: args_e6516999200615308162t_unit ).

thf(sy_v_b____,type,
    b2: a ).

thf(sy_v_b__cur____,type,
    b_cur: a ).

thf(sy_v_e_H____,type,
    e2: list_P903359562653991662od_b_c ).

thf(sy_v_e____,type,
    e3: list_P903359562653991662od_b_c ).

thf(sy_v_i____,type,
    i: nat ).

thf(sy_v_i__cur____,type,
    i_cur: nat ).

thf(sy_v_i__cura____,type,
    i_cura: nat ).

thf(sy_v_init____,type,
    init: b ).

thf(sy_v_j____,type,
    j: nat ).

thf(sy_v_q_H____,type,
    q: b ).

thf(sy_v_q__cur____,type,
    q_cur: b ).

thf(sy_v_q__cura____,type,
    q_cura: b ).

thf(sy_v_rho,type,
    rho: list_P125642481956313003od_c_a ).

thf(sy_v_run__sub____,type,
    run_sub: e > option2667564420535437033od_e_a ).

thf(sy_v_run__t____,type,
    run_t: d > option3445281501233115692od_d_c ).

thf(sy_v_s_H____,type,
    s: list_P7417839048565863355_c_nat ).

thf(sy_v_s_H__cur____,type,
    s_cur: list_P7417839048565863355_c_nat ).

thf(sy_v_s____,type,
    s2: list_P7417839048565863355_c_nat ).

thf(sy_v_s__cur____,type,
    s_cur2: list_P7417839048565863355_c_nat ).

thf(sy_v_s__cura____,type,
    s_cura: list_P7417839048565863355_c_nat ).

thf(sy_v_si_H____,type,
    si: e ).

thf(sy_v_si_H__cur____,type,
    si_cur: e ).

thf(sy_v_si____,type,
    si2: e ).

thf(sy_v_si__cur____,type,
    si_cur2: e ).

thf(sy_v_si__cura____,type,
    si_cura: e ).

thf(sy_v_sj____,type,
    sj: e ).

thf(sy_v_st_H_H__cur____,type,
    st_cur: mappin8597647756751374250_b_a_b ).

thf(sy_v_st_H____,type,
    st: mappin8597647756751374250_b_a_b ).

thf(sy_v_st_H__cur____,type,
    st_cur2: mappin8597647756751374250_b_a_b ).

thf(sy_v_st____,type,
    st2: mappin8597647756751374250_b_a_b ).

thf(sy_v_st__cur____,type,
    st_cur3: mappin8597647756751374250_b_a_b ).

thf(sy_v_st__cura____,type,
    st_cura: mappin8597647756751374250_b_a_b ).

thf(sy_v_state____,type,
    state: produc3942832651944972825_c_nat ).

thf(sy_v_step____,type,
    step: b > a > b ).

thf(sy_v_sub,type,
    sub: e ).

thf(sy_v_t0,type,
    t0: d ).

thf(sy_v_t____,type,
    t: c ).

thf(sy_v_t__cur____,type,
    t_cur: c ).

thf(sy_v_ti_H____,type,
    ti: d ).

thf(sy_v_ti_H__cur____,type,
    ti_cur: d ).

thf(sy_v_ti____,type,
    ti2: d ).

thf(sy_v_ti__cur____,type,
    ti_cur2: d ).

thf(sy_v_ti__cura____,type,
    ti_cura: d ).

thf(sy_v_tj____,type,
    tj: d ).

thf(sy_v_tstp__cur____,type,
    tstp_cur: option7520157102916957007_c_nat ).

thf(sy_v_tstp__cura____,type,
    tstp_cura: option7520157102916957007_c_nat ).

thf(sy_v_w,type,
    w: window3238552108609023426t_unit ).

% Relevant facts (1265)
thf(fact_0_steps__refl,axiom,
    ! [Step: b > a > b,Rho: list_P125642481956313003od_c_a,Q: b,I: nat] :
      ( ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ I ) )
      = Q ) ).

% steps_refl
thf(fact_1_tb__cur__def_I5_J,axiom,
    ( t_cur
    = ( ts_at_c_a @ rho @ i_cura ) ) ).

% tb_cur_def(5)
thf(fact_2_assms_I1_J,axiom,
    loop_inv_b_a_b_c_d_e @ init @ step @ accept @ args @ t0 @ sub @ rho @ i @ j @ tj @ sj @ state ).

% assms(1)
thf(fact_3_accept_I1_J,axiom,
    ( beta
    = ( accept @ q ) ) ).

% accept(1)
thf(fact_4_tb__def_I5_J,axiom,
    ( t
    = ( ts_at_c_a @ rho @ i ) ) ).

% tb_def(5)
thf(fact_5_tb__def_I6_J,axiom,
    ( b2
    = ( bs_at_c_a @ rho @ i ) ) ).

% tb_def(6)
thf(fact_6_add__Suc__right,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ M @ ( suc @ N ) )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc_right
thf(fact_7_tb__cur__def_I6_J,axiom,
    ( b_cur
    = ( bs_at_c_a @ rho @ i_cura ) ) ).

% tb_cur_def(6)
thf(fact_8_step__def,axiom,
    ( step
    = ( w_step6169476737019890567t_unit @ args ) ) ).

% step_def
thf(fact_9_Suc__eq__plus1,axiom,
    ( suc
    = ( ^ [N2: nat] : ( plus_plus_nat @ N2 @ one_one_nat ) ) ) ).

% Suc_eq_plus1
thf(fact_10_plus__1__eq__Suc,axiom,
    ( ( plus_plus_nat @ one_one_nat )
    = suc ) ).

% plus_1_eq_Suc
thf(fact_11_Suc__eq__plus1__left,axiom,
    ( suc
    = ( plus_plus_nat @ one_one_nat ) ) ).

% Suc_eq_plus1_left
thf(fact_12_init__def,axiom,
    ( init
    = ( w_init5504024821283585547t_unit @ args ) ) ).

% init_def
thf(fact_13_nat_Oinject,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( suc @ X2 )
        = ( suc @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% nat.inject
thf(fact_14_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_15_assms_I2_J,axiom,
    loop_c1650738222079389858_c_nat @ j @ state ).

% assms(2)
thf(fact_16__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062st__cur_Aac__cur_Ai__cur_Ati__cur_Asi__cur_Aq__cur_As__cur_Atstp__cur_O_Astate_A_061_A_Ist__cur_M_Aac__cur_M_Ai__cur_M_Ati__cur_M_Asi__cur_M_Aq__cur_M_As__cur_M_Atstp__cur_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [St_cur: mappin8597647756751374250_b_a_b,Ac_cur: mapping_b_o,I_cur: nat,Ti_cur: d,Si_cur: e,Q_cur: b,S_cur: list_P7417839048565863355_c_nat,Tstp_cur: option7520157102916957007_c_nat] :
        ( state
       != ( produc2213499015815695947_c_nat @ St_cur @ ( produc8693840700255356934_c_nat @ Ac_cur @ ( produc26586266114070709_c_nat @ I_cur @ ( produc8163416302152420558_c_nat @ Ti_cur @ ( produc8689783093404602216_c_nat @ Si_cur @ ( produc1153541909957361603_c_nat @ Q_cur @ ( produc3198819265183462307_c_nat @ S_cur @ Tstp_cur ) ) ) ) ) ) ) ) ).

% \<open>\<And>thesis. (\<And>st_cur ac_cur i_cur ti_cur si_cur q_cur s_cur tstp_cur. state = (st_cur, ac_cur, i_cur, ti_cur, si_cur, q_cur, s_cur, tstp_cur) \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_17_local_Ostep_I1_J,axiom,
    ( q
    = ( step @ q_cura @ b_cur ) ) ).

% local.step(1)
thf(fact_18_accept__def,axiom,
    ( accept
    = ( w_acce2293875733780235011t_unit @ args ) ) ).

% accept_def
thf(fact_19_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_20_Suc__inject,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( suc @ X )
        = ( suc @ Y ) )
     => ( X = Y ) ) ).

% Suc_inject
thf(fact_21_add__Suc__shift,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( plus_plus_nat @ M @ ( suc @ N ) ) ) ).

% add_Suc_shift
thf(fact_22_add__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc
thf(fact_23_nat__arith_Osuc1,axiom,
    ! [A: nat,K: nat,A2: nat] :
      ( ( A
        = ( plus_plus_nat @ K @ A2 ) )
     => ( ( suc @ A )
        = ( plus_plus_nat @ K @ ( suc @ A2 ) ) ) ) ).

% nat_arith.suc1
thf(fact_24__092_060open_062valid__window_Aargs_At0_Asub_Arho_Aw_092_060close_062,axiom,
    valid_6766184565374654703_c_d_e @ args @ t0 @ sub @ rho @ w ).

% \<open>valid_window args t0 sub rho w\<close>
thf(fact_25_b__def,axiom,
    ( ( cac_b @ accept @ ac_cura @ q )
    = ( produc7969538617268389291ng_b_o @ beta @ ac_cur ) ) ).

% b_def
thf(fact_26_valid__s_H__cur,axiom,
    valid_s_b_a_c @ init @ step @ st_cur2 @ accept @ rho @ i @ ( plus_plus_nat @ i_cura @ one_one_nat ) @ j @ s_cur ).

% valid_s'_cur
thf(fact_27_valid__before_I1_J,axiom,
    reach_1950258145352836792_c_d_e @ args @ t0 @ sub @ rho @ ( produc567323201292048087od_d_e @ i @ ( produc2738068492226668904od_d_e @ ti2 @ ( produc5384269442762620216od_d_e @ si2 @ ( produc7887413874091304127od_d_e @ j @ ( product_Pair_d_e @ tj @ sj ) ) ) ) ) ).

% valid_before(1)
thf(fact_28_valid__s_H__Suc__i,axiom,
    valid_s_b_a_c @ init @ step @ st @ accept @ rho @ i @ ( plus_plus_nat @ i @ one_one_nat ) @ j @ s ).

% valid_s'_Suc_i
thf(fact_29_i__le__j,axiom,
    ord_less_eq_nat @ i @ j ).

% i_le_j
thf(fact_30_prod_Oinject,axiom,
    ! [X1: d,X2: e,Y1: d,Y2: e] :
      ( ( ( product_Pair_d_e @ X1 @ X2 )
        = ( product_Pair_d_e @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_31_prod_Oinject,axiom,
    ! [X1: d,X2: c,Y1: d,Y2: c] :
      ( ( ( product_Pair_d_c @ X1 @ X2 )
        = ( product_Pair_d_c @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_32_prod_Oinject,axiom,
    ! [X1: b,X2: produc7123198797777838443_c_nat,Y1: b,Y2: produc7123198797777838443_c_nat] :
      ( ( ( produc1153541909957361603_c_nat @ X1 @ X2 )
        = ( produc1153541909957361603_c_nat @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_33_prod_Oinject,axiom,
    ! [X1: b,X2: mappin8597647756751374250_b_a_b,Y1: b,Y2: mappin8597647756751374250_b_a_b] :
      ( ( ( produc5420919026241514322_b_a_b @ X1 @ X2 )
        = ( produc5420919026241514322_b_a_b @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_34_prod_Oinject,axiom,
    ! [X1: b,X2: option7520157102916957007_c_nat,Y1: b,Y2: option7520157102916957007_c_nat] :
      ( ( ( produc5716802255202478839_c_nat @ X1 @ X2 )
        = ( produc5716802255202478839_c_nat @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_35_prod_Oinject,axiom,
    ! [X1: nat,X2: nat,Y1: nat,Y2: nat] :
      ( ( ( product_Pair_nat_nat @ X1 @ X2 )
        = ( product_Pair_nat_nat @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_36_old_Oprod_Oinject,axiom,
    ! [A2: d,B: e,A3: d,B2: e] :
      ( ( ( product_Pair_d_e @ A2 @ B )
        = ( product_Pair_d_e @ A3 @ B2 ) )
      = ( ( A2 = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_37_old_Oprod_Oinject,axiom,
    ! [A2: d,B: c,A3: d,B2: c] :
      ( ( ( product_Pair_d_c @ A2 @ B )
        = ( product_Pair_d_c @ A3 @ B2 ) )
      = ( ( A2 = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_38_old_Oprod_Oinject,axiom,
    ! [A2: b,B: produc7123198797777838443_c_nat,A3: b,B2: produc7123198797777838443_c_nat] :
      ( ( ( produc1153541909957361603_c_nat @ A2 @ B )
        = ( produc1153541909957361603_c_nat @ A3 @ B2 ) )
      = ( ( A2 = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_39_old_Oprod_Oinject,axiom,
    ! [A2: b,B: mappin8597647756751374250_b_a_b,A3: b,B2: mappin8597647756751374250_b_a_b] :
      ( ( ( produc5420919026241514322_b_a_b @ A2 @ B )
        = ( produc5420919026241514322_b_a_b @ A3 @ B2 ) )
      = ( ( A2 = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_40_old_Oprod_Oinject,axiom,
    ! [A2: b,B: option7520157102916957007_c_nat,A3: b,B2: option7520157102916957007_c_nat] :
      ( ( ( produc5716802255202478839_c_nat @ A2 @ B )
        = ( produc5716802255202478839_c_nat @ A3 @ B2 ) )
      = ( ( A2 = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_41_old_Oprod_Oinject,axiom,
    ! [A2: nat,B: nat,A3: nat,B2: nat] :
      ( ( ( product_Pair_nat_nat @ A2 @ B )
        = ( product_Pair_nat_nat @ A3 @ B2 ) )
      = ( ( A2 = A3 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_42_Suc__le__mono,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( suc @ M ) )
      = ( ord_less_eq_nat @ N @ M ) ) ).

% Suc_le_mono
thf(fact_43_mem__Collect__eq,axiom,
    ! [A2: b,P: b > $o] :
      ( ( member_b @ A2 @ ( collect_b @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_44_mem__Collect__eq,axiom,
    ! [A2: produc859450856879609959at_nat,P: produc859450856879609959at_nat > $o] :
      ( ( member8206827879206165904at_nat @ A2 @ ( collec7088162979684241874at_nat @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_45_Collect__mem__eq,axiom,
    ! [A: set_b] :
      ( ( collect_b
        @ ^ [X3: b] : ( member_b @ X3 @ A ) )
      = A ) ).

% Collect_mem_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A: set_Pr8693737435421807431at_nat] :
      ( ( collec7088162979684241874at_nat
        @ ^ [X3: produc859450856879609959at_nat] : ( member8206827879206165904at_nat @ X3 @ A ) )
      = A ) ).

% Collect_mem_eq
thf(fact_47_nat__add__left__cancel__le,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_48__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062_092_060beta_062_Aac_H__cur_O_Acac_Aaccept_Aac__cur_Aq_H_A_061_A_I_092_060beta_062_M_Aac_H__cur_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [Beta: $o,Ac_cur2: mapping_b_o] :
        ( ( cac_b @ accept @ ac_cura @ q )
       != ( produc7969538617268389291ng_b_o @ Beta @ Ac_cur2 ) ) ).

% \<open>\<And>thesis. (\<And>\<beta> ac'_cur. cac accept ac_cur q' = (\<beta>, ac'_cur) \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_49_q_H__def,axiom,
    ( ( cstep_b_a @ step @ st_cur2 @ q_cura @ b_cur )
    = ( produc5420919026241514322_b_a_b @ q @ st_cur ) ) ).

% q'_def
thf(fact_50_ti__def,axiom,
    ( ti2
    = ( w_ti_a8858756314078090205t_unit @ w ) ) ).

% ti_def
thf(fact_51_si__def,axiom,
    ( si2
    = ( w_si_a3062602495544914206t_unit @ w ) ) ).

% si_def
thf(fact_52_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

% le_refl
thf(fact_53_le__trans,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ J @ K )
       => ( ord_less_eq_nat @ I @ K ) ) ) ).

% le_trans
thf(fact_54_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_55_le__antisym,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( M = N ) ) ) ).

% le_antisym
thf(fact_56_nat__le__linear,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
      | ( ord_less_eq_nat @ N @ M ) ) ).

% nat_le_linear
thf(fact_57_Nat_Oex__has__greatest__nat,axiom,
    ! [P: nat > $o,K: nat,B: nat] :
      ( ( P @ K )
     => ( ! [Y3: nat] :
            ( ( P @ Y3 )
           => ( ord_less_eq_nat @ Y3 @ B ) )
       => ? [X4: nat] :
            ( ( P @ X4 )
            & ! [Y4: nat] :
                ( ( P @ Y4 )
               => ( ord_less_eq_nat @ Y4 @ X4 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_58_lift__Suc__antimono__le,axiom,
    ! [F: nat > nat,N: nat,N3: nat] :
      ( ! [N4: nat] : ( ord_less_eq_nat @ ( F @ ( suc @ N4 ) ) @ ( F @ N4 ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_nat @ ( F @ N3 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_59_lift__Suc__antimono__le,axiom,
    ! [F: nat > c,N: nat,N3: nat] :
      ( ! [N4: nat] : ( ord_less_eq_c @ ( F @ ( suc @ N4 ) ) @ ( F @ N4 ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_c @ ( F @ N3 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_60_lift__Suc__mono__le,axiom,
    ! [F: nat > nat,N: nat,N3: nat] :
      ( ! [N4: nat] : ( ord_less_eq_nat @ ( F @ N4 ) @ ( F @ ( suc @ N4 ) ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_nat @ ( F @ N ) @ ( F @ N3 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_61_lift__Suc__mono__le,axiom,
    ! [F: nat > c,N: nat,N3: nat] :
      ( ! [N4: nat] : ( ord_less_eq_c @ ( F @ N4 ) @ ( F @ ( suc @ N4 ) ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_c @ ( F @ N ) @ ( F @ N3 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_62_Suc__leD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% Suc_leD
thf(fact_63_le__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_eq_nat @ M @ N )
       => ( M
          = ( suc @ N ) ) ) ) ).

% le_SucE
thf(fact_64_le__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ ( suc @ N ) ) ) ).

% le_SucI
thf(fact_65_Suc__le__D,axiom,
    ! [N: nat,M2: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ M2 )
     => ? [M3: nat] :
          ( M2
          = ( suc @ M3 ) ) ) ).

% Suc_le_D
thf(fact_66_le__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_eq_nat @ M @ N )
        | ( M
          = ( suc @ N ) ) ) ) ).

% le_Suc_eq
thf(fact_67_Suc__n__not__le__n,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_nat @ ( suc @ N ) @ N ) ).

% Suc_n_not_le_n
thf(fact_68_not__less__eq__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_eq_nat @ M @ N ) )
      = ( ord_less_eq_nat @ ( suc @ N ) @ M ) ) ).

% not_less_eq_eq
thf(fact_69_full__nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N4: nat] :
          ( ! [M4: nat] :
              ( ( ord_less_eq_nat @ ( suc @ M4 ) @ N4 )
             => ( P @ M4 ) )
         => ( P @ N4 ) )
     => ( P @ N ) ) ).

% full_nat_induct
thf(fact_70_nat__induct__at__least,axiom,
    ! [M: nat,N: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( P @ M )
       => ( ! [N4: nat] :
              ( ( ord_less_eq_nat @ M @ N4 )
             => ( ( P @ N4 )
               => ( P @ ( suc @ N4 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_at_least
thf(fact_71_transitive__stepwise__le,axiom,
    ! [M: nat,N: nat,R: nat > nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ! [X4: nat] : ( R @ X4 @ X4 )
       => ( ! [X4: nat,Y3: nat,Z: nat] :
              ( ( R @ X4 @ Y3 )
             => ( ( R @ Y3 @ Z )
               => ( R @ X4 @ Z ) ) )
         => ( ! [N4: nat] : ( R @ N4 @ ( suc @ N4 ) )
           => ( R @ M @ N ) ) ) ) ) ).

% transitive_stepwise_le
thf(fact_72_add__leE,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ~ ( ( ord_less_eq_nat @ M @ N )
         => ~ ( ord_less_eq_nat @ K @ N ) ) ) ).

% add_leE
thf(fact_73_le__add1,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M ) ) ).

% le_add1
thf(fact_74_le__add2,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ M @ N ) ) ).

% le_add2
thf(fact_75_add__leD1,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% add_leD1
thf(fact_76_add__leD2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ( ord_less_eq_nat @ K @ N ) ) ).

% add_leD2
thf(fact_77_le__Suc__ex,axiom,
    ! [K: nat,L: nat] :
      ( ( ord_less_eq_nat @ K @ L )
     => ? [N4: nat] :
          ( L
          = ( plus_plus_nat @ K @ N4 ) ) ) ).

% le_Suc_ex
thf(fact_78_add__le__mono,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ K @ L )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_le_mono
thf(fact_79_add__le__mono1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ K ) ) ) ).

% add_le_mono1
thf(fact_80_trans__le__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_le_add1
thf(fact_81_trans__le__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_le_add2
thf(fact_82_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M5: nat,N2: nat] :
        ? [K2: nat] :
          ( N2
          = ( plus_plus_nat @ M5 @ K2 ) ) ) ) ).

% nat_le_iff_add
thf(fact_83_steps__comp,axiom,
    ! [I: nat,L: nat,J: nat,Step: b > a > b,Rho: list_P125642481956313003od_c_a,Q: b,Q2: b,Q3: b] :
      ( ( ord_less_eq_nat @ I @ L )
     => ( ( ord_less_eq_nat @ L @ J )
       => ( ( ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ L ) )
            = Q2 )
         => ( ( ( steps_b_a_c @ Step @ Rho @ Q2 @ ( product_Pair_nat_nat @ L @ J ) )
              = Q3 )
           => ( ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ J ) )
              = Q3 ) ) ) ) ) ).

% steps_comp
thf(fact_84_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_d_e] :
      ~ ! [A4: d,B3: e] :
          ( Y
         != ( product_Pair_d_e @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_85_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_d_c] :
      ~ ! [A4: d,B3: c] :
          ( Y
         != ( product_Pair_d_c @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_86_old_Oprod_Oexhaust,axiom,
    ! [Y: produc4731008658490410835_c_nat] :
      ~ ! [A4: b,B3: produc7123198797777838443_c_nat] :
          ( Y
         != ( produc1153541909957361603_c_nat @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_87_old_Oprod_Oexhaust,axiom,
    ! [Y: produc69853407467193432_b_a_b] :
      ~ ! [A4: b,B3: mappin8597647756751374250_b_a_b] :
          ( Y
         != ( produc5420919026241514322_b_a_b @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_88_old_Oprod_Oexhaust,axiom,
    ! [Y: produc4862256710654508797_c_nat] :
      ~ ! [A4: b,B3: option7520157102916957007_c_nat] :
          ( Y
         != ( produc5716802255202478839_c_nat @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_89_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_nat_nat] :
      ~ ! [A4: nat,B3: nat] :
          ( Y
         != ( product_Pair_nat_nat @ A4 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_90_surj__pair,axiom,
    ! [P2: product_prod_d_e] :
    ? [X4: d,Y3: e] :
      ( P2
      = ( product_Pair_d_e @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_91_surj__pair,axiom,
    ! [P2: product_prod_d_c] :
    ? [X4: d,Y3: c] :
      ( P2
      = ( product_Pair_d_c @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_92_surj__pair,axiom,
    ! [P2: produc4731008658490410835_c_nat] :
    ? [X4: b,Y3: produc7123198797777838443_c_nat] :
      ( P2
      = ( produc1153541909957361603_c_nat @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_93_surj__pair,axiom,
    ! [P2: produc69853407467193432_b_a_b] :
    ? [X4: b,Y3: mappin8597647756751374250_b_a_b] :
      ( P2
      = ( produc5420919026241514322_b_a_b @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_94_surj__pair,axiom,
    ! [P2: produc4862256710654508797_c_nat] :
    ? [X4: b,Y3: option7520157102916957007_c_nat] :
      ( P2
      = ( produc5716802255202478839_c_nat @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_95_surj__pair,axiom,
    ! [P2: product_prod_nat_nat] :
    ? [X4: nat,Y3: nat] :
      ( P2
      = ( product_Pair_nat_nat @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_96_prod__cases,axiom,
    ! [P: product_prod_d_e > $o,P2: product_prod_d_e] :
      ( ! [A4: d,B3: e] : ( P @ ( product_Pair_d_e @ A4 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_97_prod__cases,axiom,
    ! [P: product_prod_d_c > $o,P2: product_prod_d_c] :
      ( ! [A4: d,B3: c] : ( P @ ( product_Pair_d_c @ A4 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_98_prod__cases,axiom,
    ! [P: produc4731008658490410835_c_nat > $o,P2: produc4731008658490410835_c_nat] :
      ( ! [A4: b,B3: produc7123198797777838443_c_nat] : ( P @ ( produc1153541909957361603_c_nat @ A4 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_99_prod__cases,axiom,
    ! [P: produc69853407467193432_b_a_b > $o,P2: produc69853407467193432_b_a_b] :
      ( ! [A4: b,B3: mappin8597647756751374250_b_a_b] : ( P @ ( produc5420919026241514322_b_a_b @ A4 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_100_prod__cases,axiom,
    ! [P: produc4862256710654508797_c_nat > $o,P2: produc4862256710654508797_c_nat] :
      ( ! [A4: b,B3: option7520157102916957007_c_nat] : ( P @ ( produc5716802255202478839_c_nat @ A4 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_101_prod__cases,axiom,
    ! [P: product_prod_nat_nat > $o,P2: product_prod_nat_nat] :
      ( ! [A4: nat,B3: nat] : ( P @ ( product_Pair_nat_nat @ A4 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_102_Pair__inject,axiom,
    ! [A2: d,B: e,A3: d,B2: e] :
      ( ( ( product_Pair_d_e @ A2 @ B )
        = ( product_Pair_d_e @ A3 @ B2 ) )
     => ~ ( ( A2 = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_103_Pair__inject,axiom,
    ! [A2: d,B: c,A3: d,B2: c] :
      ( ( ( product_Pair_d_c @ A2 @ B )
        = ( product_Pair_d_c @ A3 @ B2 ) )
     => ~ ( ( A2 = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_104_Pair__inject,axiom,
    ! [A2: b,B: produc7123198797777838443_c_nat,A3: b,B2: produc7123198797777838443_c_nat] :
      ( ( ( produc1153541909957361603_c_nat @ A2 @ B )
        = ( produc1153541909957361603_c_nat @ A3 @ B2 ) )
     => ~ ( ( A2 = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_105_Pair__inject,axiom,
    ! [A2: b,B: mappin8597647756751374250_b_a_b,A3: b,B2: mappin8597647756751374250_b_a_b] :
      ( ( ( produc5420919026241514322_b_a_b @ A2 @ B )
        = ( produc5420919026241514322_b_a_b @ A3 @ B2 ) )
     => ~ ( ( A2 = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_106_Pair__inject,axiom,
    ! [A2: b,B: option7520157102916957007_c_nat,A3: b,B2: option7520157102916957007_c_nat] :
      ( ( ( produc5716802255202478839_c_nat @ A2 @ B )
        = ( produc5716802255202478839_c_nat @ A3 @ B2 ) )
     => ~ ( ( A2 = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_107_Pair__inject,axiom,
    ! [A2: nat,B: nat,A3: nat,B2: nat] :
      ( ( ( product_Pair_nat_nat @ A2 @ B )
        = ( product_Pair_nat_nat @ A3 @ B2 ) )
     => ~ ( ( A2 = A3 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_108_steps__appE,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Rho: list_P125642481956313003od_c_a,Q: b,Q2: b] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ ( suc @ J ) ) )
          = Q2 )
       => ? [Q4: b] :
            ( ( ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ J ) )
              = Q4 )
            & ( Q2
              = ( Step @ Q4 @ ( bs_at_c_a @ Rho @ J ) ) ) ) ) ) ).

% steps_appE
thf(fact_109_steps__app,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Rho: list_P125642481956313003od_c_a,Q: b] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ ( plus_plus_nat @ J @ one_one_nat ) ) )
        = ( Step @ ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ J ) ) @ ( bs_at_c_a @ Rho @ J ) ) ) ) ).

% steps_app
thf(fact_110_prod__cases3,axiom,
    ! [Y: produc4731008658490410835_c_nat] :
      ~ ! [A4: b,B3: list_P7417839048565863355_c_nat,C: option7520157102916957007_c_nat] :
          ( Y
         != ( produc1153541909957361603_c_nat @ A4 @ ( produc3198819265183462307_c_nat @ B3 @ C ) ) ) ).

% prod_cases3
thf(fact_111_prod__induct3,axiom,
    ! [P: produc4731008658490410835_c_nat > $o,X: produc4731008658490410835_c_nat] :
      ( ! [A4: b,B3: list_P7417839048565863355_c_nat,C: option7520157102916957007_c_nat] : ( P @ ( produc1153541909957361603_c_nat @ A4 @ ( produc3198819265183462307_c_nat @ B3 @ C ) ) )
     => ( P @ X ) ) ).

% prod_induct3
thf(fact_112_reach__window__shift__all,axiom,
    ! [Args: args_e6516999200615308162t_unit,T0: d,Sub: e,Rho: list_P125642481956313003od_c_a,I: nat,Si: d,Ti: e,J: nat,Sj: d,Tj: e] :
      ( ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Si @ ( produc5384269442762620216od_d_e @ Ti @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Sj @ Tj ) ) ) ) ) )
     => ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ J @ ( produc2738068492226668904od_d_e @ Sj @ ( produc5384269442762620216od_d_e @ Tj @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Sj @ Tj ) ) ) ) ) ) ) ).

% reach_window_shift_all
thf(fact_113_i__def,axiom,
    ( i
    = ( w_i_a_1180558361373080923t_unit @ w ) ) ).

% i_def
thf(fact_114__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062q_H_Ast_H_H__cur_O_Acstep_Astep_Ast_H__cur_Aq__cur_Ab__cur_A_061_A_Iq_H_M_Ast_H_H__cur_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [Q5: b,St_cur2: mappin8597647756751374250_b_a_b] :
        ( ( cstep_b_a @ step @ st_cur2 @ q_cura @ b_cur )
       != ( produc5420919026241514322_b_a_b @ Q5 @ St_cur2 ) ) ).

% \<open>\<And>thesis. (\<And>q' st''_cur. cstep step st'_cur q_cur b_cur = (q', st''_cur) \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_115_j__def,axiom,
    ( j
    = ( w_j_a_4553274732077726428t_unit @ w ) ) ).

% j_def
thf(fact_116_tj__def,axiom,
    ( tj
    = ( w_tj_a3008100647927959902t_unit @ w ) ) ).

% tj_def
thf(fact_117_sj__def,axiom,
    ( sj
    = ( w_sj_a6435318866249559711t_unit @ w ) ) ).

% sj_def
thf(fact_118_s_H__cur__def,axiom,
    ( ( adv_d_b_a_c @ step @ st_cura @ i_cura @ b_cur @ s_cura )
    = ( produc2936636199886334_b_a_b @ s_cur @ st_cur2 ) ) ).

% s'_cur_def
thf(fact_119_state__def,axiom,
    ( state
    = ( produc2213499015815695947_c_nat @ st_cura @ ( produc8693840700255356934_c_nat @ ac_cura @ ( produc26586266114070709_c_nat @ i_cura @ ( produc8163416302152420558_c_nat @ ti_cura @ ( produc8689783093404602216_c_nat @ si_cura @ ( produc1153541909957361603_c_nat @ q_cura @ ( produc3198819265183462307_c_nat @ s_cura @ tstp_cura ) ) ) ) ) ) ) ) ).

% state_def
thf(fact_120_add__le__cancel__left,axiom,
    ! [C2: nat,A2: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B ) )
      = ( ord_less_eq_nat @ A2 @ B ) ) ).

% add_le_cancel_left
thf(fact_121_add__le__cancel__right,axiom,
    ! [A2: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
      = ( ord_less_eq_nat @ A2 @ B ) ) ).

% add_le_cancel_right
thf(fact_122_valid__s__i,axiom,
    valid_s_b_a_c @ init @ step @ st2 @ accept @ rho @ i @ i @ j @ s2 ).

% valid_s_i
thf(fact_123_s_H__def,axiom,
    ( ( adv_d_b_a_c @ step @ st2 @ i @ b2 @ s2 )
    = ( produc2936636199886334_b_a_b @ s @ st ) ) ).

% s'_def
thf(fact_124_add__right__cancel,axiom,
    ! [B: nat,A2: nat,C2: nat] :
      ( ( ( plus_plus_nat @ B @ A2 )
        = ( plus_plus_nat @ C2 @ A2 ) )
      = ( B = C2 ) ) ).

% add_right_cancel
thf(fact_125_add__left__cancel,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ( plus_plus_nat @ A2 @ B )
        = ( plus_plus_nat @ A2 @ C2 ) )
      = ( B = C2 ) ) ).

% add_left_cancel
thf(fact_126__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062st_H_As_H_O_Aadv__d_Astep_Ast_Ai_Ab_As_A_061_A_Is_H_M_Ast_H_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [St: mappin8597647756751374250_b_a_b,S: list_P7417839048565863355_c_nat] :
        ( ( adv_d_b_a_c @ step @ st2 @ i @ b2 @ s2 )
       != ( produc2936636199886334_b_a_b @ S @ St ) ) ).

% \<open>\<And>thesis. (\<And>st' s'. adv_d step st i b s = (s', st') \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_127__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062s_H__cur_Ast_H__cur_O_Aadv__d_Astep_Ast__cur_Ai__cur_Ab__cur_As__cur_A_061_A_Is_H__cur_M_Ast_H__cur_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [S_cur2: list_P7417839048565863355_c_nat,St_cur3: mappin8597647756751374250_b_a_b] :
        ( ( adv_d_b_a_c @ step @ st_cura @ i_cura @ b_cur @ s_cura )
       != ( produc2936636199886334_b_a_b @ S_cur2 @ St_cur3 ) ) ).

% \<open>\<And>thesis. (\<And>s'_cur st'_cur. adv_d step st_cur i_cur b_cur s_cur = (s'_cur, st'_cur) \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_128__092_060open_062w__i_Aw_A_060_Aw__j_Aw_092_060close_062,axiom,
    ord_less_nat @ ( w_i_a_1180558361373080923t_unit @ w ) @ ( w_j_a_4553274732077726428t_unit @ w ) ).

% \<open>w_i w < w_j w\<close>
thf(fact_129_s__def,axiom,
    ( s2
    = ( w_s_a_7237605957855208549t_unit @ w ) ) ).

% s_def
thf(fact_130_st__def,axiom,
    ( st2
    = ( w_st_a3268994425876911529t_unit @ w ) ) ).

% st_def
thf(fact_131_add__right__imp__eq,axiom,
    ! [B: nat,A2: nat,C2: nat] :
      ( ( ( plus_plus_nat @ B @ A2 )
        = ( plus_plus_nat @ C2 @ A2 ) )
     => ( B = C2 ) ) ).

% add_right_imp_eq
thf(fact_132_add__left__imp__eq,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ( plus_plus_nat @ A2 @ B )
        = ( plus_plus_nat @ A2 @ C2 ) )
     => ( B = C2 ) ) ).

% add_left_imp_eq
thf(fact_133_add_Oleft__commute,axiom,
    ! [B: nat,A2: nat,C2: nat] :
      ( ( plus_plus_nat @ B @ ( plus_plus_nat @ A2 @ C2 ) )
      = ( plus_plus_nat @ A2 @ ( plus_plus_nat @ B @ C2 ) ) ) ).

% add.left_commute
thf(fact_134_add_Ocommute,axiom,
    ( plus_plus_nat
    = ( ^ [A5: nat,B4: nat] : ( plus_plus_nat @ B4 @ A5 ) ) ) ).

% add.commute
thf(fact_135_add_Oassoc,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A2 @ B ) @ C2 )
      = ( plus_plus_nat @ A2 @ ( plus_plus_nat @ B @ C2 ) ) ) ).

% add.assoc
thf(fact_136_group__cancel_Oadd2,axiom,
    ! [B5: nat,K: nat,B: nat,A2: nat] :
      ( ( B5
        = ( plus_plus_nat @ K @ B ) )
     => ( ( plus_plus_nat @ A2 @ B5 )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A2 @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_137_group__cancel_Oadd1,axiom,
    ! [A: nat,K: nat,A2: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ K @ A2 ) )
     => ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A2 @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_138_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( I = J )
        & ( K = L ) )
     => ( ( plus_plus_nat @ I @ K )
        = ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_139_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A2 @ B ) @ C2 )
      = ( plus_plus_nat @ A2 @ ( plus_plus_nat @ B @ C2 ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_140_one__reorient,axiom,
    ! [X: nat] :
      ( ( one_one_nat = X )
      = ( X = one_one_nat ) ) ).

% one_reorient
thf(fact_141_add__le__imp__le__right,axiom,
    ! [A2: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
     => ( ord_less_eq_nat @ A2 @ B ) ) ).

% add_le_imp_le_right
thf(fact_142_add__le__imp__le__left,axiom,
    ! [C2: nat,A2: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B ) )
     => ( ord_less_eq_nat @ A2 @ B ) ) ).

% add_le_imp_le_left
thf(fact_143_le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [A5: nat,B4: nat] :
        ? [C3: nat] :
          ( B4
          = ( plus_plus_nat @ A5 @ C3 ) ) ) ) ).

% le_iff_add
thf(fact_144_add__right__mono,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ C2 ) ) ) ).

% add_right_mono
thf(fact_145_less__eqE,axiom,
    ! [A2: nat,B: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ~ ! [C: nat] :
            ( B
           != ( plus_plus_nat @ A2 @ C ) ) ) ).

% less_eqE
thf(fact_146_add__left__mono,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B ) ) ) ).

% add_left_mono
thf(fact_147_ordered__ab__semigroup__add__class_Oadd__mono,axiom,
    ! [A2: nat,B: nat,C2: nat,D: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_eq_nat @ C2 @ D )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% ordered_ab_semigroup_add_class.add_mono
thf(fact_148_add__mono__thms__linordered__semiring_I1_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_eq_nat @ K @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(1)
thf(fact_149_add__mono__thms__linordered__semiring_I2_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_eq_nat @ K @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(2)
thf(fact_150_add__mono__thms__linordered__semiring_I3_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( K = L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(3)
thf(fact_151_init__in__keys__s,axiom,
    member_b @ init @ ( mmap_k3080892797436903101_c_nat @ s2 ) ).

% init_in_keys_s
thf(fact_152_i__lt__j,axiom,
    ord_less_nat @ i @ j ).

% i_lt_j
thf(fact_153_length__rho,axiom,
    ( ( size_s2614380629626057239od_c_a @ rho )
    = j ) ).

% length_rho
thf(fact_154_lookup__e_H,axiom,
    ! [Q: b] :
      ( ( mmap_lookup_b_c @ e2 @ Q )
      = ( sup_leadsto_b_a_c @ init @ step @ rho @ ( plus_plus_nat @ i @ one_one_nat ) @ j @ Q ) ) ).

% lookup_e'
thf(fact_155_valid__adv__d,axiom,
    ! [Init: b,Step: b > a > b,St2: mappin8597647756751374250_b_a_b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,U: nat,I: nat,J: nat,S2: list_P7417839048565863355_c_nat,B: a,S3: list_P7417839048565863355_c_nat,St3: mappin8597647756751374250_b_a_b] :
      ( ( valid_s_b_a_c @ Init @ Step @ St2 @ Accept @ Rho @ U @ I @ J @ S2 )
     => ( ( ord_less_eq_nat @ U @ I )
       => ( ( ord_less_nat @ I @ J )
         => ( ( B
              = ( bs_at_c_a @ Rho @ I ) )
           => ( ( ( adv_d_b_a_c @ Step @ St2 @ I @ B @ S2 )
                = ( produc2936636199886334_b_a_b @ S3 @ St3 ) )
             => ( valid_s_b_a_c @ Init @ Step @ St3 @ Accept @ Rho @ U @ ( plus_plus_nat @ I @ one_one_nat ) @ J @ S3 ) ) ) ) ) ) ).

% valid_adv_d
thf(fact_156_order__refl,axiom,
    ! [X: nat] : ( ord_less_eq_nat @ X @ X ) ).

% order_refl
thf(fact_157_order__refl,axiom,
    ! [X: c] : ( ord_less_eq_c @ X @ X ) ).

% order_refl
thf(fact_158_dual__order_Orefl,axiom,
    ! [A2: nat] : ( ord_less_eq_nat @ A2 @ A2 ) ).

% dual_order.refl
thf(fact_159_dual__order_Orefl,axiom,
    ! [A2: c] : ( ord_less_eq_c @ A2 @ A2 ) ).

% dual_order.refl
thf(fact_160_plus__prod_Osimps,axiom,
    ! [A2: nat,B: nat,C2: nat,D: nat] :
      ( ( plus_p9057090461656269880at_nat @ ( product_Pair_nat_nat @ A2 @ B ) @ ( product_Pair_nat_nat @ C2 @ D ) )
      = ( product_Pair_nat_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ D ) ) ) ).

% plus_prod.simps
thf(fact_161_plus__prod_Oelims,axiom,
    ! [X: product_prod_nat_nat,Xa: product_prod_nat_nat,Y: product_prod_nat_nat] :
      ( ( ( plus_p9057090461656269880at_nat @ X @ Xa )
        = Y )
     => ~ ! [A4: nat,B3: nat] :
            ( ( X
              = ( product_Pair_nat_nat @ A4 @ B3 ) )
           => ! [C: nat,D2: nat] :
                ( ( Xa
                  = ( product_Pair_nat_nat @ C @ D2 ) )
               => ( Y
                 != ( product_Pair_nat_nat @ ( plus_plus_nat @ A4 @ C ) @ ( plus_plus_nat @ B3 @ D2 ) ) ) ) ) ) ).

% plus_prod.elims
thf(fact_162_valid__before_I2_J,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_nat @ J @ ( size_s2614380629626057239od_c_a @ rho ) )
       => ( ord_less_eq_c @ ( ts_at_c_a @ rho @ I ) @ ( ts_at_c_a @ rho @ J ) ) ) ) ).

% valid_before(2)
thf(fact_163_add__less__cancel__left,axiom,
    ! [C2: nat,A2: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B ) )
      = ( ord_less_nat @ A2 @ B ) ) ).

% add_less_cancel_left
thf(fact_164_add__less__cancel__right,axiom,
    ! [A2: nat,C2: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
      = ( ord_less_nat @ A2 @ B ) ) ).

% add_less_cancel_right
thf(fact_165_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

% lessI
thf(fact_166_Suc__mono,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_167_Suc__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_less_eq
thf(fact_168_nat__add__left__cancel__less,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_169_lift__Suc__mono__less,axiom,
    ! [F: nat > nat,N: nat,N3: nat] :
      ( ! [N4: nat] : ( ord_less_nat @ ( F @ N4 ) @ ( F @ ( suc @ N4 ) ) )
     => ( ( ord_less_nat @ N @ N3 )
       => ( ord_less_nat @ ( F @ N ) @ ( F @ N3 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_170_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > nat,N: nat,M: nat] :
      ( ! [N4: nat] : ( ord_less_nat @ ( F @ N4 ) @ ( F @ ( suc @ N4 ) ) )
     => ( ( ord_less_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_171_nat__neq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( M != N )
      = ( ( ord_less_nat @ M @ N )
        | ( ord_less_nat @ N @ M ) ) ) ).

% nat_neq_iff
thf(fact_172_less__not__refl,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_not_refl
thf(fact_173_less__not__refl2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( M != N ) ) ).

% less_not_refl2
thf(fact_174_less__not__refl3,axiom,
    ! [S2: nat,T: nat] :
      ( ( ord_less_nat @ S2 @ T )
     => ( S2 != T ) ) ).

% less_not_refl3
thf(fact_175_less__irrefl__nat,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_irrefl_nat
thf(fact_176_nat__less__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N4: nat] :
          ( ! [M4: nat] :
              ( ( ord_less_nat @ M4 @ N4 )
             => ( P @ M4 ) )
         => ( P @ N4 ) )
     => ( P @ N ) ) ).

% nat_less_induct
thf(fact_177_infinite__descent,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N4: nat] :
          ( ~ ( P @ N4 )
         => ? [M4: nat] :
              ( ( ord_less_nat @ M4 @ N4 )
              & ~ ( P @ M4 ) ) )
     => ( P @ N ) ) ).

% infinite_descent
thf(fact_178_linorder__neqE__nat,axiom,
    ! [X: nat,Y: nat] :
      ( ( X != Y )
     => ( ~ ( ord_less_nat @ X @ Y )
       => ( ord_less_nat @ Y @ X ) ) ) ).

% linorder_neqE_nat
thf(fact_179_order__less__imp__not__less,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ~ ( ord_less_nat @ Y @ X ) ) ).

% order_less_imp_not_less
thf(fact_180_order__less__imp__not__eq2,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( Y != X ) ) ).

% order_less_imp_not_eq2
thf(fact_181_order__less__imp__not__eq,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( X != Y ) ) ).

% order_less_imp_not_eq
thf(fact_182_linorder__less__linear,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
      | ( X = Y )
      | ( ord_less_nat @ Y @ X ) ) ).

% linorder_less_linear
thf(fact_183_order__less__imp__triv,axiom,
    ! [X: nat,Y: nat,P: $o] :
      ( ( ord_less_nat @ X @ Y )
     => ( ( ord_less_nat @ Y @ X )
       => P ) ) ).

% order_less_imp_triv
thf(fact_184_order__less__not__sym,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ~ ( ord_less_nat @ Y @ X ) ) ).

% order_less_not_sym
thf(fact_185_order__less__subst2,axiom,
    ! [A2: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_nat @ X4 @ Y3 )
             => ( ord_less_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_less_subst2
thf(fact_186_order__less__subst1,axiom,
    ! [A2: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_nat @ X4 @ Y3 )
             => ( ord_less_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_less_subst1
thf(fact_187_order__less__irrefl,axiom,
    ! [X: nat] :
      ~ ( ord_less_nat @ X @ X ) ).

% order_less_irrefl
thf(fact_188_ord__less__eq__subst,axiom,
    ! [A2: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ( F @ B )
          = C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_nat @ X4 @ Y3 )
             => ( ord_less_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% ord_less_eq_subst
thf(fact_189_ord__eq__less__subst,axiom,
    ! [A2: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( A2
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_nat @ X4 @ Y3 )
             => ( ord_less_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_190_order__less__trans,axiom,
    ! [X: nat,Y: nat,Z2: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( ( ord_less_nat @ Y @ Z2 )
       => ( ord_less_nat @ X @ Z2 ) ) ) ).

% order_less_trans
thf(fact_191_order__less__asym_H,axiom,
    ! [A2: nat,B: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ~ ( ord_less_nat @ B @ A2 ) ) ).

% order_less_asym'
thf(fact_192_linorder__neq__iff,axiom,
    ! [X: nat,Y: nat] :
      ( ( X != Y )
      = ( ( ord_less_nat @ X @ Y )
        | ( ord_less_nat @ Y @ X ) ) ) ).

% linorder_neq_iff
thf(fact_193_order__less__asym,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ~ ( ord_less_nat @ Y @ X ) ) ).

% order_less_asym
thf(fact_194_linorder__neqE,axiom,
    ! [X: nat,Y: nat] :
      ( ( X != Y )
     => ( ~ ( ord_less_nat @ X @ Y )
       => ( ord_less_nat @ Y @ X ) ) ) ).

% linorder_neqE
thf(fact_195_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B: nat,A2: nat] :
      ( ( ord_less_nat @ B @ A2 )
     => ( A2 != B ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_196_order_Ostrict__implies__not__eq,axiom,
    ! [A2: nat,B: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( A2 != B ) ) ).

% order.strict_implies_not_eq
thf(fact_197_dual__order_Ostrict__trans,axiom,
    ! [B: nat,A2: nat,C2: nat] :
      ( ( ord_less_nat @ B @ A2 )
     => ( ( ord_less_nat @ C2 @ B )
       => ( ord_less_nat @ C2 @ A2 ) ) ) ).

% dual_order.strict_trans
thf(fact_198_not__less__iff__gr__or__eq,axiom,
    ! [X: nat,Y: nat] :
      ( ( ~ ( ord_less_nat @ X @ Y ) )
      = ( ( ord_less_nat @ Y @ X )
        | ( X = Y ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_199_order_Ostrict__trans,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ A2 @ C2 ) ) ) ).

% order.strict_trans
thf(fact_200_linorder__less__wlog,axiom,
    ! [P: nat > nat > $o,A2: nat,B: nat] :
      ( ! [A4: nat,B3: nat] :
          ( ( ord_less_nat @ A4 @ B3 )
         => ( P @ A4 @ B3 ) )
     => ( ! [A4: nat] : ( P @ A4 @ A4 )
       => ( ! [A4: nat,B3: nat] :
              ( ( P @ B3 @ A4 )
             => ( P @ A4 @ B3 ) )
         => ( P @ A2 @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_201_exists__least__iff,axiom,
    ( ( ^ [P3: nat > $o] :
        ? [X5: nat] : ( P3 @ X5 ) )
    = ( ^ [P4: nat > $o] :
        ? [N2: nat] :
          ( ( P4 @ N2 )
          & ! [M5: nat] :
              ( ( ord_less_nat @ M5 @ N2 )
             => ~ ( P4 @ M5 ) ) ) ) ) ).

% exists_least_iff
thf(fact_202_dual__order_Oirrefl,axiom,
    ! [A2: nat] :
      ~ ( ord_less_nat @ A2 @ A2 ) ).

% dual_order.irrefl
thf(fact_203_dual__order_Oasym,axiom,
    ! [B: nat,A2: nat] :
      ( ( ord_less_nat @ B @ A2 )
     => ~ ( ord_less_nat @ A2 @ B ) ) ).

% dual_order.asym
thf(fact_204_linorder__cases,axiom,
    ! [X: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X @ Y )
     => ( ( X != Y )
       => ( ord_less_nat @ Y @ X ) ) ) ).

% linorder_cases
thf(fact_205_antisym__conv3,axiom,
    ! [Y: nat,X: nat] :
      ( ~ ( ord_less_nat @ Y @ X )
     => ( ( ~ ( ord_less_nat @ X @ Y ) )
        = ( X = Y ) ) ) ).

% antisym_conv3
thf(fact_206_less__induct,axiom,
    ! [P: nat > $o,A2: nat] :
      ( ! [X4: nat] :
          ( ! [Y4: nat] :
              ( ( ord_less_nat @ Y4 @ X4 )
             => ( P @ Y4 ) )
         => ( P @ X4 ) )
     => ( P @ A2 ) ) ).

% less_induct
thf(fact_207_ord__less__eq__trans,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( B = C2 )
       => ( ord_less_nat @ A2 @ C2 ) ) ) ).

% ord_less_eq_trans
thf(fact_208_ord__eq__less__trans,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( A2 = B )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ A2 @ C2 ) ) ) ).

% ord_eq_less_trans
thf(fact_209_order_Oasym,axiom,
    ! [A2: nat,B: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ~ ( ord_less_nat @ B @ A2 ) ) ).

% order.asym
thf(fact_210_less__imp__neq,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( X != Y ) ) ).

% less_imp_neq
thf(fact_211_gt__ex,axiom,
    ! [X: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X @ X_1 ) ).

% gt_ex
thf(fact_212_order__le__imp__less__or__eq,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_nat @ X @ Y )
        | ( X = Y ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_213_order__le__imp__less__or__eq,axiom,
    ! [X: c,Y: c] :
      ( ( ord_less_eq_c @ X @ Y )
     => ( ( ord_less_c @ X @ Y )
        | ( X = Y ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_214_linorder__le__less__linear,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
      | ( ord_less_nat @ Y @ X ) ) ).

% linorder_le_less_linear
thf(fact_215_order__less__le__subst2,axiom,
    ! [A2: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_nat @ X4 @ Y3 )
             => ( ord_less_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_less_le_subst2
thf(fact_216_order__less__le__subst2,axiom,
    ! [A2: nat,B: nat,F: nat > c,C2: c] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ord_less_eq_c @ ( F @ B ) @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_nat @ X4 @ Y3 )
             => ( ord_less_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_c @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_less_le_subst2
thf(fact_217_order__less__le__subst1,axiom,
    ! [A2: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_218_order__less__le__subst1,axiom,
    ! [A2: c,F: nat > c,B: nat,C2: nat] :
      ( ( ord_less_c @ A2 @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_c @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_219_order__less__le__subst1,axiom,
    ! [A2: nat,F: c > nat,B: c,C2: c] :
      ( ( ord_less_nat @ A2 @ ( F @ B ) )
     => ( ( ord_less_eq_c @ B @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_220_order__less__le__subst1,axiom,
    ! [A2: c,F: c > c,B: c,C2: c] :
      ( ( ord_less_c @ A2 @ ( F @ B ) )
     => ( ( ord_less_eq_c @ B @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_c @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_221_order__le__less__subst2,axiom,
    ! [A2: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_le_less_subst2
thf(fact_222_order__le__less__subst2,axiom,
    ! [A2: nat,B: nat,F: nat > c,C2: c] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_c @ ( F @ B ) @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_c @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_le_less_subst2
thf(fact_223_order__le__less__subst2,axiom,
    ! [A2: c,B: c,F: c > nat,C2: nat] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_le_less_subst2
thf(fact_224_order__le__less__subst2,axiom,
    ! [A2: c,B: c,F: c > c,C2: c] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( ord_less_c @ ( F @ B ) @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_c @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_le_less_subst2
thf(fact_225_order__le__less__subst1,axiom,
    ! [A2: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_nat @ X4 @ Y3 )
             => ( ord_less_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_226_order__le__less__subst1,axiom,
    ! [A2: c,F: nat > c,B: nat,C2: nat] :
      ( ( ord_less_eq_c @ A2 @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_nat @ X4 @ Y3 )
             => ( ord_less_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_c @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_227_order__less__le__trans,axiom,
    ! [X: nat,Y: nat,Z2: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ Y @ Z2 )
       => ( ord_less_nat @ X @ Z2 ) ) ) ).

% order_less_le_trans
thf(fact_228_order__less__le__trans,axiom,
    ! [X: c,Y: c,Z2: c] :
      ( ( ord_less_c @ X @ Y )
     => ( ( ord_less_eq_c @ Y @ Z2 )
       => ( ord_less_c @ X @ Z2 ) ) ) ).

% order_less_le_trans
thf(fact_229_order__le__less__trans,axiom,
    ! [X: nat,Y: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_nat @ Y @ Z2 )
       => ( ord_less_nat @ X @ Z2 ) ) ) ).

% order_le_less_trans
thf(fact_230_order__le__less__trans,axiom,
    ! [X: c,Y: c,Z2: c] :
      ( ( ord_less_eq_c @ X @ Y )
     => ( ( ord_less_c @ Y @ Z2 )
       => ( ord_less_c @ X @ Z2 ) ) ) ).

% order_le_less_trans
thf(fact_231_order__neq__le__trans,axiom,
    ! [A2: nat,B: nat] :
      ( ( A2 != B )
     => ( ( ord_less_eq_nat @ A2 @ B )
       => ( ord_less_nat @ A2 @ B ) ) ) ).

% order_neq_le_trans
thf(fact_232_order__neq__le__trans,axiom,
    ! [A2: c,B: c] :
      ( ( A2 != B )
     => ( ( ord_less_eq_c @ A2 @ B )
       => ( ord_less_c @ A2 @ B ) ) ) ).

% order_neq_le_trans
thf(fact_233_order__le__neq__trans,axiom,
    ! [A2: nat,B: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( A2 != B )
       => ( ord_less_nat @ A2 @ B ) ) ) ).

% order_le_neq_trans
thf(fact_234_order__le__neq__trans,axiom,
    ! [A2: c,B: c] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( A2 != B )
       => ( ord_less_c @ A2 @ B ) ) ) ).

% order_le_neq_trans
thf(fact_235_order__less__imp__le,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ X @ Y )
     => ( ord_less_eq_nat @ X @ Y ) ) ).

% order_less_imp_le
thf(fact_236_order__less__imp__le,axiom,
    ! [X: c,Y: c] :
      ( ( ord_less_c @ X @ Y )
     => ( ord_less_eq_c @ X @ Y ) ) ).

% order_less_imp_le
thf(fact_237_linorder__not__less,axiom,
    ! [X: nat,Y: nat] :
      ( ( ~ ( ord_less_nat @ X @ Y ) )
      = ( ord_less_eq_nat @ Y @ X ) ) ).

% linorder_not_less
thf(fact_238_linorder__not__le,axiom,
    ! [X: nat,Y: nat] :
      ( ( ~ ( ord_less_eq_nat @ X @ Y ) )
      = ( ord_less_nat @ Y @ X ) ) ).

% linorder_not_le
thf(fact_239_order__less__le,axiom,
    ( ord_less_nat
    = ( ^ [X3: nat,Y5: nat] :
          ( ( ord_less_eq_nat @ X3 @ Y5 )
          & ( X3 != Y5 ) ) ) ) ).

% order_less_le
thf(fact_240_order__less__le,axiom,
    ( ord_less_c
    = ( ^ [X3: c,Y5: c] :
          ( ( ord_less_eq_c @ X3 @ Y5 )
          & ( X3 != Y5 ) ) ) ) ).

% order_less_le
thf(fact_241_order__le__less,axiom,
    ( ord_less_eq_nat
    = ( ^ [X3: nat,Y5: nat] :
          ( ( ord_less_nat @ X3 @ Y5 )
          | ( X3 = Y5 ) ) ) ) ).

% order_le_less
thf(fact_242_order__le__less,axiom,
    ( ord_less_eq_c
    = ( ^ [X3: c,Y5: c] :
          ( ( ord_less_c @ X3 @ Y5 )
          | ( X3 = Y5 ) ) ) ) ).

% order_le_less
thf(fact_243_dual__order_Ostrict__implies__order,axiom,
    ! [B: nat,A2: nat] :
      ( ( ord_less_nat @ B @ A2 )
     => ( ord_less_eq_nat @ B @ A2 ) ) ).

% dual_order.strict_implies_order
thf(fact_244_dual__order_Ostrict__implies__order,axiom,
    ! [B: c,A2: c] :
      ( ( ord_less_c @ B @ A2 )
     => ( ord_less_eq_c @ B @ A2 ) ) ).

% dual_order.strict_implies_order
thf(fact_245_order_Ostrict__implies__order,axiom,
    ! [A2: nat,B: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ord_less_eq_nat @ A2 @ B ) ) ).

% order.strict_implies_order
thf(fact_246_order_Ostrict__implies__order,axiom,
    ! [A2: c,B: c] :
      ( ( ord_less_c @ A2 @ B )
     => ( ord_less_eq_c @ A2 @ B ) ) ).

% order.strict_implies_order
thf(fact_247_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [B4: nat,A5: nat] :
          ( ( ord_less_eq_nat @ B4 @ A5 )
          & ~ ( ord_less_eq_nat @ A5 @ B4 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_248_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_c
    = ( ^ [B4: c,A5: c] :
          ( ( ord_less_eq_c @ B4 @ A5 )
          & ~ ( ord_less_eq_c @ A5 @ B4 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_249_dual__order_Ostrict__trans2,axiom,
    ! [B: nat,A2: nat,C2: nat] :
      ( ( ord_less_nat @ B @ A2 )
     => ( ( ord_less_eq_nat @ C2 @ B )
       => ( ord_less_nat @ C2 @ A2 ) ) ) ).

% dual_order.strict_trans2
thf(fact_250_dual__order_Ostrict__trans2,axiom,
    ! [B: c,A2: c,C2: c] :
      ( ( ord_less_c @ B @ A2 )
     => ( ( ord_less_eq_c @ C2 @ B )
       => ( ord_less_c @ C2 @ A2 ) ) ) ).

% dual_order.strict_trans2
thf(fact_251_dual__order_Ostrict__trans1,axiom,
    ! [B: nat,A2: nat,C2: nat] :
      ( ( ord_less_eq_nat @ B @ A2 )
     => ( ( ord_less_nat @ C2 @ B )
       => ( ord_less_nat @ C2 @ A2 ) ) ) ).

% dual_order.strict_trans1
thf(fact_252_dual__order_Ostrict__trans1,axiom,
    ! [B: c,A2: c,C2: c] :
      ( ( ord_less_eq_c @ B @ A2 )
     => ( ( ord_less_c @ C2 @ B )
       => ( ord_less_c @ C2 @ A2 ) ) ) ).

% dual_order.strict_trans1
thf(fact_253_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [B4: nat,A5: nat] :
          ( ( ord_less_eq_nat @ B4 @ A5 )
          & ( A5 != B4 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_254_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_c
    = ( ^ [B4: c,A5: c] :
          ( ( ord_less_eq_c @ B4 @ A5 )
          & ( A5 != B4 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_255_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [B4: nat,A5: nat] :
          ( ( ord_less_nat @ B4 @ A5 )
          | ( A5 = B4 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_256_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_c
    = ( ^ [B4: c,A5: c] :
          ( ( ord_less_c @ B4 @ A5 )
          | ( A5 = B4 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_257_order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ A5 @ B4 )
          & ~ ( ord_less_eq_nat @ B4 @ A5 ) ) ) ) ).

% order.strict_iff_not
thf(fact_258_order_Ostrict__iff__not,axiom,
    ( ord_less_c
    = ( ^ [A5: c,B4: c] :
          ( ( ord_less_eq_c @ A5 @ B4 )
          & ~ ( ord_less_eq_c @ B4 @ A5 ) ) ) ) ).

% order.strict_iff_not
thf(fact_259_order_Ostrict__trans2,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_nat @ A2 @ C2 ) ) ) ).

% order.strict_trans2
thf(fact_260_order_Ostrict__trans2,axiom,
    ! [A2: c,B: c,C2: c] :
      ( ( ord_less_c @ A2 @ B )
     => ( ( ord_less_eq_c @ B @ C2 )
       => ( ord_less_c @ A2 @ C2 ) ) ) ).

% order.strict_trans2
thf(fact_261_order_Ostrict__trans1,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ A2 @ C2 ) ) ) ).

% order.strict_trans1
thf(fact_262_order_Ostrict__trans1,axiom,
    ! [A2: c,B: c,C2: c] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( ord_less_c @ B @ C2 )
       => ( ord_less_c @ A2 @ C2 ) ) ) ).

% order.strict_trans1
thf(fact_263_order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ A5 @ B4 )
          & ( A5 != B4 ) ) ) ) ).

% order.strict_iff_order
thf(fact_264_order_Ostrict__iff__order,axiom,
    ( ord_less_c
    = ( ^ [A5: c,B4: c] :
          ( ( ord_less_eq_c @ A5 @ B4 )
          & ( A5 != B4 ) ) ) ) ).

% order.strict_iff_order
thf(fact_265_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_nat @ A5 @ B4 )
          | ( A5 = B4 ) ) ) ) ).

% order.order_iff_strict
thf(fact_266_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_c
    = ( ^ [A5: c,B4: c] :
          ( ( ord_less_c @ A5 @ B4 )
          | ( A5 = B4 ) ) ) ) ).

% order.order_iff_strict
thf(fact_267_not__le__imp__less,axiom,
    ! [Y: nat,X: nat] :
      ( ~ ( ord_less_eq_nat @ Y @ X )
     => ( ord_less_nat @ X @ Y ) ) ).

% not_le_imp_less
thf(fact_268_less__le__not__le,axiom,
    ( ord_less_nat
    = ( ^ [X3: nat,Y5: nat] :
          ( ( ord_less_eq_nat @ X3 @ Y5 )
          & ~ ( ord_less_eq_nat @ Y5 @ X3 ) ) ) ) ).

% less_le_not_le
thf(fact_269_less__le__not__le,axiom,
    ( ord_less_c
    = ( ^ [X3: c,Y5: c] :
          ( ( ord_less_eq_c @ X3 @ Y5 )
          & ~ ( ord_less_eq_c @ Y5 @ X3 ) ) ) ) ).

% less_le_not_le
thf(fact_270_antisym__conv2,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ~ ( ord_less_nat @ X @ Y ) )
        = ( X = Y ) ) ) ).

% antisym_conv2
thf(fact_271_antisym__conv2,axiom,
    ! [X: c,Y: c] :
      ( ( ord_less_eq_c @ X @ Y )
     => ( ( ~ ( ord_less_c @ X @ Y ) )
        = ( X = Y ) ) ) ).

% antisym_conv2
thf(fact_272_antisym__conv1,axiom,
    ! [X: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ X @ Y )
        = ( X = Y ) ) ) ).

% antisym_conv1
thf(fact_273_antisym__conv1,axiom,
    ! [X: c,Y: c] :
      ( ~ ( ord_less_c @ X @ Y )
     => ( ( ord_less_eq_c @ X @ Y )
        = ( X = Y ) ) ) ).

% antisym_conv1
thf(fact_274_nless__le,axiom,
    ! [A2: nat,B: nat] :
      ( ( ~ ( ord_less_nat @ A2 @ B ) )
      = ( ~ ( ord_less_eq_nat @ A2 @ B )
        | ( A2 = B ) ) ) ).

% nless_le
thf(fact_275_nless__le,axiom,
    ! [A2: c,B: c] :
      ( ( ~ ( ord_less_c @ A2 @ B ) )
      = ( ~ ( ord_less_eq_c @ A2 @ B )
        | ( A2 = B ) ) ) ).

% nless_le
thf(fact_276_leI,axiom,
    ! [X: nat,Y: nat] :
      ( ~ ( ord_less_nat @ X @ Y )
     => ( ord_less_eq_nat @ Y @ X ) ) ).

% leI
thf(fact_277_leD,axiom,
    ! [Y: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y @ X )
     => ~ ( ord_less_nat @ X @ Y ) ) ).

% leD
thf(fact_278_leD,axiom,
    ! [Y: c,X: c] :
      ( ( ord_less_eq_c @ Y @ X )
     => ~ ( ord_less_c @ X @ Y ) ) ).

% leD
thf(fact_279_add__mono__strict,axiom,
    ! [C2: nat,D: nat,A2: nat] :
      ( ( ord_less_nat @ C2 @ D )
     => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ A2 @ D ) ) ) ).

% add_mono_strict
thf(fact_280_size__neq__size__imp__neq,axiom,
    ! [X: list_P125642481956313003od_c_a,Y: list_P125642481956313003od_c_a] :
      ( ( ( size_s2614380629626057239od_c_a @ X )
       != ( size_s2614380629626057239od_c_a @ Y ) )
     => ( X != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_281_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_282_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_283_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( K = L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_284_add__strict__mono,axiom,
    ! [A2: nat,B: nat,C2: nat,D: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ord_less_nat @ C2 @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_strict_mono
thf(fact_285_add__strict__left__mono,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B ) ) ) ).

% add_strict_left_mono
thf(fact_286_add__strict__right__mono,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ C2 ) ) ) ).

% add_strict_right_mono
thf(fact_287_add__less__imp__less__left,axiom,
    ! [C2: nat,A2: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ C2 @ B ) )
     => ( ord_less_nat @ A2 @ B ) ) ).

% add_less_imp_less_left
thf(fact_288_add__less__imp__less__right,axiom,
    ! [A2: nat,C2: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
     => ( ord_less_nat @ A2 @ B ) ) ).

% add_less_imp_less_right
thf(fact_289_Nat_OlessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ I @ K )
     => ( ( K
         != ( suc @ I ) )
       => ~ ! [J2: nat] :
              ( ( ord_less_nat @ I @ J2 )
             => ( K
               != ( suc @ J2 ) ) ) ) ) ).

% Nat.lessE
thf(fact_290_Suc__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_lessD
thf(fact_291_Suc__lessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ ( suc @ I ) @ K )
     => ~ ! [J2: nat] :
            ( ( ord_less_nat @ I @ J2 )
           => ( K
             != ( suc @ J2 ) ) ) ) ).

% Suc_lessE
thf(fact_292_Suc__lessI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ( suc @ M )
         != N )
       => ( ord_less_nat @ ( suc @ M ) @ N ) ) ) ).

% Suc_lessI
thf(fact_293_less__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M @ N )
       => ( M = N ) ) ) ).

% less_SucE
thf(fact_294_less__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_295_Ex__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( suc @ N ) )
            & ( P @ I2 ) ) )
      = ( ( P @ N )
        | ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ N )
            & ( P @ I2 ) ) ) ) ).

% Ex_less_Suc
thf(fact_296_less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_nat @ M @ N )
        | ( M = N ) ) ) ).

% less_Suc_eq
thf(fact_297_not__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M ) ) ) ).

% not_less_eq
thf(fact_298_All__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( suc @ N ) )
           => ( P @ I2 ) ) )
      = ( ( P @ N )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ N )
           => ( P @ I2 ) ) ) ) ).

% All_less_Suc
thf(fact_299_Suc__less__eq2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M )
      = ( ? [M6: nat] :
            ( ( M
              = ( suc @ M6 ) )
            & ( ord_less_nat @ N @ M6 ) ) ) ) ).

% Suc_less_eq2
thf(fact_300_less__antisym,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
       => ( M = N ) ) ) ).

% less_antisym
thf(fact_301_Suc__less__SucD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_less_SucD
thf(fact_302_less__trans__Suc,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ J @ K )
       => ( ord_less_nat @ ( suc @ I ) @ K ) ) ) ).

% less_trans_Suc
thf(fact_303_less__Suc__induct,axiom,
    ! [I: nat,J: nat,P: nat > nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I3: nat] : ( P @ I3 @ ( suc @ I3 ) )
       => ( ! [I3: nat,J2: nat,K3: nat] :
              ( ( ord_less_nat @ I3 @ J2 )
             => ( ( ord_less_nat @ J2 @ K3 )
               => ( ( P @ I3 @ J2 )
                 => ( ( P @ J2 @ K3 )
                   => ( P @ I3 @ K3 ) ) ) ) )
         => ( P @ I @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_304_strict__inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I3: nat] :
            ( ( J
              = ( suc @ I3 ) )
           => ( P @ I3 ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ J )
             => ( ( P @ ( suc @ I3 ) )
               => ( P @ I3 ) ) )
         => ( P @ I ) ) ) ) ).

% strict_inc_induct
thf(fact_305_not__less__less__Suc__eq,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% not_less_less_Suc_eq
thf(fact_306_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M5: nat,N2: nat] :
          ( ( ord_less_eq_nat @ M5 @ N2 )
          & ( M5 != N2 ) ) ) ) ).

% nat_less_le
thf(fact_307_less__imp__le__nat,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_imp_le_nat
thf(fact_308_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M5: nat,N2: nat] :
          ( ( ord_less_nat @ M5 @ N2 )
          | ( M5 = N2 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_309_less__or__eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ( ord_less_nat @ M @ N )
        | ( M = N ) )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_or_eq_imp_le
thf(fact_310_le__neq__implies__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( M != N )
       => ( ord_less_nat @ M @ N ) ) ) ).

% le_neq_implies_less
thf(fact_311_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I: nat,J: nat] :
      ( ! [I3: nat,J2: nat] :
          ( ( ord_less_nat @ I3 @ J2 )
         => ( ord_less_nat @ ( F @ I3 ) @ ( F @ J2 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_312_add__lessD1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ K )
     => ( ord_less_nat @ I @ K ) ) ).

% add_lessD1
thf(fact_313_add__less__mono,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ K @ L )
       => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_less_mono
thf(fact_314_not__add__less1,axiom,
    ! [I: nat,J: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ I ) ).

% not_add_less1
thf(fact_315_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

% not_add_less2
thf(fact_316_add__less__mono1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ K ) ) ) ).

% add_less_mono1
thf(fact_317_trans__less__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_less_add1
thf(fact_318_trans__less__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_less_add2
thf(fact_319_less__add__eq__less,axiom,
    ! [K: nat,L: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ K @ L )
     => ( ( ( plus_plus_nat @ M @ L )
          = ( plus_plus_nat @ K @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% less_add_eq_less
thf(fact_320_add__less__le__mono,axiom,
    ! [A2: nat,B: nat,C2: nat,D: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ord_less_eq_nat @ C2 @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_less_le_mono
thf(fact_321_add__le__less__mono,axiom,
    ! [A2: nat,B: nat,C2: nat,D: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_nat @ C2 @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_le_less_mono
thf(fact_322_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_eq_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_323_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_324_le__imp__less__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% le_imp_less_Suc
thf(fact_325_less__eq__Suc__le,axiom,
    ( ord_less_nat
    = ( ^ [N2: nat] : ( ord_less_eq_nat @ ( suc @ N2 ) ) ) ) ).

% less_eq_Suc_le
thf(fact_326_less__Suc__eq__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% less_Suc_eq_le
thf(fact_327_le__less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% le_less_Suc_eq
thf(fact_328_Suc__le__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_le_lessD
thf(fact_329_inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ J )
       => ( ! [N4: nat] :
              ( ( ord_less_eq_nat @ I @ N4 )
             => ( ( ord_less_nat @ N4 @ J )
               => ( ( P @ ( suc @ N4 ) )
                 => ( P @ N4 ) ) ) )
         => ( P @ I ) ) ) ) ).

% inc_induct
thf(fact_330_dec__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ I )
       => ( ! [N4: nat] :
              ( ( ord_less_eq_nat @ I @ N4 )
             => ( ( ord_less_nat @ N4 @ J )
               => ( ( P @ N4 )
                 => ( P @ ( suc @ N4 ) ) ) ) )
         => ( P @ J ) ) ) ) ).

% dec_induct
thf(fact_331_Suc__le__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_le_eq
thf(fact_332_Suc__leI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ ( suc @ M ) @ N ) ) ).

% Suc_leI
thf(fact_333_less__natE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ~ ! [Q6: nat] :
            ( N
           != ( suc @ ( plus_plus_nat @ M @ Q6 ) ) ) ) ).

% less_natE
thf(fact_334_less__add__Suc1,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ I @ M ) ) ) ).

% less_add_Suc1
thf(fact_335_less__add__Suc2,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ M @ I ) ) ) ).

% less_add_Suc2
thf(fact_336_less__iff__Suc__add,axiom,
    ( ord_less_nat
    = ( ^ [M5: nat,N2: nat] :
        ? [K2: nat] :
          ( N2
          = ( suc @ ( plus_plus_nat @ M5 @ K2 ) ) ) ) ) ).

% less_iff_Suc_add
thf(fact_337_less__imp__Suc__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ? [K3: nat] :
          ( N
          = ( suc @ ( plus_plus_nat @ M @ K3 ) ) ) ) ).

% less_imp_Suc_add
thf(fact_338_mono__nat__linear__lb,axiom,
    ! [F: nat > nat,M: nat,K: nat] :
      ( ! [M3: nat,N4: nat] :
          ( ( ord_less_nat @ M3 @ N4 )
         => ( ord_less_nat @ ( F @ M3 ) @ ( F @ N4 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M ) @ K ) @ ( F @ ( plus_plus_nat @ M @ K ) ) ) ) ).

% mono_nat_linear_lb
thf(fact_339_sup__leadsto__idle,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Rho: list_P125642481956313003od_c_a,Init: b,Q: b] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ( steps_b_a_c @ Step @ Rho @ Init @ ( product_Pair_nat_nat @ I @ J ) )
         != Q )
       => ( ( sup_leadsto_b_a_c @ Init @ Step @ Rho @ I @ J @ Q )
          = ( sup_leadsto_b_a_c @ Init @ Step @ Rho @ ( plus_plus_nat @ I @ one_one_nat ) @ J @ Q ) ) ) ) ).

% sup_leadsto_idle
thf(fact_340_order__antisym__conv,axiom,
    ! [Y: nat,X: nat] :
      ( ( ord_less_eq_nat @ Y @ X )
     => ( ( ord_less_eq_nat @ X @ Y )
        = ( X = Y ) ) ) ).

% order_antisym_conv
thf(fact_341_order__antisym__conv,axiom,
    ! [Y: c,X: c] :
      ( ( ord_less_eq_c @ Y @ X )
     => ( ( ord_less_eq_c @ X @ Y )
        = ( X = Y ) ) ) ).

% order_antisym_conv
thf(fact_342_linorder__le__cases,axiom,
    ! [X: nat,Y: nat] :
      ( ~ ( ord_less_eq_nat @ X @ Y )
     => ( ord_less_eq_nat @ Y @ X ) ) ).

% linorder_le_cases
thf(fact_343_ord__le__eq__subst,axiom,
    ! [A2: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ( F @ B )
          = C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% ord_le_eq_subst
thf(fact_344_ord__le__eq__subst,axiom,
    ! [A2: nat,B: nat,F: nat > c,C2: c] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ( F @ B )
          = C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_c @ ( F @ A2 ) @ C2 ) ) ) ) ).

% ord_le_eq_subst
thf(fact_345_ord__le__eq__subst,axiom,
    ! [A2: c,B: c,F: c > nat,C2: nat] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( ( F @ B )
          = C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% ord_le_eq_subst
thf(fact_346_ord__le__eq__subst,axiom,
    ! [A2: c,B: c,F: c > c,C2: c] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( ( F @ B )
          = C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_c @ ( F @ A2 ) @ C2 ) ) ) ) ).

% ord_le_eq_subst
thf(fact_347_ord__eq__le__subst,axiom,
    ! [A2: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( A2
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_348_ord__eq__le__subst,axiom,
    ! [A2: c,F: nat > c,B: nat,C2: nat] :
      ( ( A2
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_c @ A2 @ ( F @ C2 ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_349_ord__eq__le__subst,axiom,
    ! [A2: nat,F: c > nat,B: c,C2: c] :
      ( ( A2
        = ( F @ B ) )
     => ( ( ord_less_eq_c @ B @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_350_ord__eq__le__subst,axiom,
    ! [A2: c,F: c > c,B: c,C2: c] :
      ( ( A2
        = ( F @ B ) )
     => ( ( ord_less_eq_c @ B @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_c @ A2 @ ( F @ C2 ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_351_linorder__linear,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
      | ( ord_less_eq_nat @ Y @ X ) ) ).

% linorder_linear
thf(fact_352_order__eq__refl,axiom,
    ! [X: nat,Y: nat] :
      ( ( X = Y )
     => ( ord_less_eq_nat @ X @ Y ) ) ).

% order_eq_refl
thf(fact_353_order__eq__refl,axiom,
    ! [X: c,Y: c] :
      ( ( X = Y )
     => ( ord_less_eq_c @ X @ Y ) ) ).

% order_eq_refl
thf(fact_354_order__subst2,axiom,
    ! [A2: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_subst2
thf(fact_355_order__subst2,axiom,
    ! [A2: nat,B: nat,F: nat > c,C2: c] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_eq_c @ ( F @ B ) @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_c @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_subst2
thf(fact_356_order__subst2,axiom,
    ! [A2: c,B: c,F: c > nat,C2: nat] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_subst2
thf(fact_357_order__subst2,axiom,
    ! [A2: c,B: c,F: c > c,C2: c] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( ord_less_eq_c @ ( F @ B ) @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_c @ ( F @ A2 ) @ C2 ) ) ) ) ).

% order_subst2
thf(fact_358_order__subst1,axiom,
    ! [A2: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_subst1
thf(fact_359_order__subst1,axiom,
    ! [A2: nat,F: c > nat,B: c,C2: c] :
      ( ( ord_less_eq_nat @ A2 @ ( F @ B ) )
     => ( ( ord_less_eq_c @ B @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_nat @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_nat @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_subst1
thf(fact_360_order__subst1,axiom,
    ! [A2: c,F: nat > c,B: nat,C2: nat] :
      ( ( ord_less_eq_c @ A2 @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X4: nat,Y3: nat] :
              ( ( ord_less_eq_nat @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_c @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_subst1
thf(fact_361_order__subst1,axiom,
    ! [A2: c,F: c > c,B: c,C2: c] :
      ( ( ord_less_eq_c @ A2 @ ( F @ B ) )
     => ( ( ord_less_eq_c @ B @ C2 )
       => ( ! [X4: c,Y3: c] :
              ( ( ord_less_eq_c @ X4 @ Y3 )
             => ( ord_less_eq_c @ ( F @ X4 ) @ ( F @ Y3 ) ) )
         => ( ord_less_eq_c @ A2 @ ( F @ C2 ) ) ) ) ) ).

% order_subst1
thf(fact_362_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y6: nat,Z3: nat] : ( Y6 = Z3 ) )
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ A5 @ B4 )
          & ( ord_less_eq_nat @ B4 @ A5 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_363_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y6: c,Z3: c] : ( Y6 = Z3 ) )
    = ( ^ [A5: c,B4: c] :
          ( ( ord_less_eq_c @ A5 @ B4 )
          & ( ord_less_eq_c @ B4 @ A5 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_364_antisym,axiom,
    ! [A2: nat,B: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_eq_nat @ B @ A2 )
       => ( A2 = B ) ) ) ).

% antisym
thf(fact_365_antisym,axiom,
    ! [A2: c,B: c] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( ord_less_eq_c @ B @ A2 )
       => ( A2 = B ) ) ) ).

% antisym
thf(fact_366_timestamp__total,axiom,
    ! [A2: nat,B: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
      | ( ord_less_eq_nat @ B @ A2 ) ) ).

% timestamp_total
thf(fact_367_dual__order_Otrans,axiom,
    ! [B: nat,A2: nat,C2: nat] :
      ( ( ord_less_eq_nat @ B @ A2 )
     => ( ( ord_less_eq_nat @ C2 @ B )
       => ( ord_less_eq_nat @ C2 @ A2 ) ) ) ).

% dual_order.trans
thf(fact_368_dual__order_Otrans,axiom,
    ! [B: c,A2: c,C2: c] :
      ( ( ord_less_eq_c @ B @ A2 )
     => ( ( ord_less_eq_c @ C2 @ B )
       => ( ord_less_eq_c @ C2 @ A2 ) ) ) ).

% dual_order.trans
thf(fact_369_dual__order_Oantisym,axiom,
    ! [B: nat,A2: nat] :
      ( ( ord_less_eq_nat @ B @ A2 )
     => ( ( ord_less_eq_nat @ A2 @ B )
       => ( A2 = B ) ) ) ).

% dual_order.antisym
thf(fact_370_dual__order_Oantisym,axiom,
    ! [B: c,A2: c] :
      ( ( ord_less_eq_c @ B @ A2 )
     => ( ( ord_less_eq_c @ A2 @ B )
       => ( A2 = B ) ) ) ).

% dual_order.antisym
thf(fact_371_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y6: nat,Z3: nat] : ( Y6 = Z3 ) )
    = ( ^ [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ B4 @ A5 )
          & ( ord_less_eq_nat @ A5 @ B4 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_372_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y6: c,Z3: c] : ( Y6 = Z3 ) )
    = ( ^ [A5: c,B4: c] :
          ( ( ord_less_eq_c @ B4 @ A5 )
          & ( ord_less_eq_c @ A5 @ B4 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_373_linorder__wlog,axiom,
    ! [P: nat > nat > $o,A2: nat,B: nat] :
      ( ! [A4: nat,B3: nat] :
          ( ( ord_less_eq_nat @ A4 @ B3 )
         => ( P @ A4 @ B3 ) )
     => ( ! [A4: nat,B3: nat] :
            ( ( P @ B3 @ A4 )
           => ( P @ A4 @ B3 ) )
       => ( P @ A2 @ B ) ) ) ).

% linorder_wlog
thf(fact_374_order__trans,axiom,
    ! [X: nat,Y: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ Y @ Z2 )
       => ( ord_less_eq_nat @ X @ Z2 ) ) ) ).

% order_trans
thf(fact_375_order__trans,axiom,
    ! [X: c,Y: c,Z2: c] :
      ( ( ord_less_eq_c @ X @ Y )
     => ( ( ord_less_eq_c @ Y @ Z2 )
       => ( ord_less_eq_c @ X @ Z2 ) ) ) ).

% order_trans
thf(fact_376_order_Otrans,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_eq_nat @ A2 @ C2 ) ) ) ).

% order.trans
thf(fact_377_order_Otrans,axiom,
    ! [A2: c,B: c,C2: c] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( ord_less_eq_c @ B @ C2 )
       => ( ord_less_eq_c @ A2 @ C2 ) ) ) ).

% order.trans
thf(fact_378_order__antisym,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ Y )
     => ( ( ord_less_eq_nat @ Y @ X )
       => ( X = Y ) ) ) ).

% order_antisym
thf(fact_379_order__antisym,axiom,
    ! [X: c,Y: c] :
      ( ( ord_less_eq_c @ X @ Y )
     => ( ( ord_less_eq_c @ Y @ X )
       => ( X = Y ) ) ) ).

% order_antisym
thf(fact_380_ord__le__eq__trans,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( B = C2 )
       => ( ord_less_eq_nat @ A2 @ C2 ) ) ) ).

% ord_le_eq_trans
thf(fact_381_ord__le__eq__trans,axiom,
    ! [A2: c,B: c,C2: c] :
      ( ( ord_less_eq_c @ A2 @ B )
     => ( ( B = C2 )
       => ( ord_less_eq_c @ A2 @ C2 ) ) ) ).

% ord_le_eq_trans
thf(fact_382_ord__eq__le__trans,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( A2 = B )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_eq_nat @ A2 @ C2 ) ) ) ).

% ord_eq_le_trans
thf(fact_383_ord__eq__le__trans,axiom,
    ! [A2: c,B: c,C2: c] :
      ( ( A2 = B )
     => ( ( ord_less_eq_c @ B @ C2 )
       => ( ord_less_eq_c @ A2 @ C2 ) ) ) ).

% ord_eq_le_trans
thf(fact_384_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y6: nat,Z3: nat] : ( Y6 = Z3 ) )
    = ( ^ [X3: nat,Y5: nat] :
          ( ( ord_less_eq_nat @ X3 @ Y5 )
          & ( ord_less_eq_nat @ Y5 @ X3 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_385_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y6: c,Z3: c] : ( Y6 = Z3 ) )
    = ( ^ [X3: c,Y5: c] :
          ( ( ord_less_eq_c @ X3 @ Y5 )
          & ( ord_less_eq_c @ Y5 @ X3 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_386_le__cases3,axiom,
    ! [X: nat,Y: nat,Z2: nat] :
      ( ( ( ord_less_eq_nat @ X @ Y )
       => ~ ( ord_less_eq_nat @ Y @ Z2 ) )
     => ( ( ( ord_less_eq_nat @ Y @ X )
         => ~ ( ord_less_eq_nat @ X @ Z2 ) )
       => ( ( ( ord_less_eq_nat @ X @ Z2 )
           => ~ ( ord_less_eq_nat @ Z2 @ Y ) )
         => ( ( ( ord_less_eq_nat @ Z2 @ Y )
             => ~ ( ord_less_eq_nat @ Y @ X ) )
           => ( ( ( ord_less_eq_nat @ Y @ Z2 )
               => ~ ( ord_less_eq_nat @ Z2 @ X ) )
             => ~ ( ( ord_less_eq_nat @ Z2 @ X )
                 => ~ ( ord_less_eq_nat @ X @ Y ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_387_nle__le,axiom,
    ! [A2: nat,B: nat] :
      ( ( ~ ( ord_less_eq_nat @ A2 @ B ) )
      = ( ( ord_less_eq_nat @ B @ A2 )
        & ( B != A2 ) ) ) ).

% nle_le
thf(fact_388_plus__prod_Ocases,axiom,
    ! [X: produc859450856879609959at_nat] :
      ~ ! [A4: nat,B3: nat,C: nat,D2: nat] :
          ( X
         != ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A4 @ B3 ) @ ( product_Pair_nat_nat @ C @ D2 ) ) ) ).

% plus_prod.cases
thf(fact_389_steps__split,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Rho: list_P125642481956313003od_c_a,Q: b] :
      ( ( ord_less_nat @ I @ J )
     => ( ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ J ) )
        = ( steps_b_a_c @ Step @ Rho @ ( Step @ Q @ ( bs_at_c_a @ Rho @ I ) ) @ ( product_Pair_nat_nat @ ( suc @ I ) @ J ) ) ) ) ).

% steps_split
thf(fact_390_timestamp__class_Oadd__mono,axiom,
    ! [C2: nat,D: nat,A2: nat] :
      ( ( ord_less_eq_nat @ C2 @ D )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A2 @ C2 ) @ ( plus_plus_nat @ A2 @ D ) ) ) ).

% timestamp_class.add_mono
thf(fact_391_timestamp__class_Oadd__mono,axiom,
    ! [C2: c,D: c,A2: c] :
      ( ( ord_less_eq_c @ C2 @ D )
     => ( ord_less_eq_c @ ( plus_plus_c @ A2 @ C2 ) @ ( plus_plus_c @ A2 @ D ) ) ) ).

% timestamp_class.add_mono
thf(fact_392_add__mono__comm,axiom,
    ! [C2: nat,D: nat,A2: nat] :
      ( ( ord_less_eq_nat @ C2 @ D )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A2 ) @ ( plus_plus_nat @ D @ A2 ) ) ) ).

% add_mono_comm
thf(fact_393_add__mono__comm,axiom,
    ! [C2: c,D: c,A2: c] :
      ( ( ord_less_eq_c @ C2 @ D )
     => ( ord_less_eq_c @ ( plus_plus_c @ C2 @ A2 ) @ ( plus_plus_c @ D @ A2 ) ) ) ).

% add_mono_comm
thf(fact_394_valid__before_I5_J,axiom,
    ! [Q7: b] :
      ( ( mmap_lookup_b_c @ e3 @ Q7 )
      = ( sup_leadsto_b_a_c @ init @ step @ rho @ i @ j @ Q7 ) ) ).

% valid_before(5)
thf(fact_395_lookup__e,axiom,
    ! [Q: b] :
      ( ( mmap_lookup_b_c @ e3 @ Q )
      = ( sup_leadsto_b_a_c @ init @ step @ rho @ i @ j @ Q ) ) ).

% lookup_e
thf(fact_396_less__add__one,axiom,
    ! [A2: nat] : ( ord_less_nat @ A2 @ ( plus_plus_nat @ A2 @ one_one_nat ) ) ).

% less_add_one
thf(fact_397_add__mono1,axiom,
    ! [A2: nat,B: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A2 @ one_one_nat ) @ ( plus_plus_nat @ B @ one_one_nat ) ) ) ).

% add_mono1
thf(fact_398_window_Oequality,axiom,
    ! [R2: window3238552108609023426t_unit,R3: window3238552108609023426t_unit] :
      ( ( ( w_st_a3268994425876911529t_unit @ R2 )
        = ( w_st_a3268994425876911529t_unit @ R3 ) )
     => ( ( ( w_ac_a7622744053686734506t_unit @ R2 )
          = ( w_ac_a7622744053686734506t_unit @ R3 ) )
       => ( ( ( w_i_a_1180558361373080923t_unit @ R2 )
            = ( w_i_a_1180558361373080923t_unit @ R3 ) )
         => ( ( ( w_ti_a8858756314078090205t_unit @ R2 )
              = ( w_ti_a8858756314078090205t_unit @ R3 ) )
           => ( ( ( w_si_a3062602495544914206t_unit @ R2 )
                = ( w_si_a3062602495544914206t_unit @ R3 ) )
             => ( ( ( w_j_a_4553274732077726428t_unit @ R2 )
                  = ( w_j_a_4553274732077726428t_unit @ R3 ) )
               => ( ( ( w_tj_a3008100647927959902t_unit @ R2 )
                    = ( w_tj_a3008100647927959902t_unit @ R3 ) )
                 => ( ( ( w_sj_a6435318866249559711t_unit @ R2 )
                      = ( w_sj_a6435318866249559711t_unit @ R3 ) )
                   => ( ( ( w_s_a_7237605957855208549t_unit @ R2 )
                        = ( w_s_a_7237605957855208549t_unit @ R3 ) )
                     => ( ( ( w_e_a_6136436952264050519t_unit @ R2 )
                          = ( w_e_a_6136436952264050519t_unit @ R3 ) )
                       => ( ( ( more_a7796565201755138846t_unit @ R2 )
                            = ( more_a7796565201755138846t_unit @ R3 ) )
                         => ( R2 = R3 ) ) ) ) ) ) ) ) ) ) ) ) ).

% window.equality
thf(fact_399_length__induct,axiom,
    ! [P: list_P125642481956313003od_c_a > $o,Xs: list_P125642481956313003od_c_a] :
      ( ! [Xs2: list_P125642481956313003od_c_a] :
          ( ! [Ys: list_P125642481956313003od_c_a] :
              ( ( ord_less_nat @ ( size_s2614380629626057239od_c_a @ Ys ) @ ( size_s2614380629626057239od_c_a @ Xs2 ) )
             => ( P @ Ys ) )
         => ( P @ Xs2 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_400_e__def,axiom,
    ( e3
    = ( w_e_a_6136436952264050519t_unit @ w ) ) ).

% e_def
thf(fact_401_ac__def,axiom,
    ( ac
    = ( w_ac_a7622744053686734506t_unit @ w ) ) ).

% ac_def
thf(fact_402_bounded__Max__nat,axiom,
    ! [P: nat > $o,X: nat,M7: nat] :
      ( ( P @ X )
     => ( ! [X4: nat] :
            ( ( P @ X4 )
           => ( ord_less_eq_nat @ X4 @ M7 ) )
       => ~ ! [M3: nat] :
              ( ( P @ M3 )
             => ~ ! [X6: nat] :
                    ( ( P @ X6 )
                   => ( ord_less_eq_nat @ X6 @ M3 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_403_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs2: list_P125642481956313003od_c_a] :
      ( ( size_s2614380629626057239od_c_a @ Xs2 )
      = N ) ).

% Ex_list_of_length
thf(fact_404_neq__if__length__neq,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
       != ( size_s2614380629626057239od_c_a @ Ys2 ) )
     => ( Xs != Ys2 ) ) ).

% neq_if_length_neq
thf(fact_405_fold__atLeastAtMost__nat_Ocases,axiom,
    ! [X: produc4471711990508489141at_nat] :
      ~ ! [F2: nat > nat > nat,A4: nat,B3: nat,Acc: nat] :
          ( X
         != ( produc3209952032786966637at_nat @ F2 @ ( produc487386426758144856at_nat @ A4 @ ( product_Pair_nat_nat @ B3 @ Acc ) ) ) ) ).

% fold_atLeastAtMost_nat.cases
thf(fact_406_window_Osurjective,axiom,
    ! [R2: window3238552108609023426t_unit] :
      ( R2
      = ( window7186094214375669090t_unit @ ( w_st_a3268994425876911529t_unit @ R2 ) @ ( w_ac_a7622744053686734506t_unit @ R2 ) @ ( w_i_a_1180558361373080923t_unit @ R2 ) @ ( w_ti_a8858756314078090205t_unit @ R2 ) @ ( w_si_a3062602495544914206t_unit @ R2 ) @ ( w_j_a_4553274732077726428t_unit @ R2 ) @ ( w_tj_a3008100647927959902t_unit @ R2 ) @ ( w_sj_a6435318866249559711t_unit @ R2 ) @ ( w_s_a_7237605957855208549t_unit @ R2 ) @ ( w_e_a_6136436952264050519t_unit @ R2 ) @ ( more_a7796565201755138846t_unit @ R2 ) ) ) ).

% window.surjective
thf(fact_407_nat__descend__induct,axiom,
    ! [N: nat,P: nat > $o,M: nat] :
      ( ! [K3: nat] :
          ( ( ord_less_nat @ N @ K3 )
         => ( P @ K3 ) )
     => ( ! [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
           => ( ! [I4: nat] :
                  ( ( ord_less_nat @ K3 @ I4 )
                 => ( P @ I4 ) )
             => ( P @ K3 ) ) )
       => ( P @ M ) ) ) ).

% nat_descend_induct
thf(fact_408_sup__leadsto__SomeI,axiom,
    ! [L: nat,I: nat,Step: b > a > b,Rho: list_P125642481956313003od_c_a,Init: b,J: nat,Q: b] :
      ( ( ord_less_nat @ L @ I )
     => ( ( ( steps_b_a_c @ Step @ Rho @ Init @ ( product_Pair_nat_nat @ L @ J ) )
          = Q )
       => ? [L2: nat] :
            ( ( ( sup_leadsto_b_a_c @ Init @ Step @ Rho @ I @ J @ Q )
              = ( some_c @ ( ts_at_c_a @ Rho @ L2 ) ) )
            & ( ord_less_eq_nat @ L @ L2 )
            & ( ord_less_nat @ L2 @ I ) ) ) ) ).

% sup_leadsto_SomeI
thf(fact_409_sup__leadsto__SomeE,axiom,
    ! [I: nat,J: nat,Init: b,Step: b > a > b,Rho: list_P125642481956313003od_c_a,Q: b,Ts: c] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( sup_leadsto_b_a_c @ Init @ Step @ Rho @ I @ J @ Q )
          = ( some_c @ Ts ) )
       => ? [L3: nat] :
            ( ( ord_less_nat @ L3 @ I )
            & ( ( steps_b_a_c @ Step @ Rho @ Init @ ( product_Pair_nat_nat @ L3 @ J ) )
              = Q )
            & ( ( ts_at_c_a @ Rho @ L3 )
              = Ts ) ) ) ) ).

% sup_leadsto_SomeE
thf(fact_410_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

% less_numeral_extra(4)
thf(fact_411_le__numeral__extra_I4_J,axiom,
    ord_less_eq_nat @ one_one_nat @ one_one_nat ).

% le_numeral_extra(4)
thf(fact_412_window_Oselect__convs_I7_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_tj_a3008100647927959902t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_tj ) ).

% window.select_convs(7)
thf(fact_413_window_Oselect__convs_I8_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_sj_a6435318866249559711t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_sj ) ).

% window.select_convs(8)
thf(fact_414_window_Oselect__convs_I6_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_j_a_4553274732077726428t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_j ) ).

% window.select_convs(6)
thf(fact_415_window_Oselect__convs_I3_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_i_a_1180558361373080923t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_i ) ).

% window.select_convs(3)
thf(fact_416_window_Oselect__convs_I4_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_ti_a8858756314078090205t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_ti ) ).

% window.select_convs(4)
thf(fact_417_window_Oselect__convs_I5_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_si_a3062602495544914206t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_si ) ).

% window.select_convs(5)
thf(fact_418_window_Oselect__convs_I1_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_st_a3268994425876911529t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_st ) ).

% window.select_convs(1)
thf(fact_419_window_Oselect__convs_I9_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_s_a_7237605957855208549t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_s ) ).

% window.select_convs(9)
thf(fact_420_window_Oselect__convs_I2_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_ac_a7622744053686734506t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_ac ) ).

% window.select_convs(2)
thf(fact_421_window_Oselect__convs_I10_J,axiom,
    ! [W_st: mappin8597647756751374250_b_a_b,W_ac: mapping_b_o,W_i: nat,W_ti: d,W_si: e,W_j: nat,W_tj: d,W_sj: e,W_s: list_P7417839048565863355_c_nat,W_e: list_P903359562653991662od_b_c,More: product_unit] :
      ( ( w_e_a_6136436952264050519t_unit @ ( window7186094214375669090t_unit @ W_st @ W_ac @ W_i @ W_ti @ W_si @ W_j @ W_tj @ W_sj @ W_s @ W_e @ More ) )
      = W_e ) ).

% window.select_convs(10)
thf(fact_422_Mapping__keys__dest,axiom,
    ! [X: b,F: list_P3376028660666594516od_d_c] :
      ( ( member_b @ X @ ( mmap_k3484546229528732454od_d_c @ F ) )
     => ? [Y3: product_prod_d_c] :
          ( ( mmap_l6702574138473943980od_d_c @ F @ X )
          = ( some_P4453072594738582219od_d_c @ Y3 ) ) ) ).

% Mapping_keys_dest
thf(fact_423_Mapping__keys__dest,axiom,
    ! [X: produc859450856879609959at_nat,F: list_P3218128705725046124od_d_c] :
      ( ( member8206827879206165904at_nat @ X @ ( mmap_k5301915514662780862od_d_c @ F ) )
     => ? [Y3: product_prod_d_c] :
          ( ( mmap_l4463521807085151300od_d_c @ F @ X )
          = ( some_P4453072594738582219od_d_c @ Y3 ) ) ) ).

% Mapping_keys_dest
thf(fact_424_Mapping__keys__dest,axiom,
    ! [X: b,F: list_P1845696090888485649od_e_a] :
      ( ( member_b @ X @ ( mmap_k697090638949598819od_e_a @ F ) )
     => ? [Y3: product_prod_e_a] :
          ( ( mmap_l3915118547894810345od_e_a @ F @ X )
          = ( some_P1665617004159448584od_e_a @ Y3 ) ) ) ).

% Mapping_keys_dest
thf(fact_425_Mapping__keys__dest,axiom,
    ! [X: produc859450856879609959at_nat,F: list_P1687796135946937257od_e_a] :
      ( ( member8206827879206165904at_nat @ X @ ( mmap_k2514459924083647227od_e_a @ F ) )
     => ? [Y3: product_prod_e_a] :
          ( ( mmap_l1676066216506017665od_e_a @ F @ X )
          = ( some_P1665617004159448584od_e_a @ Y3 ) ) ) ).

% Mapping_keys_dest
thf(fact_426_Mapping__keys__dest,axiom,
    ! [X: produc859450856879609959at_nat,F: list_P6274885450196660515_c_nat] :
      ( ( member8206827879206165904at_nat @ X @ ( mmap_k8225290564293298213_c_nat @ F ) )
     => ? [Y3: produc4862256710654508797_c_nat] :
          ( ( mmap_l3052497582771463455_c_nat @ F @ X )
          = ( some_P2720002978653898840_c_nat @ Y3 ) ) ) ).

% Mapping_keys_dest
thf(fact_427_Mapping__keys__dest,axiom,
    ! [X: b,F: list_P903359562653991662od_b_c] :
      ( ( member_b @ X @ ( mmap_keys_b_c @ F ) )
     => ? [Y3: c] :
          ( ( mmap_lookup_b_c @ F @ X )
          = ( some_c @ Y3 ) ) ) ).

% Mapping_keys_dest
thf(fact_428_Mapping__keys__dest,axiom,
    ! [X: b,F: list_P7417839048565863355_c_nat] :
      ( ( member_b @ X @ ( mmap_k3080892797436903101_c_nat @ F ) )
     => ? [Y3: produc4862256710654508797_c_nat] :
          ( ( mmap_l5026999719965937591_c_nat @ F @ X )
          = ( some_P2720002978653898840_c_nat @ Y3 ) ) ) ).

% Mapping_keys_dest
thf(fact_429_tb__cur__def_I1_J,axiom,
    ( ( run_t @ ti_cura )
    = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ ti_cur @ t_cur ) ) ) ).

% tb_cur_def(1)
thf(fact_430_tb__cur__def_I2_J,axiom,
    ( ( run_sub @ si_cura )
    = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ si_cur @ b_cur ) ) ) ).

% tb_cur_def(2)
thf(fact_431_tb__def_I1_J,axiom,
    ( ( run_t @ ti2 )
    = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ ti @ t ) ) ) ).

% tb_def(1)
thf(fact_432_tb__def_I2_J,axiom,
    ( ( run_sub @ si2 )
    = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ si @ b2 ) ) ) ).

% tb_def(2)
thf(fact_433_lookup__s,axiom,
    ! [Q: b,Q2: b,Tstp: option7520157102916957007_c_nat] :
      ( ( ( mmap_l5026999719965937591_c_nat @ s2 @ Q )
        = ( some_P2720002978653898840_c_nat @ ( produc5716802255202478839_c_nat @ Q2 @ Tstp ) ) )
     => ( ( ( steps_b_a_c @ step @ rho @ Q @ ( product_Pair_nat_nat @ i @ j ) )
          = Q2 )
        & ( Tstp
          = ( sup_acc_b_a_c @ step @ accept @ rho @ Q @ i @ j ) ) ) ) ).

% lookup_s
thf(fact_434_acc__app,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Rho: list_P125642481956313003od_c_a,Q: b,Q2: b,Accept: b > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ ( suc @ J ) ) )
          = Q2 )
       => ( ( Accept @ Q2 )
         => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ ( suc @ J ) )
            = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ ( ts_at_c_a @ Rho @ J ) @ J ) ) ) ) ) ) ).

% acc_app
thf(fact_435_sup__acc__Some__ts,axiom,
    ! [Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b,I: nat,J: nat,Ts: c,Tp: nat] :
      ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
        = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ Ts @ Tp ) ) )
     => ( Ts
        = ( ts_at_c_a @ Rho @ Tp ) ) ) ).

% sup_acc_Some_ts
thf(fact_436_acc__app__idle,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Rho: list_P125642481956313003od_c_a,Q: b,Q2: b,Accept: b > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ ( suc @ J ) ) )
          = Q2 )
       => ( ~ ( Accept @ Q2 )
         => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ ( suc @ J ) )
            = ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J ) ) ) ) ) ).

% acc_app_idle
thf(fact_437_sup__acc__l,axiom,
    ! [I: nat,J: nat,L: nat,Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b,Ts: c] :
      ( ( ord_less_nat @ I @ J )
     => ( ( I != L )
       => ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
            = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ Ts @ L ) ) )
         => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
            = ( sup_acc_b_a_c @ Step @ Accept @ Rho @ ( Step @ Q @ ( bs_at_c_a @ Rho @ I ) ) @ ( suc @ I ) @ J ) ) ) ) ) ).

% sup_acc_l
thf(fact_438_sup__acc__comp__Some__ge,axiom,
    ! [I: nat,L: nat,J: nat,Tp: nat,Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b,Ts: c] :
      ( ( ord_less_eq_nat @ I @ L )
     => ( ( ord_less_eq_nat @ L @ J )
       => ( ( ord_less_eq_nat @ L @ Tp )
         => ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ L ) ) @ L @ J )
              = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ Ts @ Tp ) ) )
           => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
              = ( sup_acc_b_a_c @ Step @ Accept @ Rho @ ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ L ) ) @ L @ J ) ) ) ) ) ) ).

% sup_acc_comp_Some_ge
thf(fact_439__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062st__cur_Aac__cur_Ai__cur_Ati__cur_Asi__cur_Aq__cur_As__cur_Atstp__cur_O_A_Ist__cur_M_Aac__cur_M_Ai__cur_M_Ati__cur_M_Asi__cur_M_Aq__cur_M_As__cur_M_Atstp__cur_J_A_061_Awhile_A_Iloop__cond_Aj_J_A_Iloop__body_Astep_Aaccept_Arun__t_Arun__sub_J_A_Ist_H_M_Aac_M_ASuc_Ai_M_Ati_H_M_Asi_H_M_Ainit_M_As_H_M_ANone_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [St_cur: mappin8597647756751374250_b_a_b,Ac_cur: mapping_b_o,I_cur: nat,Ti_cur: d,Si_cur: e,Q_cur: b,S_cur: list_P7417839048565863355_c_nat,Tstp_cur: option7520157102916957007_c_nat] :
        ( ( produc2213499015815695947_c_nat @ St_cur @ ( produc8693840700255356934_c_nat @ Ac_cur @ ( produc26586266114070709_c_nat @ I_cur @ ( produc8163416302152420558_c_nat @ Ti_cur @ ( produc8689783093404602216_c_nat @ Si_cur @ ( produc1153541909957361603_c_nat @ Q_cur @ ( produc3198819265183462307_c_nat @ S_cur @ Tstp_cur ) ) ) ) ) ) )
       != ( while_3439336722454791018_c_nat @ ( loop_c1650738222079389858_c_nat @ j ) @ ( loop_b2218575551323420833_e_e_c @ step @ accept @ run_t @ run_sub ) @ ( produc2213499015815695947_c_nat @ st @ ( produc8693840700255356934_c_nat @ ac @ ( produc26586266114070709_c_nat @ ( suc @ i ) @ ( produc8163416302152420558_c_nat @ ti @ ( produc8689783093404602216_c_nat @ si @ ( produc1153541909957361603_c_nat @ init @ ( produc3198819265183462307_c_nat @ s @ none_P6573378090780909534_c_nat ) ) ) ) ) ) ) ) ) ).

% \<open>\<And>thesis. (\<And>st_cur ac_cur i_cur ti_cur si_cur q_cur s_cur tstp_cur. (st_cur, ac_cur, i_cur, ti_cur, si_cur, q_cur, s_cur, tstp_cur) = while (loop_cond j) (loop_body step accept run_t run_sub) (st', ac, Suc i, ti', si', init, s', None) \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_440_run__sub__def,axiom,
    ( run_sub
    = ( w_run_5029099626773294832t_unit @ args ) ) ).

% run_sub_def
thf(fact_441_run__t__def,axiom,
    ( run_t
    = ( w_run_2440119097188408004t_unit @ args ) ) ).

% run_t_def
thf(fact_442_sup__acc__ext,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( acc_b_a_c @ Step @ Accept @ Rho @ Q @ ( product_Pair_nat_nat @ I @ ( suc @ J ) ) )
       => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ ( suc @ J ) )
          = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ ( ts_at_c_a @ Rho @ J ) @ J ) ) ) ) ) ).

% sup_acc_ext
thf(fact_443_run__init__i__j,axiom,
    ( ( steps_b_a_c @ step @ rho @ init @ ( product_Pair_nat_nat @ i @ j ) )
    = ( produc8816143915943518219_c_nat @ ( the_Pr3263588667584626537_c_nat @ ( mmap_l5026999719965937591_c_nat @ s2 @ init ) ) ) ) ).

% run_init_i_j
thf(fact_444_e_H__def,axiom,
    ( e2
    = ( mmap_update_b_c @ ( produc8816143915943518219_c_nat @ ( the_Pr3263588667584626537_c_nat @ ( mmap_l5026999719965937591_c_nat @ s2 @ init ) ) ) @ t @ e3 ) ) ).

% e'_def
thf(fact_445_fst__conv,axiom,
    ! [X1: d,X2: e] :
      ( ( product_fst_d_e @ ( product_Pair_d_e @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_446_fst__conv,axiom,
    ! [X1: d,X2: c] :
      ( ( product_fst_d_c @ ( product_Pair_d_c @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_447_fst__conv,axiom,
    ! [X1: b,X2: produc7123198797777838443_c_nat] :
      ( ( produc3138273293139183023_c_nat @ ( produc1153541909957361603_c_nat @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_448_fst__conv,axiom,
    ! [X1: b,X2: mappin8597647756751374250_b_a_b] :
      ( ( produc3398860285988099686_b_a_b @ ( produc5420919026241514322_b_a_b @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_449_fst__conv,axiom,
    ! [X1: nat,X2: nat] :
      ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_450_fst__conv,axiom,
    ! [X1: b,X2: option7520157102916957007_c_nat] :
      ( ( produc8816143915943518219_c_nat @ ( produc5716802255202478839_c_nat @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_451_fst__conv,axiom,
    ! [X1: c,X2: a] :
      ( ( product_fst_c_a @ ( product_Pair_c_a @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_452_fst__conv,axiom,
    ! [X1: b,X2: c] :
      ( ( product_fst_b_c @ ( product_Pair_b_c @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_453_fst__conv,axiom,
    ! [X1: b,X2: produc4862256710654508797_c_nat] :
      ( ( produc6033490199168946105_c_nat @ ( produc8868828497325608613_c_nat @ X1 @ X2 ) )
      = X1 ) ).

% fst_conv
thf(fact_454_fst__eqD,axiom,
    ! [X: d,Y: e,A2: d] :
      ( ( ( product_fst_d_e @ ( product_Pair_d_e @ X @ Y ) )
        = A2 )
     => ( X = A2 ) ) ).

% fst_eqD
thf(fact_455_fst__eqD,axiom,
    ! [X: d,Y: c,A2: d] :
      ( ( ( product_fst_d_c @ ( product_Pair_d_c @ X @ Y ) )
        = A2 )
     => ( X = A2 ) ) ).

% fst_eqD
thf(fact_456_fst__eqD,axiom,
    ! [X: b,Y: produc7123198797777838443_c_nat,A2: b] :
      ( ( ( produc3138273293139183023_c_nat @ ( produc1153541909957361603_c_nat @ X @ Y ) )
        = A2 )
     => ( X = A2 ) ) ).

% fst_eqD
thf(fact_457_fst__eqD,axiom,
    ! [X: b,Y: mappin8597647756751374250_b_a_b,A2: b] :
      ( ( ( produc3398860285988099686_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ Y ) )
        = A2 )
     => ( X = A2 ) ) ).

% fst_eqD
thf(fact_458_fst__eqD,axiom,
    ! [X: nat,Y: nat,A2: nat] :
      ( ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X @ Y ) )
        = A2 )
     => ( X = A2 ) ) ).

% fst_eqD
thf(fact_459_fst__eqD,axiom,
    ! [X: b,Y: option7520157102916957007_c_nat,A2: b] :
      ( ( ( produc8816143915943518219_c_nat @ ( produc5716802255202478839_c_nat @ X @ Y ) )
        = A2 )
     => ( X = A2 ) ) ).

% fst_eqD
thf(fact_460_fst__eqD,axiom,
    ! [X: c,Y: a,A2: c] :
      ( ( ( product_fst_c_a @ ( product_Pair_c_a @ X @ Y ) )
        = A2 )
     => ( X = A2 ) ) ).

% fst_eqD
thf(fact_461_fst__eqD,axiom,
    ! [X: b,Y: c,A2: b] :
      ( ( ( product_fst_b_c @ ( product_Pair_b_c @ X @ Y ) )
        = A2 )
     => ( X = A2 ) ) ).

% fst_eqD
thf(fact_462_fst__eqD,axiom,
    ! [X: b,Y: produc4862256710654508797_c_nat,A2: b] :
      ( ( ( produc6033490199168946105_c_nat @ ( produc8868828497325608613_c_nat @ X @ Y ) )
        = A2 )
     => ( X = A2 ) ) ).

% fst_eqD
thf(fact_463_sup__acc__same,axiom,
    ! [Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b,I: nat] :
      ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ I )
      = none_P6573378090780909534_c_nat ) ).

% sup_acc_same
thf(fact_464_Window_Oacc__def,axiom,
    ( acc_b_a_c
    = ( ^ [Step2: b > a > b,Accept2: b > $o,Rho2: list_P125642481956313003od_c_a,Q8: b,Ij: product_prod_nat_nat] : ( Accept2 @ ( steps_b_a_c @ Step2 @ Rho2 @ Q8 @ Ij ) ) ) ) ).

% Window.acc_def
thf(fact_465_Mapping__lookup__None__intro,axiom,
    ! [X: b,F: list_P5567253521434164541_c_nat] :
      ( ~ ( member_b @ X @ ( mmap_k3066642428818769471_c_nat @ F ) )
     => ( ( mmap_l4793845786776461369_c_nat @ F @ X )
        = none_P6573378090780909534_c_nat ) ) ).

% Mapping_lookup_None_intro
thf(fact_466_Mapping__lookup__None__intro,axiom,
    ! [X: produc859450856879609959at_nat,F: list_P2747636819685220005_c_nat] :
      ( ~ ( member8206827879206165904at_nat @ X @ ( mmap_k151633161116578727_c_nat @ F ) )
     => ( ( mmap_l440427023202933153_c_nat @ F @ X )
        = none_P6573378090780909534_c_nat ) ) ).

% Mapping_lookup_None_intro
thf(fact_467_Mapping__lookup__None__intro,axiom,
    ! [X: b,F: list_P903359562653991662od_b_c] :
      ( ~ ( member_b @ X @ ( mmap_keys_b_c @ F ) )
     => ( ( mmap_lookup_b_c @ F @ X )
        = none_c ) ) ).

% Mapping_lookup_None_intro
thf(fact_468_Mapping__lookup__None__intro,axiom,
    ! [X: b,F: list_P7417839048565863355_c_nat] :
      ( ~ ( member_b @ X @ ( mmap_k3080892797436903101_c_nat @ F ) )
     => ( ( mmap_l5026999719965937591_c_nat @ F @ X )
        = none_P8487441334512977628_c_nat ) ) ).

% Mapping_lookup_None_intro
thf(fact_469_Mapping__not__keys__intro,axiom,
    ! [F: list_P5567253521434164541_c_nat,X: b] :
      ( ( ( mmap_l4793845786776461369_c_nat @ F @ X )
        = none_P6573378090780909534_c_nat )
     => ~ ( member_b @ X @ ( mmap_k3066642428818769471_c_nat @ F ) ) ) ).

% Mapping_not_keys_intro
thf(fact_470_Mapping__not__keys__intro,axiom,
    ! [F: list_P2747636819685220005_c_nat,X: produc859450856879609959at_nat] :
      ( ( ( mmap_l440427023202933153_c_nat @ F @ X )
        = none_P6573378090780909534_c_nat )
     => ~ ( member8206827879206165904at_nat @ X @ ( mmap_k151633161116578727_c_nat @ F ) ) ) ).

% Mapping_not_keys_intro
thf(fact_471_Mapping__not__keys__intro,axiom,
    ! [F: list_P903359562653991662od_b_c,X: b] :
      ( ( ( mmap_lookup_b_c @ F @ X )
        = none_c )
     => ~ ( member_b @ X @ ( mmap_keys_b_c @ F ) ) ) ).

% Mapping_not_keys_intro
thf(fact_472_Mapping__not__keys__intro,axiom,
    ! [F: list_P7417839048565863355_c_nat,X: b] :
      ( ( ( mmap_l5026999719965937591_c_nat @ F @ X )
        = none_P8487441334512977628_c_nat )
     => ~ ( member_b @ X @ ( mmap_k3080892797436903101_c_nat @ F ) ) ) ).

% Mapping_not_keys_intro
thf(fact_473_Mapping__keys__intro,axiom,
    ! [F: list_P5567253521434164541_c_nat,X: b] :
      ( ( ( mmap_l4793845786776461369_c_nat @ F @ X )
       != none_P6573378090780909534_c_nat )
     => ( member_b @ X @ ( mmap_k3066642428818769471_c_nat @ F ) ) ) ).

% Mapping_keys_intro
thf(fact_474_Mapping__keys__intro,axiom,
    ! [F: list_P2747636819685220005_c_nat,X: produc859450856879609959at_nat] :
      ( ( ( mmap_l440427023202933153_c_nat @ F @ X )
       != none_P6573378090780909534_c_nat )
     => ( member8206827879206165904at_nat @ X @ ( mmap_k151633161116578727_c_nat @ F ) ) ) ).

% Mapping_keys_intro
thf(fact_475_Mapping__keys__intro,axiom,
    ! [F: list_P903359562653991662od_b_c,X: b] :
      ( ( ( mmap_lookup_b_c @ F @ X )
       != none_c )
     => ( member_b @ X @ ( mmap_keys_b_c @ F ) ) ) ).

% Mapping_keys_intro
thf(fact_476_Mapping__keys__intro,axiom,
    ! [F: list_P7417839048565863355_c_nat,X: b] :
      ( ( ( mmap_l5026999719965937591_c_nat @ F @ X )
       != none_P8487441334512977628_c_nat )
     => ( member_b @ X @ ( mmap_k3080892797436903101_c_nat @ F ) ) ) ).

% Mapping_keys_intro
thf(fact_477_sup__acc__None__restrict,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
          = none_P6573378090780909534_c_nat )
       => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ ( Step @ Q @ ( bs_at_c_a @ Rho @ I ) ) @ ( suc @ I ) @ J )
          = none_P6573378090780909534_c_nat ) ) ) ).

% sup_acc_None_restrict
thf(fact_478_sup__acc__comp__None,axiom,
    ! [I: nat,L: nat,J: nat,Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b] :
      ( ( ord_less_eq_nat @ I @ L )
     => ( ( ord_less_eq_nat @ L @ J )
       => ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ L ) ) @ L @ J )
            = none_P6573378090780909534_c_nat )
         => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
            = ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ L ) ) ) ) ) ).

% sup_acc_comp_None
thf(fact_479_reach__window__shift,axiom,
    ! [Args: args_e6516999200615308162t_unit,T0: d,Sub: e,Rho: list_P125642481956313003od_c_a,I: nat,Ti: d,Si: e,J: nat,Tj: d,Sj: e,Ti2: d,T: c,Si2: e,S2: a] :
      ( ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Ti @ ( produc5384269442762620216od_d_e @ Si @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Tj @ Sj ) ) ) ) ) )
     => ( ( ord_less_nat @ I @ J )
       => ( ( ( w_run_2440119097188408004t_unit @ Args @ Ti )
            = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Ti2 @ T ) ) )
         => ( ( ( w_run_5029099626773294832t_unit @ Args @ Si )
              = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Si2 @ S2 ) ) )
           => ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ ( suc @ I ) @ ( produc2738068492226668904od_d_e @ Ti2 @ ( produc5384269442762620216od_d_e @ Si2 @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Tj @ Sj ) ) ) ) ) ) ) ) ) ) ).

% reach_window_shift
thf(fact_480_sup__acc__None,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
          = none_P6573378090780909534_c_nat )
       => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ ( Step @ Q @ ( bs_at_c_a @ Rho @ I ) ) @ ( plus_plus_nat @ I @ one_one_nat ) @ J )
          = none_P6573378090780909534_c_nat ) ) ) ).

% sup_acc_None
thf(fact_481_sup__acc__i,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b,Ts: c] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
          = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ Ts @ I ) ) )
       => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ ( Step @ Q @ ( bs_at_c_a @ Rho @ I ) ) @ ( suc @ I ) @ J )
          = none_P6573378090780909534_c_nat ) ) ) ).

% sup_acc_i
thf(fact_482_sup__acc__ext__idle,axiom,
    ! [I: nat,J: nat,Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ~ ( acc_b_a_c @ Step @ Accept @ Rho @ Q @ ( product_Pair_nat_nat @ I @ ( suc @ J ) ) )
       => ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ ( suc @ J ) )
          = ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J ) ) ) ) ).

% sup_acc_ext_idle
thf(fact_483_loop__def,axiom,
    ( ( produc2213499015815695947_c_nat @ st_cur3 @ ( produc8693840700255356934_c_nat @ ac_cur2 @ ( produc26586266114070709_c_nat @ i_cur @ ( produc8163416302152420558_c_nat @ ti_cur2 @ ( produc8689783093404602216_c_nat @ si_cur2 @ ( produc1153541909957361603_c_nat @ q_cur @ ( produc3198819265183462307_c_nat @ s_cur2 @ tstp_cur ) ) ) ) ) ) )
    = ( while_3439336722454791018_c_nat @ ( loop_c1650738222079389858_c_nat @ j ) @ ( loop_b2218575551323420833_e_e_c @ step @ accept @ run_t @ run_sub ) @ ( produc2213499015815695947_c_nat @ st @ ( produc8693840700255356934_c_nat @ ac @ ( produc26586266114070709_c_nat @ ( suc @ i ) @ ( produc8163416302152420558_c_nat @ ti @ ( produc8689783093404602216_c_nat @ si @ ( produc1153541909957361603_c_nat @ init @ ( produc3198819265183462307_c_nat @ s @ none_P6573378090780909534_c_nat ) ) ) ) ) ) ) ) ) ).

% loop_def
thf(fact_484_adv__end__bounds_I4_J,axiom,
    ! [Args: args_e6516999200615308162t_unit,W: window3238552108609023426t_unit,Tj2: d,T: c,Sj2: e,Bs: a,W2: window3238552108609023426t_unit] :
      ( ( ( w_run_2440119097188408004t_unit @ Args @ ( w_tj_a3008100647927959902t_unit @ W ) )
        = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Tj2 @ T ) ) )
     => ( ( ( w_run_5029099626773294832t_unit @ Args @ ( w_sj_a6435318866249559711t_unit @ W ) )
          = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Sj2 @ Bs ) ) )
       => ( ( ( adv_end_a_b_c_d_e @ Args @ W )
            = ( some_w4026151259905748253t_unit @ W2 ) )
         => ( ( w_j_a_4553274732077726428t_unit @ W2 )
            = ( suc @ ( w_j_a_4553274732077726428t_unit @ W ) ) ) ) ) ) ).

% adv_end_bounds(4)
thf(fact_485_adv__end__bounds_I2_J,axiom,
    ! [Args: args_e6516999200615308162t_unit,W: window3238552108609023426t_unit,Tj2: d,T: c,Sj2: e,Bs: a,W2: window3238552108609023426t_unit] :
      ( ( ( w_run_2440119097188408004t_unit @ Args @ ( w_tj_a3008100647927959902t_unit @ W ) )
        = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Tj2 @ T ) ) )
     => ( ( ( w_run_5029099626773294832t_unit @ Args @ ( w_sj_a6435318866249559711t_unit @ W ) )
          = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Sj2 @ Bs ) ) )
       => ( ( ( adv_end_a_b_c_d_e @ Args @ W )
            = ( some_w4026151259905748253t_unit @ W2 ) )
         => ( ( w_ti_a8858756314078090205t_unit @ W2 )
            = ( w_ti_a8858756314078090205t_unit @ W ) ) ) ) ) ).

% adv_end_bounds(2)
thf(fact_486_adv__end__bounds_I3_J,axiom,
    ! [Args: args_e6516999200615308162t_unit,W: window3238552108609023426t_unit,Tj2: d,T: c,Sj2: e,Bs: a,W2: window3238552108609023426t_unit] :
      ( ( ( w_run_2440119097188408004t_unit @ Args @ ( w_tj_a3008100647927959902t_unit @ W ) )
        = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Tj2 @ T ) ) )
     => ( ( ( w_run_5029099626773294832t_unit @ Args @ ( w_sj_a6435318866249559711t_unit @ W ) )
          = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Sj2 @ Bs ) ) )
       => ( ( ( adv_end_a_b_c_d_e @ Args @ W )
            = ( some_w4026151259905748253t_unit @ W2 ) )
         => ( ( w_si_a3062602495544914206t_unit @ W2 )
            = ( w_si_a3062602495544914206t_unit @ W ) ) ) ) ) ).

% adv_end_bounds(3)
thf(fact_487_adv__end__bounds_I1_J,axiom,
    ! [Args: args_e6516999200615308162t_unit,W: window3238552108609023426t_unit,Tj2: d,T: c,Sj2: e,Bs: a,W2: window3238552108609023426t_unit] :
      ( ( ( w_run_2440119097188408004t_unit @ Args @ ( w_tj_a3008100647927959902t_unit @ W ) )
        = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Tj2 @ T ) ) )
     => ( ( ( w_run_5029099626773294832t_unit @ Args @ ( w_sj_a6435318866249559711t_unit @ W ) )
          = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Sj2 @ Bs ) ) )
       => ( ( ( adv_end_a_b_c_d_e @ Args @ W )
            = ( some_w4026151259905748253t_unit @ W2 ) )
         => ( ( w_i_a_1180558361373080923t_unit @ W2 )
            = ( w_i_a_1180558361373080923t_unit @ W ) ) ) ) ) ).

% adv_end_bounds(1)
thf(fact_488_mmap__lookup__update_H,axiom,
    ! [K: b,Z2: b,V: produc4862256710654508797_c_nat,Kvs: list_P7417839048565863355_c_nat] :
      ( ( ( K = Z2 )
       => ( ( mmap_l5026999719965937591_c_nat @ ( mmap_u2662500248198004552_c_nat @ K @ V @ Kvs ) @ Z2 )
          = ( some_P2720002978653898840_c_nat @ V ) ) )
      & ( ( K != Z2 )
       => ( ( mmap_l5026999719965937591_c_nat @ ( mmap_u2662500248198004552_c_nat @ K @ V @ Kvs ) @ Z2 )
          = ( mmap_l5026999719965937591_c_nat @ Kvs @ Z2 ) ) ) ) ).

% mmap_lookup_update'
thf(fact_489_mmap__lookup__update_H,axiom,
    ! [K: b,Z2: b,V: c,Kvs: list_P903359562653991662od_b_c] :
      ( ( ( K = Z2 )
       => ( ( mmap_lookup_b_c @ ( mmap_update_b_c @ K @ V @ Kvs ) @ Z2 )
          = ( some_c @ V ) ) )
      & ( ( K != Z2 )
       => ( ( mmap_lookup_b_c @ ( mmap_update_b_c @ K @ V @ Kvs ) @ Z2 )
          = ( mmap_lookup_b_c @ Kvs @ Z2 ) ) ) ) ).

% mmap_lookup_update'
thf(fact_490_adv__end__bounds_I5_J,axiom,
    ! [Args: args_e6516999200615308162t_unit,W: window3238552108609023426t_unit,Tj2: d,T: c,Sj2: e,Bs: a,W2: window3238552108609023426t_unit] :
      ( ( ( w_run_2440119097188408004t_unit @ Args @ ( w_tj_a3008100647927959902t_unit @ W ) )
        = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Tj2 @ T ) ) )
     => ( ( ( w_run_5029099626773294832t_unit @ Args @ ( w_sj_a6435318866249559711t_unit @ W ) )
          = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Sj2 @ Bs ) ) )
       => ( ( ( adv_end_a_b_c_d_e @ Args @ W )
            = ( some_w4026151259905748253t_unit @ W2 ) )
         => ( ( w_tj_a3008100647927959902t_unit @ W2 )
            = Tj2 ) ) ) ) ).

% adv_end_bounds(5)
thf(fact_491_adv__end__bounds_I6_J,axiom,
    ! [Args: args_e6516999200615308162t_unit,W: window3238552108609023426t_unit,Tj2: d,T: c,Sj2: e,Bs: a,W2: window3238552108609023426t_unit] :
      ( ( ( w_run_2440119097188408004t_unit @ Args @ ( w_tj_a3008100647927959902t_unit @ W ) )
        = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Tj2 @ T ) ) )
     => ( ( ( w_run_5029099626773294832t_unit @ Args @ ( w_sj_a6435318866249559711t_unit @ W ) )
          = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Sj2 @ Bs ) ) )
       => ( ( ( adv_end_a_b_c_d_e @ Args @ W )
            = ( some_w4026151259905748253t_unit @ W2 ) )
         => ( ( w_sj_a6435318866249559711t_unit @ W2 )
            = Sj2 ) ) ) ) ).

% adv_end_bounds(6)
thf(fact_492_sup__acc__SomeI,axiom,
    ! [Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b,I: nat,L: nat,J: nat] :
      ( ( acc_b_a_c @ Step @ Accept @ Rho @ Q @ ( product_Pair_nat_nat @ I @ ( suc @ L ) ) )
     => ( ( member_nat @ L @ ( set_or4665077453230672383an_nat @ I @ J ) )
       => ? [Tp2: nat] :
            ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
              = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ ( ts_at_c_a @ Rho @ Tp2 ) @ Tp2 ) ) )
            & ( ord_less_eq_nat @ L @ Tp2 )
            & ( ord_less_nat @ Tp2 @ J ) ) ) ) ).

% sup_acc_SomeI
thf(fact_493_args_Oequality,axiom,
    ! [R2: args_e6516999200615308162t_unit,R3: args_e6516999200615308162t_unit] :
      ( ( ( w_init5504024821283585547t_unit @ R2 )
        = ( w_init5504024821283585547t_unit @ R3 ) )
     => ( ( ( w_step6169476737019890567t_unit @ R2 )
          = ( w_step6169476737019890567t_unit @ R3 ) )
       => ( ( ( w_acce2293875733780235011t_unit @ R2 )
            = ( w_acce2293875733780235011t_unit @ R3 ) )
         => ( ( ( w_run_2440119097188408004t_unit @ R2 )
              = ( w_run_2440119097188408004t_unit @ R3 ) )
           => ( ( ( w_read2325810693662453533t_unit @ R2 )
                = ( w_read2325810693662453533t_unit @ R3 ) )
             => ( ( ( w_run_5029099626773294832t_unit @ R2 )
                  = ( w_run_5029099626773294832t_unit @ R3 ) )
               => ( ( ( more_a893818824965617355t_unit @ R2 )
                    = ( more_a893818824965617355t_unit @ R3 ) )
                 => ( R2 = R3 ) ) ) ) ) ) ) ) ).

% args.equality
thf(fact_494_sup__acc__SomeE,axiom,
    ! [Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b,I: nat,J: nat,Ts: c,Tp: nat] :
      ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
        = ( some_P8722241760384591706_c_nat @ ( product_Pair_c_nat @ Ts @ Tp ) ) )
     => ( ( member_nat @ Tp @ ( set_or4665077453230672383an_nat @ I @ J ) )
        & ( acc_b_a_c @ Step @ Accept @ Rho @ Q @ ( product_Pair_nat_nat @ I @ ( suc @ Tp ) ) ) ) ) ).

% sup_acc_SomeE
thf(fact_495_fstI,axiom,
    ! [X: product_prod_d_e,Y: d,Z2: e] :
      ( ( X
        = ( product_Pair_d_e @ Y @ Z2 ) )
     => ( ( product_fst_d_e @ X )
        = Y ) ) ).

% fstI
thf(fact_496_fstI,axiom,
    ! [X: product_prod_d_c,Y: d,Z2: c] :
      ( ( X
        = ( product_Pair_d_c @ Y @ Z2 ) )
     => ( ( product_fst_d_c @ X )
        = Y ) ) ).

% fstI
thf(fact_497_fstI,axiom,
    ! [X: produc4731008658490410835_c_nat,Y: b,Z2: produc7123198797777838443_c_nat] :
      ( ( X
        = ( produc1153541909957361603_c_nat @ Y @ Z2 ) )
     => ( ( produc3138273293139183023_c_nat @ X )
        = Y ) ) ).

% fstI
thf(fact_498_fstI,axiom,
    ! [X: produc69853407467193432_b_a_b,Y: b,Z2: mappin8597647756751374250_b_a_b] :
      ( ( X
        = ( produc5420919026241514322_b_a_b @ Y @ Z2 ) )
     => ( ( produc3398860285988099686_b_a_b @ X )
        = Y ) ) ).

% fstI
thf(fact_499_fstI,axiom,
    ! [X: product_prod_nat_nat,Y: nat,Z2: nat] :
      ( ( X
        = ( product_Pair_nat_nat @ Y @ Z2 ) )
     => ( ( product_fst_nat_nat @ X )
        = Y ) ) ).

% fstI
thf(fact_500_fstI,axiom,
    ! [X: produc4862256710654508797_c_nat,Y: b,Z2: option7520157102916957007_c_nat] :
      ( ( X
        = ( produc5716802255202478839_c_nat @ Y @ Z2 ) )
     => ( ( produc8816143915943518219_c_nat @ X )
        = Y ) ) ).

% fstI
thf(fact_501_fstI,axiom,
    ! [X: product_prod_c_a,Y: c,Z2: a] :
      ( ( X
        = ( product_Pair_c_a @ Y @ Z2 ) )
     => ( ( product_fst_c_a @ X )
        = Y ) ) ).

% fstI
thf(fact_502_fstI,axiom,
    ! [X: product_prod_b_c,Y: b,Z2: c] :
      ( ( X
        = ( product_Pair_b_c @ Y @ Z2 ) )
     => ( ( product_fst_b_c @ X )
        = Y ) ) ).

% fstI
thf(fact_503_fstI,axiom,
    ! [X: produc6689720525226317995_c_nat,Y: b,Z2: produc4862256710654508797_c_nat] :
      ( ( X
        = ( produc8868828497325608613_c_nat @ Y @ Z2 ) )
     => ( ( produc6033490199168946105_c_nat @ X )
        = Y ) ) ).

% fstI
thf(fact_504_eq__fst__iff,axiom,
    ! [A2: d,P2: product_prod_d_e] :
      ( ( A2
        = ( product_fst_d_e @ P2 ) )
      = ( ? [B4: e] :
            ( P2
            = ( product_Pair_d_e @ A2 @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_505_eq__fst__iff,axiom,
    ! [A2: d,P2: product_prod_d_c] :
      ( ( A2
        = ( product_fst_d_c @ P2 ) )
      = ( ? [B4: c] :
            ( P2
            = ( product_Pair_d_c @ A2 @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_506_eq__fst__iff,axiom,
    ! [A2: b,P2: produc4731008658490410835_c_nat] :
      ( ( A2
        = ( produc3138273293139183023_c_nat @ P2 ) )
      = ( ? [B4: produc7123198797777838443_c_nat] :
            ( P2
            = ( produc1153541909957361603_c_nat @ A2 @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_507_eq__fst__iff,axiom,
    ! [A2: b,P2: produc69853407467193432_b_a_b] :
      ( ( A2
        = ( produc3398860285988099686_b_a_b @ P2 ) )
      = ( ? [B4: mappin8597647756751374250_b_a_b] :
            ( P2
            = ( produc5420919026241514322_b_a_b @ A2 @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_508_eq__fst__iff,axiom,
    ! [A2: nat,P2: product_prod_nat_nat] :
      ( ( A2
        = ( product_fst_nat_nat @ P2 ) )
      = ( ? [B4: nat] :
            ( P2
            = ( product_Pair_nat_nat @ A2 @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_509_eq__fst__iff,axiom,
    ! [A2: b,P2: produc4862256710654508797_c_nat] :
      ( ( A2
        = ( produc8816143915943518219_c_nat @ P2 ) )
      = ( ? [B4: option7520157102916957007_c_nat] :
            ( P2
            = ( produc5716802255202478839_c_nat @ A2 @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_510_eq__fst__iff,axiom,
    ! [A2: c,P2: product_prod_c_a] :
      ( ( A2
        = ( product_fst_c_a @ P2 ) )
      = ( ? [B4: a] :
            ( P2
            = ( product_Pair_c_a @ A2 @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_511_eq__fst__iff,axiom,
    ! [A2: b,P2: product_prod_b_c] :
      ( ( A2
        = ( product_fst_b_c @ P2 ) )
      = ( ? [B4: c] :
            ( P2
            = ( product_Pair_b_c @ A2 @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_512_eq__fst__iff,axiom,
    ! [A2: b,P2: produc6689720525226317995_c_nat] :
      ( ( A2
        = ( produc6033490199168946105_c_nat @ P2 ) )
      = ( ? [B4: produc4862256710654508797_c_nat] :
            ( P2
            = ( produc8868828497325608613_c_nat @ A2 @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_513_ivl__subset,axiom,
    ! [I: nat,J: nat,M: nat,N: nat] :
      ( ( ord_less_eq_set_nat @ ( set_or4665077453230672383an_nat @ I @ J ) @ ( set_or4665077453230672383an_nat @ M @ N ) )
      = ( ( ord_less_eq_nat @ J @ I )
        | ( ( ord_less_eq_nat @ M @ I )
          & ( ord_less_eq_nat @ J @ N ) ) ) ) ).

% ivl_subset
thf(fact_514_atLeastLessThan__iff,axiom,
    ! [I: nat,L: nat,U: nat] :
      ( ( member_nat @ I @ ( set_or4665077453230672383an_nat @ L @ U ) )
      = ( ( ord_less_eq_nat @ L @ I )
        & ( ord_less_nat @ I @ U ) ) ) ).

% atLeastLessThan_iff
thf(fact_515_atLeastLessThan__iff,axiom,
    ! [I: c,L: c,U: c] :
      ( ( member_c @ I @ ( set_or5139330845457685137Than_c @ L @ U ) )
      = ( ( ord_less_eq_c @ L @ I )
        & ( ord_less_c @ I @ U ) ) ) ).

% atLeastLessThan_iff
thf(fact_516_atLeastLessThan__eq__iff,axiom,
    ! [A2: nat,B: nat,C2: nat,D: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ord_less_nat @ C2 @ D )
       => ( ( ( set_or4665077453230672383an_nat @ A2 @ B )
            = ( set_or4665077453230672383an_nat @ C2 @ D ) )
          = ( ( A2 = C2 )
            & ( B = D ) ) ) ) ) ).

% atLeastLessThan_eq_iff
thf(fact_517_Ico__eq__Ico,axiom,
    ! [L: nat,H: nat,L4: nat,H2: nat] :
      ( ( ( set_or4665077453230672383an_nat @ L @ H )
        = ( set_or4665077453230672383an_nat @ L4 @ H2 ) )
      = ( ( ( L = L4 )
          & ( H = H2 ) )
        | ( ~ ( ord_less_nat @ L @ H )
          & ~ ( ord_less_nat @ L4 @ H2 ) ) ) ) ).

% Ico_eq_Ico
thf(fact_518_atLeastLessThan__inj_I1_J,axiom,
    ! [A2: nat,B: nat,C2: nat,D: nat] :
      ( ( ( set_or4665077453230672383an_nat @ A2 @ B )
        = ( set_or4665077453230672383an_nat @ C2 @ D ) )
     => ( ( ord_less_nat @ A2 @ B )
       => ( ( ord_less_nat @ C2 @ D )
         => ( A2 = C2 ) ) ) ) ).

% atLeastLessThan_inj(1)
thf(fact_519_atLeastLessThan__inj_I2_J,axiom,
    ! [A2: nat,B: nat,C2: nat,D: nat] :
      ( ( ( set_or4665077453230672383an_nat @ A2 @ B )
        = ( set_or4665077453230672383an_nat @ C2 @ D ) )
     => ( ( ord_less_nat @ A2 @ B )
       => ( ( ord_less_nat @ C2 @ D )
         => ( B = D ) ) ) ) ).

% atLeastLessThan_inj(2)
thf(fact_520_atLeastLessThan__subset__iff,axiom,
    ! [A2: nat,B: nat,C2: nat,D: nat] :
      ( ( ord_less_eq_set_nat @ ( set_or4665077453230672383an_nat @ A2 @ B ) @ ( set_or4665077453230672383an_nat @ C2 @ D ) )
     => ( ( ord_less_eq_nat @ B @ A2 )
        | ( ( ord_less_eq_nat @ C2 @ A2 )
          & ( ord_less_eq_nat @ B @ D ) ) ) ) ).

% atLeastLessThan_subset_iff
thf(fact_521_sup__acc__NoneE,axiom,
    ! [L: nat,I: nat,J: nat,Step: b > a > b,Accept: b > $o,Rho: list_P125642481956313003od_c_a,Q: b] :
      ( ( member_nat @ L @ ( set_or4665077453230672383an_nat @ I @ J ) )
     => ( ( ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J )
          = none_P6573378090780909534_c_nat )
       => ~ ( acc_b_a_c @ Step @ Accept @ Rho @ Q @ ( product_Pair_nat_nat @ I @ ( suc @ L ) ) ) ) ) ).

% sup_acc_NoneE
thf(fact_522_args_Osurjective,axiom,
    ! [R2: args_e6516999200615308162t_unit] :
      ( R2
      = ( args_e9083925656978281604t_unit @ ( w_init5504024821283585547t_unit @ R2 ) @ ( w_step6169476737019890567t_unit @ R2 ) @ ( w_acce2293875733780235011t_unit @ R2 ) @ ( w_run_2440119097188408004t_unit @ R2 ) @ ( w_read2325810693662453533t_unit @ R2 ) @ ( w_run_5029099626773294832t_unit @ R2 ) @ ( more_a893818824965617355t_unit @ R2 ) ) ) ).

% args.surjective
thf(fact_523_complete__interval,axiom,
    ! [A2: nat,B: nat,P: nat > $o] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( P @ A2 )
       => ( ~ ( P @ B )
         => ? [C: nat] :
              ( ( ord_less_eq_nat @ A2 @ C )
              & ( ord_less_eq_nat @ C @ B )
              & ! [X6: nat] :
                  ( ( ( ord_less_eq_nat @ A2 @ X6 )
                    & ( ord_less_nat @ X6 @ C ) )
                 => ( P @ X6 ) )
              & ! [D3: nat] :
                  ( ! [X4: nat] :
                      ( ( ( ord_less_eq_nat @ A2 @ X4 )
                        & ( ord_less_nat @ X4 @ D3 ) )
                     => ( P @ X4 ) )
                 => ( ord_less_eq_nat @ D3 @ C ) ) ) ) ) ) ).

% complete_interval
thf(fact_524_verit__comp__simplify1_I3_J,axiom,
    ! [B2: nat,A3: nat] :
      ( ( ~ ( ord_less_eq_nat @ B2 @ A3 ) )
      = ( ord_less_nat @ A3 @ B2 ) ) ).

% verit_comp_simplify1(3)
thf(fact_525_pinf_I6_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z @ X6 )
     => ~ ( ord_less_eq_nat @ X6 @ T ) ) ).

% pinf(6)
thf(fact_526_pinf_I8_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z @ X6 )
     => ( ord_less_eq_nat @ T @ X6 ) ) ).

% pinf(8)
thf(fact_527_args_Oselect__convs_I6_J,axiom,
    ! [W_init: b,W_step: b > a > b,W_accept: b > $o,W_run_t: d > option3445281501233115692od_d_c,W_read_t: d > option_c,W_run_sub: e > option2667564420535437033od_e_a,More: product_unit] :
      ( ( w_run_5029099626773294832t_unit @ ( args_e9083925656978281604t_unit @ W_init @ W_step @ W_accept @ W_run_t @ W_read_t @ W_run_sub @ More ) )
      = W_run_sub ) ).

% args.select_convs(6)
thf(fact_528_args_Oselect__convs_I4_J,axiom,
    ! [W_init: b,W_step: b > a > b,W_accept: b > $o,W_run_t: d > option3445281501233115692od_d_c,W_read_t: d > option_c,W_run_sub: e > option2667564420535437033od_e_a,More: product_unit] :
      ( ( w_run_2440119097188408004t_unit @ ( args_e9083925656978281604t_unit @ W_init @ W_step @ W_accept @ W_run_t @ W_read_t @ W_run_sub @ More ) )
      = W_run_t ) ).

% args.select_convs(4)
thf(fact_529_args_Oselect__convs_I1_J,axiom,
    ! [W_init: b,W_step: b > a > b,W_accept: b > $o,W_run_t: d > option3445281501233115692od_d_c,W_read_t: d > option_c,W_run_sub: e > option2667564420535437033od_e_a,More: product_unit] :
      ( ( w_init5504024821283585547t_unit @ ( args_e9083925656978281604t_unit @ W_init @ W_step @ W_accept @ W_run_t @ W_read_t @ W_run_sub @ More ) )
      = W_init ) ).

% args.select_convs(1)
thf(fact_530_args_Oselect__convs_I2_J,axiom,
    ! [W_init: b,W_step: b > a > b,W_accept: b > $o,W_run_t: d > option3445281501233115692od_d_c,W_read_t: d > option_c,W_run_sub: e > option2667564420535437033od_e_a,More: product_unit] :
      ( ( w_step6169476737019890567t_unit @ ( args_e9083925656978281604t_unit @ W_init @ W_step @ W_accept @ W_run_t @ W_read_t @ W_run_sub @ More ) )
      = W_step ) ).

% args.select_convs(2)
thf(fact_531_args_Oselect__convs_I3_J,axiom,
    ! [W_init: b,W_step: b > a > b,W_accept: b > $o,W_run_t: d > option3445281501233115692od_d_c,W_read_t: d > option_c,W_run_sub: e > option2667564420535437033od_e_a,More: product_unit] :
      ( ( w_acce2293875733780235011t_unit @ ( args_e9083925656978281604t_unit @ W_init @ W_step @ W_accept @ W_run_t @ W_read_t @ W_run_sub @ More ) )
      = W_accept ) ).

% args.select_convs(3)
thf(fact_532_verit__comp__simplify1_I2_J,axiom,
    ! [A2: nat] : ( ord_less_eq_nat @ A2 @ A2 ) ).

% verit_comp_simplify1(2)
thf(fact_533_verit__comp__simplify1_I2_J,axiom,
    ! [A2: c] : ( ord_less_eq_c @ A2 @ A2 ) ).

% verit_comp_simplify1(2)
thf(fact_534_verit__la__disequality,axiom,
    ! [A2: nat,B: nat] :
      ( ( A2 = B )
      | ~ ( ord_less_eq_nat @ A2 @ B )
      | ~ ( ord_less_eq_nat @ B @ A2 ) ) ).

% verit_la_disequality
thf(fact_535_minf_I7_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z )
     => ~ ( ord_less_nat @ T @ X6 ) ) ).

% minf(7)
thf(fact_536_minf_I5_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z )
     => ( ord_less_nat @ X6 @ T ) ) ).

% minf(5)
thf(fact_537_minf_I4_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z )
     => ( X6 != T ) ) ).

% minf(4)
thf(fact_538_minf_I3_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z )
     => ( X6 != T ) ) ).

% minf(3)
thf(fact_539_minf_I2_J,axiom,
    ! [P: nat > $o,P5: nat > $o,Q9: nat > $o,Q10: nat > $o] :
      ( ? [Z4: nat] :
        ! [X4: nat] :
          ( ( ord_less_nat @ X4 @ Z4 )
         => ( ( P @ X4 )
            = ( P5 @ X4 ) ) )
     => ( ? [Z4: nat] :
          ! [X4: nat] :
            ( ( ord_less_nat @ X4 @ Z4 )
           => ( ( Q9 @ X4 )
              = ( Q10 @ X4 ) ) )
       => ? [Z: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ X6 @ Z )
           => ( ( ( P @ X6 )
                | ( Q9 @ X6 ) )
              = ( ( P5 @ X6 )
                | ( Q10 @ X6 ) ) ) ) ) ) ).

% minf(2)
thf(fact_540_minf_I1_J,axiom,
    ! [P: nat > $o,P5: nat > $o,Q9: nat > $o,Q10: nat > $o] :
      ( ? [Z4: nat] :
        ! [X4: nat] :
          ( ( ord_less_nat @ X4 @ Z4 )
         => ( ( P @ X4 )
            = ( P5 @ X4 ) ) )
     => ( ? [Z4: nat] :
          ! [X4: nat] :
            ( ( ord_less_nat @ X4 @ Z4 )
           => ( ( Q9 @ X4 )
              = ( Q10 @ X4 ) ) )
       => ? [Z: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ X6 @ Z )
           => ( ( ( P @ X6 )
                & ( Q9 @ X6 ) )
              = ( ( P5 @ X6 )
                & ( Q10 @ X6 ) ) ) ) ) ) ).

% minf(1)
thf(fact_541_pinf_I7_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z @ X6 )
     => ( ord_less_nat @ T @ X6 ) ) ).

% pinf(7)
thf(fact_542_pinf_I5_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z @ X6 )
     => ~ ( ord_less_nat @ X6 @ T ) ) ).

% pinf(5)
thf(fact_543_pinf_I4_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z @ X6 )
     => ( X6 != T ) ) ).

% pinf(4)
thf(fact_544_pinf_I3_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z @ X6 )
     => ( X6 != T ) ) ).

% pinf(3)
thf(fact_545_pinf_I2_J,axiom,
    ! [P: nat > $o,P5: nat > $o,Q9: nat > $o,Q10: nat > $o] :
      ( ? [Z4: nat] :
        ! [X4: nat] :
          ( ( ord_less_nat @ Z4 @ X4 )
         => ( ( P @ X4 )
            = ( P5 @ X4 ) ) )
     => ( ? [Z4: nat] :
          ! [X4: nat] :
            ( ( ord_less_nat @ Z4 @ X4 )
           => ( ( Q9 @ X4 )
              = ( Q10 @ X4 ) ) )
       => ? [Z: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ Z @ X6 )
           => ( ( ( P @ X6 )
                | ( Q9 @ X6 ) )
              = ( ( P5 @ X6 )
                | ( Q10 @ X6 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_546_pinf_I1_J,axiom,
    ! [P: nat > $o,P5: nat > $o,Q9: nat > $o,Q10: nat > $o] :
      ( ? [Z4: nat] :
        ! [X4: nat] :
          ( ( ord_less_nat @ Z4 @ X4 )
         => ( ( P @ X4 )
            = ( P5 @ X4 ) ) )
     => ( ? [Z4: nat] :
          ! [X4: nat] :
            ( ( ord_less_nat @ Z4 @ X4 )
           => ( ( Q9 @ X4 )
              = ( Q10 @ X4 ) ) )
       => ? [Z: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ Z @ X6 )
           => ( ( ( P @ X6 )
                & ( Q9 @ X6 ) )
              = ( ( P5 @ X6 )
                & ( Q10 @ X6 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_547_verit__comp__simplify1_I1_J,axiom,
    ! [A2: nat] :
      ~ ( ord_less_nat @ A2 @ A2 ) ).

% verit_comp_simplify1(1)
thf(fact_548_minf_I8_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z )
     => ~ ( ord_less_eq_nat @ T @ X6 ) ) ).

% minf(8)
thf(fact_549_minf_I6_J,axiom,
    ! [T: nat] :
    ? [Z: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z )
     => ( ord_less_eq_nat @ X6 @ T ) ) ).

% minf(6)
thf(fact_550_subsetI,axiom,
    ! [A: set_b,B5: set_b] :
      ( ! [X4: b] :
          ( ( member_b @ X4 @ A )
         => ( member_b @ X4 @ B5 ) )
     => ( ord_less_eq_set_b @ A @ B5 ) ) ).

% subsetI
thf(fact_551_subsetI,axiom,
    ! [A: set_Pr8693737435421807431at_nat,B5: set_Pr8693737435421807431at_nat] :
      ( ! [X4: produc859450856879609959at_nat] :
          ( ( member8206827879206165904at_nat @ X4 @ A )
         => ( member8206827879206165904at_nat @ X4 @ B5 ) )
     => ( ord_le3000389064537975527at_nat @ A @ B5 ) ) ).

% subsetI
thf(fact_552_map__values__lookup,axiom,
    ! [F: b > c > c,M: list_P903359562653991662od_b_c,Z2: b,V2: c] :
      ( ( ( mmap_lookup_b_c @ ( mmap_map_b_c_c @ F @ M ) @ Z2 )
        = ( some_c @ V2 ) )
     => ? [V3: c] :
          ( ( ( mmap_lookup_b_c @ M @ Z2 )
            = ( some_c @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_553_map__values__lookup,axiom,
    ! [F: b > c > product_prod_d_c,M: list_P903359562653991662od_b_c,Z2: b,V2: product_prod_d_c] :
      ( ( ( mmap_l6702574138473943980od_d_c @ ( mmap_m1348102327091814611od_d_c @ F @ M ) @ Z2 )
        = ( some_P4453072594738582219od_d_c @ V2 ) )
     => ? [V3: c] :
          ( ( ( mmap_lookup_b_c @ M @ Z2 )
            = ( some_c @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_554_map__values__lookup,axiom,
    ! [F: b > c > product_prod_e_a,M: list_P903359562653991662od_b_c,Z2: b,V2: product_prod_e_a] :
      ( ( ( mmap_l3915118547894810345od_e_a @ ( mmap_m7784018773367456784od_e_a @ F @ M ) @ Z2 )
        = ( some_P1665617004159448584od_e_a @ V2 ) )
     => ? [V3: c] :
          ( ( ( mmap_lookup_b_c @ M @ Z2 )
            = ( some_c @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_555_map__values__lookup,axiom,
    ! [F: b > product_prod_d_c > c,M: list_P3376028660666594516od_d_c,Z2: b,V2: c] :
      ( ( ( mmap_lookup_b_c @ ( mmap_m4097282906021346695_d_c_c @ F @ M ) @ Z2 )
        = ( some_c @ V2 ) )
     => ? [V3: product_prod_d_c] :
          ( ( ( mmap_l6702574138473943980od_d_c @ M @ Z2 )
            = ( some_P4453072594738582219od_d_c @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_556_map__values__lookup,axiom,
    ! [F: b > product_prod_e_a > c,M: list_P1845696090888485649od_e_a,Z2: b,V2: c] :
      ( ( ( mmap_lookup_b_c @ ( mmap_m1741427485564674954_e_a_c @ F @ M ) @ Z2 )
        = ( some_c @ V2 ) )
     => ? [V3: product_prod_e_a] :
          ( ( ( mmap_l3915118547894810345od_e_a @ M @ Z2 )
            = ( some_P1665617004159448584od_e_a @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_557_map__values__lookup,axiom,
    ! [F: b > produc4862256710654508797_c_nat > c,M: list_P7417839048565863355_c_nat,Z2: b,V2: c] :
      ( ( ( mmap_lookup_b_c @ ( mmap_m3523663605641305108_nat_c @ F @ M ) @ Z2 )
        = ( some_c @ V2 ) )
     => ? [V3: produc4862256710654508797_c_nat] :
          ( ( ( mmap_l5026999719965937591_c_nat @ M @ Z2 )
            = ( some_P2720002978653898840_c_nat @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_558_map__values__lookup,axiom,
    ! [F: b > c > produc4862256710654508797_c_nat,M: list_P903359562653991662od_b_c,Z2: b,V2: produc4862256710654508797_c_nat] :
      ( ( ( mmap_l5026999719965937591_c_nat @ ( mmap_m3921707120754670672_c_nat @ F @ M ) @ Z2 )
        = ( some_P2720002978653898840_c_nat @ V2 ) )
     => ? [V3: c] :
          ( ( ( mmap_lookup_b_c @ M @ Z2 )
            = ( some_c @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_559_map__values__lookup,axiom,
    ! [F: b > produc4862256710654508797_c_nat > product_prod_d_c,M: list_P7417839048565863355_c_nat,Z2: b,V2: product_prod_d_c] :
      ( ( ( mmap_l6702574138473943980od_d_c @ ( mmap_m9171942480829126650od_d_c @ F @ M ) @ Z2 )
        = ( some_P4453072594738582219od_d_c @ V2 ) )
     => ? [V3: produc4862256710654508797_c_nat] :
          ( ( ( mmap_l5026999719965937591_c_nat @ M @ Z2 )
            = ( some_P2720002978653898840_c_nat @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_560_map__values__lookup,axiom,
    ! [F: b > produc4862256710654508797_c_nat > product_prod_e_a,M: list_P7417839048565863355_c_nat,Z2: b,V2: product_prod_e_a] :
      ( ( ( mmap_l3915118547894810345od_e_a @ ( mmap_m6384486890249993015od_e_a @ F @ M ) @ Z2 )
        = ( some_P1665617004159448584od_e_a @ V2 ) )
     => ? [V3: produc4862256710654508797_c_nat] :
          ( ( ( mmap_l5026999719965937591_c_nat @ M @ Z2 )
            = ( some_P2720002978653898840_c_nat @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_561_map__values__lookup,axiom,
    ! [F: b > product_prod_d_c > produc4862256710654508797_c_nat,M: list_P3376028660666594516od_d_c,Z2: b,V2: produc4862256710654508797_c_nat] :
      ( ( ( mmap_l5026999719965937591_c_nat @ ( mmap_m4864370145940641078_c_nat @ F @ M ) @ Z2 )
        = ( some_P2720002978653898840_c_nat @ V2 ) )
     => ? [V3: product_prod_d_c] :
          ( ( ( mmap_l6702574138473943980od_d_c @ M @ Z2 )
            = ( some_P4453072594738582219od_d_c @ V3 ) )
          & ( V2
            = ( F @ Z2 @ V3 ) ) ) ) ).

% map_values_lookup
thf(fact_562_psubsetD,axiom,
    ! [A: set_b,B5: set_b,C2: b] :
      ( ( ord_less_set_b @ A @ B5 )
     => ( ( member_b @ C2 @ A )
       => ( member_b @ C2 @ B5 ) ) ) ).

% psubsetD
thf(fact_563_psubsetD,axiom,
    ! [A: set_Pr8693737435421807431at_nat,B5: set_Pr8693737435421807431at_nat,C2: produc859450856879609959at_nat] :
      ( ( ord_le6428140832669894131at_nat @ A @ B5 )
     => ( ( member8206827879206165904at_nat @ C2 @ A )
       => ( member8206827879206165904at_nat @ C2 @ B5 ) ) ) ).

% psubsetD
thf(fact_564_in__mono,axiom,
    ! [A: set_b,B5: set_b,X: b] :
      ( ( ord_less_eq_set_b @ A @ B5 )
     => ( ( member_b @ X @ A )
       => ( member_b @ X @ B5 ) ) ) ).

% in_mono
thf(fact_565_in__mono,axiom,
    ! [A: set_Pr8693737435421807431at_nat,B5: set_Pr8693737435421807431at_nat,X: produc859450856879609959at_nat] :
      ( ( ord_le3000389064537975527at_nat @ A @ B5 )
     => ( ( member8206827879206165904at_nat @ X @ A )
       => ( member8206827879206165904at_nat @ X @ B5 ) ) ) ).

% in_mono
thf(fact_566_subsetD,axiom,
    ! [A: set_b,B5: set_b,C2: b] :
      ( ( ord_less_eq_set_b @ A @ B5 )
     => ( ( member_b @ C2 @ A )
       => ( member_b @ C2 @ B5 ) ) ) ).

% subsetD
thf(fact_567_subsetD,axiom,
    ! [A: set_Pr8693737435421807431at_nat,B5: set_Pr8693737435421807431at_nat,C2: produc859450856879609959at_nat] :
      ( ( ord_le3000389064537975527at_nat @ A @ B5 )
     => ( ( member8206827879206165904at_nat @ C2 @ A )
       => ( member8206827879206165904at_nat @ C2 @ B5 ) ) ) ).

% subsetD
thf(fact_568_subset__eq,axiom,
    ( ord_less_eq_set_b
    = ( ^ [A6: set_b,B6: set_b] :
        ! [X3: b] :
          ( ( member_b @ X3 @ A6 )
         => ( member_b @ X3 @ B6 ) ) ) ) ).

% subset_eq
thf(fact_569_subset__eq,axiom,
    ( ord_le3000389064537975527at_nat
    = ( ^ [A6: set_Pr8693737435421807431at_nat,B6: set_Pr8693737435421807431at_nat] :
        ! [X3: produc859450856879609959at_nat] :
          ( ( member8206827879206165904at_nat @ X3 @ A6 )
         => ( member8206827879206165904at_nat @ X3 @ B6 ) ) ) ) ).

% subset_eq
thf(fact_570_subset__iff,axiom,
    ( ord_less_eq_set_b
    = ( ^ [A6: set_b,B6: set_b] :
        ! [T2: b] :
          ( ( member_b @ T2 @ A6 )
         => ( member_b @ T2 @ B6 ) ) ) ) ).

% subset_iff
thf(fact_571_subset__iff,axiom,
    ( ord_le3000389064537975527at_nat
    = ( ^ [A6: set_Pr8693737435421807431at_nat,B6: set_Pr8693737435421807431at_nat] :
        ! [T2: produc859450856879609959at_nat] :
          ( ( member8206827879206165904at_nat @ T2 @ A6 )
         => ( member8206827879206165904at_nat @ T2 @ B6 ) ) ) ) ).

% subset_iff
thf(fact_572_mmap__map__keys,axiom,
    ! [F: b > produc4862256710654508797_c_nat > produc4862256710654508797_c_nat,M: list_P7417839048565863355_c_nat] :
      ( ( mmap_k3080892797436903101_c_nat @ ( mmap_m881505119971688169_c_nat @ F @ M ) )
      = ( mmap_k3080892797436903101_c_nat @ M ) ) ).

% mmap_map_keys
thf(fact_573_tb__cur__def_I3_J,axiom,
    reaches_on_d_c @ run_t @ ti_cur @ ( drop_c @ ( suc @ i_cura ) @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ rho ) ) @ tj ).

% tb_cur_def(3)
thf(fact_574_pair__lessI2,axiom,
    ! [A2: nat,B: nat,S2: nat,T: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_nat @ S2 @ T )
       => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A2 @ S2 ) @ ( product_Pair_nat_nat @ B @ T ) ) @ fun_pair_less ) ) ) ).

% pair_lessI2
thf(fact_575_pair__less__iff1,axiom,
    ! [X: nat,Y: nat,Z2: nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( product_Pair_nat_nat @ X @ Z2 ) ) @ fun_pair_less )
      = ( ord_less_nat @ Y @ Z2 ) ) ).

% pair_less_iff1
thf(fact_576_rotate1__length01,axiom,
    ! [Xs: list_P125642481956313003od_c_a] :
      ( ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Xs ) @ one_one_nat )
     => ( ( rotate8956779416580185720od_c_a @ Xs )
        = Xs ) ) ).

% rotate1_length01
thf(fact_577_length__map,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c] :
      ( ( size_size_list_b @ ( map_Pr8222292247188198875_b_c_b @ F @ Xs ) )
      = ( size_s3392097710323735898od_b_c @ Xs ) ) ).

% length_map
thf(fact_578_length__map,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat] :
      ( ( size_size_list_b @ ( map_Pr6200325787298368846_nat_b @ F @ Xs ) )
      = ( size_s8291829157642911823_c_nat @ Xs ) ) ).

% length_map
thf(fact_579_length__map,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a] :
      ( ( size_size_list_c @ ( map_Pr5866436826731527135_c_a_c @ F @ Xs ) )
      = ( size_s2614380629626057239od_c_a @ Xs ) ) ).

% length_map
thf(fact_580_length__map,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a] :
      ( ( size_size_list_a @ ( map_Pr5866436826731527133_c_a_a @ F @ Xs ) )
      = ( size_s2614380629626057239od_c_a @ Xs ) ) ).

% length_map
thf(fact_581_length__map,axiom,
    ! [F: product_prod_c_a > product_prod_c_a,Xs: list_P125642481956313003od_c_a] :
      ( ( size_s2614380629626057239od_c_a @ ( map_Pr985857057908331396od_c_a @ F @ Xs ) )
      = ( size_s2614380629626057239od_c_a @ Xs ) ) ).

% length_map
thf(fact_582_drop__drop,axiom,
    ! [N: nat,M: nat,Xs: list_c] :
      ( ( drop_c @ N @ ( drop_c @ M @ Xs ) )
      = ( drop_c @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ).

% drop_drop
thf(fact_583_drop__drop,axiom,
    ! [N: nat,M: nat,Xs: list_a] :
      ( ( drop_a @ N @ ( drop_a @ M @ Xs ) )
      = ( drop_a @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ).

% drop_drop
thf(fact_584_tb__def_I3_J,axiom,
    reaches_on_d_c @ run_t @ ti @ ( drop_c @ ( suc @ i ) @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ rho ) ) @ tj ).

% tb_def(3)
thf(fact_585_length__rotate1,axiom,
    ! [Xs: list_P125642481956313003od_c_a] :
      ( ( size_s2614380629626057239od_c_a @ ( rotate8956779416580185720od_c_a @ Xs ) )
      = ( size_s2614380629626057239od_c_a @ Xs ) ) ).

% length_rotate1
thf(fact_586_reaches__on__init__Some,axiom,
    ! [R2: d > option3445281501233115692od_d_c,S2: d,Xs: list_c,S3: d] :
      ( ( reaches_on_d_c @ R2 @ S2 @ Xs @ S3 )
     => ( ( ( R2 @ S3 )
         != none_P2775711083323585351od_d_c )
       => ( ( R2 @ S2 )
         != none_P2775711083323585351od_d_c ) ) ) ).

% reaches_on_init_Some
thf(fact_587_reaches__on__init__Some,axiom,
    ! [R2: e > option2667564420535437033od_e_a,S2: e,Xs: list_a,S3: e] :
      ( ( reaches_on_e_a @ R2 @ S2 @ Xs @ S3 )
     => ( ( ( R2 @ S3 )
         != none_P9211627529599227524od_e_a )
       => ( ( R2 @ S2 )
         != none_P9211627529599227524od_e_a ) ) ) ).

% reaches_on_init_Some
thf(fact_588_reaches__on__init__Some,axiom,
    ! [R2: c > option7520157102916957007_c_nat,S2: c,Xs: list_nat,S3: c] :
      ( ( reaches_on_c_nat @ R2 @ S2 @ Xs @ S3 )
     => ( ( ( R2 @ S3 )
         != none_P6573378090780909534_c_nat )
       => ( ( R2 @ S2 )
         != none_P6573378090780909534_c_nat ) ) ) ).

% reaches_on_init_Some
thf(fact_589_map__eq__imp__length__eq,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,G: product_prod_b_c > b,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = ( map_Pr8222292247188198875_b_c_b @ G @ Ys2 ) )
     => ( ( size_s3392097710323735898od_b_c @ Xs )
        = ( size_s3392097710323735898od_b_c @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_590_map__eq__imp__length__eq,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,G: produc6689720525226317995_c_nat > b,Ys2: list_P7417839048565863355_c_nat] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = ( map_Pr6200325787298368846_nat_b @ G @ Ys2 ) )
     => ( ( size_s3392097710323735898od_b_c @ Xs )
        = ( size_s8291829157642911823_c_nat @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_591_map__eq__imp__length__eq,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,G: product_prod_b_c > b,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = ( map_Pr8222292247188198875_b_c_b @ G @ Ys2 ) )
     => ( ( size_s8291829157642911823_c_nat @ Xs )
        = ( size_s3392097710323735898od_b_c @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_592_map__eq__imp__length__eq,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,G: produc6689720525226317995_c_nat > b,Ys2: list_P7417839048565863355_c_nat] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = ( map_Pr6200325787298368846_nat_b @ G @ Ys2 ) )
     => ( ( size_s8291829157642911823_c_nat @ Xs )
        = ( size_s8291829157642911823_c_nat @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_593_map__eq__imp__length__eq,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,G: product_prod_c_a > b,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = ( map_Pr5866436826731527134_c_a_b @ G @ Ys2 ) )
     => ( ( size_s3392097710323735898od_b_c @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_594_map__eq__imp__length__eq,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,G: product_prod_c_a > b,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = ( map_Pr5866436826731527134_c_a_b @ G @ Ys2 ) )
     => ( ( size_s8291829157642911823_c_nat @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_595_map__eq__imp__length__eq,axiom,
    ! [F: product_prod_c_a > b,Xs: list_P125642481956313003od_c_a,G: product_prod_b_c > b,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( map_Pr5866436826731527134_c_a_b @ F @ Xs )
        = ( map_Pr8222292247188198875_b_c_b @ G @ Ys2 ) )
     => ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s3392097710323735898od_b_c @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_596_map__eq__imp__length__eq,axiom,
    ! [F: product_prod_c_a > b,Xs: list_P125642481956313003od_c_a,G: produc6689720525226317995_c_nat > b,Ys2: list_P7417839048565863355_c_nat] :
      ( ( ( map_Pr5866436826731527134_c_a_b @ F @ Xs )
        = ( map_Pr6200325787298368846_nat_b @ G @ Ys2 ) )
     => ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s8291829157642911823_c_nat @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_597_map__eq__imp__length__eq,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a,G: product_prod_c_a > c,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr5866436826731527135_c_a_c @ F @ Xs )
        = ( map_Pr5866436826731527135_c_a_c @ G @ Ys2 ) )
     => ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_598_map__eq__imp__length__eq,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a,G: product_prod_c_a > a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr5866436826731527133_c_a_a @ F @ Xs )
        = ( map_Pr5866436826731527133_c_a_a @ G @ Ys2 ) )
     => ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) ) ) ).

% map_eq_imp_length_eq
thf(fact_599_rotate1__map,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a] :
      ( ( rotate1_c @ ( map_Pr5866436826731527135_c_a_c @ F @ Xs ) )
      = ( map_Pr5866436826731527135_c_a_c @ F @ ( rotate8956779416580185720od_c_a @ Xs ) ) ) ).

% rotate1_map
thf(fact_600_rotate1__map,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a] :
      ( ( rotate1_a @ ( map_Pr5866436826731527133_c_a_a @ F @ Xs ) )
      = ( map_Pr5866436826731527133_c_a_a @ F @ ( rotate8956779416580185720od_c_a @ Xs ) ) ) ).

% rotate1_map
thf(fact_601_rotate1__map,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c] :
      ( ( rotate1_b @ ( map_Pr8222292247188198875_b_c_b @ F @ Xs ) )
      = ( map_Pr8222292247188198875_b_c_b @ F @ ( rotate2520862970304543547od_b_c @ Xs ) ) ) ).

% rotate1_map
thf(fact_602_rotate1__map,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat] :
      ( ( rotate1_b @ ( map_Pr6200325787298368846_nat_b @ F @ Xs ) )
      = ( map_Pr6200325787298368846_nat_b @ F @ ( rotate4489221380399487896_c_nat @ Xs ) ) ) ).

% rotate1_map
thf(fact_603_drop__map,axiom,
    ! [N: nat,F: c > c,Xs: list_c] :
      ( ( drop_c @ N @ ( map_c_c @ F @ Xs ) )
      = ( map_c_c @ F @ ( drop_c @ N @ Xs ) ) ) ).

% drop_map
thf(fact_604_drop__map,axiom,
    ! [N: nat,F: a > c,Xs: list_a] :
      ( ( drop_c @ N @ ( map_a_c @ F @ Xs ) )
      = ( map_a_c @ F @ ( drop_a @ N @ Xs ) ) ) ).

% drop_map
thf(fact_605_drop__map,axiom,
    ! [N: nat,F: c > a,Xs: list_c] :
      ( ( drop_a @ N @ ( map_c_a @ F @ Xs ) )
      = ( map_c_a @ F @ ( drop_c @ N @ Xs ) ) ) ).

% drop_map
thf(fact_606_drop__map,axiom,
    ! [N: nat,F: a > a,Xs: list_a] :
      ( ( drop_a @ N @ ( map_a_a @ F @ Xs ) )
      = ( map_a_a @ F @ ( drop_a @ N @ Xs ) ) ) ).

% drop_map
thf(fact_607_drop__map,axiom,
    ! [N: nat,F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a] :
      ( ( drop_c @ N @ ( map_Pr5866436826731527135_c_a_c @ F @ Xs ) )
      = ( map_Pr5866436826731527135_c_a_c @ F @ ( drop_P2881858833336742123od_c_a @ N @ Xs ) ) ) ).

% drop_map
thf(fact_608_drop__map,axiom,
    ! [N: nat,F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a] :
      ( ( drop_a @ N @ ( map_Pr5866436826731527133_c_a_a @ F @ Xs ) )
      = ( map_Pr5866436826731527133_c_a_a @ F @ ( drop_P2881858833336742123od_c_a @ N @ Xs ) ) ) ).

% drop_map
thf(fact_609_drop__map,axiom,
    ! [N: nat,F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c] :
      ( ( drop_b @ N @ ( map_Pr8222292247188198875_b_c_b @ F @ Xs ) )
      = ( map_Pr8222292247188198875_b_c_b @ F @ ( drop_P5669314423915875758od_b_c @ N @ Xs ) ) ) ).

% drop_map
thf(fact_610_drop__map,axiom,
    ! [N: nat,F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat] :
      ( ( drop_b @ N @ ( map_Pr6200325787298368846_nat_b @ F @ Xs ) )
      = ( map_Pr6200325787298368846_nat_b @ F @ ( drop_P4829762223478669541_c_nat @ N @ Xs ) ) ) ).

% drop_map
thf(fact_611_reaches__on__inj,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,Vs: list_c,T: d,Vs2: list_c,T3: d] :
      ( ( reaches_on_d_c @ Run @ S2 @ Vs @ T )
     => ( ( reaches_on_d_c @ Run @ S2 @ Vs2 @ T3 )
       => ( ( ( size_size_list_c @ Vs )
            = ( size_size_list_c @ Vs2 ) )
         => ( ( Vs = Vs2 )
            & ( T = T3 ) ) ) ) ) ).

% reaches_on_inj
thf(fact_612_reaches__on__inj,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,Vs: list_a,T: e,Vs2: list_a,T3: e] :
      ( ( reaches_on_e_a @ Run @ S2 @ Vs @ T )
     => ( ( reaches_on_e_a @ Run @ S2 @ Vs2 @ T3 )
       => ( ( ( size_size_list_a @ Vs )
            = ( size_size_list_a @ Vs2 ) )
         => ( ( Vs = Vs2 )
            & ( T = T3 ) ) ) ) ) ).

% reaches_on_inj
thf(fact_613_reaches__on__len,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,N: nat] :
    ? [Vs3: list_c,S: d] :
      ( ( reaches_on_d_c @ Run @ S2 @ Vs3 @ S )
      & ( ( ( size_size_list_c @ Vs3 )
          = N )
        | ( ( Run @ S )
          = none_P2775711083323585351od_d_c ) ) ) ).

% reaches_on_len
thf(fact_614_reaches__on__len,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,N: nat] :
    ? [Vs3: list_a,S: e] :
      ( ( reaches_on_e_a @ Run @ S2 @ Vs3 @ S )
      & ( ( ( size_size_list_a @ Vs3 )
          = N )
        | ( ( Run @ S )
          = none_P9211627529599227524od_e_a ) ) ) ).

% reaches_on_len
thf(fact_615_reaches__on__len,axiom,
    ! [Run: c > option7520157102916957007_c_nat,S2: c,N: nat] :
    ? [Vs3: list_nat,S: c] :
      ( ( reaches_on_c_nat @ Run @ S2 @ Vs3 @ S )
      & ( ( ( size_size_list_nat @ Vs3 )
          = N )
        | ( ( Run @ S )
          = none_P6573378090780909534_c_nat ) ) ) ).

% reaches_on_len
thf(fact_616_mmap__map__fst,axiom,
    ! [F: b > option7520157102916957007_c_nat > option7520157102916957007_c_nat,M: list_P8155366108056616461_c_nat] :
      ( ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ ( mmap_m4119996586642187405_c_nat @ F @ M ) )
      = ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ M ) ) ).

% mmap_map_fst
thf(fact_617_mmap__map__fst,axiom,
    ! [F: b > c > option7520157102916957007_c_nat,M: list_P903359562653991662od_b_c] :
      ( ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ ( mmap_m8776140404295941026_c_nat @ F @ M ) )
      = ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ M ) ) ).

% mmap_map_fst
thf(fact_618_mmap__map__fst,axiom,
    ! [F: b > produc4862256710654508797_c_nat > option7520157102916957007_c_nat,M: list_P7417839048565863355_c_nat] :
      ( ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ ( mmap_m3808618123258838843_c_nat @ F @ M ) )
      = ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ M ) ) ).

% mmap_map_fst
thf(fact_619_mmap__map__fst,axiom,
    ! [F: c > a > a,M: list_P125642481956313003od_c_a] :
      ( ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ ( mmap_map_c_a_a @ F @ M ) )
      = ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ M ) ) ).

% mmap_map_fst
thf(fact_620_mmap__map__fst,axiom,
    ! [F: b > option7520157102916957007_c_nat > c,M: list_P8155366108056616461_c_nat] :
      ( ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ ( mmap_m309430304289022530_nat_c @ F @ M ) )
      = ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ M ) ) ).

% mmap_map_fst
thf(fact_621_mmap__map__fst,axiom,
    ! [F: b > c > c,M: list_P903359562653991662od_b_c] :
      ( ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ ( mmap_map_b_c_c @ F @ M ) )
      = ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ M ) ) ).

% mmap_map_fst
thf(fact_622_mmap__map__fst,axiom,
    ! [F: b > produc4862256710654508797_c_nat > c,M: list_P7417839048565863355_c_nat] :
      ( ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ ( mmap_m3523663605641305108_nat_c @ F @ M ) )
      = ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ M ) ) ).

% mmap_map_fst
thf(fact_623_mmap__map__fst,axiom,
    ! [F: b > option7520157102916957007_c_nat > produc4862256710654508797_c_nat,M: list_P8155366108056616461_c_nat] :
      ( ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ ( mmap_m6323497282726167099_c_nat @ F @ M ) )
      = ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ M ) ) ).

% mmap_map_fst
thf(fact_624_mmap__map__fst,axiom,
    ! [F: b > c > produc4862256710654508797_c_nat,M: list_P903359562653991662od_b_c] :
      ( ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ ( mmap_m3921707120754670672_c_nat @ F @ M ) )
      = ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ M ) ) ).

% mmap_map_fst
thf(fact_625_mmap__map__fst,axiom,
    ! [F: b > produc4862256710654508797_c_nat > produc4862256710654508797_c_nat,M: list_P7417839048565863355_c_nat] :
      ( ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ ( mmap_m881505119971688169_c_nat @ F @ M ) )
      = ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ M ) ) ).

% mmap_map_fst
thf(fact_626_pair__lessI1,axiom,
    ! [A2: nat,B: nat,S2: nat,T: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A2 @ S2 ) @ ( product_Pair_nat_nat @ B @ T ) ) @ fun_pair_less ) ) ).

% pair_lessI1
thf(fact_627_reach__window__run__tj,axiom,
    ! [Args: args_e6516999200615308162t_unit,T0: d,Sub: e,Rho: list_P125642481956313003od_c_a,I: nat,Ti: d,Si: e,J: nat,Tj: d,Sj: e] :
      ( ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Ti @ ( produc5384269442762620216od_d_e @ Si @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Tj @ Sj ) ) ) ) ) )
     => ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ Args ) @ T0 @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Rho ) @ Tj ) ) ).

% reach_window_run_tj
thf(fact_628_reaches__on__ti_H,axiom,
    reaches_on_d_c @ run_t @ t0 @ ( take_c @ ( suc @ i ) @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ rho ) ) @ ti ).

% reaches_on_ti'
thf(fact_629_reach__window__run__ti,axiom,
    ! [Args: args_e6516999200615308162t_unit,T0: d,Sub: e,Rho: list_P125642481956313003od_c_a,I: nat,Ti: d,Si: e,J: nat,Tj: d,Sj: e] :
      ( ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Ti @ ( produc5384269442762620216od_d_e @ Si @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Tj @ Sj ) ) ) ) ) )
     => ( ( ord_less_nat @ I @ J )
       => ? [Ti3: d] :
            ( ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ Args ) @ T0 @ ( take_c @ I @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Rho ) ) @ Ti )
            & ( ( w_run_2440119097188408004t_unit @ Args @ Ti )
              = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Ti3 @ ( ts_at_c_a @ Rho @ I ) ) ) )
            & ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ Args ) @ Ti3 @ ( drop_c @ ( suc @ I ) @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Rho ) ) @ Tj ) ) ) ) ).

% reach_window_run_ti
thf(fact_630_reach__window__run__sj,axiom,
    ! [Args: args_e6516999200615308162t_unit,T0: d,Sub: e,Rho: list_P125642481956313003od_c_a,I: nat,Ti: d,Si: e,J: nat,Tj: d,Sj: e] :
      ( ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Ti @ ( produc5384269442762620216od_d_e @ Si @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Tj @ Sj ) ) ) ) ) )
     => ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ Args ) @ Sub @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Rho ) @ Sj ) ) ).

% reach_window_run_sj
thf(fact_631__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062ti_H__cur_Asi_H__cur_At__cur_Ab__cur_O_A_092_060lbrakk_062run__t_Ati__cur_A_061_ASome_A_Iti_H__cur_M_At__cur_J_059_Arun__sub_Asi__cur_A_061_ASome_A_Isi_H__cur_M_Ab__cur_J_059_Areaches__on_Arun__t_Ati_H__cur_A_Idrop_A_ISuc_Ai__cur_J_A_Imap_Afst_Arho_J_J_Atj_059_Areaches__on_Arun__sub_Asi_H__cur_A_Idrop_A_ISuc_Ai__cur_J_A_Imap_Asnd_Arho_J_J_Asj_059_At__cur_A_061_Ats__at_Arho_Ai__cur_059_Ab__cur_A_061_Abs__at_Arho_Ai__cur_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [Ti_cur2: d,Si_cur2: e,T_cur: c] :
        ( ( ( run_t @ ti_cura )
          = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Ti_cur2 @ T_cur ) ) )
       => ! [B_cur: a] :
            ( ( ( run_sub @ si_cura )
              = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Si_cur2 @ B_cur ) ) )
           => ( ( reaches_on_d_c @ run_t @ Ti_cur2 @ ( drop_c @ ( suc @ i_cura ) @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ rho ) ) @ tj )
             => ( ( reaches_on_e_a @ run_sub @ Si_cur2 @ ( drop_a @ ( suc @ i_cura ) @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ rho ) ) @ sj )
               => ( ( T_cur
                    = ( ts_at_c_a @ rho @ i_cura ) )
                 => ( B_cur
                   != ( bs_at_c_a @ rho @ i_cura ) ) ) ) ) ) ) ).

% \<open>\<And>thesis. (\<And>ti'_cur si'_cur t_cur b_cur. \<lbrakk>run_t ti_cur = Some (ti'_cur, t_cur); run_sub si_cur = Some (si'_cur, b_cur); reaches_on run_t ti'_cur (drop (Suc i_cur) (map fst rho)) tj; reaches_on run_sub si'_cur (drop (Suc i_cur) (map snd rho)) sj; t_cur = ts_at rho i_cur; b_cur = bs_at rho i_cur\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_632_tb__def_I4_J,axiom,
    reaches_on_e_a @ run_sub @ si @ ( drop_a @ ( suc @ i ) @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ rho ) ) @ sj ).

% tb_def(4)
thf(fact_633_tb__cur__def_I4_J,axiom,
    reaches_on_e_a @ run_sub @ si_cur @ ( drop_a @ ( suc @ i_cura ) @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ rho ) ) @ sj ).

% tb_cur_def(4)
thf(fact_634_prod_Ocollapse,axiom,
    ! [Prod: product_prod_d_e] :
      ( ( product_Pair_d_e @ ( product_fst_d_e @ Prod ) @ ( product_snd_d_e @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_635_prod_Ocollapse,axiom,
    ! [Prod: product_prod_d_c] :
      ( ( product_Pair_d_c @ ( product_fst_d_c @ Prod ) @ ( product_snd_d_c @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_636_prod_Ocollapse,axiom,
    ! [Prod: produc4731008658490410835_c_nat] :
      ( ( produc1153541909957361603_c_nat @ ( produc3138273293139183023_c_nat @ Prod ) @ ( produc8285974589448078577_c_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_637_prod_Ocollapse,axiom,
    ! [Prod: produc69853407467193432_b_a_b] :
      ( ( produc5420919026241514322_b_a_b @ ( produc3398860285988099686_b_a_b @ Prod ) @ ( produc7010306612471679140_b_a_b @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_638_prod_Ocollapse,axiom,
    ! [Prod: product_prod_nat_nat] :
      ( ( product_Pair_nat_nat @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_639_prod_Ocollapse,axiom,
    ! [Prod: produc4862256710654508797_c_nat] :
      ( ( produc5716802255202478839_c_nat @ ( produc8816143915943518219_c_nat @ Prod ) @ ( produc2435110264752509257_c_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_640_prod_Ocollapse,axiom,
    ! [Prod: product_prod_b_c] :
      ( ( product_Pair_b_c @ ( product_fst_b_c @ Prod ) @ ( product_snd_b_c @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_641_prod_Ocollapse,axiom,
    ! [Prod: produc6689720525226317995_c_nat] :
      ( ( produc8868828497325608613_c_nat @ ( produc6033490199168946105_c_nat @ Prod ) @ ( produc6319817161620345591_c_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_642_prod_Ocollapse,axiom,
    ! [Prod: product_prod_c_a] :
      ( ( product_Pair_c_a @ ( product_fst_c_a @ Prod ) @ ( product_snd_c_a @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_643_take__all__iff,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ( take_c @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_644_take__all__iff,axiom,
    ! [N: nat,Xs: list_a] :
      ( ( ( take_a @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_645_take__all__iff,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( ( take_P5635244868432972691od_c_a @ N @ Xs )
        = Xs )
      = ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Xs ) @ N ) ) ).

% take_all_iff
thf(fact_646_take__all,axiom,
    ! [Xs: list_c,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N )
     => ( ( take_c @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_647_take__all,axiom,
    ! [Xs: list_a,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ N )
     => ( ( take_a @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_648_take__all,axiom,
    ! [Xs: list_P125642481956313003od_c_a,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Xs ) @ N )
     => ( ( take_P5635244868432972691od_c_a @ N @ Xs )
        = Xs ) ) ).

% take_all
thf(fact_649_reaches__on__si_H,axiom,
    reaches_on_e_a @ run_sub @ sub @ ( take_a @ ( suc @ i ) @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ rho ) ) @ si ).

% reaches_on_si'
thf(fact_650__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062ti_H_Asi_H_At_Ab_O_A_092_060lbrakk_062run__t_Ati_A_061_ASome_A_Iti_H_M_At_J_059_Arun__sub_Asi_A_061_ASome_A_Isi_H_M_Ab_J_059_Areaches__on_Arun__t_Ati_H_A_Idrop_A_ISuc_Ai_J_A_Imap_Afst_Arho_J_J_Atj_059_Areaches__on_Arun__sub_Asi_H_A_Idrop_A_ISuc_Ai_J_A_Imap_Asnd_Arho_J_J_Asj_059_At_A_061_Ats__at_Arho_Ai_059_Ab_A_061_Abs__at_Arho_Ai_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [Ti3: d,Si3: e,T4: c] :
        ( ( ( run_t @ ti2 )
          = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Ti3 @ T4 ) ) )
       => ! [B3: a] :
            ( ( ( run_sub @ si2 )
              = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Si3 @ B3 ) ) )
           => ( ( reaches_on_d_c @ run_t @ Ti3 @ ( drop_c @ ( suc @ i ) @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ rho ) ) @ tj )
             => ( ( reaches_on_e_a @ run_sub @ Si3 @ ( drop_a @ ( suc @ i ) @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ rho ) ) @ sj )
               => ( ( T4
                    = ( ts_at_c_a @ rho @ i ) )
                 => ( B3
                   != ( bs_at_c_a @ rho @ i ) ) ) ) ) ) ) ).

% \<open>\<And>thesis. (\<And>ti' si' t b. \<lbrakk>run_t ti = Some (ti', t); run_sub si = Some (si', b); reaches_on run_t ti' (drop (Suc i) (map fst rho)) tj; reaches_on run_sub si' (drop (Suc i) (map snd rho)) sj; t = ts_at rho i; b = bs_at rho i\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_651_eq__snd__iff,axiom,
    ! [B: e,P2: product_prod_d_e] :
      ( ( B
        = ( product_snd_d_e @ P2 ) )
      = ( ? [A5: d] :
            ( P2
            = ( product_Pair_d_e @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_652_eq__snd__iff,axiom,
    ! [B: c,P2: product_prod_d_c] :
      ( ( B
        = ( product_snd_d_c @ P2 ) )
      = ( ? [A5: d] :
            ( P2
            = ( product_Pair_d_c @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_653_eq__snd__iff,axiom,
    ! [B: produc7123198797777838443_c_nat,P2: produc4731008658490410835_c_nat] :
      ( ( B
        = ( produc8285974589448078577_c_nat @ P2 ) )
      = ( ? [A5: b] :
            ( P2
            = ( produc1153541909957361603_c_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_654_eq__snd__iff,axiom,
    ! [B: mappin8597647756751374250_b_a_b,P2: produc69853407467193432_b_a_b] :
      ( ( B
        = ( produc7010306612471679140_b_a_b @ P2 ) )
      = ( ? [A5: b] :
            ( P2
            = ( produc5420919026241514322_b_a_b @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_655_eq__snd__iff,axiom,
    ! [B: option7520157102916957007_c_nat,P2: produc4862256710654508797_c_nat] :
      ( ( B
        = ( produc2435110264752509257_c_nat @ P2 ) )
      = ( ? [A5: b] :
            ( P2
            = ( produc5716802255202478839_c_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_656_eq__snd__iff,axiom,
    ! [B: nat,P2: product_prod_nat_nat] :
      ( ( B
        = ( product_snd_nat_nat @ P2 ) )
      = ( ? [A5: nat] :
            ( P2
            = ( product_Pair_nat_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_657_eq__snd__iff,axiom,
    ! [B: a,P2: product_prod_c_a] :
      ( ( B
        = ( product_snd_c_a @ P2 ) )
      = ( ? [A5: c] :
            ( P2
            = ( product_Pair_c_a @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_658_sndI,axiom,
    ! [X: product_prod_d_e,Y: d,Z2: e] :
      ( ( X
        = ( product_Pair_d_e @ Y @ Z2 ) )
     => ( ( product_snd_d_e @ X )
        = Z2 ) ) ).

% sndI
thf(fact_659_sndI,axiom,
    ! [X: product_prod_d_c,Y: d,Z2: c] :
      ( ( X
        = ( product_Pair_d_c @ Y @ Z2 ) )
     => ( ( product_snd_d_c @ X )
        = Z2 ) ) ).

% sndI
thf(fact_660_sndI,axiom,
    ! [X: produc4731008658490410835_c_nat,Y: b,Z2: produc7123198797777838443_c_nat] :
      ( ( X
        = ( produc1153541909957361603_c_nat @ Y @ Z2 ) )
     => ( ( produc8285974589448078577_c_nat @ X )
        = Z2 ) ) ).

% sndI
thf(fact_661_sndI,axiom,
    ! [X: produc69853407467193432_b_a_b,Y: b,Z2: mappin8597647756751374250_b_a_b] :
      ( ( X
        = ( produc5420919026241514322_b_a_b @ Y @ Z2 ) )
     => ( ( produc7010306612471679140_b_a_b @ X )
        = Z2 ) ) ).

% sndI
thf(fact_662_sndI,axiom,
    ! [X: produc4862256710654508797_c_nat,Y: b,Z2: option7520157102916957007_c_nat] :
      ( ( X
        = ( produc5716802255202478839_c_nat @ Y @ Z2 ) )
     => ( ( produc2435110264752509257_c_nat @ X )
        = Z2 ) ) ).

% sndI
thf(fact_663_sndI,axiom,
    ! [X: product_prod_nat_nat,Y: nat,Z2: nat] :
      ( ( X
        = ( product_Pair_nat_nat @ Y @ Z2 ) )
     => ( ( product_snd_nat_nat @ X )
        = Z2 ) ) ).

% sndI
thf(fact_664_sndI,axiom,
    ! [X: product_prod_c_a,Y: c,Z2: a] :
      ( ( X
        = ( product_Pair_c_a @ Y @ Z2 ) )
     => ( ( product_snd_c_a @ X )
        = Z2 ) ) ).

% sndI
thf(fact_665_take__map,axiom,
    ! [N: nat,F: c > c,Xs: list_c] :
      ( ( take_c @ N @ ( map_c_c @ F @ Xs ) )
      = ( map_c_c @ F @ ( take_c @ N @ Xs ) ) ) ).

% take_map
thf(fact_666_take__map,axiom,
    ! [N: nat,F: a > c,Xs: list_a] :
      ( ( take_c @ N @ ( map_a_c @ F @ Xs ) )
      = ( map_a_c @ F @ ( take_a @ N @ Xs ) ) ) ).

% take_map
thf(fact_667_take__map,axiom,
    ! [N: nat,F: c > a,Xs: list_c] :
      ( ( take_a @ N @ ( map_c_a @ F @ Xs ) )
      = ( map_c_a @ F @ ( take_c @ N @ Xs ) ) ) ).

% take_map
thf(fact_668_take__map,axiom,
    ! [N: nat,F: a > a,Xs: list_a] :
      ( ( take_a @ N @ ( map_a_a @ F @ Xs ) )
      = ( map_a_a @ F @ ( take_a @ N @ Xs ) ) ) ).

% take_map
thf(fact_669_take__map,axiom,
    ! [N: nat,F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a] :
      ( ( take_c @ N @ ( map_Pr5866436826731527135_c_a_c @ F @ Xs ) )
      = ( map_Pr5866436826731527135_c_a_c @ F @ ( take_P5635244868432972691od_c_a @ N @ Xs ) ) ) ).

% take_map
thf(fact_670_take__map,axiom,
    ! [N: nat,F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a] :
      ( ( take_a @ N @ ( map_Pr5866436826731527133_c_a_a @ F @ Xs ) )
      = ( map_Pr5866436826731527133_c_a_a @ F @ ( take_P5635244868432972691od_c_a @ N @ Xs ) ) ) ).

% take_map
thf(fact_671_take__map,axiom,
    ! [N: nat,F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c] :
      ( ( take_b @ N @ ( map_Pr8222292247188198875_b_c_b @ F @ Xs ) )
      = ( map_Pr8222292247188198875_b_c_b @ F @ ( take_P8422700459012106326od_b_c @ N @ Xs ) ) ) ).

% take_map
thf(fact_672_take__map,axiom,
    ! [N: nat,F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat] :
      ( ( take_b @ N @ ( map_Pr6200325787298368846_nat_b @ F @ Xs ) )
      = ( map_Pr6200325787298368846_nat_b @ F @ ( take_P8276329344927103037_c_nat @ N @ Xs ) ) ) ).

% take_map
thf(fact_673_snd__eqD,axiom,
    ! [X: d,Y: e,A2: e] :
      ( ( ( product_snd_d_e @ ( product_Pair_d_e @ X @ Y ) )
        = A2 )
     => ( Y = A2 ) ) ).

% snd_eqD
thf(fact_674_snd__eqD,axiom,
    ! [X: d,Y: c,A2: c] :
      ( ( ( product_snd_d_c @ ( product_Pair_d_c @ X @ Y ) )
        = A2 )
     => ( Y = A2 ) ) ).

% snd_eqD
thf(fact_675_snd__eqD,axiom,
    ! [X: b,Y: produc7123198797777838443_c_nat,A2: produc7123198797777838443_c_nat] :
      ( ( ( produc8285974589448078577_c_nat @ ( produc1153541909957361603_c_nat @ X @ Y ) )
        = A2 )
     => ( Y = A2 ) ) ).

% snd_eqD
thf(fact_676_snd__eqD,axiom,
    ! [X: b,Y: mappin8597647756751374250_b_a_b,A2: mappin8597647756751374250_b_a_b] :
      ( ( ( produc7010306612471679140_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ Y ) )
        = A2 )
     => ( Y = A2 ) ) ).

% snd_eqD
thf(fact_677_snd__eqD,axiom,
    ! [X: b,Y: option7520157102916957007_c_nat,A2: option7520157102916957007_c_nat] :
      ( ( ( produc2435110264752509257_c_nat @ ( produc5716802255202478839_c_nat @ X @ Y ) )
        = A2 )
     => ( Y = A2 ) ) ).

% snd_eqD
thf(fact_678_snd__eqD,axiom,
    ! [X: nat,Y: nat,A2: nat] :
      ( ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X @ Y ) )
        = A2 )
     => ( Y = A2 ) ) ).

% snd_eqD
thf(fact_679_snd__eqD,axiom,
    ! [X: c,Y: a,A2: a] :
      ( ( ( product_snd_c_a @ ( product_Pair_c_a @ X @ Y ) )
        = A2 )
     => ( Y = A2 ) ) ).

% snd_eqD
thf(fact_680_snd__conv,axiom,
    ! [X1: d,X2: e] :
      ( ( product_snd_d_e @ ( product_Pair_d_e @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_681_snd__conv,axiom,
    ! [X1: d,X2: c] :
      ( ( product_snd_d_c @ ( product_Pair_d_c @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_682_snd__conv,axiom,
    ! [X1: b,X2: produc7123198797777838443_c_nat] :
      ( ( produc8285974589448078577_c_nat @ ( produc1153541909957361603_c_nat @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_683_snd__conv,axiom,
    ! [X1: b,X2: mappin8597647756751374250_b_a_b] :
      ( ( produc7010306612471679140_b_a_b @ ( produc5420919026241514322_b_a_b @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_684_snd__conv,axiom,
    ! [X1: b,X2: option7520157102916957007_c_nat] :
      ( ( produc2435110264752509257_c_nat @ ( produc5716802255202478839_c_nat @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_685_snd__conv,axiom,
    ! [X1: nat,X2: nat] :
      ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_686_snd__conv,axiom,
    ! [X1: c,X2: a] :
      ( ( product_snd_c_a @ ( product_Pair_c_a @ X1 @ X2 ) )
      = X2 ) ).

% snd_conv
thf(fact_687_prod__eq__iff,axiom,
    ( ( ^ [Y6: produc4862256710654508797_c_nat,Z3: produc4862256710654508797_c_nat] : ( Y6 = Z3 ) )
    = ( ^ [S4: produc4862256710654508797_c_nat,T2: produc4862256710654508797_c_nat] :
          ( ( ( produc8816143915943518219_c_nat @ S4 )
            = ( produc8816143915943518219_c_nat @ T2 ) )
          & ( ( produc2435110264752509257_c_nat @ S4 )
            = ( produc2435110264752509257_c_nat @ T2 ) ) ) ) ) ).

% prod_eq_iff
thf(fact_688_prod__eq__iff,axiom,
    ( ( ^ [Y6: product_prod_b_c,Z3: product_prod_b_c] : ( Y6 = Z3 ) )
    = ( ^ [S4: product_prod_b_c,T2: product_prod_b_c] :
          ( ( ( product_fst_b_c @ S4 )
            = ( product_fst_b_c @ T2 ) )
          & ( ( product_snd_b_c @ S4 )
            = ( product_snd_b_c @ T2 ) ) ) ) ) ).

% prod_eq_iff
thf(fact_689_prod__eq__iff,axiom,
    ( ( ^ [Y6: produc6689720525226317995_c_nat,Z3: produc6689720525226317995_c_nat] : ( Y6 = Z3 ) )
    = ( ^ [S4: produc6689720525226317995_c_nat,T2: produc6689720525226317995_c_nat] :
          ( ( ( produc6033490199168946105_c_nat @ S4 )
            = ( produc6033490199168946105_c_nat @ T2 ) )
          & ( ( produc6319817161620345591_c_nat @ S4 )
            = ( produc6319817161620345591_c_nat @ T2 ) ) ) ) ) ).

% prod_eq_iff
thf(fact_690_prod__eq__iff,axiom,
    ( ( ^ [Y6: product_prod_c_a,Z3: product_prod_c_a] : ( Y6 = Z3 ) )
    = ( ^ [S4: product_prod_c_a,T2: product_prod_c_a] :
          ( ( ( product_fst_c_a @ S4 )
            = ( product_fst_c_a @ T2 ) )
          & ( ( product_snd_c_a @ S4 )
            = ( product_snd_c_a @ T2 ) ) ) ) ) ).

% prod_eq_iff
thf(fact_691_prod__eqI,axiom,
    ! [P2: produc4862256710654508797_c_nat,Q: produc4862256710654508797_c_nat] :
      ( ( ( produc8816143915943518219_c_nat @ P2 )
        = ( produc8816143915943518219_c_nat @ Q ) )
     => ( ( ( produc2435110264752509257_c_nat @ P2 )
          = ( produc2435110264752509257_c_nat @ Q ) )
       => ( P2 = Q ) ) ) ).

% prod_eqI
thf(fact_692_prod__eqI,axiom,
    ! [P2: product_prod_b_c,Q: product_prod_b_c] :
      ( ( ( product_fst_b_c @ P2 )
        = ( product_fst_b_c @ Q ) )
     => ( ( ( product_snd_b_c @ P2 )
          = ( product_snd_b_c @ Q ) )
       => ( P2 = Q ) ) ) ).

% prod_eqI
thf(fact_693_prod__eqI,axiom,
    ! [P2: produc6689720525226317995_c_nat,Q: produc6689720525226317995_c_nat] :
      ( ( ( produc6033490199168946105_c_nat @ P2 )
        = ( produc6033490199168946105_c_nat @ Q ) )
     => ( ( ( produc6319817161620345591_c_nat @ P2 )
          = ( produc6319817161620345591_c_nat @ Q ) )
       => ( P2 = Q ) ) ) ).

% prod_eqI
thf(fact_694_prod__eqI,axiom,
    ! [P2: product_prod_c_a,Q: product_prod_c_a] :
      ( ( ( product_fst_c_a @ P2 )
        = ( product_fst_c_a @ Q ) )
     => ( ( ( product_snd_c_a @ P2 )
          = ( product_snd_c_a @ Q ) )
       => ( P2 = Q ) ) ) ).

% prod_eqI
thf(fact_695_prod_Oexpand,axiom,
    ! [Prod: produc4862256710654508797_c_nat,Prod2: produc4862256710654508797_c_nat] :
      ( ( ( ( produc8816143915943518219_c_nat @ Prod )
          = ( produc8816143915943518219_c_nat @ Prod2 ) )
        & ( ( produc2435110264752509257_c_nat @ Prod )
          = ( produc2435110264752509257_c_nat @ Prod2 ) ) )
     => ( Prod = Prod2 ) ) ).

% prod.expand
thf(fact_696_prod_Oexpand,axiom,
    ! [Prod: product_prod_b_c,Prod2: product_prod_b_c] :
      ( ( ( ( product_fst_b_c @ Prod )
          = ( product_fst_b_c @ Prod2 ) )
        & ( ( product_snd_b_c @ Prod )
          = ( product_snd_b_c @ Prod2 ) ) )
     => ( Prod = Prod2 ) ) ).

% prod.expand
thf(fact_697_prod_Oexpand,axiom,
    ! [Prod: produc6689720525226317995_c_nat,Prod2: produc6689720525226317995_c_nat] :
      ( ( ( ( produc6033490199168946105_c_nat @ Prod )
          = ( produc6033490199168946105_c_nat @ Prod2 ) )
        & ( ( produc6319817161620345591_c_nat @ Prod )
          = ( produc6319817161620345591_c_nat @ Prod2 ) ) )
     => ( Prod = Prod2 ) ) ).

% prod.expand
thf(fact_698_prod_Oexpand,axiom,
    ! [Prod: product_prod_c_a,Prod2: product_prod_c_a] :
      ( ( ( ( product_fst_c_a @ Prod )
          = ( product_fst_c_a @ Prod2 ) )
        & ( ( product_snd_c_a @ Prod )
          = ( product_snd_c_a @ Prod2 ) ) )
     => ( Prod = Prod2 ) ) ).

% prod.expand
thf(fact_699_take__equalityI,axiom,
    ! [Xs: list_c,Ys2: list_c] :
      ( ! [I3: nat] :
          ( ( take_c @ I3 @ Xs )
          = ( take_c @ I3 @ Ys2 ) )
     => ( Xs = Ys2 ) ) ).

% take_equalityI
thf(fact_700_take__equalityI,axiom,
    ! [Xs: list_a,Ys2: list_a] :
      ( ! [I3: nat] :
          ( ( take_a @ I3 @ Xs )
          = ( take_a @ I3 @ Ys2 ) )
     => ( Xs = Ys2 ) ) ).

% take_equalityI
thf(fact_701_surjective__pairing,axiom,
    ! [T: product_prod_d_e] :
      ( T
      = ( product_Pair_d_e @ ( product_fst_d_e @ T ) @ ( product_snd_d_e @ T ) ) ) ).

% surjective_pairing
thf(fact_702_surjective__pairing,axiom,
    ! [T: product_prod_d_c] :
      ( T
      = ( product_Pair_d_c @ ( product_fst_d_c @ T ) @ ( product_snd_d_c @ T ) ) ) ).

% surjective_pairing
thf(fact_703_surjective__pairing,axiom,
    ! [T: produc4731008658490410835_c_nat] :
      ( T
      = ( produc1153541909957361603_c_nat @ ( produc3138273293139183023_c_nat @ T ) @ ( produc8285974589448078577_c_nat @ T ) ) ) ).

% surjective_pairing
thf(fact_704_surjective__pairing,axiom,
    ! [T: produc69853407467193432_b_a_b] :
      ( T
      = ( produc5420919026241514322_b_a_b @ ( produc3398860285988099686_b_a_b @ T ) @ ( produc7010306612471679140_b_a_b @ T ) ) ) ).

% surjective_pairing
thf(fact_705_surjective__pairing,axiom,
    ! [T: product_prod_nat_nat] :
      ( T
      = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ T ) @ ( product_snd_nat_nat @ T ) ) ) ).

% surjective_pairing
thf(fact_706_surjective__pairing,axiom,
    ! [T: produc4862256710654508797_c_nat] :
      ( T
      = ( produc5716802255202478839_c_nat @ ( produc8816143915943518219_c_nat @ T ) @ ( produc2435110264752509257_c_nat @ T ) ) ) ).

% surjective_pairing
thf(fact_707_surjective__pairing,axiom,
    ! [T: product_prod_b_c] :
      ( T
      = ( product_Pair_b_c @ ( product_fst_b_c @ T ) @ ( product_snd_b_c @ T ) ) ) ).

% surjective_pairing
thf(fact_708_surjective__pairing,axiom,
    ! [T: produc6689720525226317995_c_nat] :
      ( T
      = ( produc8868828497325608613_c_nat @ ( produc6033490199168946105_c_nat @ T ) @ ( produc6319817161620345591_c_nat @ T ) ) ) ).

% surjective_pairing
thf(fact_709_surjective__pairing,axiom,
    ! [T: product_prod_c_a] :
      ( T
      = ( product_Pair_c_a @ ( product_fst_c_a @ T ) @ ( product_snd_c_a @ T ) ) ) ).

% surjective_pairing
thf(fact_710_prod_Oexhaust__sel,axiom,
    ! [Prod: product_prod_d_e] :
      ( Prod
      = ( product_Pair_d_e @ ( product_fst_d_e @ Prod ) @ ( product_snd_d_e @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_711_prod_Oexhaust__sel,axiom,
    ! [Prod: product_prod_d_c] :
      ( Prod
      = ( product_Pair_d_c @ ( product_fst_d_c @ Prod ) @ ( product_snd_d_c @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_712_prod_Oexhaust__sel,axiom,
    ! [Prod: produc4731008658490410835_c_nat] :
      ( Prod
      = ( produc1153541909957361603_c_nat @ ( produc3138273293139183023_c_nat @ Prod ) @ ( produc8285974589448078577_c_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_713_prod_Oexhaust__sel,axiom,
    ! [Prod: produc69853407467193432_b_a_b] :
      ( Prod
      = ( produc5420919026241514322_b_a_b @ ( produc3398860285988099686_b_a_b @ Prod ) @ ( produc7010306612471679140_b_a_b @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_714_prod_Oexhaust__sel,axiom,
    ! [Prod: product_prod_nat_nat] :
      ( Prod
      = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ Prod ) @ ( product_snd_nat_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_715_prod_Oexhaust__sel,axiom,
    ! [Prod: produc4862256710654508797_c_nat] :
      ( Prod
      = ( produc5716802255202478839_c_nat @ ( produc8816143915943518219_c_nat @ Prod ) @ ( produc2435110264752509257_c_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_716_prod_Oexhaust__sel,axiom,
    ! [Prod: product_prod_b_c] :
      ( Prod
      = ( product_Pair_b_c @ ( product_fst_b_c @ Prod ) @ ( product_snd_b_c @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_717_prod_Oexhaust__sel,axiom,
    ! [Prod: produc6689720525226317995_c_nat] :
      ( Prod
      = ( produc8868828497325608613_c_nat @ ( produc6033490199168946105_c_nat @ Prod ) @ ( produc6319817161620345591_c_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_718_prod_Oexhaust__sel,axiom,
    ! [Prod: product_prod_c_a] :
      ( Prod
      = ( product_Pair_c_a @ ( product_fst_c_a @ Prod ) @ ( product_snd_c_a @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_719_take__drop,axiom,
    ! [N: nat,M: nat,Xs: list_c] :
      ( ( take_c @ N @ ( drop_c @ M @ Xs ) )
      = ( drop_c @ M @ ( take_c @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ) ).

% take_drop
thf(fact_720_take__drop,axiom,
    ! [N: nat,M: nat,Xs: list_a] :
      ( ( take_a @ N @ ( drop_a @ M @ Xs ) )
      = ( drop_a @ M @ ( take_a @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ) ).

% take_drop
thf(fact_721_pair__list__eqI,axiom,
    ! [Xs: list_P8155366108056616461_c_nat,Ys2: list_P8155366108056616461_c_nat] :
      ( ( ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ Xs )
        = ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ Ys2 ) )
     => ( ( ( map_Pr8931211203828011794_c_nat @ produc2435110264752509257_c_nat @ Xs )
          = ( map_Pr8931211203828011794_c_nat @ produc2435110264752509257_c_nat @ Ys2 ) )
       => ( Xs = Ys2 ) ) ) ).

% pair_list_eqI
thf(fact_722_pair__list__eqI,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ Xs )
        = ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ Ys2 ) )
     => ( ( ( map_Pr8222292247188198876_b_c_c @ product_snd_b_c @ Xs )
          = ( map_Pr8222292247188198876_b_c_c @ product_snd_b_c @ Ys2 ) )
       => ( Xs = Ys2 ) ) ) ).

% pair_list_eqI
thf(fact_723_pair__list__eqI,axiom,
    ! [Xs: list_P7417839048565863355_c_nat,Ys2: list_P7417839048565863355_c_nat] :
      ( ( ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ Xs )
        = ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ Ys2 ) )
     => ( ( ( map_Pr4595408008933130094_c_nat @ produc6319817161620345591_c_nat @ Xs )
          = ( map_Pr4595408008933130094_c_nat @ produc6319817161620345591_c_nat @ Ys2 ) )
       => ( Xs = Ys2 ) ) ) ).

% pair_list_eqI
thf(fact_724_pair__list__eqI,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Xs )
        = ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Ys2 ) )
     => ( ( ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Xs )
          = ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Ys2 ) )
       => ( Xs = Ys2 ) ) ) ).

% pair_list_eqI
thf(fact_725_reaches__on__split_H,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,Vs: list_c,S3: d,I: nat] :
      ( ( reaches_on_d_c @ Run @ S2 @ Vs @ S3 )
     => ( ( ord_less_eq_nat @ I @ ( size_size_list_c @ Vs ) )
       => ? [S5: d] :
            ( ( reaches_on_d_c @ Run @ S2 @ ( take_c @ I @ Vs ) @ S5 )
            & ( reaches_on_d_c @ Run @ S5 @ ( drop_c @ I @ Vs ) @ S3 ) ) ) ) ).

% reaches_on_split'
thf(fact_726_reaches__on__split_H,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,Vs: list_a,S3: e,I: nat] :
      ( ( reaches_on_e_a @ Run @ S2 @ Vs @ S3 )
     => ( ( ord_less_eq_nat @ I @ ( size_size_list_a @ Vs ) )
       => ? [S5: e] :
            ( ( reaches_on_e_a @ Run @ S2 @ ( take_a @ I @ Vs ) @ S5 )
            & ( reaches_on_e_a @ Run @ S5 @ ( drop_a @ I @ Vs ) @ S3 ) ) ) ) ).

% reaches_on_split'
thf(fact_727_reach__windowI,axiom,
    ! [Args: args_e6516999200615308162t_unit,T0: d,I: nat,Rho: list_P125642481956313003od_c_a,Ti: d,Sub: e,Si: e,Tj: d,Sj: e,J: nat] :
      ( ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ Args ) @ T0 @ ( take_c @ I @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Rho ) ) @ Ti )
     => ( ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ Args ) @ Sub @ ( take_a @ I @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Rho ) ) @ Si )
       => ( ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ Args ) @ T0 @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Rho ) @ Tj )
         => ( ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ Args ) @ Sub @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Rho ) @ Sj )
           => ( ( ord_less_eq_nat @ I @ ( size_s2614380629626057239od_c_a @ Rho ) )
             => ( ( ( size_s2614380629626057239od_c_a @ Rho )
                  = J )
               => ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Ti @ ( produc5384269442762620216od_d_e @ Si @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Tj @ Sj ) ) ) ) ) ) ) ) ) ) ) ) ).

% reach_windowI
thf(fact_728_reach__window__run__si,axiom,
    ! [Args: args_e6516999200615308162t_unit,T0: d,Sub: e,Rho: list_P125642481956313003od_c_a,I: nat,Ti: d,Si: e,J: nat,Tj: d,Sj: e] :
      ( ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Ti @ ( produc5384269442762620216od_d_e @ Si @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Tj @ Sj ) ) ) ) ) )
     => ( ( ord_less_nat @ I @ J )
       => ? [Si3: e] :
            ( ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ Args ) @ Sub @ ( take_a @ I @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Rho ) ) @ Si )
            & ( ( w_run_5029099626773294832t_unit @ Args @ Si )
              = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Si3 @ ( bs_at_c_a @ Rho @ I ) ) ) )
            & ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ Args ) @ Si3 @ ( drop_a @ ( suc @ I ) @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Rho ) ) @ Sj ) ) ) ) ).

% reach_window_run_si
thf(fact_729_reach__window_Osimps,axiom,
    ! [Args: args_e6516999200615308162t_unit,T0: d,Sub: e,Rho: list_P125642481956313003od_c_a,I: nat,Ti: d,Si: e,J: nat,Tj: d,Sj: e] :
      ( ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Ti @ ( produc5384269442762620216od_d_e @ Si @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Tj @ Sj ) ) ) ) ) )
      = ( ( ord_less_eq_nat @ I @ J )
        & ( ( size_s2614380629626057239od_c_a @ Rho )
          = J )
        & ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ Args ) @ T0 @ ( take_c @ I @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Rho ) ) @ Ti )
        & ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ Args ) @ Ti @ ( drop_c @ I @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Rho ) ) @ Tj )
        & ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ Args ) @ Sub @ ( take_a @ I @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Rho ) ) @ Si )
        & ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ Args ) @ Si @ ( drop_a @ I @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Rho ) ) @ Sj ) ) ) ).

% reach_window.simps
thf(fact_730_reach__window_Oelims_I1_J,axiom,
    ! [X: args_e6516999200615308162t_unit,Xa: d,Xb: e,Xc: list_P125642481956313003od_c_a,Xd: produc7266611839391640223od_d_e,Y: $o] :
      ( ( ( reach_1950258145352836792_c_d_e @ X @ Xa @ Xb @ Xc @ Xd )
        = Y )
     => ~ ! [I3: nat,Ti4: d,Si4: e,J2: nat,Tj3: d,Sj3: e] :
            ( ( Xd
              = ( produc567323201292048087od_d_e @ I3 @ ( produc2738068492226668904od_d_e @ Ti4 @ ( produc5384269442762620216od_d_e @ Si4 @ ( produc7887413874091304127od_d_e @ J2 @ ( product_Pair_d_e @ Tj3 @ Sj3 ) ) ) ) ) )
           => ( Y
              = ( ~ ( ( ord_less_eq_nat @ I3 @ J2 )
                    & ( ( size_s2614380629626057239od_c_a @ Xc )
                      = J2 )
                    & ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ X ) @ Xa @ ( take_c @ I3 @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Xc ) ) @ Ti4 )
                    & ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ X ) @ Ti4 @ ( drop_c @ I3 @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Xc ) ) @ Tj3 )
                    & ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ X ) @ Xb @ ( take_a @ I3 @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Xc ) ) @ Si4 )
                    & ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ X ) @ Si4 @ ( drop_a @ I3 @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Xc ) ) @ Sj3 ) ) ) ) ) ) ).

% reach_window.elims(1)
thf(fact_731_reach__window_Oelims_I2_J,axiom,
    ! [X: args_e6516999200615308162t_unit,Xa: d,Xb: e,Xc: list_P125642481956313003od_c_a,Xd: produc7266611839391640223od_d_e] :
      ( ( reach_1950258145352836792_c_d_e @ X @ Xa @ Xb @ Xc @ Xd )
     => ~ ! [I3: nat,Ti4: d,Si4: e,J2: nat,Tj3: d,Sj3: e] :
            ( ( Xd
              = ( produc567323201292048087od_d_e @ I3 @ ( produc2738068492226668904od_d_e @ Ti4 @ ( produc5384269442762620216od_d_e @ Si4 @ ( produc7887413874091304127od_d_e @ J2 @ ( product_Pair_d_e @ Tj3 @ Sj3 ) ) ) ) ) )
           => ~ ( ( ord_less_eq_nat @ I3 @ J2 )
                & ( ( size_s2614380629626057239od_c_a @ Xc )
                  = J2 )
                & ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ X ) @ Xa @ ( take_c @ I3 @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Xc ) ) @ Ti4 )
                & ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ X ) @ Ti4 @ ( drop_c @ I3 @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Xc ) ) @ Tj3 )
                & ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ X ) @ Xb @ ( take_a @ I3 @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Xc ) ) @ Si4 )
                & ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ X ) @ Si4 @ ( drop_a @ I3 @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Xc ) ) @ Sj3 ) ) ) ) ).

% reach_window.elims(2)
thf(fact_732_reach__window_Oelims_I3_J,axiom,
    ! [X: args_e6516999200615308162t_unit,Xa: d,Xb: e,Xc: list_P125642481956313003od_c_a,Xd: produc7266611839391640223od_d_e] :
      ( ~ ( reach_1950258145352836792_c_d_e @ X @ Xa @ Xb @ Xc @ Xd )
     => ~ ! [I3: nat,Ti4: d,Si4: e,J2: nat,Tj3: d,Sj3: e] :
            ( ( Xd
              = ( produc567323201292048087od_d_e @ I3 @ ( produc2738068492226668904od_d_e @ Ti4 @ ( produc5384269442762620216od_d_e @ Si4 @ ( produc7887413874091304127od_d_e @ J2 @ ( product_Pair_d_e @ Tj3 @ Sj3 ) ) ) ) ) )
           => ( ( ord_less_eq_nat @ I3 @ J2 )
              & ( ( size_s2614380629626057239od_c_a @ Xc )
                = J2 )
              & ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ X ) @ Xa @ ( take_c @ I3 @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Xc ) ) @ Ti4 )
              & ( reaches_on_d_c @ ( w_run_2440119097188408004t_unit @ X ) @ Ti4 @ ( drop_c @ I3 @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Xc ) ) @ Tj3 )
              & ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ X ) @ Xb @ ( take_a @ I3 @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Xc ) ) @ Si4 )
              & ( reaches_on_e_a @ ( w_run_5029099626773294832t_unit @ X ) @ Si4 @ ( drop_a @ I3 @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Xc ) ) @ Sj3 ) ) ) ) ).

% reach_window.elims(3)
thf(fact_733_exI__realizer,axiom,
    ! [P: e > d > $o,Y: e,X: d] :
      ( ( P @ Y @ X )
     => ( P @ ( product_snd_d_e @ ( product_Pair_d_e @ X @ Y ) ) @ ( product_fst_d_e @ ( product_Pair_d_e @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_734_exI__realizer,axiom,
    ! [P: c > d > $o,Y: c,X: d] :
      ( ( P @ Y @ X )
     => ( P @ ( product_snd_d_c @ ( product_Pair_d_c @ X @ Y ) ) @ ( product_fst_d_c @ ( product_Pair_d_c @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_735_exI__realizer,axiom,
    ! [P: produc7123198797777838443_c_nat > b > $o,Y: produc7123198797777838443_c_nat,X: b] :
      ( ( P @ Y @ X )
     => ( P @ ( produc8285974589448078577_c_nat @ ( produc1153541909957361603_c_nat @ X @ Y ) ) @ ( produc3138273293139183023_c_nat @ ( produc1153541909957361603_c_nat @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_736_exI__realizer,axiom,
    ! [P: mappin8597647756751374250_b_a_b > b > $o,Y: mappin8597647756751374250_b_a_b,X: b] :
      ( ( P @ Y @ X )
     => ( P @ ( produc7010306612471679140_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ Y ) ) @ ( produc3398860285988099686_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_737_exI__realizer,axiom,
    ! [P: nat > nat > $o,Y: nat,X: nat] :
      ( ( P @ Y @ X )
     => ( P @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X @ Y ) ) @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_738_exI__realizer,axiom,
    ! [P: option7520157102916957007_c_nat > b > $o,Y: option7520157102916957007_c_nat,X: b] :
      ( ( P @ Y @ X )
     => ( P @ ( produc2435110264752509257_c_nat @ ( produc5716802255202478839_c_nat @ X @ Y ) ) @ ( produc8816143915943518219_c_nat @ ( produc5716802255202478839_c_nat @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_739_exI__realizer,axiom,
    ! [P: c > b > $o,Y: c,X: b] :
      ( ( P @ Y @ X )
     => ( P @ ( product_snd_b_c @ ( product_Pair_b_c @ X @ Y ) ) @ ( product_fst_b_c @ ( product_Pair_b_c @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_740_exI__realizer,axiom,
    ! [P: produc4862256710654508797_c_nat > b > $o,Y: produc4862256710654508797_c_nat,X: b] :
      ( ( P @ Y @ X )
     => ( P @ ( produc6319817161620345591_c_nat @ ( produc8868828497325608613_c_nat @ X @ Y ) ) @ ( produc6033490199168946105_c_nat @ ( produc8868828497325608613_c_nat @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_741_exI__realizer,axiom,
    ! [P: a > c > $o,Y: a,X: c] :
      ( ( P @ Y @ X )
     => ( P @ ( product_snd_c_a @ ( product_Pair_c_a @ X @ Y ) ) @ ( product_fst_c_a @ ( product_Pair_c_a @ X @ Y ) ) ) ) ).

% exI_realizer
thf(fact_742_conjI__realizer,axiom,
    ! [P: d > $o,P2: d,Q9: e > $o,Q: e] :
      ( ( P @ P2 )
     => ( ( Q9 @ Q )
       => ( ( P @ ( product_fst_d_e @ ( product_Pair_d_e @ P2 @ Q ) ) )
          & ( Q9 @ ( product_snd_d_e @ ( product_Pair_d_e @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_743_conjI__realizer,axiom,
    ! [P: d > $o,P2: d,Q9: c > $o,Q: c] :
      ( ( P @ P2 )
     => ( ( Q9 @ Q )
       => ( ( P @ ( product_fst_d_c @ ( product_Pair_d_c @ P2 @ Q ) ) )
          & ( Q9 @ ( product_snd_d_c @ ( product_Pair_d_c @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_744_conjI__realizer,axiom,
    ! [P: b > $o,P2: b,Q9: produc7123198797777838443_c_nat > $o,Q: produc7123198797777838443_c_nat] :
      ( ( P @ P2 )
     => ( ( Q9 @ Q )
       => ( ( P @ ( produc3138273293139183023_c_nat @ ( produc1153541909957361603_c_nat @ P2 @ Q ) ) )
          & ( Q9 @ ( produc8285974589448078577_c_nat @ ( produc1153541909957361603_c_nat @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_745_conjI__realizer,axiom,
    ! [P: b > $o,P2: b,Q9: mappin8597647756751374250_b_a_b > $o,Q: mappin8597647756751374250_b_a_b] :
      ( ( P @ P2 )
     => ( ( Q9 @ Q )
       => ( ( P @ ( produc3398860285988099686_b_a_b @ ( produc5420919026241514322_b_a_b @ P2 @ Q ) ) )
          & ( Q9 @ ( produc7010306612471679140_b_a_b @ ( produc5420919026241514322_b_a_b @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_746_conjI__realizer,axiom,
    ! [P: nat > $o,P2: nat,Q9: nat > $o,Q: nat] :
      ( ( P @ P2 )
     => ( ( Q9 @ Q )
       => ( ( P @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ P2 @ Q ) ) )
          & ( Q9 @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_747_conjI__realizer,axiom,
    ! [P: b > $o,P2: b,Q9: option7520157102916957007_c_nat > $o,Q: option7520157102916957007_c_nat] :
      ( ( P @ P2 )
     => ( ( Q9 @ Q )
       => ( ( P @ ( produc8816143915943518219_c_nat @ ( produc5716802255202478839_c_nat @ P2 @ Q ) ) )
          & ( Q9 @ ( produc2435110264752509257_c_nat @ ( produc5716802255202478839_c_nat @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_748_conjI__realizer,axiom,
    ! [P: b > $o,P2: b,Q9: c > $o,Q: c] :
      ( ( P @ P2 )
     => ( ( Q9 @ Q )
       => ( ( P @ ( product_fst_b_c @ ( product_Pair_b_c @ P2 @ Q ) ) )
          & ( Q9 @ ( product_snd_b_c @ ( product_Pair_b_c @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_749_conjI__realizer,axiom,
    ! [P: b > $o,P2: b,Q9: produc4862256710654508797_c_nat > $o,Q: produc4862256710654508797_c_nat] :
      ( ( P @ P2 )
     => ( ( Q9 @ Q )
       => ( ( P @ ( produc6033490199168946105_c_nat @ ( produc8868828497325608613_c_nat @ P2 @ Q ) ) )
          & ( Q9 @ ( produc6319817161620345591_c_nat @ ( produc8868828497325608613_c_nat @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_750_conjI__realizer,axiom,
    ! [P: c > $o,P2: c,Q9: a > $o,Q: a] :
      ( ( P @ P2 )
     => ( ( Q9 @ Q )
       => ( ( P @ ( product_fst_c_a @ ( product_Pair_c_a @ P2 @ Q ) ) )
          & ( Q9 @ ( product_snd_c_a @ ( product_Pair_c_a @ P2 @ Q ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_751_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: d > e > $o,X: d,Y: e,A2: product_prod_d_e] :
      ( ( P @ X @ Y )
     => ( ( A2
          = ( product_Pair_d_e @ X @ Y ) )
       => ( P @ ( product_fst_d_e @ A2 ) @ ( product_snd_d_e @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_752_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: d > c > $o,X: d,Y: c,A2: product_prod_d_c] :
      ( ( P @ X @ Y )
     => ( ( A2
          = ( product_Pair_d_c @ X @ Y ) )
       => ( P @ ( product_fst_d_c @ A2 ) @ ( product_snd_d_c @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_753_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: b > produc7123198797777838443_c_nat > $o,X: b,Y: produc7123198797777838443_c_nat,A2: produc4731008658490410835_c_nat] :
      ( ( P @ X @ Y )
     => ( ( A2
          = ( produc1153541909957361603_c_nat @ X @ Y ) )
       => ( P @ ( produc3138273293139183023_c_nat @ A2 ) @ ( produc8285974589448078577_c_nat @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_754_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: b > mappin8597647756751374250_b_a_b > $o,X: b,Y: mappin8597647756751374250_b_a_b,A2: produc69853407467193432_b_a_b] :
      ( ( P @ X @ Y )
     => ( ( A2
          = ( produc5420919026241514322_b_a_b @ X @ Y ) )
       => ( P @ ( produc3398860285988099686_b_a_b @ A2 ) @ ( produc7010306612471679140_b_a_b @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_755_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: nat > nat > $o,X: nat,Y: nat,A2: product_prod_nat_nat] :
      ( ( P @ X @ Y )
     => ( ( A2
          = ( product_Pair_nat_nat @ X @ Y ) )
       => ( P @ ( product_fst_nat_nat @ A2 ) @ ( product_snd_nat_nat @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_756_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: b > option7520157102916957007_c_nat > $o,X: b,Y: option7520157102916957007_c_nat,A2: produc4862256710654508797_c_nat] :
      ( ( P @ X @ Y )
     => ( ( A2
          = ( produc5716802255202478839_c_nat @ X @ Y ) )
       => ( P @ ( produc8816143915943518219_c_nat @ A2 ) @ ( produc2435110264752509257_c_nat @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_757_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: b > c > $o,X: b,Y: c,A2: product_prod_b_c] :
      ( ( P @ X @ Y )
     => ( ( A2
          = ( product_Pair_b_c @ X @ Y ) )
       => ( P @ ( product_fst_b_c @ A2 ) @ ( product_snd_b_c @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_758_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: b > produc4862256710654508797_c_nat > $o,X: b,Y: produc4862256710654508797_c_nat,A2: produc6689720525226317995_c_nat] :
      ( ( P @ X @ Y )
     => ( ( A2
          = ( produc8868828497325608613_c_nat @ X @ Y ) )
       => ( P @ ( produc6033490199168946105_c_nat @ A2 ) @ ( produc6319817161620345591_c_nat @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_759_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P: c > a > $o,X: c,Y: a,A2: product_prod_c_a] :
      ( ( P @ X @ Y )
     => ( ( A2
          = ( product_Pair_c_a @ X @ Y ) )
       => ( P @ ( product_fst_c_a @ A2 ) @ ( product_snd_c_a @ A2 ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_760_pair__leqI2,axiom,
    ! [A2: nat,B: nat,S2: nat,T: nat] :
      ( ( ord_less_eq_nat @ A2 @ B )
     => ( ( ord_less_eq_nat @ S2 @ T )
       => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A2 @ S2 ) @ ( product_Pair_nat_nat @ B @ T ) ) @ fun_pair_leq ) ) ) ).

% pair_leqI2
thf(fact_761_reaches__on__split,axiom,
    ! [Run: d > option3587349581325807662od_d_e,S2: d,Vs: list_e,S3: d,I: nat] :
      ( ( reaches_on_d_e @ Run @ S2 @ Vs @ S3 )
     => ( ( ord_less_nat @ I @ ( size_size_list_e @ Vs ) )
       => ? [S5: d,S6: d] :
            ( ( reaches_on_d_e @ Run @ S2 @ ( take_e @ I @ Vs ) @ S5 )
            & ( ( Run @ S5 )
              = ( some_P4453072603345039821od_d_e @ ( product_Pair_d_e @ S6 @ ( nth_e @ Vs @ I ) ) ) )
            & ( reaches_on_d_e @ Run @ S6 @ ( drop_e @ ( suc @ I ) @ Vs ) @ S3 ) ) ) ) ).

% reaches_on_split
thf(fact_762_reaches__on__split,axiom,
    ! [Run: b > option7370380519722188825_c_nat,S2: b,Vs: list_P5135105496981608305_c_nat,S3: b,I: nat] :
      ( ( reache4715653029478586672_c_nat @ Run @ S2 @ Vs @ S3 )
     => ( ( ord_less_nat @ I @ ( size_s5207250038119628253_c_nat @ Vs ) )
       => ? [S5: b,S6: b] :
            ( ( reache4715653029478586672_c_nat @ Run @ S2 @ ( take_P5974164312936405337_c_nat @ I @ Vs ) @ S5 )
            & ( ( Run @ S5 )
              = ( some_P5809380379890353976_c_nat @ ( produc1153541909957361603_c_nat @ S6 @ ( nth_Pr2892372970212649970_c_nat @ Vs @ I ) ) ) )
            & ( reache4715653029478586672_c_nat @ Run @ S6 @ ( drop_P452401866756478641_c_nat @ ( suc @ I ) @ Vs ) @ S3 ) ) ) ) ).

% reaches_on_split
thf(fact_763_reaches__on__split,axiom,
    ! [Run: b > option2373316081166772648_b_a_b,S2: b,Vs: list_m3852300627133942458_b_a_b,S3: b,I: nat] :
      ( ( reache2776293828163486629_b_a_b @ Run @ S2 @ Vs @ S3 )
     => ( ( ord_less_nat @ I @ ( size_s2966806975912981838_b_a_b @ Vs ) )
       => ? [S5: b,S6: b] :
            ( ( reache2776293828163486629_b_a_b @ Run @ S2 @ ( take_m5285475200942867004_b_a_b @ I @ Vs ) @ S5 )
            & ( ( Run @ S5 )
              = ( some_P3758648796427522099_b_a_b @ ( produc5420919026241514322_b_a_b @ S6 @ ( nth_ma1316758834107384419_b_a_b @ Vs @ I ) ) ) )
            & ( reache2776293828163486629_b_a_b @ Run @ S6 @ ( drop_m2269873859569157860_b_a_b @ ( suc @ I ) @ Vs ) @ S3 ) ) ) ) ).

% reaches_on_split
thf(fact_764_reaches__on__split,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S2: nat,Vs: list_nat,S3: nat,I: nat] :
      ( ( reaches_on_nat_nat @ Run @ S2 @ Vs @ S3 )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Vs ) )
       => ? [S5: nat,S6: nat] :
            ( ( reaches_on_nat_nat @ Run @ S2 @ ( take_nat @ I @ Vs ) @ S5 )
            & ( ( Run @ S5 )
              = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S6 @ ( nth_nat @ Vs @ I ) ) ) )
            & ( reaches_on_nat_nat @ Run @ S6 @ ( drop_nat @ ( suc @ I ) @ Vs ) @ S3 ) ) ) ) ).

% reaches_on_split
thf(fact_765_reaches__on__split,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,Vs: list_c,S3: d,I: nat] :
      ( ( reaches_on_d_c @ Run @ S2 @ Vs @ S3 )
     => ( ( ord_less_nat @ I @ ( size_size_list_c @ Vs ) )
       => ? [S5: d,S6: d] :
            ( ( reaches_on_d_c @ Run @ S2 @ ( take_c @ I @ Vs ) @ S5 )
            & ( ( Run @ S5 )
              = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ S6 @ ( nth_c @ Vs @ I ) ) ) )
            & ( reaches_on_d_c @ Run @ S6 @ ( drop_c @ ( suc @ I ) @ Vs ) @ S3 ) ) ) ) ).

% reaches_on_split
thf(fact_766_reaches__on__split,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,Vs: list_a,S3: e,I: nat] :
      ( ( reaches_on_e_a @ Run @ S2 @ Vs @ S3 )
     => ( ( ord_less_nat @ I @ ( size_size_list_a @ Vs ) )
       => ? [S5: e,S6: e] :
            ( ( reaches_on_e_a @ Run @ S2 @ ( take_a @ I @ Vs ) @ S5 )
            & ( ( Run @ S5 )
              = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ S6 @ ( nth_a @ Vs @ I ) ) ) )
            & ( reaches_on_e_a @ Run @ S6 @ ( drop_a @ ( suc @ I ) @ Vs ) @ S3 ) ) ) ) ).

% reaches_on_split
thf(fact_767_reaches__on__split,axiom,
    ! [Run: b > option2970150418924381261_c_nat,S2: b,Vs: list_o9079336047566018143_c_nat,S3: b,I: nat] :
      ( ( reache896934410160684234_c_nat @ Run @ S2 @ Vs @ S3 )
     => ( ( ord_less_nat @ I @ ( size_s2257988276474858227_c_nat @ Vs ) )
       => ? [S5: b,S6: b] :
            ( ( reache896934410160684234_c_nat @ Run @ S2 @ ( take_o5371385906277652193_c_nat @ I @ Vs ) @ S5 )
            & ( ( Run @ S5 )
              = ( some_P2720002978653898840_c_nat @ ( produc5716802255202478839_c_nat @ S6 @ ( nth_op3507996449721514632_c_nat @ Vs @ I ) ) ) )
            & ( reache896934410160684234_c_nat @ Run @ S6 @ ( drop_o1246127881548230537_c_nat @ ( suc @ I ) @ Vs ) @ S3 ) ) ) ) ).

% reaches_on_split
thf(fact_768_pair__leqI1,axiom,
    ! [A2: nat,B: nat,S2: nat,T: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( product_Pair_nat_nat @ A2 @ S2 ) @ ( product_Pair_nat_nat @ B @ T ) ) @ fun_pair_leq ) ) ).

% pair_leqI1
thf(fact_769_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_c] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_c @ ( take_c @ N @ Xs ) @ I )
        = ( nth_c @ Xs @ I ) ) ) ).

% nth_take
thf(fact_770_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_a] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_a @ ( take_a @ N @ Xs ) @ I )
        = ( nth_a @ Xs @ I ) ) ) ).

% nth_take
thf(fact_771_nth__map,axiom,
    ! [N: nat,Xs: list_P903359562653991662od_b_c,F: product_prod_b_c > b] :
      ( ( ord_less_nat @ N @ ( size_s3392097710323735898od_b_c @ Xs ) )
     => ( ( nth_b @ ( map_Pr8222292247188198875_b_c_b @ F @ Xs ) @ N )
        = ( F @ ( nth_Product_prod_b_c @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_772_nth__map,axiom,
    ! [N: nat,Xs: list_P7417839048565863355_c_nat,F: produc6689720525226317995_c_nat > b] :
      ( ( ord_less_nat @ N @ ( size_s8291829157642911823_c_nat @ Xs ) )
     => ( ( nth_b @ ( map_Pr6200325787298368846_nat_b @ F @ Xs ) @ N )
        = ( F @ ( nth_Pr5527437225574620644_c_nat @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_773_nth__map,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a,F: product_prod_c_a > c] :
      ( ( ord_less_nat @ N @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( nth_c @ ( map_Pr5866436826731527135_c_a_c @ F @ Xs ) @ N )
        = ( F @ ( nth_Product_prod_c_a @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_774_nth__map,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a,F: product_prod_c_a > a] :
      ( ( ord_less_nat @ N @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( nth_a @ ( map_Pr5866436826731527133_c_a_a @ F @ Xs ) @ N )
        = ( F @ ( nth_Product_prod_c_a @ Xs @ N ) ) ) ) ).

% nth_map
thf(fact_775_nth__drop,axiom,
    ! [N: nat,Xs: list_c,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( ( nth_c @ ( drop_c @ N @ Xs ) @ I )
        = ( nth_c @ Xs @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_776_nth__drop,axiom,
    ! [N: nat,Xs: list_a,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_size_list_a @ Xs ) )
     => ( ( nth_a @ ( drop_a @ N @ Xs ) @ I )
        = ( nth_a @ Xs @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_777_nth__drop,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( nth_Product_prod_c_a @ ( drop_P2881858833336742123od_c_a @ N @ Xs ) @ I )
        = ( nth_Product_prod_c_a @ Xs @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_778_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y6: list_P125642481956313003od_c_a,Z3: list_P125642481956313003od_c_a] : ( Y6 = Z3 ) )
    = ( ^ [Xs3: list_P125642481956313003od_c_a,Ys3: list_P125642481956313003od_c_a] :
          ( ( ( size_s2614380629626057239od_c_a @ Xs3 )
            = ( size_s2614380629626057239od_c_a @ Ys3 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s2614380629626057239od_c_a @ Xs3 ) )
             => ( ( nth_Product_prod_c_a @ Xs3 @ I2 )
                = ( nth_Product_prod_c_a @ Ys3 @ I2 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_779_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > product_prod_c_a > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ K )
           => ? [X7: product_prod_c_a] : ( P @ I2 @ X7 ) ) )
      = ( ? [Xs3: list_P125642481956313003od_c_a] :
            ( ( ( size_s2614380629626057239od_c_a @ Xs3 )
              = K )
            & ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ K )
               => ( P @ I2 @ ( nth_Product_prod_c_a @ Xs3 @ I2 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_780_nth__equalityI,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s2614380629626057239od_c_a @ Xs ) )
           => ( ( nth_Product_prod_c_a @ Xs @ I3 )
              = ( nth_Product_prod_c_a @ Ys2 @ I3 ) ) )
       => ( Xs = Ys2 ) ) ) ).

% nth_equalityI
thf(fact_781_ts__at__def,axiom,
    ( ts_at_7620129641867092224_c_nat
    = ( ^ [Rho2: list_P8155366108056616461_c_nat,I2: nat] : ( produc8816143915943518219_c_nat @ ( nth_Pr2792413365796742454_c_nat @ Rho2 @ I2 ) ) ) ) ).

% ts_at_def
thf(fact_782_ts__at__def,axiom,
    ( ts_at_c_a
    = ( ^ [Rho2: list_P125642481956313003od_c_a,I2: nat] : ( product_fst_c_a @ ( nth_Product_prod_c_a @ Rho2 @ I2 ) ) ) ) ).

% ts_at_def
thf(fact_783_ts__at__def,axiom,
    ( ts_at_b_c
    = ( ^ [Rho2: list_P903359562653991662od_b_c,I2: nat] : ( product_fst_b_c @ ( nth_Product_prod_b_c @ Rho2 @ I2 ) ) ) ) ).

% ts_at_def
thf(fact_784_ts__at__def,axiom,
    ( ts_at_5464637035514368942_c_nat
    = ( ^ [Rho2: list_P7417839048565863355_c_nat,I2: nat] : ( produc6033490199168946105_c_nat @ ( nth_Pr5527437225574620644_c_nat @ Rho2 @ I2 ) ) ) ) ).

% ts_at_def
thf(fact_785_bs__at__def,axiom,
    ( bs_at_c_a
    = ( ^ [Rho2: list_P125642481956313003od_c_a,I2: nat] : ( product_snd_c_a @ ( nth_Product_prod_c_a @ Rho2 @ I2 ) ) ) ) ).

% bs_at_def
thf(fact_786_map__equality__iff,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,G: product_prod_b_c > b,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = ( map_Pr8222292247188198875_b_c_b @ G @ Ys2 ) )
      = ( ( ( size_s3392097710323735898od_b_c @ Xs )
          = ( size_s3392097710323735898od_b_c @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s3392097710323735898od_b_c @ Ys2 ) )
           => ( ( F @ ( nth_Product_prod_b_c @ Xs @ I2 ) )
              = ( G @ ( nth_Product_prod_b_c @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_787_map__equality__iff,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,G: produc6689720525226317995_c_nat > b,Ys2: list_P7417839048565863355_c_nat] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = ( map_Pr6200325787298368846_nat_b @ G @ Ys2 ) )
      = ( ( ( size_s3392097710323735898od_b_c @ Xs )
          = ( size_s8291829157642911823_c_nat @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s8291829157642911823_c_nat @ Ys2 ) )
           => ( ( F @ ( nth_Product_prod_b_c @ Xs @ I2 ) )
              = ( G @ ( nth_Pr5527437225574620644_c_nat @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_788_map__equality__iff,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,G: product_prod_b_c > b,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = ( map_Pr8222292247188198875_b_c_b @ G @ Ys2 ) )
      = ( ( ( size_s8291829157642911823_c_nat @ Xs )
          = ( size_s3392097710323735898od_b_c @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s3392097710323735898od_b_c @ Ys2 ) )
           => ( ( F @ ( nth_Pr5527437225574620644_c_nat @ Xs @ I2 ) )
              = ( G @ ( nth_Product_prod_b_c @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_789_map__equality__iff,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,G: produc6689720525226317995_c_nat > b,Ys2: list_P7417839048565863355_c_nat] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = ( map_Pr6200325787298368846_nat_b @ G @ Ys2 ) )
      = ( ( ( size_s8291829157642911823_c_nat @ Xs )
          = ( size_s8291829157642911823_c_nat @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s8291829157642911823_c_nat @ Ys2 ) )
           => ( ( F @ ( nth_Pr5527437225574620644_c_nat @ Xs @ I2 ) )
              = ( G @ ( nth_Pr5527437225574620644_c_nat @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_790_map__equality__iff,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,G: product_prod_c_a > b,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = ( map_Pr5866436826731527134_c_a_b @ G @ Ys2 ) )
      = ( ( ( size_s3392097710323735898od_b_c @ Xs )
          = ( size_s2614380629626057239od_c_a @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s2614380629626057239od_c_a @ Ys2 ) )
           => ( ( F @ ( nth_Product_prod_b_c @ Xs @ I2 ) )
              = ( G @ ( nth_Product_prod_c_a @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_791_map__equality__iff,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,G: product_prod_c_a > b,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = ( map_Pr5866436826731527134_c_a_b @ G @ Ys2 ) )
      = ( ( ( size_s8291829157642911823_c_nat @ Xs )
          = ( size_s2614380629626057239od_c_a @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s2614380629626057239od_c_a @ Ys2 ) )
           => ( ( F @ ( nth_Pr5527437225574620644_c_nat @ Xs @ I2 ) )
              = ( G @ ( nth_Product_prod_c_a @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_792_map__equality__iff,axiom,
    ! [F: product_prod_c_a > b,Xs: list_P125642481956313003od_c_a,G: product_prod_b_c > b,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( map_Pr5866436826731527134_c_a_b @ F @ Xs )
        = ( map_Pr8222292247188198875_b_c_b @ G @ Ys2 ) )
      = ( ( ( size_s2614380629626057239od_c_a @ Xs )
          = ( size_s3392097710323735898od_b_c @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s3392097710323735898od_b_c @ Ys2 ) )
           => ( ( F @ ( nth_Product_prod_c_a @ Xs @ I2 ) )
              = ( G @ ( nth_Product_prod_b_c @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_793_map__equality__iff,axiom,
    ! [F: product_prod_c_a > b,Xs: list_P125642481956313003od_c_a,G: produc6689720525226317995_c_nat > b,Ys2: list_P7417839048565863355_c_nat] :
      ( ( ( map_Pr5866436826731527134_c_a_b @ F @ Xs )
        = ( map_Pr6200325787298368846_nat_b @ G @ Ys2 ) )
      = ( ( ( size_s2614380629626057239od_c_a @ Xs )
          = ( size_s8291829157642911823_c_nat @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s8291829157642911823_c_nat @ Ys2 ) )
           => ( ( F @ ( nth_Product_prod_c_a @ Xs @ I2 ) )
              = ( G @ ( nth_Pr5527437225574620644_c_nat @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_794_map__equality__iff,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a,G: product_prod_c_a > c,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr5866436826731527135_c_a_c @ F @ Xs )
        = ( map_Pr5866436826731527135_c_a_c @ G @ Ys2 ) )
      = ( ( ( size_s2614380629626057239od_c_a @ Xs )
          = ( size_s2614380629626057239od_c_a @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s2614380629626057239od_c_a @ Ys2 ) )
           => ( ( F @ ( nth_Product_prod_c_a @ Xs @ I2 ) )
              = ( G @ ( nth_Product_prod_c_a @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_795_map__equality__iff,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a,G: product_prod_c_a > a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr5866436826731527133_c_a_a @ F @ Xs )
        = ( map_Pr5866436826731527133_c_a_a @ G @ Ys2 ) )
      = ( ( ( size_s2614380629626057239od_c_a @ Xs )
          = ( size_s2614380629626057239od_c_a @ Ys2 ) )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s2614380629626057239od_c_a @ Ys2 ) )
           => ( ( F @ ( nth_Product_prod_c_a @ Xs @ I2 ) )
              = ( G @ ( nth_Product_prod_c_a @ Ys2 @ I2 ) ) ) ) ) ) ).

% map_equality_iff
thf(fact_796_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_c,Ys2: list_c] :
      ( ( ord_less_eq_nat @ K @ ( size_size_list_c @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_size_list_c @ Ys2 ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ K )
             => ( ( nth_c @ Xs @ I3 )
                = ( nth_c @ Ys2 @ I3 ) ) )
         => ( ( take_c @ K @ Xs )
            = ( take_c @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_797_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_a,Ys2: list_a] :
      ( ( ord_less_eq_nat @ K @ ( size_size_list_a @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_size_list_a @ Ys2 ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ K )
             => ( ( nth_a @ Xs @ I3 )
                = ( nth_a @ Ys2 @ I3 ) ) )
         => ( ( take_a @ K @ Xs )
            = ( take_a @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_798_nth__take__lemma,axiom,
    ! [K: nat,Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ord_less_eq_nat @ K @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( ord_less_eq_nat @ K @ ( size_s2614380629626057239od_c_a @ Ys2 ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ K )
             => ( ( nth_Product_prod_c_a @ Xs @ I3 )
                = ( nth_Product_prod_c_a @ Ys2 @ I3 ) ) )
         => ( ( take_P5635244868432972691od_c_a @ K @ Xs )
            = ( take_P5635244868432972691od_c_a @ K @ Ys2 ) ) ) ) ) ).

% nth_take_lemma
thf(fact_799_chain__le,axiom,
    ! [Xs: list_nat,I: nat,J: nat] :
      ( ( chain_le_nat @ Xs )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ( ord_less_nat @ J @ ( size_size_list_nat @ Xs ) )
         => ( ord_less_eq_nat @ ( nth_nat @ Xs @ I ) @ ( nth_nat @ Xs @ J ) ) ) ) ) ).

% chain_le
thf(fact_800_chain__le,axiom,
    ! [Xs: list_c,I: nat,J: nat] :
      ( ( chain_le_c @ Xs )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ( ord_less_nat @ J @ ( size_size_list_c @ Xs ) )
         => ( ord_less_eq_c @ ( nth_c @ Xs @ I ) @ ( nth_c @ Xs @ J ) ) ) ) ) ).

% chain_le
thf(fact_801_nth__enumerate__eq,axiom,
    ! [M: nat,Xs: list_nat,N: nat] :
      ( ( ord_less_nat @ M @ ( size_size_list_nat @ Xs ) )
     => ( ( nth_Pr7617993195940197384at_nat @ ( enumerate_nat @ N @ Xs ) @ M )
        = ( product_Pair_nat_nat @ ( plus_plus_nat @ N @ M ) @ ( nth_nat @ Xs @ M ) ) ) ) ).

% nth_enumerate_eq
thf(fact_802_nth__enumerate__eq,axiom,
    ! [M: nat,Xs: list_P125642481956313003od_c_a,N: nat] :
      ( ( ord_less_nat @ M @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( nth_Pr709418176359265411od_c_a @ ( enumer3678193802876429962od_c_a @ N @ Xs ) @ M )
        = ( produc1451497401996289148od_c_a @ ( plus_plus_nat @ N @ M ) @ ( nth_Product_prod_c_a @ Xs @ M ) ) ) ) ).

% nth_enumerate_eq
thf(fact_803_lex__take__index,axiom,
    ! [Xs: list_c,Ys2: list_c,R2: set_Product_prod_c_c] :
      ( ( member7012247553653173456list_c @ ( produc5515445818230282391list_c @ Xs @ Ys2 ) @ ( lex_c @ R2 ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_c @ Xs ) )
           => ( ( ord_less_nat @ I3 @ ( size_size_list_c @ Ys2 ) )
             => ( ( ( take_c @ I3 @ Xs )
                  = ( take_c @ I3 @ Ys2 ) )
               => ~ ( member5074992359041316560od_c_c @ ( product_Pair_c_c @ ( nth_c @ Xs @ I3 ) @ ( nth_c @ Ys2 @ I3 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_804_lex__take__index,axiom,
    ! [Xs: list_a,Ys2: list_a,R2: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs @ Ys2 ) @ ( lex_a @ R2 ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_a @ Xs ) )
           => ( ( ord_less_nat @ I3 @ ( size_size_list_a @ Ys2 ) )
             => ( ( ( take_a @ I3 @ Xs )
                  = ( take_a @ I3 @ Ys2 ) )
               => ~ ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ ( nth_a @ Xs @ I3 ) @ ( nth_a @ Ys2 @ I3 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_805_lex__take__index,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s5460976970255530739at_nat @ Xs ) )
           => ( ( ord_less_nat @ I3 @ ( size_s5460976970255530739at_nat @ Ys2 ) )
             => ( ( ( take_P2173866234530122223at_nat @ I3 @ Xs )
                  = ( take_P2173866234530122223at_nat @ I3 @ Ys2 ) )
               => ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ Xs @ I3 ) @ ( nth_Pr7617993195940197384at_nat @ Ys2 @ I3 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_806_lex__take__index,axiom,
    ! [Xs: list_nat,Ys2: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( lex_nat @ R2 ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ys2 ) )
             => ( ( ( take_nat @ I3 @ Xs )
                  = ( take_nat @ I3 @ Ys2 ) )
               => ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ ( nth_nat @ Xs @ I3 ) @ ( nth_nat @ Ys2 @ I3 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_807_lex__take__index,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,R2: set_Pr5414900262478774087od_c_a] :
      ( ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ Xs @ Ys2 ) @ ( lex_Product_prod_c_a @ R2 ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s2614380629626057239od_c_a @ Xs ) )
           => ( ( ord_less_nat @ I3 @ ( size_s2614380629626057239od_c_a @ Ys2 ) )
             => ( ( ( take_P5635244868432972691od_c_a @ I3 @ Xs )
                  = ( take_P5635244868432972691od_c_a @ I3 @ Ys2 ) )
               => ~ ( member3715682548391523728od_c_a @ ( produc968124180156873943od_c_a @ ( nth_Product_prod_c_a @ Xs @ I3 ) @ ( nth_Product_prod_c_a @ Ys2 @ I3 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_808_find__Some__iff2,axiom,
    ! [X: product_prod_d_c,P: product_prod_d_c > $o,Xs: list_P8855433598298794092od_d_c] :
      ( ( ( some_P4453072594738582219od_d_c @ X )
        = ( find_P3109960092525491458od_d_c @ P @ Xs ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s2120799709113762520od_d_c @ Xs ) )
            & ( P @ ( nth_Product_prod_d_c @ Xs @ I2 ) )
            & ( X
              = ( nth_Product_prod_d_c @ Xs @ I2 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I2 )
               => ~ ( P @ ( nth_Product_prod_d_c @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_809_find__Some__iff2,axiom,
    ! [X: product_prod_e_a,P: product_prod_e_a > $o,Xs: list_P8077716517601115433od_e_a] :
      ( ( ( some_P1665617004159448584od_e_a @ X )
        = ( find_P322504501946357823od_e_a @ P @ Xs ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s1343082628416083861od_e_a @ Xs ) )
            & ( P @ ( nth_Product_prod_e_a @ Xs @ I2 ) )
            & ( X
              = ( nth_Product_prod_e_a @ Xs @ I2 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I2 )
               => ~ ( P @ ( nth_Product_prod_e_a @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_810_find__Some__iff2,axiom,
    ! [X: produc4862256710654508797_c_nat,P: produc4862256710654508797_c_nat > $o,Xs: list_P8155366108056616461_c_nat] :
      ( ( ( some_P2720002978653898840_c_nat @ X )
        = ( find_P3078163662823531489_c_nat @ P @ Xs ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s75764030081941153_c_nat @ Xs ) )
            & ( P @ ( nth_Pr2792413365796742454_c_nat @ Xs @ I2 ) )
            & ( X
              = ( nth_Pr2792413365796742454_c_nat @ Xs @ I2 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I2 )
               => ~ ( P @ ( nth_Pr2792413365796742454_c_nat @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_811_find__Some__iff2,axiom,
    ! [X: product_prod_c_a,P: product_prod_c_a > $o,Xs: list_P125642481956313003od_c_a] :
      ( ( ( some_P7240528168104800650od_c_a @ X )
        = ( find_P5897415665891709889od_c_a @ P @ Xs ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s2614380629626057239od_c_a @ Xs ) )
            & ( P @ ( nth_Product_prod_c_a @ Xs @ I2 ) )
            & ( X
              = ( nth_Product_prod_c_a @ Xs @ I2 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I2 )
               => ~ ( P @ ( nth_Product_prod_c_a @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff2
thf(fact_812_length__enumerate,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( size_s5078400991219537774od_c_a @ ( enumer3678193802876429962od_c_a @ N @ Xs ) )
      = ( size_s2614380629626057239od_c_a @ Xs ) ) ).

% length_enumerate
thf(fact_813_find__Some__iff,axiom,
    ! [P: product_prod_d_c > $o,Xs: list_P8855433598298794092od_d_c,X: product_prod_d_c] :
      ( ( ( find_P3109960092525491458od_d_c @ P @ Xs )
        = ( some_P4453072594738582219od_d_c @ X ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s2120799709113762520od_d_c @ Xs ) )
            & ( P @ ( nth_Product_prod_d_c @ Xs @ I2 ) )
            & ( X
              = ( nth_Product_prod_d_c @ Xs @ I2 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I2 )
               => ~ ( P @ ( nth_Product_prod_d_c @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_814_find__Some__iff,axiom,
    ! [P: product_prod_e_a > $o,Xs: list_P8077716517601115433od_e_a,X: product_prod_e_a] :
      ( ( ( find_P322504501946357823od_e_a @ P @ Xs )
        = ( some_P1665617004159448584od_e_a @ X ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s1343082628416083861od_e_a @ Xs ) )
            & ( P @ ( nth_Product_prod_e_a @ Xs @ I2 ) )
            & ( X
              = ( nth_Product_prod_e_a @ Xs @ I2 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I2 )
               => ~ ( P @ ( nth_Product_prod_e_a @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_815_find__Some__iff,axiom,
    ! [P: produc4862256710654508797_c_nat > $o,Xs: list_P8155366108056616461_c_nat,X: produc4862256710654508797_c_nat] :
      ( ( ( find_P3078163662823531489_c_nat @ P @ Xs )
        = ( some_P2720002978653898840_c_nat @ X ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s75764030081941153_c_nat @ Xs ) )
            & ( P @ ( nth_Pr2792413365796742454_c_nat @ Xs @ I2 ) )
            & ( X
              = ( nth_Pr2792413365796742454_c_nat @ Xs @ I2 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I2 )
               => ~ ( P @ ( nth_Pr2792413365796742454_c_nat @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_816_find__Some__iff,axiom,
    ! [P: product_prod_c_a > $o,Xs: list_P125642481956313003od_c_a,X: product_prod_c_a] :
      ( ( ( find_P5897415665891709889od_c_a @ P @ Xs )
        = ( some_P7240528168104800650od_c_a @ X ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s2614380629626057239od_c_a @ Xs ) )
            & ( P @ ( nth_Product_prod_c_a @ Xs @ I2 ) )
            & ( X
              = ( nth_Product_prod_c_a @ Xs @ I2 ) )
            & ! [J3: nat] :
                ( ( ord_less_nat @ J3 @ I2 )
               => ~ ( P @ ( nth_Product_prod_c_a @ Xs @ J3 ) ) ) ) ) ) ).

% find_Some_iff
thf(fact_817_nth__zip,axiom,
    ! [I: nat,Xs: list_d,Ys2: list_e] :
      ( ( ord_less_nat @ I @ ( size_size_list_d @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_e @ Ys2 ) )
       => ( ( nth_Product_prod_d_e @ ( zip_d_e @ Xs @ Ys2 ) @ I )
          = ( product_Pair_d_e @ ( nth_d @ Xs @ I ) @ ( nth_e @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_818_nth__zip,axiom,
    ! [I: nat,Xs: list_d,Ys2: list_c] :
      ( ( ord_less_nat @ I @ ( size_size_list_d @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_c @ Ys2 ) )
       => ( ( nth_Product_prod_d_c @ ( zip_d_c @ Xs @ Ys2 ) @ I )
          = ( product_Pair_d_c @ ( nth_d @ Xs @ I ) @ ( nth_c @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_819_nth__zip,axiom,
    ! [I: nat,Xs: list_b,Ys2: list_P5135105496981608305_c_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_b @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s5207250038119628253_c_nat @ Ys2 ) )
       => ( ( nth_Pr6129491802916713178_c_nat @ ( zip_b_2945092286201067235_c_nat @ Xs @ Ys2 ) @ I )
          = ( produc1153541909957361603_c_nat @ ( nth_b @ Xs @ I ) @ ( nth_Pr2892372970212649970_c_nat @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_820_nth__zip,axiom,
    ! [I: nat,Xs: list_b,Ys2: list_m3852300627133942458_b_a_b] :
      ( ( ord_less_nat @ I @ ( size_size_list_b @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s2966806975912981838_b_a_b @ Ys2 ) )
       => ( ( nth_Pr4690051528323046929_b_a_b @ ( zip_b_7586291491810331698_b_a_b @ Xs @ Ys2 ) @ I )
          = ( produc5420919026241514322_b_a_b @ ( nth_b @ Xs @ I ) @ ( nth_ma1316758834107384419_b_a_b @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_821_nth__zip,axiom,
    ! [I: nat,Xs: list_b,Ys2: list_o9079336047566018143_c_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_b @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s2257988276474858227_c_nat @ Ys2 ) )
       => ( ( nth_Pr2792413365796742454_c_nat @ ( zip_b_1039741285442616279_c_nat @ Xs @ Ys2 ) @ I )
          = ( produc5716802255202478839_c_nat @ ( nth_b @ Xs @ I ) @ ( nth_op3507996449721514632_c_nat @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_822_nth__zip,axiom,
    ! [I: nat,Xs: list_nat,Ys2: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys2 ) )
       => ( ( nth_Pr7617993195940197384at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) @ I )
          = ( product_Pair_nat_nat @ ( nth_nat @ Xs @ I ) @ ( nth_nat @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_823_nth__zip,axiom,
    ! [I: nat,Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ord_less_nat @ I @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s2614380629626057239od_c_a @ Ys2 ) )
       => ( ( nth_Pr2987769389651140334od_c_a @ ( zip_Pr3634142598522762231od_c_a @ Xs @ Ys2 ) @ I )
          = ( produc968124180156873943od_c_a @ ( nth_Product_prod_c_a @ Xs @ I ) @ ( nth_Product_prod_c_a @ Ys2 @ I ) ) ) ) ) ).

% nth_zip
thf(fact_824_valid__before_I6_J,axiom,
    distinct_b @ ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ e3 ) ).

% valid_before(6)
thf(fact_825_listrel__iff__nth,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( listre818007680106770737at_nat @ R2 ) )
      = ( ( ( size_s5460976970255530739at_nat @ Xs )
          = ( size_s5460976970255530739at_nat @ Ys2 ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s5460976970255530739at_nat @ Xs ) )
           => ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ ( nth_Pr7617993195940197384at_nat @ Xs @ N2 ) @ ( nth_Pr7617993195940197384at_nat @ Ys2 @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_826_listrel__iff__nth,axiom,
    ! [Xs: list_d,Ys2: list_e,R2: set_Product_prod_d_e] :
      ( ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ Xs @ Ys2 ) @ ( listrel_d_e @ R2 ) )
      = ( ( ( size_size_list_d @ Xs )
          = ( size_size_list_e @ Ys2 ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_d @ Xs ) )
           => ( member2287536785675098129od_d_e @ ( product_Pair_d_e @ ( nth_d @ Xs @ N2 ) @ ( nth_e @ Ys2 @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_827_listrel__iff__nth,axiom,
    ! [Xs: list_d,Ys2: list_c,R2: set_Product_prod_d_c] :
      ( ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ Xs @ Ys2 ) @ ( listrel_d_c @ R2 ) )
      = ( ( ( size_size_list_d @ Xs )
          = ( size_size_list_c @ Ys2 ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_d @ Xs ) )
           => ( member2287536777068640527od_d_c @ ( product_Pair_d_c @ ( nth_d @ Xs @ N2 ) @ ( nth_c @ Ys2 @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_828_listrel__iff__nth,axiom,
    ! [Xs: list_b,Ys2: list_P5135105496981608305_c_nat,R2: set_Pr2912316883363060019_c_nat] :
      ( ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ Xs @ Ys2 ) @ ( listre8589465890420352029_c_nat @ R2 ) )
      = ( ( ( size_size_list_b @ Xs )
          = ( size_s5207250038119628253_c_nat @ Ys2 ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_b @ Xs ) )
           => ( member5609925333709090172_c_nat @ ( produc1153541909957361603_c_nat @ ( nth_b @ Xs @ N2 ) @ ( nth_Pr2892372970212649970_c_nat @ Ys2 @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_829_listrel__iff__nth,axiom,
    ! [Xs: list_b,Ys2: list_m3852300627133942458_b_a_b,R2: set_Pr734110891364819982_b_a_b] :
      ( ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ Xs @ Ys2 ) @ ( listre7442323372248500856_b_a_b @ R2 ) )
      = ( ( ( size_size_list_b @ Xs )
          = ( size_s2966806975912981838_b_a_b @ Ys2 ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_b @ Xs ) )
           => ( member5165263004772949231_b_a_b @ ( produc5420919026241514322_b_a_b @ ( nth_b @ Xs @ N2 ) @ ( nth_ma1316758834107384419_b_a_b @ Ys2 @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_830_listrel__iff__nth,axiom,
    ! [Xs: list_b,Ys2: list_o9079336047566018143_c_nat,R2: set_Pr8806432033423503795_c_nat] :
      ( ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ Xs @ Ys2 ) @ ( listre912106323739344157_c_nat @ R2 ) )
      = ( ( ( size_size_list_b @ Xs )
          = ( size_s2257988276474858227_c_nat @ Ys2 ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_b @ Xs ) )
           => ( member7562873241046315796_c_nat @ ( produc5716802255202478839_c_nat @ ( nth_b @ Xs @ N2 ) @ ( nth_op3507996449721514632_c_nat @ Ys2 @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_831_listrel__iff__nth,axiom,
    ! [Xs: list_nat,Ys2: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel_nat_nat @ R2 ) )
      = ( ( ( size_size_list_nat @ Xs )
          = ( size_size_list_nat @ Ys2 ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_size_list_nat @ Xs ) )
           => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ ( nth_nat @ Xs @ N2 ) @ ( nth_nat @ Ys2 @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_832_listrel__iff__nth,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,R2: set_Pr5414900262478774087od_c_a] :
      ( ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ Xs @ Ys2 ) @ ( listre9015803571642780977od_c_a @ R2 ) )
      = ( ( ( size_s2614380629626057239od_c_a @ Xs )
          = ( size_s2614380629626057239od_c_a @ Ys2 ) )
        & ! [N2: nat] :
            ( ( ord_less_nat @ N2 @ ( size_s2614380629626057239od_c_a @ Xs ) )
           => ( member3715682548391523728od_c_a @ ( produc968124180156873943od_c_a @ ( nth_Product_prod_c_a @ Xs @ N2 ) @ ( nth_Product_prod_c_a @ Ys2 @ N2 ) ) @ R2 ) ) ) ) ).

% listrel_iff_nth
thf(fact_833_Cons__in__lex,axiom,
    ! [X: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) )
      = ( ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ R2 )
          & ( ( size_s5460976970255530739at_nat @ Xs )
            = ( size_s5460976970255530739at_nat @ Ys2 ) ) )
        | ( ( X = Y )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) ) ) ) ) ).

% Cons_in_lex
thf(fact_834_Cons__in__lex,axiom,
    ! [X: nat,Xs: list_nat,Y: nat,Ys2: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) @ ( lex_nat @ R2 ) )
      = ( ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R2 )
          & ( ( size_size_list_nat @ Xs )
            = ( size_size_list_nat @ Ys2 ) ) )
        | ( ( X = Y )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( lex_nat @ R2 ) ) ) ) ) ).

% Cons_in_lex
thf(fact_835_Cons__in__lex,axiom,
    ! [X: product_prod_c_a,Xs: list_P125642481956313003od_c_a,Y: product_prod_c_a,Ys2: list_P125642481956313003od_c_a,R2: set_Pr5414900262478774087od_c_a] :
      ( ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ ( cons_P1742027962761213787od_c_a @ X @ Xs ) @ ( cons_P1742027962761213787od_c_a @ Y @ Ys2 ) ) @ ( lex_Product_prod_c_a @ R2 ) )
      = ( ( ( member3715682548391523728od_c_a @ ( produc968124180156873943od_c_a @ X @ Y ) @ R2 )
          & ( ( size_s2614380629626057239od_c_a @ Xs )
            = ( size_s2614380629626057239od_c_a @ Ys2 ) ) )
        | ( ( X = Y )
          & ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ Xs @ Ys2 ) @ ( lex_Product_prod_c_a @ R2 ) ) ) ) ) ).

% Cons_in_lex
thf(fact_836_distinct__before_I1_J,axiom,
    distinct_b @ ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ s2 ) ).

% distinct_before(1)
thf(fact_837_distinct1__rotate,axiom,
    ! [Xs: list_b] :
      ( ( distinct_b @ ( rotate1_b @ Xs ) )
      = ( distinct_b @ Xs ) ) ).

% distinct1_rotate
thf(fact_838_zip__Cons__Cons,axiom,
    ! [X: d,Xs: list_d,Y: e,Ys2: list_e] :
      ( ( zip_d_e @ ( cons_d @ X @ Xs ) @ ( cons_e @ Y @ Ys2 ) )
      = ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ X @ Y ) @ ( zip_d_e @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_839_zip__Cons__Cons,axiom,
    ! [X: d,Xs: list_d,Y: c,Ys2: list_c] :
      ( ( zip_d_c @ ( cons_d @ X @ Xs ) @ ( cons_c @ Y @ Ys2 ) )
      = ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ X @ Y ) @ ( zip_d_c @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_840_zip__Cons__Cons,axiom,
    ! [X: b,Xs: list_b,Y: produc7123198797777838443_c_nat,Ys2: list_P5135105496981608305_c_nat] :
      ( ( zip_b_2945092286201067235_c_nat @ ( cons_b @ X @ Xs ) @ ( cons_P7624949988608740641_c_nat @ Y @ Ys2 ) )
      = ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ X @ Y ) @ ( zip_b_2945092286201067235_c_nat @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_841_zip__Cons__Cons,axiom,
    ! [X: b,Xs: list_b,Y: mappin8597647756751374250_b_a_b,Ys2: list_m3852300627133942458_b_a_b] :
      ( ( zip_b_7586291491810331698_b_a_b @ ( cons_b @ X @ Xs ) @ ( cons_m5583439491531089012_b_a_b @ Y @ Ys2 ) )
      = ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ Y ) @ ( zip_b_7586291491810331698_b_a_b @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_842_zip__Cons__Cons,axiom,
    ! [X: b,Xs: list_b,Y: option7520157102916957007_c_nat,Ys2: list_o9079336047566018143_c_nat] :
      ( ( zip_b_1039741285442616279_c_nat @ ( cons_b @ X @ Xs ) @ ( cons_o7152427081109263641_c_nat @ Y @ Ys2 ) )
      = ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ X @ Y ) @ ( zip_b_1039741285442616279_c_nat @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_843_zip__Cons__Cons,axiom,
    ! [X: nat,Xs: list_nat,Y: nat,Ys2: list_nat] :
      ( ( zip_nat_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys2 ) )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ ( zip_nat_nat @ Xs @ Ys2 ) ) ) ).

% zip_Cons_Cons
thf(fact_844_take__Suc__Cons,axiom,
    ! [N: nat,X: c,Xs: list_c] :
      ( ( take_c @ ( suc @ N ) @ ( cons_c @ X @ Xs ) )
      = ( cons_c @ X @ ( take_c @ N @ Xs ) ) ) ).

% take_Suc_Cons
thf(fact_845_take__Suc__Cons,axiom,
    ! [N: nat,X: a,Xs: list_a] :
      ( ( take_a @ ( suc @ N ) @ ( cons_a @ X @ Xs ) )
      = ( cons_a @ X @ ( take_a @ N @ Xs ) ) ) ).

% take_Suc_Cons
thf(fact_846_drop__Suc__Cons,axiom,
    ! [N: nat,X: c,Xs: list_c] :
      ( ( drop_c @ ( suc @ N ) @ ( cons_c @ X @ Xs ) )
      = ( drop_c @ N @ Xs ) ) ).

% drop_Suc_Cons
thf(fact_847_drop__Suc__Cons,axiom,
    ! [N: nat,X: a,Xs: list_a] :
      ( ( drop_a @ ( suc @ N ) @ ( cons_a @ X @ Xs ) )
      = ( drop_a @ N @ Xs ) ) ).

% drop_Suc_Cons
thf(fact_848_map__fst__zip,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) )
     => ( ( map_Pr4369283293917839426od_c_a @ produc8654638294294604483od_c_a @ ( zip_Pr3634142598522762231od_c_a @ Xs @ Ys2 ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_849_map__fst__zip,axiom,
    ! [Xs: list_b,Ys2: list_o9079336047566018143_c_nat] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_s2257988276474858227_c_nat @ Ys2 ) )
     => ( ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ ( zip_b_1039741285442616279_c_nat @ Xs @ Ys2 ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_850_map__fst__zip,axiom,
    ! [Xs: list_c,Ys2: list_a] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_a @ Ys2 ) )
     => ( ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ ( zip_c_a @ Xs @ Ys2 ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_851_map__fst__zip,axiom,
    ! [Xs: list_b,Ys2: list_c] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ ( zip_b_c @ Xs @ Ys2 ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_852_map__fst__zip,axiom,
    ! [Xs: list_b,Ys2: list_P8155366108056616461_c_nat] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_s75764030081941153_c_nat @ Ys2 ) )
     => ( ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ ( zip_b_1292320801234550661_c_nat @ Xs @ Ys2 ) )
        = Xs ) ) ).

% map_fst_zip
thf(fact_853_map__snd__zip,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) )
     => ( ( map_Pr4369283293917839426od_c_a @ produc3293453012504724997od_c_a @ ( zip_Pr3634142598522762231od_c_a @ Xs @ Ys2 ) )
        = Ys2 ) ) ).

% map_snd_zip
thf(fact_854_map__snd__zip,axiom,
    ! [Xs: list_c,Ys2: list_a] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_a @ Ys2 ) )
     => ( ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ ( zip_c_a @ Xs @ Ys2 ) )
        = Ys2 ) ) ).

% map_snd_zip
thf(fact_855_enumerate__simps_I2_J,axiom,
    ! [N: nat,X: nat,Xs: list_nat] :
      ( ( enumerate_nat @ N @ ( cons_nat @ X @ Xs ) )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ N @ X ) @ ( enumerate_nat @ ( suc @ N ) @ Xs ) ) ) ).

% enumerate_simps(2)
thf(fact_856_listrel_OCons,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat,R2: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
      ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X @ Y ) @ R2 )
     => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Ys2 ) @ ( listre818007680106770737at_nat @ R2 ) )
       => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs ) @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) ) @ ( listre818007680106770737at_nat @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_857_listrel_OCons,axiom,
    ! [X: d,Y: e,R2: set_Product_prod_d_e,Xs: list_d,Ys2: list_e] :
      ( ( member2287536785675098129od_d_e @ ( product_Pair_d_e @ X @ Y ) @ R2 )
     => ( ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ Xs @ Ys2 ) @ ( listrel_d_e @ R2 ) )
       => ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ ( cons_d @ X @ Xs ) @ ( cons_e @ Y @ Ys2 ) ) @ ( listrel_d_e @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_858_listrel_OCons,axiom,
    ! [X: d,Y: c,R2: set_Product_prod_d_c,Xs: list_d,Ys2: list_c] :
      ( ( member2287536777068640527od_d_c @ ( product_Pair_d_c @ X @ Y ) @ R2 )
     => ( ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ Xs @ Ys2 ) @ ( listrel_d_c @ R2 ) )
       => ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ ( cons_d @ X @ Xs ) @ ( cons_c @ Y @ Ys2 ) ) @ ( listrel_d_c @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_859_listrel_OCons,axiom,
    ! [X: b,Y: produc7123198797777838443_c_nat,R2: set_Pr2912316883363060019_c_nat,Xs: list_b,Ys2: list_P5135105496981608305_c_nat] :
      ( ( member5609925333709090172_c_nat @ ( produc1153541909957361603_c_nat @ X @ Y ) @ R2 )
     => ( ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ Xs @ Ys2 ) @ ( listre8589465890420352029_c_nat @ R2 ) )
       => ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ ( cons_b @ X @ Xs ) @ ( cons_P7624949988608740641_c_nat @ Y @ Ys2 ) ) @ ( listre8589465890420352029_c_nat @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_860_listrel_OCons,axiom,
    ! [X: b,Y: mappin8597647756751374250_b_a_b,R2: set_Pr734110891364819982_b_a_b,Xs: list_b,Ys2: list_m3852300627133942458_b_a_b] :
      ( ( member5165263004772949231_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ Y ) @ R2 )
     => ( ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ Xs @ Ys2 ) @ ( listre7442323372248500856_b_a_b @ R2 ) )
       => ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ ( cons_b @ X @ Xs ) @ ( cons_m5583439491531089012_b_a_b @ Y @ Ys2 ) ) @ ( listre7442323372248500856_b_a_b @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_861_listrel_OCons,axiom,
    ! [X: b,Y: option7520157102916957007_c_nat,R2: set_Pr8806432033423503795_c_nat,Xs: list_b,Ys2: list_o9079336047566018143_c_nat] :
      ( ( member7562873241046315796_c_nat @ ( produc5716802255202478839_c_nat @ X @ Y ) @ R2 )
     => ( ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ Xs @ Ys2 ) @ ( listre912106323739344157_c_nat @ R2 ) )
       => ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ ( cons_b @ X @ Xs ) @ ( cons_o7152427081109263641_c_nat @ Y @ Ys2 ) ) @ ( listre912106323739344157_c_nat @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_862_listrel_OCons,axiom,
    ! [X: nat,Y: nat,R2: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys2: list_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R2 )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Ys2 ) @ ( listrel_nat_nat @ R2 ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X @ Xs ) @ ( cons_nat @ Y @ Ys2 ) ) @ ( listrel_nat_nat @ R2 ) ) ) ) ).

% listrel.Cons
thf(fact_863_zip__eq__ConsE,axiom,
    ! [Xs: list_d,Ys2: list_e,Xy: product_prod_d_e,Xys: list_P8997501678391486062od_d_e] :
      ( ( ( zip_d_e @ Xs @ Ys2 )
        = ( cons_P8177944434856228766od_d_e @ Xy @ Xys ) )
     => ~ ! [X4: d,Xs4: list_d] :
            ( ( Xs
              = ( cons_d @ X4 @ Xs4 ) )
           => ! [Y3: e,Ys4: list_e] :
                ( ( Ys2
                  = ( cons_e @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( product_Pair_d_e @ X4 @ Y3 ) )
                 => ( Xys
                   != ( zip_d_e @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_864_zip__eq__ConsE,axiom,
    ! [Xs: list_d,Ys2: list_c,Xy: product_prod_d_c,Xys: list_P8855433598298794092od_d_c] :
      ( ( ( zip_d_c @ Xs @ Ys2 )
        = ( cons_P8177944426249771164od_d_c @ Xy @ Xys ) )
     => ~ ! [X4: d,Xs4: list_d] :
            ( ( Xs
              = ( cons_d @ X4 @ Xs4 ) )
           => ! [Y3: c,Ys4: list_c] :
                ( ( Ys2
                  = ( cons_c @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( product_Pair_d_c @ X4 @ Y3 ) )
                 => ( Xys
                   != ( zip_d_c @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_865_zip__eq__ConsE,axiom,
    ! [Xs: list_b,Ys2: list_P5135105496981608305_c_nat,Xy: produc4731008658490410835_c_nat,Xys: list_P2889901965215479385_c_nat] :
      ( ( ( zip_b_2945092286201067235_c_nat @ Xs @ Ys2 )
        = ( cons_P7855309020881882377_c_nat @ Xy @ Xys ) )
     => ~ ! [X4: b,Xs4: list_b] :
            ( ( Xs
              = ( cons_b @ X4 @ Xs4 ) )
           => ! [Y3: produc7123198797777838443_c_nat,Ys4: list_P5135105496981608305_c_nat] :
                ( ( Ys2
                  = ( cons_P7624949988608740641_c_nat @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( produc1153541909957361603_c_nat @ X4 @ Y3 ) )
                 => ( Xys
                   != ( zip_b_2945092286201067235_c_nat @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_866_zip__eq__ConsE,axiom,
    ! [Xs: list_b,Ys2: list_m3852300627133942458_b_a_b,Xy: produc69853407467193432_b_a_b,Xys: list_P1642740157484131176_b_a_b] :
      ( ( ( zip_b_7586291491810331698_b_a_b @ Xs @ Ys2 )
        = ( cons_P6785400485683988258_b_a_b @ Xy @ Xys ) )
     => ~ ! [X4: b,Xs4: list_b] :
            ( ( Xs
              = ( cons_b @ X4 @ Xs4 ) )
           => ! [Y3: mappin8597647756751374250_b_a_b,Ys4: list_m3852300627133942458_b_a_b] :
                ( ( Ys2
                  = ( cons_m5583439491531089012_b_a_b @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( produc5420919026241514322_b_a_b @ X4 @ Y3 ) )
                 => ( Xys
                   != ( zip_b_7586291491810331698_b_a_b @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_867_zip__eq__ConsE,axiom,
    ! [Xs: list_b,Ys2: list_o9079336047566018143_c_nat,Xy: produc4862256710654508797_c_nat,Xys: list_P8155366108056616461_c_nat] :
      ( ( ( zip_b_1039741285442616279_c_nat @ Xs @ Ys2 )
        = ( cons_P7928565014262433479_c_nat @ Xy @ Xys ) )
     => ~ ! [X4: b,Xs4: list_b] :
            ( ( Xs
              = ( cons_b @ X4 @ Xs4 ) )
           => ! [Y3: option7520157102916957007_c_nat,Ys4: list_o9079336047566018143_c_nat] :
                ( ( Ys2
                  = ( cons_o7152427081109263641_c_nat @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( produc5716802255202478839_c_nat @ X4 @ Y3 ) )
                 => ( Xys
                   != ( zip_b_1039741285442616279_c_nat @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_868_zip__eq__ConsE,axiom,
    ! [Xs: list_nat,Ys2: list_nat,Xy: product_prod_nat_nat,Xys: list_P6011104703257516679at_nat] :
      ( ( ( zip_nat_nat @ Xs @ Ys2 )
        = ( cons_P6512896166579812791at_nat @ Xy @ Xys ) )
     => ~ ! [X4: nat,Xs4: list_nat] :
            ( ( Xs
              = ( cons_nat @ X4 @ Xs4 ) )
           => ! [Y3: nat,Ys4: list_nat] :
                ( ( Ys2
                  = ( cons_nat @ Y3 @ Ys4 ) )
               => ( ( Xy
                    = ( product_Pair_nat_nat @ X4 @ Y3 ) )
                 => ( Xys
                   != ( zip_nat_nat @ Xs4 @ Ys4 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_869_listrel__Cons1,axiom,
    ! [Y: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,Xs: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) @ Xs ) @ ( listre818007680106770737at_nat @ R2 ) )
     => ~ ! [Y3: product_prod_nat_nat,Ys5: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ Y3 @ Ys5 ) )
           => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ Y @ Y3 ) @ R2 )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ys2 @ Ys5 ) @ ( listre818007680106770737at_nat @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_870_listrel__Cons1,axiom,
    ! [Y: d,Ys2: list_d,Xs: list_e,R2: set_Product_prod_d_e] :
      ( ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ ( cons_d @ Y @ Ys2 ) @ Xs ) @ ( listrel_d_e @ R2 ) )
     => ~ ! [Y3: e,Ys5: list_e] :
            ( ( Xs
              = ( cons_e @ Y3 @ Ys5 ) )
           => ( ( member2287536785675098129od_d_e @ ( product_Pair_d_e @ Y @ Y3 ) @ R2 )
             => ~ ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ Ys2 @ Ys5 ) @ ( listrel_d_e @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_871_listrel__Cons1,axiom,
    ! [Y: d,Ys2: list_d,Xs: list_c,R2: set_Product_prod_d_c] :
      ( ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ ( cons_d @ Y @ Ys2 ) @ Xs ) @ ( listrel_d_c @ R2 ) )
     => ~ ! [Y3: c,Ys5: list_c] :
            ( ( Xs
              = ( cons_c @ Y3 @ Ys5 ) )
           => ( ( member2287536777068640527od_d_c @ ( product_Pair_d_c @ Y @ Y3 ) @ R2 )
             => ~ ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ Ys2 @ Ys5 ) @ ( listrel_d_c @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_872_listrel__Cons1,axiom,
    ! [Y: b,Ys2: list_b,Xs: list_P5135105496981608305_c_nat,R2: set_Pr2912316883363060019_c_nat] :
      ( ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ ( cons_b @ Y @ Ys2 ) @ Xs ) @ ( listre8589465890420352029_c_nat @ R2 ) )
     => ~ ! [Y3: produc7123198797777838443_c_nat,Ys5: list_P5135105496981608305_c_nat] :
            ( ( Xs
              = ( cons_P7624949988608740641_c_nat @ Y3 @ Ys5 ) )
           => ( ( member5609925333709090172_c_nat @ ( produc1153541909957361603_c_nat @ Y @ Y3 ) @ R2 )
             => ~ ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ Ys2 @ Ys5 ) @ ( listre8589465890420352029_c_nat @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_873_listrel__Cons1,axiom,
    ! [Y: b,Ys2: list_b,Xs: list_m3852300627133942458_b_a_b,R2: set_Pr734110891364819982_b_a_b] :
      ( ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ ( cons_b @ Y @ Ys2 ) @ Xs ) @ ( listre7442323372248500856_b_a_b @ R2 ) )
     => ~ ! [Y3: mappin8597647756751374250_b_a_b,Ys5: list_m3852300627133942458_b_a_b] :
            ( ( Xs
              = ( cons_m5583439491531089012_b_a_b @ Y3 @ Ys5 ) )
           => ( ( member5165263004772949231_b_a_b @ ( produc5420919026241514322_b_a_b @ Y @ Y3 ) @ R2 )
             => ~ ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ Ys2 @ Ys5 ) @ ( listre7442323372248500856_b_a_b @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_874_listrel__Cons1,axiom,
    ! [Y: b,Ys2: list_b,Xs: list_o9079336047566018143_c_nat,R2: set_Pr8806432033423503795_c_nat] :
      ( ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ ( cons_b @ Y @ Ys2 ) @ Xs ) @ ( listre912106323739344157_c_nat @ R2 ) )
     => ~ ! [Y3: option7520157102916957007_c_nat,Ys5: list_o9079336047566018143_c_nat] :
            ( ( Xs
              = ( cons_o7152427081109263641_c_nat @ Y3 @ Ys5 ) )
           => ( ( member7562873241046315796_c_nat @ ( produc5716802255202478839_c_nat @ Y @ Y3 ) @ R2 )
             => ~ ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ Ys2 @ Ys5 ) @ ( listre912106323739344157_c_nat @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_875_listrel__Cons1,axiom,
    ! [Y: nat,Ys2: list_nat,Xs: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ Y @ Ys2 ) @ Xs ) @ ( listrel_nat_nat @ R2 ) )
     => ~ ! [Y3: nat,Ys5: list_nat] :
            ( ( Xs
              = ( cons_nat @ Y3 @ Ys5 ) )
           => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ Y @ Y3 ) @ R2 )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys2 @ Ys5 ) @ ( listrel_nat_nat @ R2 ) ) ) ) ) ).

% listrel_Cons1
thf(fact_876_listrel__Cons2,axiom,
    ! [Xs: list_P6011104703257516679at_nat,Y: product_prod_nat_nat,Ys2: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ ( cons_P6512896166579812791at_nat @ Y @ Ys2 ) ) @ ( listre818007680106770737at_nat @ R2 ) )
     => ~ ! [X4: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
            ( ( Xs
              = ( cons_P6512896166579812791at_nat @ X4 @ Xs2 ) )
           => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X4 @ Y ) @ R2 )
             => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys2 ) @ ( listre818007680106770737at_nat @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_877_listrel__Cons2,axiom,
    ! [Xs: list_d,Y: e,Ys2: list_e,R2: set_Product_prod_d_e] :
      ( ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ Xs @ ( cons_e @ Y @ Ys2 ) ) @ ( listrel_d_e @ R2 ) )
     => ~ ! [X4: d,Xs2: list_d] :
            ( ( Xs
              = ( cons_d @ X4 @ Xs2 ) )
           => ( ( member2287536785675098129od_d_e @ ( product_Pair_d_e @ X4 @ Y ) @ R2 )
             => ~ ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ Xs2 @ Ys2 ) @ ( listrel_d_e @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_878_listrel__Cons2,axiom,
    ! [Xs: list_d,Y: c,Ys2: list_c,R2: set_Product_prod_d_c] :
      ( ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ Xs @ ( cons_c @ Y @ Ys2 ) ) @ ( listrel_d_c @ R2 ) )
     => ~ ! [X4: d,Xs2: list_d] :
            ( ( Xs
              = ( cons_d @ X4 @ Xs2 ) )
           => ( ( member2287536777068640527od_d_c @ ( product_Pair_d_c @ X4 @ Y ) @ R2 )
             => ~ ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ Xs2 @ Ys2 ) @ ( listrel_d_c @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_879_listrel__Cons2,axiom,
    ! [Xs: list_b,Y: produc7123198797777838443_c_nat,Ys2: list_P5135105496981608305_c_nat,R2: set_Pr2912316883363060019_c_nat] :
      ( ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ Xs @ ( cons_P7624949988608740641_c_nat @ Y @ Ys2 ) ) @ ( listre8589465890420352029_c_nat @ R2 ) )
     => ~ ! [X4: b,Xs2: list_b] :
            ( ( Xs
              = ( cons_b @ X4 @ Xs2 ) )
           => ( ( member5609925333709090172_c_nat @ ( produc1153541909957361603_c_nat @ X4 @ Y ) @ R2 )
             => ~ ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ Xs2 @ Ys2 ) @ ( listre8589465890420352029_c_nat @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_880_listrel__Cons2,axiom,
    ! [Xs: list_b,Y: mappin8597647756751374250_b_a_b,Ys2: list_m3852300627133942458_b_a_b,R2: set_Pr734110891364819982_b_a_b] :
      ( ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ Xs @ ( cons_m5583439491531089012_b_a_b @ Y @ Ys2 ) ) @ ( listre7442323372248500856_b_a_b @ R2 ) )
     => ~ ! [X4: b,Xs2: list_b] :
            ( ( Xs
              = ( cons_b @ X4 @ Xs2 ) )
           => ( ( member5165263004772949231_b_a_b @ ( produc5420919026241514322_b_a_b @ X4 @ Y ) @ R2 )
             => ~ ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ Xs2 @ Ys2 ) @ ( listre7442323372248500856_b_a_b @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_881_listrel__Cons2,axiom,
    ! [Xs: list_b,Y: option7520157102916957007_c_nat,Ys2: list_o9079336047566018143_c_nat,R2: set_Pr8806432033423503795_c_nat] :
      ( ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ Xs @ ( cons_o7152427081109263641_c_nat @ Y @ Ys2 ) ) @ ( listre912106323739344157_c_nat @ R2 ) )
     => ~ ! [X4: b,Xs2: list_b] :
            ( ( Xs
              = ( cons_b @ X4 @ Xs2 ) )
           => ( ( member7562873241046315796_c_nat @ ( produc5716802255202478839_c_nat @ X4 @ Y ) @ R2 )
             => ~ ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ Xs2 @ Ys2 ) @ ( listre912106323739344157_c_nat @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_882_listrel__Cons2,axiom,
    ! [Xs: list_nat,Y: nat,Ys2: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ ( cons_nat @ Y @ Ys2 ) ) @ ( listrel_nat_nat @ R2 ) )
     => ~ ! [X4: nat,Xs2: list_nat] :
            ( ( Xs
              = ( cons_nat @ X4 @ Xs2 ) )
           => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X4 @ Y ) @ R2 )
             => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys2 ) @ ( listrel_nat_nat @ R2 ) ) ) ) ) ).

% listrel_Cons2
thf(fact_883_take__zip,axiom,
    ! [N: nat,Xs: list_c,Ys2: list_c] :
      ( ( take_P5635244877039430293od_c_c @ N @ ( zip_c_c @ Xs @ Ys2 ) )
      = ( zip_c_c @ ( take_c @ N @ Xs ) @ ( take_c @ N @ Ys2 ) ) ) ).

% take_zip
thf(fact_884_take__zip,axiom,
    ! [N: nat,Xs: list_c,Ys2: list_a] :
      ( ( take_P5635244868432972691od_c_a @ N @ ( zip_c_a @ Xs @ Ys2 ) )
      = ( zip_c_a @ ( take_c @ N @ Xs ) @ ( take_a @ N @ Ys2 ) ) ) ).

% take_zip
thf(fact_885_take__zip,axiom,
    ! [N: nat,Xs: list_a,Ys2: list_c] :
      ( ( take_P1986784004130006551od_a_c @ N @ ( zip_a_c @ Xs @ Ys2 ) )
      = ( zip_a_c @ ( take_a @ N @ Xs ) @ ( take_c @ N @ Ys2 ) ) ) ).

% take_zip
thf(fact_886_take__zip,axiom,
    ! [N: nat,Xs: list_a,Ys2: list_a] :
      ( ( take_P1986783995523548949od_a_a @ N @ ( zip_a_a @ Xs @ Ys2 ) )
      = ( zip_a_a @ ( take_a @ N @ Xs ) @ ( take_a @ N @ Ys2 ) ) ) ).

% take_zip
thf(fact_887_distinct__take,axiom,
    ! [Xs: list_c,I: nat] :
      ( ( distinct_c @ Xs )
     => ( distinct_c @ ( take_c @ I @ Xs ) ) ) ).

% distinct_take
thf(fact_888_distinct__take,axiom,
    ! [Xs: list_a,I: nat] :
      ( ( distinct_a @ Xs )
     => ( distinct_a @ ( take_a @ I @ Xs ) ) ) ).

% distinct_take
thf(fact_889_distinct__take,axiom,
    ! [Xs: list_b,I: nat] :
      ( ( distinct_b @ Xs )
     => ( distinct_b @ ( take_b @ I @ Xs ) ) ) ).

% distinct_take
thf(fact_890_distinct__length__2__or__more,axiom,
    ! [A2: b,B: b,Xs: list_b] :
      ( ( distinct_b @ ( cons_b @ A2 @ ( cons_b @ B @ Xs ) ) )
      = ( ( A2 != B )
        & ( distinct_b @ ( cons_b @ A2 @ Xs ) )
        & ( distinct_b @ ( cons_b @ B @ Xs ) ) ) ) ).

% distinct_length_2_or_more
thf(fact_891_list_Osimps_I9_J,axiom,
    ! [F: product_prod_c_a > c,X21: product_prod_c_a,X22: list_P125642481956313003od_c_a] :
      ( ( map_Pr5866436826731527135_c_a_c @ F @ ( cons_P1742027962761213787od_c_a @ X21 @ X22 ) )
      = ( cons_c @ ( F @ X21 ) @ ( map_Pr5866436826731527135_c_a_c @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_892_list_Osimps_I9_J,axiom,
    ! [F: product_prod_c_a > a,X21: product_prod_c_a,X22: list_P125642481956313003od_c_a] :
      ( ( map_Pr5866436826731527133_c_a_a @ F @ ( cons_P1742027962761213787od_c_a @ X21 @ X22 ) )
      = ( cons_a @ ( F @ X21 ) @ ( map_Pr5866436826731527133_c_a_a @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_893_list_Osimps_I9_J,axiom,
    ! [F: product_prod_b_c > b,X21: product_prod_b_c,X22: list_P903359562653991662od_b_c] :
      ( ( map_Pr8222292247188198875_b_c_b @ F @ ( cons_P4529483553340347422od_b_c @ X21 @ X22 ) )
      = ( cons_b @ ( F @ X21 ) @ ( map_Pr8222292247188198875_b_c_b @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_894_list_Osimps_I9_J,axiom,
    ! [F: produc6689720525226317995_c_nat > b,X21: produc6689720525226317995_c_nat,X22: list_P7417839048565863355_c_nat] :
      ( ( map_Pr6200325787298368846_nat_b @ F @ ( cons_P7294201633519847029_c_nat @ X21 @ X22 ) )
      = ( cons_b @ ( F @ X21 ) @ ( map_Pr6200325787298368846_nat_b @ F @ X22 ) ) ) ).

% list.simps(9)
thf(fact_895_drop__zip,axiom,
    ! [N: nat,Xs: list_c,Ys2: list_c] :
      ( ( drop_P2881858841943199725od_c_c @ N @ ( zip_c_c @ Xs @ Ys2 ) )
      = ( zip_c_c @ ( drop_c @ N @ Xs ) @ ( drop_c @ N @ Ys2 ) ) ) ).

% drop_zip
thf(fact_896_drop__zip,axiom,
    ! [N: nat,Xs: list_c,Ys2: list_a] :
      ( ( drop_P2881858833336742123od_c_a @ N @ ( zip_c_a @ Xs @ Ys2 ) )
      = ( zip_c_a @ ( drop_c @ N @ Xs ) @ ( drop_a @ N @ Ys2 ) ) ) ).

% drop_zip
thf(fact_897_drop__zip,axiom,
    ! [N: nat,Xs: list_a,Ys2: list_c] :
      ( ( drop_P8456770005888551791od_a_c @ N @ ( zip_a_c @ Xs @ Ys2 ) )
      = ( zip_a_c @ ( drop_a @ N @ Xs ) @ ( drop_c @ N @ Ys2 ) ) ) ).

% drop_zip
thf(fact_898_drop__zip,axiom,
    ! [N: nat,Xs: list_a,Ys2: list_a] :
      ( ( drop_P8456769997282094189od_a_a @ N @ ( zip_a_a @ Xs @ Ys2 ) )
      = ( zip_a_a @ ( drop_a @ N @ Xs ) @ ( drop_a @ N @ Ys2 ) ) ) ).

% drop_zip
thf(fact_899_Cons__eq__map__D,axiom,
    ! [X: c,Xs: list_c,F: product_prod_c_a > c,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( cons_c @ X @ Xs )
        = ( map_Pr5866436826731527135_c_a_c @ F @ Ys2 ) )
     => ? [Z: product_prod_c_a,Zs: list_P125642481956313003od_c_a] :
          ( ( Ys2
            = ( cons_P1742027962761213787od_c_a @ Z @ Zs ) )
          & ( X
            = ( F @ Z ) )
          & ( Xs
            = ( map_Pr5866436826731527135_c_a_c @ F @ Zs ) ) ) ) ).

% Cons_eq_map_D
thf(fact_900_Cons__eq__map__D,axiom,
    ! [X: a,Xs: list_a,F: product_prod_c_a > a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( cons_a @ X @ Xs )
        = ( map_Pr5866436826731527133_c_a_a @ F @ Ys2 ) )
     => ? [Z: product_prod_c_a,Zs: list_P125642481956313003od_c_a] :
          ( ( Ys2
            = ( cons_P1742027962761213787od_c_a @ Z @ Zs ) )
          & ( X
            = ( F @ Z ) )
          & ( Xs
            = ( map_Pr5866436826731527133_c_a_a @ F @ Zs ) ) ) ) ).

% Cons_eq_map_D
thf(fact_901_Cons__eq__map__D,axiom,
    ! [X: b,Xs: list_b,F: product_prod_b_c > b,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( cons_b @ X @ Xs )
        = ( map_Pr8222292247188198875_b_c_b @ F @ Ys2 ) )
     => ? [Z: product_prod_b_c,Zs: list_P903359562653991662od_b_c] :
          ( ( Ys2
            = ( cons_P4529483553340347422od_b_c @ Z @ Zs ) )
          & ( X
            = ( F @ Z ) )
          & ( Xs
            = ( map_Pr8222292247188198875_b_c_b @ F @ Zs ) ) ) ) ).

% Cons_eq_map_D
thf(fact_902_Cons__eq__map__D,axiom,
    ! [X: b,Xs: list_b,F: produc6689720525226317995_c_nat > b,Ys2: list_P7417839048565863355_c_nat] :
      ( ( ( cons_b @ X @ Xs )
        = ( map_Pr6200325787298368846_nat_b @ F @ Ys2 ) )
     => ? [Z: produc6689720525226317995_c_nat,Zs: list_P7417839048565863355_c_nat] :
          ( ( Ys2
            = ( cons_P7294201633519847029_c_nat @ Z @ Zs ) )
          & ( X
            = ( F @ Z ) )
          & ( Xs
            = ( map_Pr6200325787298368846_nat_b @ F @ Zs ) ) ) ) ).

% Cons_eq_map_D
thf(fact_903_distinct__drop,axiom,
    ! [Xs: list_c,I: nat] :
      ( ( distinct_c @ Xs )
     => ( distinct_c @ ( drop_c @ I @ Xs ) ) ) ).

% distinct_drop
thf(fact_904_distinct__drop,axiom,
    ! [Xs: list_a,I: nat] :
      ( ( distinct_a @ Xs )
     => ( distinct_a @ ( drop_a @ I @ Xs ) ) ) ).

% distinct_drop
thf(fact_905_distinct__drop,axiom,
    ! [Xs: list_b,I: nat] :
      ( ( distinct_b @ Xs )
     => ( distinct_b @ ( drop_b @ I @ Xs ) ) ) ).

% distinct_drop
thf(fact_906_map__eq__Cons__D,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a,Y: c,Ys2: list_c] :
      ( ( ( map_Pr5866436826731527135_c_a_c @ F @ Xs )
        = ( cons_c @ Y @ Ys2 ) )
     => ? [Z: product_prod_c_a,Zs: list_P125642481956313003od_c_a] :
          ( ( Xs
            = ( cons_P1742027962761213787od_c_a @ Z @ Zs ) )
          & ( ( F @ Z )
            = Y )
          & ( ( map_Pr5866436826731527135_c_a_c @ F @ Zs )
            = Ys2 ) ) ) ).

% map_eq_Cons_D
thf(fact_907_map__eq__Cons__D,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a,Y: a,Ys2: list_a] :
      ( ( ( map_Pr5866436826731527133_c_a_a @ F @ Xs )
        = ( cons_a @ Y @ Ys2 ) )
     => ? [Z: product_prod_c_a,Zs: list_P125642481956313003od_c_a] :
          ( ( Xs
            = ( cons_P1742027962761213787od_c_a @ Z @ Zs ) )
          & ( ( F @ Z )
            = Y )
          & ( ( map_Pr5866436826731527133_c_a_a @ F @ Zs )
            = Ys2 ) ) ) ).

% map_eq_Cons_D
thf(fact_908_map__eq__Cons__D,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,Y: b,Ys2: list_b] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = ( cons_b @ Y @ Ys2 ) )
     => ? [Z: product_prod_b_c,Zs: list_P903359562653991662od_b_c] :
          ( ( Xs
            = ( cons_P4529483553340347422od_b_c @ Z @ Zs ) )
          & ( ( F @ Z )
            = Y )
          & ( ( map_Pr8222292247188198875_b_c_b @ F @ Zs )
            = Ys2 ) ) ) ).

% map_eq_Cons_D
thf(fact_909_map__eq__Cons__D,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,Y: b,Ys2: list_b] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = ( cons_b @ Y @ Ys2 ) )
     => ? [Z: produc6689720525226317995_c_nat,Zs: list_P7417839048565863355_c_nat] :
          ( ( Xs
            = ( cons_P7294201633519847029_c_nat @ Z @ Zs ) )
          & ( ( F @ Z )
            = Y )
          & ( ( map_Pr6200325787298368846_nat_b @ F @ Zs )
            = Ys2 ) ) ) ).

% map_eq_Cons_D
thf(fact_910_Cons__eq__map__conv,axiom,
    ! [X: c,Xs: list_c,F: product_prod_c_a > c,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( cons_c @ X @ Xs )
        = ( map_Pr5866436826731527135_c_a_c @ F @ Ys2 ) )
      = ( ? [Z5: product_prod_c_a,Zs2: list_P125642481956313003od_c_a] :
            ( ( Ys2
              = ( cons_P1742027962761213787od_c_a @ Z5 @ Zs2 ) )
            & ( X
              = ( F @ Z5 ) )
            & ( Xs
              = ( map_Pr5866436826731527135_c_a_c @ F @ Zs2 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_911_Cons__eq__map__conv,axiom,
    ! [X: a,Xs: list_a,F: product_prod_c_a > a,Ys2: list_P125642481956313003od_c_a] :
      ( ( ( cons_a @ X @ Xs )
        = ( map_Pr5866436826731527133_c_a_a @ F @ Ys2 ) )
      = ( ? [Z5: product_prod_c_a,Zs2: list_P125642481956313003od_c_a] :
            ( ( Ys2
              = ( cons_P1742027962761213787od_c_a @ Z5 @ Zs2 ) )
            & ( X
              = ( F @ Z5 ) )
            & ( Xs
              = ( map_Pr5866436826731527133_c_a_a @ F @ Zs2 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_912_Cons__eq__map__conv,axiom,
    ! [X: b,Xs: list_b,F: product_prod_b_c > b,Ys2: list_P903359562653991662od_b_c] :
      ( ( ( cons_b @ X @ Xs )
        = ( map_Pr8222292247188198875_b_c_b @ F @ Ys2 ) )
      = ( ? [Z5: product_prod_b_c,Zs2: list_P903359562653991662od_b_c] :
            ( ( Ys2
              = ( cons_P4529483553340347422od_b_c @ Z5 @ Zs2 ) )
            & ( X
              = ( F @ Z5 ) )
            & ( Xs
              = ( map_Pr8222292247188198875_b_c_b @ F @ Zs2 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_913_Cons__eq__map__conv,axiom,
    ! [X: b,Xs: list_b,F: produc6689720525226317995_c_nat > b,Ys2: list_P7417839048565863355_c_nat] :
      ( ( ( cons_b @ X @ Xs )
        = ( map_Pr6200325787298368846_nat_b @ F @ Ys2 ) )
      = ( ? [Z5: produc6689720525226317995_c_nat,Zs2: list_P7417839048565863355_c_nat] :
            ( ( Ys2
              = ( cons_P7294201633519847029_c_nat @ Z5 @ Zs2 ) )
            & ( X
              = ( F @ Z5 ) )
            & ( Xs
              = ( map_Pr6200325787298368846_nat_b @ F @ Zs2 ) ) ) ) ) ).

% Cons_eq_map_conv
thf(fact_914_map__eq__Cons__conv,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a,Y: c,Ys2: list_c] :
      ( ( ( map_Pr5866436826731527135_c_a_c @ F @ Xs )
        = ( cons_c @ Y @ Ys2 ) )
      = ( ? [Z5: product_prod_c_a,Zs2: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( cons_P1742027962761213787od_c_a @ Z5 @ Zs2 ) )
            & ( ( F @ Z5 )
              = Y )
            & ( ( map_Pr5866436826731527135_c_a_c @ F @ Zs2 )
              = Ys2 ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_915_map__eq__Cons__conv,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a,Y: a,Ys2: list_a] :
      ( ( ( map_Pr5866436826731527133_c_a_a @ F @ Xs )
        = ( cons_a @ Y @ Ys2 ) )
      = ( ? [Z5: product_prod_c_a,Zs2: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( cons_P1742027962761213787od_c_a @ Z5 @ Zs2 ) )
            & ( ( F @ Z5 )
              = Y )
            & ( ( map_Pr5866436826731527133_c_a_a @ F @ Zs2 )
              = Ys2 ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_916_map__eq__Cons__conv,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,Y: b,Ys2: list_b] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = ( cons_b @ Y @ Ys2 ) )
      = ( ? [Z5: product_prod_b_c,Zs2: list_P903359562653991662od_b_c] :
            ( ( Xs
              = ( cons_P4529483553340347422od_b_c @ Z5 @ Zs2 ) )
            & ( ( F @ Z5 )
              = Y )
            & ( ( map_Pr8222292247188198875_b_c_b @ F @ Zs2 )
              = Ys2 ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_917_map__eq__Cons__conv,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,Y: b,Ys2: list_b] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = ( cons_b @ Y @ Ys2 ) )
      = ( ? [Z5: produc6689720525226317995_c_nat,Zs2: list_P7417839048565863355_c_nat] :
            ( ( Xs
              = ( cons_P7294201633519847029_c_nat @ Z5 @ Zs2 ) )
            & ( ( F @ Z5 )
              = Y )
            & ( ( map_Pr6200325787298368846_nat_b @ F @ Zs2 )
              = Ys2 ) ) ) ) ).

% map_eq_Cons_conv
thf(fact_918_length__Cons,axiom,
    ! [X: product_prod_c_a,Xs: list_P125642481956313003od_c_a] :
      ( ( size_s2614380629626057239od_c_a @ ( cons_P1742027962761213787od_c_a @ X @ Xs ) )
      = ( suc @ ( size_s2614380629626057239od_c_a @ Xs ) ) ) ).

% length_Cons
thf(fact_919_length__Suc__conv,axiom,
    ! [Xs: list_P125642481956313003od_c_a,N: nat] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( suc @ N ) )
      = ( ? [Y5: product_prod_c_a,Ys3: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( cons_P1742027962761213787od_c_a @ Y5 @ Ys3 ) )
            & ( ( size_s2614380629626057239od_c_a @ Ys3 )
              = N ) ) ) ) ).

% length_Suc_conv
thf(fact_920_Suc__length__conv,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( ( suc @ N )
        = ( size_s2614380629626057239od_c_a @ Xs ) )
      = ( ? [Y5: product_prod_c_a,Ys3: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( cons_P1742027962761213787od_c_a @ Y5 @ Ys3 ) )
            & ( ( size_s2614380629626057239od_c_a @ Ys3 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_921_reaches__onD,axiom,
    ! [Run: b > option7370380519722188825_c_nat,S2: b,T: list_P7417839048565863355_c_nat,B: option7520157102916957007_c_nat,Vs: list_P5135105496981608305_c_nat,S3: b] :
      ( ( reache4715653029478586672_c_nat @ Run @ S2 @ ( cons_P7624949988608740641_c_nat @ ( produc3198819265183462307_c_nat @ T @ B ) @ Vs ) @ S3 )
     => ? [S5: b] :
          ( ( ( Run @ S2 )
            = ( some_P5809380379890353976_c_nat @ ( produc1153541909957361603_c_nat @ S5 @ ( produc3198819265183462307_c_nat @ T @ B ) ) ) )
          & ( reache4715653029478586672_c_nat @ Run @ S5 @ Vs @ S3 ) ) ) ).

% reaches_onD
thf(fact_922_impossible__Cons,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,X: product_prod_c_a] :
      ( ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Xs ) @ ( size_s2614380629626057239od_c_a @ Ys2 ) )
     => ( Xs
       != ( cons_P1742027962761213787od_c_a @ X @ Ys2 ) ) ) ).

% impossible_Cons
thf(fact_923_nth__via__drop,axiom,
    ! [N: nat,Xs: list_c,Y: c,Ys2: list_c] :
      ( ( ( drop_c @ N @ Xs )
        = ( cons_c @ Y @ Ys2 ) )
     => ( ( nth_c @ Xs @ N )
        = Y ) ) ).

% nth_via_drop
thf(fact_924_nth__via__drop,axiom,
    ! [N: nat,Xs: list_a,Y: a,Ys2: list_a] :
      ( ( ( drop_a @ N @ Xs )
        = ( cons_a @ Y @ Ys2 ) )
     => ( ( nth_a @ Xs @ N )
        = Y ) ) ).

% nth_via_drop
thf(fact_925_chain__le__cons,axiom,
    ! [Y: nat,Xs: list_nat,X: nat] :
      ( ( chain_le_nat @ ( cons_nat @ Y @ Xs ) )
     => ( ( ord_less_eq_nat @ X @ Y )
       => ( chain_le_nat @ ( cons_nat @ X @ ( cons_nat @ Y @ Xs ) ) ) ) ) ).

% chain_le_cons
thf(fact_926_chain__le__cons,axiom,
    ! [Y: c,Xs: list_c,X: c] :
      ( ( chain_le_c @ ( cons_c @ Y @ Xs ) )
     => ( ( ord_less_eq_c @ X @ Y )
       => ( chain_le_c @ ( cons_c @ X @ ( cons_c @ Y @ Xs ) ) ) ) ) ).

% chain_le_cons
thf(fact_927_find_Osimps_I2_J,axiom,
    ! [P: product_prod_d_c > $o,X: product_prod_d_c,Xs: list_P8855433598298794092od_d_c] :
      ( ( ( P @ X )
       => ( ( find_P3109960092525491458od_d_c @ P @ ( cons_P8177944426249771164od_d_c @ X @ Xs ) )
          = ( some_P4453072594738582219od_d_c @ X ) ) )
      & ( ~ ( P @ X )
       => ( ( find_P3109960092525491458od_d_c @ P @ ( cons_P8177944426249771164od_d_c @ X @ Xs ) )
          = ( find_P3109960092525491458od_d_c @ P @ Xs ) ) ) ) ).

% find.simps(2)
thf(fact_928_find_Osimps_I2_J,axiom,
    ! [P: product_prod_e_a > $o,X: product_prod_e_a,Xs: list_P8077716517601115433od_e_a] :
      ( ( ( P @ X )
       => ( ( find_P322504501946357823od_e_a @ P @ ( cons_P5390488835670637529od_e_a @ X @ Xs ) )
          = ( some_P1665617004159448584od_e_a @ X ) ) )
      & ( ~ ( P @ X )
       => ( ( find_P322504501946357823od_e_a @ P @ ( cons_P5390488835670637529od_e_a @ X @ Xs ) )
          = ( find_P322504501946357823od_e_a @ P @ Xs ) ) ) ) ).

% find.simps(2)
thf(fact_929_find_Osimps_I2_J,axiom,
    ! [P: produc4862256710654508797_c_nat > $o,X: produc4862256710654508797_c_nat,Xs: list_P8155366108056616461_c_nat] :
      ( ( ( P @ X )
       => ( ( find_P3078163662823531489_c_nat @ P @ ( cons_P7928565014262433479_c_nat @ X @ Xs ) )
          = ( some_P2720002978653898840_c_nat @ X ) ) )
      & ( ~ ( P @ X )
       => ( ( find_P3078163662823531489_c_nat @ P @ ( cons_P7928565014262433479_c_nat @ X @ Xs ) )
          = ( find_P3078163662823531489_c_nat @ P @ Xs ) ) ) ) ).

% find.simps(2)
thf(fact_930_listrel__eq__len,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,R2: set_Pr5414900262478774087od_c_a] :
      ( ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ Xs @ Ys2 ) @ ( listre9015803571642780977od_c_a @ R2 ) )
     => ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) ) ) ).

% listrel_eq_len
thf(fact_931_zip__map__fst__snd,axiom,
    ! [Zs3: list_P8155366108056616461_c_nat] :
      ( ( zip_b_1039741285442616279_c_nat @ ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ Zs3 ) @ ( map_Pr8931211203828011794_c_nat @ produc2435110264752509257_c_nat @ Zs3 ) )
      = Zs3 ) ).

% zip_map_fst_snd
thf(fact_932_zip__map__fst__snd,axiom,
    ! [Zs3: list_P903359562653991662od_b_c] :
      ( ( zip_b_c @ ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ Zs3 ) @ ( map_Pr8222292247188198876_b_c_c @ product_snd_b_c @ Zs3 ) )
      = Zs3 ) ).

% zip_map_fst_snd
thf(fact_933_zip__map__fst__snd,axiom,
    ! [Zs3: list_P7417839048565863355_c_nat] :
      ( ( zip_b_1292320801234550661_c_nat @ ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ Zs3 ) @ ( map_Pr4595408008933130094_c_nat @ produc6319817161620345591_c_nat @ Zs3 ) )
      = Zs3 ) ).

% zip_map_fst_snd
thf(fact_934_zip__map__fst__snd,axiom,
    ! [Zs3: list_P125642481956313003od_c_a] :
      ( ( zip_c_a @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Zs3 ) @ ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Zs3 ) )
      = Zs3 ) ).

% zip_map_fst_snd
thf(fact_935_nth__eq__iff__index__eq,axiom,
    ! [Xs: list_b,I: nat,J: nat] :
      ( ( distinct_b @ Xs )
     => ( ( ord_less_nat @ I @ ( size_size_list_b @ Xs ) )
       => ( ( ord_less_nat @ J @ ( size_size_list_b @ Xs ) )
         => ( ( ( nth_b @ Xs @ I )
              = ( nth_b @ Xs @ J ) )
            = ( I = J ) ) ) ) ) ).

% nth_eq_iff_index_eq
thf(fact_936_nth__eq__iff__index__eq,axiom,
    ! [Xs: list_P125642481956313003od_c_a,I: nat,J: nat] :
      ( ( distin3780794742951484702od_c_a @ Xs )
     => ( ( ord_less_nat @ I @ ( size_s2614380629626057239od_c_a @ Xs ) )
       => ( ( ord_less_nat @ J @ ( size_s2614380629626057239od_c_a @ Xs ) )
         => ( ( ( nth_Product_prod_c_a @ Xs @ I )
              = ( nth_Product_prod_c_a @ Xs @ J ) )
            = ( I = J ) ) ) ) ) ).

% nth_eq_iff_index_eq
thf(fact_937_distinct__conv__nth,axiom,
    ( distinct_b
    = ( ^ [Xs3: list_b] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_size_list_b @ Xs3 ) )
         => ! [J3: nat] :
              ( ( ord_less_nat @ J3 @ ( size_size_list_b @ Xs3 ) )
             => ( ( I2 != J3 )
               => ( ( nth_b @ Xs3 @ I2 )
                 != ( nth_b @ Xs3 @ J3 ) ) ) ) ) ) ) ).

% distinct_conv_nth
thf(fact_938_distinct__conv__nth,axiom,
    ( distin3780794742951484702od_c_a
    = ( ^ [Xs3: list_P125642481956313003od_c_a] :
        ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ ( size_s2614380629626057239od_c_a @ Xs3 ) )
         => ! [J3: nat] :
              ( ( ord_less_nat @ J3 @ ( size_s2614380629626057239od_c_a @ Xs3 ) )
             => ( ( I2 != J3 )
               => ( ( nth_Product_prod_c_a @ Xs3 @ I2 )
                 != ( nth_Product_prod_c_a @ Xs3 @ J3 ) ) ) ) ) ) ) ).

% distinct_conv_nth
thf(fact_939_Suc__le__length__iff,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( size_s2614380629626057239od_c_a @ Xs ) )
      = ( ? [X3: product_prod_c_a,Ys3: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( cons_P1742027962761213787od_c_a @ X3 @ Ys3 ) )
            & ( ord_less_eq_nat @ N @ ( size_s2614380629626057239od_c_a @ Ys3 ) ) ) ) ) ).

% Suc_le_length_iff
thf(fact_940_reaches__on__ConsD,axiom,
    ! [Run: d > option3587349581325807662od_d_e,Q: d,X: e,Xs: list_e,Q2: d] :
      ( ( reaches_on_d_e @ Run @ Q @ ( cons_e @ X @ Xs ) @ Q2 )
     => ? [Q4: d] :
          ( ( ( Run @ Q )
            = ( some_P4453072603345039821od_d_e @ ( product_Pair_d_e @ Q4 @ X ) ) )
          & ( reaches_on_d_e @ Run @ Q4 @ Xs @ Q2 ) ) ) ).

% reaches_on_ConsD
thf(fact_941_reaches__on__ConsD,axiom,
    ! [Run: b > option7370380519722188825_c_nat,Q: b,X: produc7123198797777838443_c_nat,Xs: list_P5135105496981608305_c_nat,Q2: b] :
      ( ( reache4715653029478586672_c_nat @ Run @ Q @ ( cons_P7624949988608740641_c_nat @ X @ Xs ) @ Q2 )
     => ? [Q4: b] :
          ( ( ( Run @ Q )
            = ( some_P5809380379890353976_c_nat @ ( produc1153541909957361603_c_nat @ Q4 @ X ) ) )
          & ( reache4715653029478586672_c_nat @ Run @ Q4 @ Xs @ Q2 ) ) ) ).

% reaches_on_ConsD
thf(fact_942_reaches__on__ConsD,axiom,
    ! [Run: b > option2373316081166772648_b_a_b,Q: b,X: mappin8597647756751374250_b_a_b,Xs: list_m3852300627133942458_b_a_b,Q2: b] :
      ( ( reache2776293828163486629_b_a_b @ Run @ Q @ ( cons_m5583439491531089012_b_a_b @ X @ Xs ) @ Q2 )
     => ? [Q4: b] :
          ( ( ( Run @ Q )
            = ( some_P3758648796427522099_b_a_b @ ( produc5420919026241514322_b_a_b @ Q4 @ X ) ) )
          & ( reache2776293828163486629_b_a_b @ Run @ Q4 @ Xs @ Q2 ) ) ) ).

% reaches_on_ConsD
thf(fact_943_reaches__on__ConsD,axiom,
    ! [Run: nat > option4927543243414619207at_nat,Q: nat,X: nat,Xs: list_nat,Q2: nat] :
      ( ( reaches_on_nat_nat @ Run @ Q @ ( cons_nat @ X @ Xs ) @ Q2 )
     => ? [Q4: nat] :
          ( ( ( Run @ Q )
            = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ Q4 @ X ) ) )
          & ( reaches_on_nat_nat @ Run @ Q4 @ Xs @ Q2 ) ) ) ).

% reaches_on_ConsD
thf(fact_944_reaches__on__ConsD,axiom,
    ! [Run: d > option3445281501233115692od_d_c,Q: d,X: c,Xs: list_c,Q2: d] :
      ( ( reaches_on_d_c @ Run @ Q @ ( cons_c @ X @ Xs ) @ Q2 )
     => ? [Q4: d] :
          ( ( ( Run @ Q )
            = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Q4 @ X ) ) )
          & ( reaches_on_d_c @ Run @ Q4 @ Xs @ Q2 ) ) ) ).

% reaches_on_ConsD
thf(fact_945_reaches__on__ConsD,axiom,
    ! [Run: e > option2667564420535437033od_e_a,Q: e,X: a,Xs: list_a,Q2: e] :
      ( ( reaches_on_e_a @ Run @ Q @ ( cons_a @ X @ Xs ) @ Q2 )
     => ? [Q4: e] :
          ( ( ( Run @ Q )
            = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Q4 @ X ) ) )
          & ( reaches_on_e_a @ Run @ Q4 @ Xs @ Q2 ) ) ) ).

% reaches_on_ConsD
thf(fact_946_reaches__on__ConsD,axiom,
    ! [Run: b > option2970150418924381261_c_nat,Q: b,X: option7520157102916957007_c_nat,Xs: list_o9079336047566018143_c_nat,Q2: b] :
      ( ( reache896934410160684234_c_nat @ Run @ Q @ ( cons_o7152427081109263641_c_nat @ X @ Xs ) @ Q2 )
     => ? [Q4: b] :
          ( ( ( Run @ Q )
            = ( some_P2720002978653898840_c_nat @ ( produc5716802255202478839_c_nat @ Q4 @ X ) ) )
          & ( reache896934410160684234_c_nat @ Run @ Q4 @ Xs @ Q2 ) ) ) ).

% reaches_on_ConsD
thf(fact_947_reaches__on_Ointros_I2_J,axiom,
    ! [Run: d > option3587349581325807662od_d_e,S2: d,S3: d,V: e,Vs: list_e,S7: d] :
      ( ( ( Run @ S2 )
        = ( some_P4453072603345039821od_d_e @ ( product_Pair_d_e @ S3 @ V ) ) )
     => ( ( reaches_on_d_e @ Run @ S3 @ Vs @ S7 )
       => ( reaches_on_d_e @ Run @ S2 @ ( cons_e @ V @ Vs ) @ S7 ) ) ) ).

% reaches_on.intros(2)
thf(fact_948_reaches__on_Ointros_I2_J,axiom,
    ! [Run: b > option7370380519722188825_c_nat,S2: b,S3: b,V: produc7123198797777838443_c_nat,Vs: list_P5135105496981608305_c_nat,S7: b] :
      ( ( ( Run @ S2 )
        = ( some_P5809380379890353976_c_nat @ ( produc1153541909957361603_c_nat @ S3 @ V ) ) )
     => ( ( reache4715653029478586672_c_nat @ Run @ S3 @ Vs @ S7 )
       => ( reache4715653029478586672_c_nat @ Run @ S2 @ ( cons_P7624949988608740641_c_nat @ V @ Vs ) @ S7 ) ) ) ).

% reaches_on.intros(2)
thf(fact_949_reaches__on_Ointros_I2_J,axiom,
    ! [Run: b > option2373316081166772648_b_a_b,S2: b,S3: b,V: mappin8597647756751374250_b_a_b,Vs: list_m3852300627133942458_b_a_b,S7: b] :
      ( ( ( Run @ S2 )
        = ( some_P3758648796427522099_b_a_b @ ( produc5420919026241514322_b_a_b @ S3 @ V ) ) )
     => ( ( reache2776293828163486629_b_a_b @ Run @ S3 @ Vs @ S7 )
       => ( reache2776293828163486629_b_a_b @ Run @ S2 @ ( cons_m5583439491531089012_b_a_b @ V @ Vs ) @ S7 ) ) ) ).

% reaches_on.intros(2)
thf(fact_950_reaches__on_Ointros_I2_J,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S2: nat,S3: nat,V: nat,Vs: list_nat,S7: nat] :
      ( ( ( Run @ S2 )
        = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S3 @ V ) ) )
     => ( ( reaches_on_nat_nat @ Run @ S3 @ Vs @ S7 )
       => ( reaches_on_nat_nat @ Run @ S2 @ ( cons_nat @ V @ Vs ) @ S7 ) ) ) ).

% reaches_on.intros(2)
thf(fact_951_reaches__on_Ointros_I2_J,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,S3: d,V: c,Vs: list_c,S7: d] :
      ( ( ( Run @ S2 )
        = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ S3 @ V ) ) )
     => ( ( reaches_on_d_c @ Run @ S3 @ Vs @ S7 )
       => ( reaches_on_d_c @ Run @ S2 @ ( cons_c @ V @ Vs ) @ S7 ) ) ) ).

% reaches_on.intros(2)
thf(fact_952_reaches__on_Ointros_I2_J,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,S3: e,V: a,Vs: list_a,S7: e] :
      ( ( ( Run @ S2 )
        = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ S3 @ V ) ) )
     => ( ( reaches_on_e_a @ Run @ S3 @ Vs @ S7 )
       => ( reaches_on_e_a @ Run @ S2 @ ( cons_a @ V @ Vs ) @ S7 ) ) ) ).

% reaches_on.intros(2)
thf(fact_953_reaches__on_Ointros_I2_J,axiom,
    ! [Run: b > option2970150418924381261_c_nat,S2: b,S3: b,V: option7520157102916957007_c_nat,Vs: list_o9079336047566018143_c_nat,S7: b] :
      ( ( ( Run @ S2 )
        = ( some_P2720002978653898840_c_nat @ ( produc5716802255202478839_c_nat @ S3 @ V ) ) )
     => ( ( reache896934410160684234_c_nat @ Run @ S3 @ Vs @ S7 )
       => ( reache896934410160684234_c_nat @ Run @ S2 @ ( cons_o7152427081109263641_c_nat @ V @ Vs ) @ S7 ) ) ) ).

% reaches_on.intros(2)
thf(fact_954_mmap__update__distinct,axiom,
    ! [M: list_P8155366108056616461_c_nat,K: b,V: option7520157102916957007_c_nat] :
      ( ( distinct_b @ ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ M ) )
     => ( distinct_b @ ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ ( mmap_u5371215486469568154_c_nat @ K @ V @ M ) ) ) ) ).

% mmap_update_distinct
thf(fact_955_mmap__update__distinct,axiom,
    ! [M: list_P125642481956313003od_c_a,K: c,V: a] :
      ( ( distinct_c @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ M ) )
     => ( distinct_c @ ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ ( mmap_update_c_a @ K @ V @ M ) ) ) ) ).

% mmap_update_distinct
thf(fact_956_mmap__update__distinct,axiom,
    ! [M: list_P903359562653991662od_b_c,K: b,V: c] :
      ( ( distinct_b @ ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ M ) )
     => ( distinct_b @ ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ ( mmap_update_b_c @ K @ V @ M ) ) ) ) ).

% mmap_update_distinct
thf(fact_957_mmap__update__distinct,axiom,
    ! [M: list_P7417839048565863355_c_nat,K: b,V: produc4862256710654508797_c_nat] :
      ( ( distinct_b @ ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ M ) )
     => ( distinct_b @ ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ ( mmap_u2662500248198004552_c_nat @ K @ V @ M ) ) ) ) ).

% mmap_update_distinct
thf(fact_958_zip__eq__conv,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,Zs3: list_P3384435229636669549od_c_a] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) )
     => ( ( ( zip_Pr3634142598522762231od_c_a @ Xs @ Ys2 )
          = Zs3 )
        = ( ( ( map_Pr4369283293917839426od_c_a @ produc8654638294294604483od_c_a @ Zs3 )
            = Xs )
          & ( ( map_Pr4369283293917839426od_c_a @ produc3293453012504724997od_c_a @ Zs3 )
            = Ys2 ) ) ) ) ).

% zip_eq_conv
thf(fact_959_zip__eq__conv,axiom,
    ! [Xs: list_b,Ys2: list_o9079336047566018143_c_nat,Zs3: list_P8155366108056616461_c_nat] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_s2257988276474858227_c_nat @ Ys2 ) )
     => ( ( ( zip_b_1039741285442616279_c_nat @ Xs @ Ys2 )
          = Zs3 )
        = ( ( ( map_Pr418519014202471036_nat_b @ produc8816143915943518219_c_nat @ Zs3 )
            = Xs )
          & ( ( map_Pr8931211203828011794_c_nat @ produc2435110264752509257_c_nat @ Zs3 )
            = Ys2 ) ) ) ) ).

% zip_eq_conv
thf(fact_960_zip__eq__conv,axiom,
    ! [Xs: list_b,Ys2: list_c,Zs3: list_P903359562653991662od_b_c] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_size_list_c @ Ys2 ) )
     => ( ( ( zip_b_c @ Xs @ Ys2 )
          = Zs3 )
        = ( ( ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ Zs3 )
            = Xs )
          & ( ( map_Pr8222292247188198876_b_c_c @ product_snd_b_c @ Zs3 )
            = Ys2 ) ) ) ) ).

% zip_eq_conv
thf(fact_961_zip__eq__conv,axiom,
    ! [Xs: list_b,Ys2: list_P8155366108056616461_c_nat,Zs3: list_P7417839048565863355_c_nat] :
      ( ( ( size_size_list_b @ Xs )
        = ( size_s75764030081941153_c_nat @ Ys2 ) )
     => ( ( ( zip_b_1292320801234550661_c_nat @ Xs @ Ys2 )
          = Zs3 )
        = ( ( ( map_Pr6200325787298368846_nat_b @ produc6033490199168946105_c_nat @ Zs3 )
            = Xs )
          & ( ( map_Pr4595408008933130094_c_nat @ produc6319817161620345591_c_nat @ Zs3 )
            = Ys2 ) ) ) ) ).

% zip_eq_conv
thf(fact_962_zip__eq__conv,axiom,
    ! [Xs: list_c,Ys2: list_a,Zs3: list_P125642481956313003od_c_a] :
      ( ( ( size_size_list_c @ Xs )
        = ( size_size_list_a @ Ys2 ) )
     => ( ( ( zip_c_a @ Xs @ Ys2 )
          = Zs3 )
        = ( ( ( map_Pr5866436826731527135_c_a_c @ product_fst_c_a @ Zs3 )
            = Xs )
          & ( ( map_Pr5866436826731527133_c_a_a @ product_snd_c_a @ Zs3 )
            = Ys2 ) ) ) ) ).

% zip_eq_conv
thf(fact_963_Cons__nth__drop__Suc,axiom,
    ! [I: nat,Xs: list_c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( cons_c @ ( nth_c @ Xs @ I ) @ ( drop_c @ ( suc @ I ) @ Xs ) )
        = ( drop_c @ I @ Xs ) ) ) ).

% Cons_nth_drop_Suc
thf(fact_964_Cons__nth__drop__Suc,axiom,
    ! [I: nat,Xs: list_a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs ) )
     => ( ( cons_a @ ( nth_a @ Xs @ I ) @ ( drop_a @ ( suc @ I ) @ Xs ) )
        = ( drop_a @ I @ Xs ) ) ) ).

% Cons_nth_drop_Suc
thf(fact_965_Cons__nth__drop__Suc,axiom,
    ! [I: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( ord_less_nat @ I @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( cons_P1742027962761213787od_c_a @ ( nth_Product_prod_c_a @ Xs @ I ) @ ( drop_P2881858833336742123od_c_a @ ( suc @ I ) @ Xs ) )
        = ( drop_P2881858833336742123od_c_a @ I @ Xs ) ) ) ).

% Cons_nth_drop_Suc
thf(fact_966_fold__sup__distinct,axiom,
    ! [M: list_P903359562653991662od_b_c,F: b > b] :
      ( ( distinct_b @ ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ M ) )
     => ( distinct_b @ ( map_Pr8222292247188198875_b_c_b @ product_fst_b_c @ ( fold_sup_b_c @ M @ F ) ) ) ) ).

% fold_sup_distinct
thf(fact_967_distinct__union,axiom,
    ! [Xs: list_b,Ys2: list_b] :
      ( ( distinct_b @ ( union_b @ Xs @ Ys2 ) )
      = ( distinct_b @ Ys2 ) ) ).

% distinct_union
thf(fact_968_Cons__lenlex__iff,axiom,
    ! [M: product_prod_nat_nat,Ms: list_P6011104703257516679at_nat,N: product_prod_nat_nat,Ns: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( cons_P6512896166579812791at_nat @ M @ Ms ) @ ( cons_P6512896166579812791at_nat @ N @ Ns ) ) @ ( lenlex325483962726685836at_nat @ R2 ) )
      = ( ( ord_less_nat @ ( size_s5460976970255530739at_nat @ Ms ) @ ( size_s5460976970255530739at_nat @ Ns ) )
        | ( ( ( size_s5460976970255530739at_nat @ Ms )
            = ( size_s5460976970255530739at_nat @ Ns ) )
          & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ M @ N ) @ R2 ) )
        | ( ( M = N )
          & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ms @ Ns ) @ ( lenlex325483962726685836at_nat @ R2 ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_969_Cons__lenlex__iff,axiom,
    ! [M: nat,Ms: list_nat,N: nat,Ns: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ M @ Ms ) @ ( cons_nat @ N @ Ns ) ) @ ( lenlex_nat @ R2 ) )
      = ( ( ord_less_nat @ ( size_size_list_nat @ Ms ) @ ( size_size_list_nat @ Ns ) )
        | ( ( ( size_size_list_nat @ Ms )
            = ( size_size_list_nat @ Ns ) )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ M @ N ) @ R2 ) )
        | ( ( M = N )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ms @ Ns ) @ ( lenlex_nat @ R2 ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_970_Cons__lenlex__iff,axiom,
    ! [M: product_prod_c_a,Ms: list_P125642481956313003od_c_a,N: product_prod_c_a,Ns: list_P125642481956313003od_c_a,R2: set_Pr5414900262478774087od_c_a] :
      ( ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ ( cons_P1742027962761213787od_c_a @ M @ Ms ) @ ( cons_P1742027962761213787od_c_a @ N @ Ns ) ) @ ( lenlex2981440866057360304od_c_a @ R2 ) )
      = ( ( ord_less_nat @ ( size_s2614380629626057239od_c_a @ Ms ) @ ( size_s2614380629626057239od_c_a @ Ns ) )
        | ( ( ( size_s2614380629626057239od_c_a @ Ms )
            = ( size_s2614380629626057239od_c_a @ Ns ) )
          & ( member3715682548391523728od_c_a @ ( produc968124180156873943od_c_a @ M @ N ) @ R2 ) )
        | ( ( M = N )
          & ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ Ms @ Ns ) @ ( lenlex2981440866057360304od_c_a @ R2 ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_971_map__is__Nil__conv,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr5866436826731527135_c_a_c @ F @ Xs )
        = nil_c )
      = ( Xs = nil_Product_prod_c_a ) ) ).

% map_is_Nil_conv
thf(fact_972_map__is__Nil__conv,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr5866436826731527133_c_a_a @ F @ Xs )
        = nil_a )
      = ( Xs = nil_Product_prod_c_a ) ) ).

% map_is_Nil_conv
thf(fact_973_map__is__Nil__conv,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = nil_b )
      = ( Xs = nil_Product_prod_b_c ) ) ).

% map_is_Nil_conv
thf(fact_974_map__is__Nil__conv,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = nil_b )
      = ( Xs = nil_Pr7000167559216756261_c_nat ) ) ).

% map_is_Nil_conv
thf(fact_975_Nil__is__map__conv,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a] :
      ( ( nil_c
        = ( map_Pr5866436826731527135_c_a_c @ F @ Xs ) )
      = ( Xs = nil_Product_prod_c_a ) ) ).

% Nil_is_map_conv
thf(fact_976_Nil__is__map__conv,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a] :
      ( ( nil_a
        = ( map_Pr5866436826731527133_c_a_a @ F @ Xs ) )
      = ( Xs = nil_Product_prod_c_a ) ) ).

% Nil_is_map_conv
thf(fact_977_Nil__is__map__conv,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c] :
      ( ( nil_b
        = ( map_Pr8222292247188198875_b_c_b @ F @ Xs ) )
      = ( Xs = nil_Product_prod_b_c ) ) ).

% Nil_is_map_conv
thf(fact_978_Nil__is__map__conv,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat] :
      ( ( nil_b
        = ( map_Pr6200325787298368846_nat_b @ F @ Xs ) )
      = ( Xs = nil_Pr7000167559216756261_c_nat ) ) ).

% Nil_is_map_conv
thf(fact_979_list_Omap__disc__iff,axiom,
    ! [F: product_prod_c_a > c,A2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr5866436826731527135_c_a_c @ F @ A2 )
        = nil_c )
      = ( A2 = nil_Product_prod_c_a ) ) ).

% list.map_disc_iff
thf(fact_980_list_Omap__disc__iff,axiom,
    ! [F: product_prod_c_a > a,A2: list_P125642481956313003od_c_a] :
      ( ( ( map_Pr5866436826731527133_c_a_a @ F @ A2 )
        = nil_a )
      = ( A2 = nil_Product_prod_c_a ) ) ).

% list.map_disc_iff
thf(fact_981_list_Omap__disc__iff,axiom,
    ! [F: product_prod_b_c > b,A2: list_P903359562653991662od_b_c] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ A2 )
        = nil_b )
      = ( A2 = nil_Product_prod_b_c ) ) ).

% list.map_disc_iff
thf(fact_982_list_Omap__disc__iff,axiom,
    ! [F: produc6689720525226317995_c_nat > b,A2: list_P7417839048565863355_c_nat] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ A2 )
        = nil_b )
      = ( A2 = nil_Pr7000167559216756261_c_nat ) ) ).

% list.map_disc_iff
thf(fact_983_drop__all,axiom,
    ! [Xs: list_c,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N )
     => ( ( drop_c @ N @ Xs )
        = nil_c ) ) ).

% drop_all
thf(fact_984_drop__all,axiom,
    ! [Xs: list_a,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ N )
     => ( ( drop_a @ N @ Xs )
        = nil_a ) ) ).

% drop_all
thf(fact_985_drop__all,axiom,
    ! [Xs: list_P125642481956313003od_c_a,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Xs ) @ N )
     => ( ( drop_P2881858833336742123od_c_a @ N @ Xs )
        = nil_Product_prod_c_a ) ) ).

% drop_all
thf(fact_986_drop__eq__Nil,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ( drop_c @ N @ Xs )
        = nil_c )
      = ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N ) ) ).

% drop_eq_Nil
thf(fact_987_drop__eq__Nil,axiom,
    ! [N: nat,Xs: list_a] :
      ( ( ( drop_a @ N @ Xs )
        = nil_a )
      = ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ N ) ) ).

% drop_eq_Nil
thf(fact_988_drop__eq__Nil,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( ( drop_P2881858833336742123od_c_a @ N @ Xs )
        = nil_Product_prod_c_a )
      = ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Xs ) @ N ) ) ).

% drop_eq_Nil
thf(fact_989_drop__eq__Nil2,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( nil_c
        = ( drop_c @ N @ Xs ) )
      = ( ord_less_eq_nat @ ( size_size_list_c @ Xs ) @ N ) ) ).

% drop_eq_Nil2
thf(fact_990_drop__eq__Nil2,axiom,
    ! [N: nat,Xs: list_a] :
      ( ( nil_a
        = ( drop_a @ N @ Xs ) )
      = ( ord_less_eq_nat @ ( size_size_list_a @ Xs ) @ N ) ) ).

% drop_eq_Nil2
thf(fact_991_drop__eq__Nil2,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( nil_Product_prod_c_a
        = ( drop_P2881858833336742123od_c_a @ N @ Xs ) )
      = ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Xs ) @ N ) ) ).

% drop_eq_Nil2
thf(fact_992_distinct_Osimps_I1_J,axiom,
    distinct_b @ nil_b ).

% distinct.simps(1)
thf(fact_993_list_Osimps_I8_J,axiom,
    ! [F: product_prod_c_a > c] :
      ( ( map_Pr5866436826731527135_c_a_c @ F @ nil_Product_prod_c_a )
      = nil_c ) ).

% list.simps(8)
thf(fact_994_list_Osimps_I8_J,axiom,
    ! [F: product_prod_c_a > a] :
      ( ( map_Pr5866436826731527133_c_a_a @ F @ nil_Product_prod_c_a )
      = nil_a ) ).

% list.simps(8)
thf(fact_995_list_Osimps_I8_J,axiom,
    ! [F: product_prod_b_c > b] :
      ( ( map_Pr8222292247188198875_b_c_b @ F @ nil_Product_prod_b_c )
      = nil_b ) ).

% list.simps(8)
thf(fact_996_list_Osimps_I8_J,axiom,
    ! [F: produc6689720525226317995_c_nat > b] :
      ( ( map_Pr6200325787298368846_nat_b @ F @ nil_Pr7000167559216756261_c_nat )
      = nil_b ) ).

% list.simps(8)
thf(fact_997_reaches__on_Ointros_I1_J,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d] : ( reaches_on_d_c @ Run @ S2 @ nil_c @ S2 ) ).

% reaches_on.intros(1)
thf(fact_998_reaches__on_Ointros_I1_J,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e] : ( reaches_on_e_a @ Run @ S2 @ nil_a @ S2 ) ).

% reaches_on.intros(1)
thf(fact_999_reaches__on__NilD,axiom,
    ! [Run: d > option3445281501233115692od_d_c,Q: d,Q2: d] :
      ( ( reaches_on_d_c @ Run @ Q @ nil_c @ Q2 )
     => ( Q = Q2 ) ) ).

% reaches_on_NilD
thf(fact_1000_reaches__on__NilD,axiom,
    ! [Run: e > option2667564420535437033od_e_a,Q: e,Q2: e] :
      ( ( reaches_on_e_a @ Run @ Q @ nil_a @ Q2 )
     => ( Q = Q2 ) ) ).

% reaches_on_NilD
thf(fact_1001_drop__Nil,axiom,
    ! [N: nat] :
      ( ( drop_c @ N @ nil_c )
      = nil_c ) ).

% drop_Nil
thf(fact_1002_drop__Nil,axiom,
    ! [N: nat] :
      ( ( drop_a @ N @ nil_a )
      = nil_a ) ).

% drop_Nil
thf(fact_1003_take__Nil,axiom,
    ! [N: nat] :
      ( ( take_c @ N @ nil_c )
      = nil_c ) ).

% take_Nil
thf(fact_1004_take__Nil,axiom,
    ! [N: nat] :
      ( ( take_a @ N @ nil_a )
      = nil_a ) ).

% take_Nil
thf(fact_1005_list__induct4,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,Zs3: list_P125642481956313003od_c_a,Ws: list_P125642481956313003od_c_a,P: list_P125642481956313003od_c_a > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a > $o] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) )
     => ( ( ( size_s2614380629626057239od_c_a @ Ys2 )
          = ( size_s2614380629626057239od_c_a @ Zs3 ) )
       => ( ( ( size_s2614380629626057239od_c_a @ Zs3 )
            = ( size_s2614380629626057239od_c_a @ Ws ) )
         => ( ( P @ nil_Product_prod_c_a @ nil_Product_prod_c_a @ nil_Product_prod_c_a @ nil_Product_prod_c_a )
           => ( ! [X4: product_prod_c_a,Xs2: list_P125642481956313003od_c_a,Y3: product_prod_c_a,Ys5: list_P125642481956313003od_c_a,Z: product_prod_c_a,Zs: list_P125642481956313003od_c_a,W3: product_prod_c_a,Ws2: list_P125642481956313003od_c_a] :
                  ( ( ( size_s2614380629626057239od_c_a @ Xs2 )
                    = ( size_s2614380629626057239od_c_a @ Ys5 ) )
                 => ( ( ( size_s2614380629626057239od_c_a @ Ys5 )
                      = ( size_s2614380629626057239od_c_a @ Zs ) )
                   => ( ( ( size_s2614380629626057239od_c_a @ Zs )
                        = ( size_s2614380629626057239od_c_a @ Ws2 ) )
                     => ( ( P @ Xs2 @ Ys5 @ Zs @ Ws2 )
                       => ( P @ ( cons_P1742027962761213787od_c_a @ X4 @ Xs2 ) @ ( cons_P1742027962761213787od_c_a @ Y3 @ Ys5 ) @ ( cons_P1742027962761213787od_c_a @ Z @ Zs ) @ ( cons_P1742027962761213787od_c_a @ W3 @ Ws2 ) ) ) ) ) )
             => ( P @ Xs @ Ys2 @ Zs3 @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_1006_list__induct3,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,Zs3: list_P125642481956313003od_c_a,P: list_P125642481956313003od_c_a > list_P125642481956313003od_c_a > list_P125642481956313003od_c_a > $o] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) )
     => ( ( ( size_s2614380629626057239od_c_a @ Ys2 )
          = ( size_s2614380629626057239od_c_a @ Zs3 ) )
       => ( ( P @ nil_Product_prod_c_a @ nil_Product_prod_c_a @ nil_Product_prod_c_a )
         => ( ! [X4: product_prod_c_a,Xs2: list_P125642481956313003od_c_a,Y3: product_prod_c_a,Ys5: list_P125642481956313003od_c_a,Z: product_prod_c_a,Zs: list_P125642481956313003od_c_a] :
                ( ( ( size_s2614380629626057239od_c_a @ Xs2 )
                  = ( size_s2614380629626057239od_c_a @ Ys5 ) )
               => ( ( ( size_s2614380629626057239od_c_a @ Ys5 )
                    = ( size_s2614380629626057239od_c_a @ Zs ) )
                 => ( ( P @ Xs2 @ Ys5 @ Zs )
                   => ( P @ ( cons_P1742027962761213787od_c_a @ X4 @ Xs2 ) @ ( cons_P1742027962761213787od_c_a @ Y3 @ Ys5 ) @ ( cons_P1742027962761213787od_c_a @ Z @ Zs ) ) ) ) )
           => ( P @ Xs @ Ys2 @ Zs3 ) ) ) ) ) ).

% list_induct3
thf(fact_1007_list__induct2,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,P: list_P125642481956313003od_c_a > list_P125642481956313003od_c_a > $o] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Ys2 ) )
     => ( ( P @ nil_Product_prod_c_a @ nil_Product_prod_c_a )
       => ( ! [X4: product_prod_c_a,Xs2: list_P125642481956313003od_c_a,Y3: product_prod_c_a,Ys5: list_P125642481956313003od_c_a] :
              ( ( ( size_s2614380629626057239od_c_a @ Xs2 )
                = ( size_s2614380629626057239od_c_a @ Ys5 ) )
             => ( ( P @ Xs2 @ Ys5 )
               => ( P @ ( cons_P1742027962761213787od_c_a @ X4 @ Xs2 ) @ ( cons_P1742027962761213787od_c_a @ Y3 @ Ys5 ) ) ) )
         => ( P @ Xs @ Ys2 ) ) ) ) ).

% list_induct2
thf(fact_1008_distinct__singleton,axiom,
    ! [X: b] : ( distinct_b @ ( cons_b @ X @ nil_b ) ) ).

% distinct_singleton
thf(fact_1009_mmap__lookup__empty,axiom,
    ! [Z2: b] :
      ( ( mmap_lookup_b_c @ nil_Product_prod_b_c @ Z2 )
      = none_c ) ).

% mmap_lookup_empty
thf(fact_1010_mmap__lookup__empty,axiom,
    ! [Z2: b] :
      ( ( mmap_l5026999719965937591_c_nat @ nil_Pr7000167559216756261_c_nat @ Z2 )
      = none_P8487441334512977628_c_nat ) ).

% mmap_lookup_empty
thf(fact_1011_find_Osimps_I1_J,axiom,
    ! [Uu: product_prod_c_nat > $o] :
      ( ( find_P8596037747533280611_c_nat @ Uu @ nil_Pr650041864559007481_c_nat )
      = none_P6573378090780909534_c_nat ) ).

% find.simps(1)
thf(fact_1012_lenlex__irreflexive,axiom,
    ! [R2: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat] :
      ( ! [X4: product_prod_nat_nat] :
          ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X4 @ X4 ) @ R2 )
     => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs @ Xs ) @ ( lenlex325483962726685836at_nat @ R2 ) ) ) ).

% lenlex_irreflexive
thf(fact_1013_lenlex__irreflexive,axiom,
    ! [R2: set_Pr1261947904930325089at_nat,Xs: list_nat] :
      ( ! [X4: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X4 @ X4 ) @ R2 )
     => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs @ Xs ) @ ( lenlex_nat @ R2 ) ) ) ).

% lenlex_irreflexive
thf(fact_1014_chain__le_Osimps,axiom,
    ( chain_le_nat
    = ( ^ [A5: list_nat] :
          ( ( A5 = nil_nat )
          | ? [X3: nat] :
              ( A5
              = ( cons_nat @ X3 @ nil_nat ) )
          | ? [Y5: nat,Xs3: list_nat,X3: nat] :
              ( ( A5
                = ( cons_nat @ X3 @ ( cons_nat @ Y5 @ Xs3 ) ) )
              & ( chain_le_nat @ ( cons_nat @ Y5 @ Xs3 ) )
              & ( ord_less_eq_nat @ X3 @ Y5 ) ) ) ) ) ).

% chain_le.simps
thf(fact_1015_chain__le_Osimps,axiom,
    ( chain_le_c
    = ( ^ [A5: list_c] :
          ( ( A5 = nil_c )
          | ? [X3: c] :
              ( A5
              = ( cons_c @ X3 @ nil_c ) )
          | ? [Y5: c,Xs3: list_c,X3: c] :
              ( ( A5
                = ( cons_c @ X3 @ ( cons_c @ Y5 @ Xs3 ) ) )
              & ( chain_le_c @ ( cons_c @ Y5 @ Xs3 ) )
              & ( ord_less_eq_c @ X3 @ Y5 ) ) ) ) ) ).

% chain_le.simps
thf(fact_1016_chain__le_Ocases,axiom,
    ! [A2: list_nat] :
      ( ( chain_le_nat @ A2 )
     => ( ( A2 != nil_nat )
       => ( ! [X4: nat] :
              ( A2
             != ( cons_nat @ X4 @ nil_nat ) )
         => ~ ! [Y3: nat,Xs2: list_nat,X4: nat] :
                ( ( A2
                  = ( cons_nat @ X4 @ ( cons_nat @ Y3 @ Xs2 ) ) )
               => ( ( chain_le_nat @ ( cons_nat @ Y3 @ Xs2 ) )
                 => ~ ( ord_less_eq_nat @ X4 @ Y3 ) ) ) ) ) ) ).

% chain_le.cases
thf(fact_1017_chain__le_Ocases,axiom,
    ! [A2: list_c] :
      ( ( chain_le_c @ A2 )
     => ( ( A2 != nil_c )
       => ( ! [X4: c] :
              ( A2
             != ( cons_c @ X4 @ nil_c ) )
         => ~ ! [Y3: c,Xs2: list_c,X4: c] :
                ( ( A2
                  = ( cons_c @ X4 @ ( cons_c @ Y3 @ Xs2 ) ) )
               => ( ( chain_le_c @ ( cons_c @ Y3 @ Xs2 ) )
                 => ~ ( ord_less_eq_c @ X4 @ Y3 ) ) ) ) ) ) ).

% chain_le.cases
thf(fact_1018_reaches__on_Ocases,axiom,
    ! [Run: d > option3587349581325807662od_d_e,A1: d,A22: list_e,A32: d] :
      ( ( reaches_on_d_e @ Run @ A1 @ A22 @ A32 )
     => ( ( ( A22 = nil_e )
         => ( A32 != A1 ) )
       => ~ ! [S: d,V3: e,Vs3: list_e] :
              ( ( A22
                = ( cons_e @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P4453072603345039821od_d_e @ ( product_Pair_d_e @ S @ V3 ) ) )
               => ~ ( reaches_on_d_e @ Run @ S @ Vs3 @ A32 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_1019_reaches__on_Ocases,axiom,
    ! [Run: b > option7370380519722188825_c_nat,A1: b,A22: list_P5135105496981608305_c_nat,A32: b] :
      ( ( reache4715653029478586672_c_nat @ Run @ A1 @ A22 @ A32 )
     => ( ( ( A22 = nil_Pr1286845431714845041_c_nat )
         => ( A32 != A1 ) )
       => ~ ! [S: b,V3: produc7123198797777838443_c_nat,Vs3: list_P5135105496981608305_c_nat] :
              ( ( A22
                = ( cons_P7624949988608740641_c_nat @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P5809380379890353976_c_nat @ ( produc1153541909957361603_c_nat @ S @ V3 ) ) )
               => ~ ( reache4715653029478586672_c_nat @ Run @ S @ Vs3 @ A32 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_1020_reaches__on_Ocases,axiom,
    ! [Run: b > option2373316081166772648_b_a_b,A1: b,A22: list_m3852300627133942458_b_a_b,A32: b] :
      ( ( reache2776293828163486629_b_a_b @ Run @ A1 @ A22 @ A32 )
     => ( ( ( A22 = nil_ma6778580008647547940_b_a_b )
         => ( A32 != A1 ) )
       => ~ ! [S: b,V3: mappin8597647756751374250_b_a_b,Vs3: list_m3852300627133942458_b_a_b] :
              ( ( A22
                = ( cons_m5583439491531089012_b_a_b @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P3758648796427522099_b_a_b @ ( produc5420919026241514322_b_a_b @ S @ V3 ) ) )
               => ~ ( reache2776293828163486629_b_a_b @ Run @ S @ Vs3 @ A32 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_1021_reaches__on_Ocases,axiom,
    ! [Run: nat > option4927543243414619207at_nat,A1: nat,A22: list_nat,A32: nat] :
      ( ( reaches_on_nat_nat @ Run @ A1 @ A22 @ A32 )
     => ( ( ( A22 = nil_nat )
         => ( A32 != A1 ) )
       => ~ ! [S: nat,V3: nat,Vs3: list_nat] :
              ( ( A22
                = ( cons_nat @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S @ V3 ) ) )
               => ~ ( reaches_on_nat_nat @ Run @ S @ Vs3 @ A32 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_1022_reaches__on_Ocases,axiom,
    ! [Run: d > option3445281501233115692od_d_c,A1: d,A22: list_c,A32: d] :
      ( ( reaches_on_d_c @ Run @ A1 @ A22 @ A32 )
     => ( ( ( A22 = nil_c )
         => ( A32 != A1 ) )
       => ~ ! [S: d,V3: c,Vs3: list_c] :
              ( ( A22
                = ( cons_c @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ S @ V3 ) ) )
               => ~ ( reaches_on_d_c @ Run @ S @ Vs3 @ A32 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_1023_reaches__on_Ocases,axiom,
    ! [Run: e > option2667564420535437033od_e_a,A1: e,A22: list_a,A32: e] :
      ( ( reaches_on_e_a @ Run @ A1 @ A22 @ A32 )
     => ( ( ( A22 = nil_a )
         => ( A32 != A1 ) )
       => ~ ! [S: e,V3: a,Vs3: list_a] :
              ( ( A22
                = ( cons_a @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ S @ V3 ) ) )
               => ~ ( reaches_on_e_a @ Run @ S @ Vs3 @ A32 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_1024_reaches__on_Ocases,axiom,
    ! [Run: b > option2970150418924381261_c_nat,A1: b,A22: list_o9079336047566018143_c_nat,A32: b] :
      ( ( reache896934410160684234_c_nat @ Run @ A1 @ A22 @ A32 )
     => ( ( ( A22 = nil_op2410232952894710985_c_nat )
         => ( A32 != A1 ) )
       => ~ ! [S: b,V3: option7520157102916957007_c_nat,Vs3: list_o9079336047566018143_c_nat] :
              ( ( A22
                = ( cons_o7152427081109263641_c_nat @ V3 @ Vs3 ) )
             => ( ( ( Run @ A1 )
                  = ( some_P2720002978653898840_c_nat @ ( produc5716802255202478839_c_nat @ S @ V3 ) ) )
               => ~ ( reache896934410160684234_c_nat @ Run @ S @ Vs3 @ A32 ) ) ) ) ) ).

% reaches_on.cases
thf(fact_1025_reaches__on_Osimps,axiom,
    ( reaches_on_d_e
    = ( ^ [Run2: d > option3587349581325807662od_d_e,A12: d,A23: list_e,A33: d] :
          ( ? [S4: d] :
              ( ( A12 = S4 )
              & ( A23 = nil_e )
              & ( A33 = S4 ) )
          | ? [S4: d,S8: d,V4: e,Vs4: list_e,S9: d] :
              ( ( A12 = S4 )
              & ( A23
                = ( cons_e @ V4 @ Vs4 ) )
              & ( A33 = S9 )
              & ( ( Run2 @ S4 )
                = ( some_P4453072603345039821od_d_e @ ( product_Pair_d_e @ S8 @ V4 ) ) )
              & ( reaches_on_d_e @ Run2 @ S8 @ Vs4 @ S9 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_1026_reaches__on_Osimps,axiom,
    ( reache4715653029478586672_c_nat
    = ( ^ [Run2: b > option7370380519722188825_c_nat,A12: b,A23: list_P5135105496981608305_c_nat,A33: b] :
          ( ? [S4: b] :
              ( ( A12 = S4 )
              & ( A23 = nil_Pr1286845431714845041_c_nat )
              & ( A33 = S4 ) )
          | ? [S4: b,S8: b,V4: produc7123198797777838443_c_nat,Vs4: list_P5135105496981608305_c_nat,S9: b] :
              ( ( A12 = S4 )
              & ( A23
                = ( cons_P7624949988608740641_c_nat @ V4 @ Vs4 ) )
              & ( A33 = S9 )
              & ( ( Run2 @ S4 )
                = ( some_P5809380379890353976_c_nat @ ( produc1153541909957361603_c_nat @ S8 @ V4 ) ) )
              & ( reache4715653029478586672_c_nat @ Run2 @ S8 @ Vs4 @ S9 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_1027_reaches__on_Osimps,axiom,
    ( reache2776293828163486629_b_a_b
    = ( ^ [Run2: b > option2373316081166772648_b_a_b,A12: b,A23: list_m3852300627133942458_b_a_b,A33: b] :
          ( ? [S4: b] :
              ( ( A12 = S4 )
              & ( A23 = nil_ma6778580008647547940_b_a_b )
              & ( A33 = S4 ) )
          | ? [S4: b,S8: b,V4: mappin8597647756751374250_b_a_b,Vs4: list_m3852300627133942458_b_a_b,S9: b] :
              ( ( A12 = S4 )
              & ( A23
                = ( cons_m5583439491531089012_b_a_b @ V4 @ Vs4 ) )
              & ( A33 = S9 )
              & ( ( Run2 @ S4 )
                = ( some_P3758648796427522099_b_a_b @ ( produc5420919026241514322_b_a_b @ S8 @ V4 ) ) )
              & ( reache2776293828163486629_b_a_b @ Run2 @ S8 @ Vs4 @ S9 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_1028_reaches__on_Osimps,axiom,
    ( reaches_on_nat_nat
    = ( ^ [Run2: nat > option4927543243414619207at_nat,A12: nat,A23: list_nat,A33: nat] :
          ( ? [S4: nat] :
              ( ( A12 = S4 )
              & ( A23 = nil_nat )
              & ( A33 = S4 ) )
          | ? [S4: nat,S8: nat,V4: nat,Vs4: list_nat,S9: nat] :
              ( ( A12 = S4 )
              & ( A23
                = ( cons_nat @ V4 @ Vs4 ) )
              & ( A33 = S9 )
              & ( ( Run2 @ S4 )
                = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S8 @ V4 ) ) )
              & ( reaches_on_nat_nat @ Run2 @ S8 @ Vs4 @ S9 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_1029_reaches__on_Osimps,axiom,
    ( reaches_on_d_c
    = ( ^ [Run2: d > option3445281501233115692od_d_c,A12: d,A23: list_c,A33: d] :
          ( ? [S4: d] :
              ( ( A12 = S4 )
              & ( A23 = nil_c )
              & ( A33 = S4 ) )
          | ? [S4: d,S8: d,V4: c,Vs4: list_c,S9: d] :
              ( ( A12 = S4 )
              & ( A23
                = ( cons_c @ V4 @ Vs4 ) )
              & ( A33 = S9 )
              & ( ( Run2 @ S4 )
                = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ S8 @ V4 ) ) )
              & ( reaches_on_d_c @ Run2 @ S8 @ Vs4 @ S9 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_1030_reaches__on_Osimps,axiom,
    ( reaches_on_e_a
    = ( ^ [Run2: e > option2667564420535437033od_e_a,A12: e,A23: list_a,A33: e] :
          ( ? [S4: e] :
              ( ( A12 = S4 )
              & ( A23 = nil_a )
              & ( A33 = S4 ) )
          | ? [S4: e,S8: e,V4: a,Vs4: list_a,S9: e] :
              ( ( A12 = S4 )
              & ( A23
                = ( cons_a @ V4 @ Vs4 ) )
              & ( A33 = S9 )
              & ( ( Run2 @ S4 )
                = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ S8 @ V4 ) ) )
              & ( reaches_on_e_a @ Run2 @ S8 @ Vs4 @ S9 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_1031_reaches__on_Osimps,axiom,
    ( reache896934410160684234_c_nat
    = ( ^ [Run2: b > option2970150418924381261_c_nat,A12: b,A23: list_o9079336047566018143_c_nat,A33: b] :
          ( ? [S4: b] :
              ( ( A12 = S4 )
              & ( A23 = nil_op2410232952894710985_c_nat )
              & ( A33 = S4 ) )
          | ? [S4: b,S8: b,V4: option7520157102916957007_c_nat,Vs4: list_o9079336047566018143_c_nat,S9: b] :
              ( ( A12 = S4 )
              & ( A23
                = ( cons_o7152427081109263641_c_nat @ V4 @ Vs4 ) )
              & ( A33 = S9 )
              & ( ( Run2 @ S4 )
                = ( some_P2720002978653898840_c_nat @ ( produc5716802255202478839_c_nat @ S8 @ V4 ) ) )
              & ( reache896934410160684234_c_nat @ Run2 @ S8 @ Vs4 @ S9 ) ) ) ) ) ).

% reaches_on.simps
thf(fact_1032_listrel_Osimps,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ A1 @ A22 ) @ ( listre818007680106770737at_nat @ R2 ) )
      = ( ( ( A1 = nil_Pr5478986624290739719at_nat )
          & ( A22 = nil_Pr5478986624290739719at_nat ) )
        | ? [X3: product_prod_nat_nat,Y5: product_prod_nat_nat,Xs3: list_P6011104703257516679at_nat,Ys3: list_P6011104703257516679at_nat] :
            ( ( A1
              = ( cons_P6512896166579812791at_nat @ X3 @ Xs3 ) )
            & ( A22
              = ( cons_P6512896166579812791at_nat @ Y5 @ Ys3 ) )
            & ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X3 @ Y5 ) @ R2 )
            & ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs3 @ Ys3 ) @ ( listre818007680106770737at_nat @ R2 ) ) ) ) ) ).

% listrel.simps
thf(fact_1033_listrel_Osimps,axiom,
    ! [A1: list_d,A22: list_e,R2: set_Product_prod_d_e] :
      ( ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ A1 @ A22 ) @ ( listrel_d_e @ R2 ) )
      = ( ( ( A1 = nil_d )
          & ( A22 = nil_e ) )
        | ? [X3: d,Y5: e,Xs3: list_d,Ys3: list_e] :
            ( ( A1
              = ( cons_d @ X3 @ Xs3 ) )
            & ( A22
              = ( cons_e @ Y5 @ Ys3 ) )
            & ( member2287536785675098129od_d_e @ ( product_Pair_d_e @ X3 @ Y5 ) @ R2 )
            & ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ Xs3 @ Ys3 ) @ ( listrel_d_e @ R2 ) ) ) ) ) ).

% listrel.simps
thf(fact_1034_listrel_Osimps,axiom,
    ! [A1: list_d,A22: list_c,R2: set_Product_prod_d_c] :
      ( ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ A1 @ A22 ) @ ( listrel_d_c @ R2 ) )
      = ( ( ( A1 = nil_d )
          & ( A22 = nil_c ) )
        | ? [X3: d,Y5: c,Xs3: list_d,Ys3: list_c] :
            ( ( A1
              = ( cons_d @ X3 @ Xs3 ) )
            & ( A22
              = ( cons_c @ Y5 @ Ys3 ) )
            & ( member2287536777068640527od_d_c @ ( product_Pair_d_c @ X3 @ Y5 ) @ R2 )
            & ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ Xs3 @ Ys3 ) @ ( listrel_d_c @ R2 ) ) ) ) ) ).

% listrel.simps
thf(fact_1035_listrel_Osimps,axiom,
    ! [A1: list_b,A22: list_P5135105496981608305_c_nat,R2: set_Pr2912316883363060019_c_nat] :
      ( ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ A1 @ A22 ) @ ( listre8589465890420352029_c_nat @ R2 ) )
      = ( ( ( A1 = nil_b )
          & ( A22 = nil_Pr1286845431714845041_c_nat ) )
        | ? [X3: b,Y5: produc7123198797777838443_c_nat,Xs3: list_b,Ys3: list_P5135105496981608305_c_nat] :
            ( ( A1
              = ( cons_b @ X3 @ Xs3 ) )
            & ( A22
              = ( cons_P7624949988608740641_c_nat @ Y5 @ Ys3 ) )
            & ( member5609925333709090172_c_nat @ ( produc1153541909957361603_c_nat @ X3 @ Y5 ) @ R2 )
            & ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ Xs3 @ Ys3 ) @ ( listre8589465890420352029_c_nat @ R2 ) ) ) ) ) ).

% listrel.simps
thf(fact_1036_listrel_Osimps,axiom,
    ! [A1: list_b,A22: list_m3852300627133942458_b_a_b,R2: set_Pr734110891364819982_b_a_b] :
      ( ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ A1 @ A22 ) @ ( listre7442323372248500856_b_a_b @ R2 ) )
      = ( ( ( A1 = nil_b )
          & ( A22 = nil_ma6778580008647547940_b_a_b ) )
        | ? [X3: b,Y5: mappin8597647756751374250_b_a_b,Xs3: list_b,Ys3: list_m3852300627133942458_b_a_b] :
            ( ( A1
              = ( cons_b @ X3 @ Xs3 ) )
            & ( A22
              = ( cons_m5583439491531089012_b_a_b @ Y5 @ Ys3 ) )
            & ( member5165263004772949231_b_a_b @ ( produc5420919026241514322_b_a_b @ X3 @ Y5 ) @ R2 )
            & ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ Xs3 @ Ys3 ) @ ( listre7442323372248500856_b_a_b @ R2 ) ) ) ) ) ).

% listrel.simps
thf(fact_1037_listrel_Osimps,axiom,
    ! [A1: list_b,A22: list_o9079336047566018143_c_nat,R2: set_Pr8806432033423503795_c_nat] :
      ( ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ A1 @ A22 ) @ ( listre912106323739344157_c_nat @ R2 ) )
      = ( ( ( A1 = nil_b )
          & ( A22 = nil_op2410232952894710985_c_nat ) )
        | ? [X3: b,Y5: option7520157102916957007_c_nat,Xs3: list_b,Ys3: list_o9079336047566018143_c_nat] :
            ( ( A1
              = ( cons_b @ X3 @ Xs3 ) )
            & ( A22
              = ( cons_o7152427081109263641_c_nat @ Y5 @ Ys3 ) )
            & ( member7562873241046315796_c_nat @ ( produc5716802255202478839_c_nat @ X3 @ Y5 ) @ R2 )
            & ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ Xs3 @ Ys3 ) @ ( listre912106323739344157_c_nat @ R2 ) ) ) ) ) ).

% listrel.simps
thf(fact_1038_listrel_Osimps,axiom,
    ! [A1: list_nat,A22: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A1 @ A22 ) @ ( listrel_nat_nat @ R2 ) )
      = ( ( ( A1 = nil_nat )
          & ( A22 = nil_nat ) )
        | ? [X3: nat,Y5: nat,Xs3: list_nat,Ys3: list_nat] :
            ( ( A1
              = ( cons_nat @ X3 @ Xs3 ) )
            & ( A22
              = ( cons_nat @ Y5 @ Ys3 ) )
            & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X3 @ Y5 ) @ R2 )
            & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs3 @ Ys3 ) @ ( listrel_nat_nat @ R2 ) ) ) ) ) ).

% listrel.simps
thf(fact_1039_listrel_Ocases,axiom,
    ! [A1: list_P6011104703257516679at_nat,A22: list_P6011104703257516679at_nat,R2: set_Pr8693737435421807431at_nat] :
      ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ A1 @ A22 ) @ ( listre818007680106770737at_nat @ R2 ) )
     => ( ( ( A1 = nil_Pr5478986624290739719at_nat )
         => ( A22 != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [X4: product_prod_nat_nat,Y3: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( A1
                = ( cons_P6512896166579812791at_nat @ X4 @ Xs2 ) )
             => ! [Ys5: list_P6011104703257516679at_nat] :
                  ( ( A22
                    = ( cons_P6512896166579812791at_nat @ Y3 @ Ys5 ) )
                 => ( ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X4 @ Y3 ) @ R2 )
                   => ~ ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Xs2 @ Ys5 ) @ ( listre818007680106770737at_nat @ R2 ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_1040_listrel_Ocases,axiom,
    ! [A1: list_d,A22: list_e,R2: set_Product_prod_d_e] :
      ( ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ A1 @ A22 ) @ ( listrel_d_e @ R2 ) )
     => ( ( ( A1 = nil_d )
         => ( A22 != nil_e ) )
       => ~ ! [X4: d,Y3: e,Xs2: list_d] :
              ( ( A1
                = ( cons_d @ X4 @ Xs2 ) )
             => ! [Ys5: list_e] :
                  ( ( A22
                    = ( cons_e @ Y3 @ Ys5 ) )
                 => ( ( member2287536785675098129od_d_e @ ( product_Pair_d_e @ X4 @ Y3 ) @ R2 )
                   => ~ ( member1881835232509678097list_e @ ( produc242965425600552664list_e @ Xs2 @ Ys5 ) @ ( listrel_d_e @ R2 ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_1041_listrel_Ocases,axiom,
    ! [A1: list_d,A22: list_c,R2: set_Product_prod_d_c] :
      ( ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ A1 @ A22 ) @ ( listrel_d_c @ R2 ) )
     => ( ( ( A1 = nil_d )
         => ( A22 != nil_c ) )
       => ~ ! [X4: d,Y3: c,Xs2: list_d] :
              ( ( A1
                = ( cons_d @ X4 @ Xs2 ) )
             => ! [Ys5: list_c] :
                  ( ( A22
                    = ( cons_c @ Y3 @ Ys5 ) )
                 => ( ( member2287536777068640527od_d_c @ ( product_Pair_d_c @ X4 @ Y3 ) @ R2 )
                   => ~ ( member1739767152416986127list_c @ ( produc242965416994095062list_c @ Xs2 @ Ys5 ) @ ( listrel_d_c @ R2 ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_1042_listrel_Ocases,axiom,
    ! [A1: list_b,A22: list_P5135105496981608305_c_nat,R2: set_Pr2912316883363060019_c_nat] :
      ( ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ A1 @ A22 ) @ ( listre8589465890420352029_c_nat @ R2 ) )
     => ( ( ( A1 = nil_b )
         => ( A22 != nil_Pr1286845431714845041_c_nat ) )
       => ~ ! [X4: b,Y3: produc7123198797777838443_c_nat,Xs2: list_b] :
              ( ( A1
                = ( cons_b @ X4 @ Xs2 ) )
             => ! [Ys5: list_P5135105496981608305_c_nat] :
                  ( ( A22
                    = ( cons_P7624949988608740641_c_nat @ Y3 @ Ys5 ) )
                 => ( ( member5609925333709090172_c_nat @ ( produc1153541909957361603_c_nat @ X4 @ Y3 ) @ R2 )
                   => ~ ( member6065427948895910140_c_nat @ ( produc6457396413173082691_c_nat @ Xs2 @ Ys5 ) @ ( listre8589465890420352029_c_nat @ R2 ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_1043_listrel_Ocases,axiom,
    ! [A1: list_b,A22: list_m3852300627133942458_b_a_b,R2: set_Pr734110891364819982_b_a_b] :
      ( ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ A1 @ A22 ) @ ( listre7442323372248500856_b_a_b @ R2 ) )
     => ( ( ( A1 = nil_b )
         => ( A22 != nil_ma6778580008647547940_b_a_b ) )
       => ~ ! [X4: b,Y3: mappin8597647756751374250_b_a_b,Xs2: list_b] :
              ( ( A1
                = ( cons_b @ X4 @ Xs2 ) )
             => ! [Ys5: list_m3852300627133942458_b_a_b] :
                  ( ( A22
                    = ( cons_m5583439491531089012_b_a_b @ Y3 @ Ys5 ) )
                 => ( ( member5165263004772949231_b_a_b @ ( produc5420919026241514322_b_a_b @ X4 @ Y3 ) @ R2 )
                   => ~ ( member1148259165895179013_b_a_b @ ( produc2035645408209605992_b_a_b @ Xs2 @ Ys5 ) @ ( listre7442323372248500856_b_a_b @ R2 ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_1044_listrel_Ocases,axiom,
    ! [A1: list_b,A22: list_o9079336047566018143_c_nat,R2: set_Pr8806432033423503795_c_nat] :
      ( ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ A1 @ A22 ) @ ( listre912106323739344157_c_nat @ R2 ) )
     => ( ( ( A1 = nil_b )
         => ( A22 != nil_op2410232952894710985_c_nat ) )
       => ~ ! [X4: b,Y3: option7520157102916957007_c_nat,Xs2: list_b] :
              ( ( A1
                = ( cons_b @ X4 @ Xs2 ) )
             => ! [Ys5: list_o9079336047566018143_c_nat] :
                  ( ( A22
                    = ( cons_o7152427081109263641_c_nat @ Y3 @ Ys5 ) )
                 => ( ( member7562873241046315796_c_nat @ ( produc5716802255202478839_c_nat @ X4 @ Y3 ) @ R2 )
                   => ~ ( member2771974599376966698_c_nat @ ( produc3396530682269014029_c_nat @ Xs2 @ Ys5 ) @ ( listre912106323739344157_c_nat @ R2 ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_1045_listrel_Ocases,axiom,
    ! [A1: list_nat,A22: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ A1 @ A22 ) @ ( listrel_nat_nat @ R2 ) )
     => ( ( ( A1 = nil_nat )
         => ( A22 != nil_nat ) )
       => ~ ! [X4: nat,Y3: nat,Xs2: list_nat] :
              ( ( A1
                = ( cons_nat @ X4 @ Xs2 ) )
             => ! [Ys5: list_nat] :
                  ( ( A22
                    = ( cons_nat @ Y3 @ Ys5 ) )
                 => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X4 @ Y3 ) @ R2 )
                   => ~ ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys5 ) @ ( listrel_nat_nat @ R2 ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_1046_lenlex__length,axiom,
    ! [Ms: list_P125642481956313003od_c_a,Ns: list_P125642481956313003od_c_a,R2: set_Pr5414900262478774087od_c_a] :
      ( ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ Ms @ Ns ) @ ( lenlex2981440866057360304od_c_a @ R2 ) )
     => ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Ms ) @ ( size_s2614380629626057239od_c_a @ Ns ) ) ) ).

% lenlex_length
thf(fact_1047_reach__window__app,axiom,
    ! [Args: args_e6516999200615308162t_unit,T0: d,Sub: e,Rho: list_P125642481956313003od_c_a,I: nat,Si: d,Ti: e,J: nat,Tj: d,Sj: e,Tj2: d,X: c,Sj2: e,Y: a] :
      ( ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ Rho @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Si @ ( produc5384269442762620216od_d_e @ Ti @ ( produc7887413874091304127od_d_e @ J @ ( product_Pair_d_e @ Tj @ Sj ) ) ) ) ) )
     => ( ( ( w_run_2440119097188408004t_unit @ Args @ Tj )
          = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ Tj2 @ X ) ) )
       => ( ( ( w_run_5029099626773294832t_unit @ Args @ Sj )
            = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ Sj2 @ Y ) ) )
         => ( reach_1950258145352836792_c_d_e @ Args @ T0 @ Sub @ ( append8983669691956257088od_c_a @ Rho @ ( cons_P1742027962761213787od_c_a @ ( product_Pair_c_a @ X @ Y ) @ nil_Product_prod_c_a ) ) @ ( produc567323201292048087od_d_e @ I @ ( produc2738068492226668904od_d_e @ Si @ ( produc5384269442762620216od_d_e @ Ti @ ( produc7887413874091304127od_d_e @ ( suc @ J ) @ ( product_Pair_d_e @ Tj2 @ Sj2 ) ) ) ) ) ) ) ) ) ).

% reach_window_app
thf(fact_1048_delete__aux_Ocases,axiom,
    ! [X: produc4923670003902198484od_d_e] :
      ( ! [K3: d] :
          ( X
         != ( produc6845469863415996484od_d_e @ K3 @ nil_Product_prod_d_e ) )
     => ~ ! [K3: d,K4: d,V3: e,Xs2: list_P8997501678391486062od_d_e] :
            ( X
           != ( produc6845469863415996484od_d_e @ K3 @ ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ K4 @ V3 ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_1049_delete__aux_Ocases,axiom,
    ! [X: produc742667003625493970od_d_c] :
      ( ! [K3: d] :
          ( X
         != ( produc6703401783323304514od_d_c @ K3 @ nil_Product_prod_d_c ) )
     => ~ ! [K3: d,K4: d,V3: c,Xs2: list_P8855433598298794092od_d_c] :
            ( X
           != ( produc6703401783323304514od_d_c @ K3 @ ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ K4 @ V3 ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_1050_delete__aux_Ocases,axiom,
    ! [X: produc3999919853669154241_c_nat] :
      ( ! [K3: b] :
          ( X
         != ( produc7720905152589410481_c_nat @ K3 @ nil_Pr7508691997839540569_c_nat ) )
     => ~ ! [K3: b,K4: b,V3: produc7123198797777838443_c_nat,Xs2: list_P2889901965215479385_c_nat] :
            ( X
           != ( produc7720905152589410481_c_nat @ K3 @ ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ K4 @ V3 ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_1051_delete__aux_Ocases,axiom,
    ! [X: produc5366608981045201046_b_a_b] :
      ( ! [K3: b] :
          ( X
         != ( produc8625867758329604880_b_a_b @ K3 @ nil_Pr9103419051586686674_b_a_b ) )
     => ~ ! [K3: b,K4: b,V3: mappin8597647756751374250_b_a_b,Xs2: list_P1642740157484131176_b_a_b] :
            ( X
           != ( produc8625867758329604880_b_a_b @ K3 @ ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ K4 @ V3 ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_1052_delete__aux_Ocases,axiom,
    ! [X: produc6358558248090350139_c_nat] :
      ( ! [K3: b] :
          ( X
         != ( produc385356081875622325_c_nat @ K3 @ nil_Pr2407244426195543671_c_nat ) )
     => ~ ! [K3: b,K4: b,V3: option7520157102916957007_c_nat,Xs2: list_P8155366108056616461_c_nat] :
            ( X
           != ( produc385356081875622325_c_nat @ K3 @ ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ K4 @ V3 ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_1053_delete__aux_Ocases,axiom,
    ! [X: produc8472197452120411308at_nat] :
      ( ! [K3: nat] :
          ( X
         != ( produc6109913384486294878at_nat @ K3 @ nil_Pr5478986624290739719at_nat ) )
     => ~ ! [K3: nat,K4: nat,V3: nat,Xs2: list_P6011104703257516679at_nat] :
            ( X
           != ( produc6109913384486294878at_nat @ K3 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K4 @ V3 ) @ Xs2 ) ) ) ) ).

% delete_aux.cases
thf(fact_1054_append__eq__append__conv,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,Us: list_P125642481956313003od_c_a,Vs: list_P125642481956313003od_c_a] :
      ( ( ( ( size_s2614380629626057239od_c_a @ Xs )
          = ( size_s2614380629626057239od_c_a @ Ys2 ) )
        | ( ( size_s2614380629626057239od_c_a @ Us )
          = ( size_s2614380629626057239od_c_a @ Vs ) ) )
     => ( ( ( append8983669691956257088od_c_a @ Xs @ Us )
          = ( append8983669691956257088od_c_a @ Ys2 @ Vs ) )
        = ( ( Xs = Ys2 )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_1055_map__append,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( map_Pr5866436826731527135_c_a_c @ F @ ( append8983669691956257088od_c_a @ Xs @ Ys2 ) )
      = ( append_c @ ( map_Pr5866436826731527135_c_a_c @ F @ Xs ) @ ( map_Pr5866436826731527135_c_a_c @ F @ Ys2 ) ) ) ).

% map_append
thf(fact_1056_map__append,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( map_Pr5866436826731527133_c_a_a @ F @ ( append8983669691956257088od_c_a @ Xs @ Ys2 ) )
      = ( append_a @ ( map_Pr5866436826731527133_c_a_a @ F @ Xs ) @ ( map_Pr5866436826731527133_c_a_a @ F @ Ys2 ) ) ) ).

% map_append
thf(fact_1057_map__append,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,Ys2: list_P903359562653991662od_b_c] :
      ( ( map_Pr8222292247188198875_b_c_b @ F @ ( append2547753245680614915od_b_c @ Xs @ Ys2 ) )
      = ( append_b @ ( map_Pr8222292247188198875_b_c_b @ F @ Xs ) @ ( map_Pr8222292247188198875_b_c_b @ F @ Ys2 ) ) ) ).

% map_append
thf(fact_1058_map__append,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,Ys2: list_P7417839048565863355_c_nat] :
      ( ( map_Pr6200325787298368846_nat_b @ F @ ( append7611157511503221456_c_nat @ Xs @ Ys2 ) )
      = ( append_b @ ( map_Pr6200325787298368846_nat_b @ F @ Xs ) @ ( map_Pr6200325787298368846_nat_b @ F @ Ys2 ) ) ) ).

% map_append
thf(fact_1059_length__append,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( size_s2614380629626057239od_c_a @ ( append8983669691956257088od_c_a @ Xs @ Ys2 ) )
      = ( plus_plus_nat @ ( size_s2614380629626057239od_c_a @ Xs ) @ ( size_s2614380629626057239od_c_a @ Ys2 ) ) ) ).

% length_append
thf(fact_1060_append__take__drop__id,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( append_c @ ( take_c @ N @ Xs ) @ ( drop_c @ N @ Xs ) )
      = Xs ) ).

% append_take_drop_id
thf(fact_1061_append__take__drop__id,axiom,
    ! [N: nat,Xs: list_a] :
      ( ( append_a @ ( take_a @ N @ Xs ) @ ( drop_a @ N @ Xs ) )
      = Xs ) ).

% append_take_drop_id
thf(fact_1062_nth__append__length,axiom,
    ! [Xs: list_P125642481956313003od_c_a,X: product_prod_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( nth_Product_prod_c_a @ ( append8983669691956257088od_c_a @ Xs @ ( cons_P1742027962761213787od_c_a @ X @ Ys2 ) ) @ ( size_s2614380629626057239od_c_a @ Xs ) )
      = X ) ).

% nth_append_length
thf(fact_1063_nth__append__length__plus,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,N: nat] :
      ( ( nth_Product_prod_c_a @ ( append8983669691956257088od_c_a @ Xs @ Ys2 ) @ ( plus_plus_nat @ ( size_s2614380629626057239od_c_a @ Xs ) @ N ) )
      = ( nth_Product_prod_c_a @ Ys2 @ N ) ) ).

% nth_append_length_plus
thf(fact_1064_zip__append,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Us: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,Vs: list_P125642481956313003od_c_a] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( size_s2614380629626057239od_c_a @ Us ) )
     => ( ( zip_Pr3634142598522762231od_c_a @ ( append8983669691956257088od_c_a @ Xs @ Ys2 ) @ ( append8983669691956257088od_c_a @ Us @ Vs ) )
        = ( append2097806884062395138od_c_a @ ( zip_Pr3634142598522762231od_c_a @ Xs @ Us ) @ ( zip_Pr3634142598522762231od_c_a @ Ys2 @ Vs ) ) ) ) ).

% zip_append
thf(fact_1065_append__eq__map__conv,axiom,
    ! [Ys2: list_c,Zs3: list_c,F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a] :
      ( ( ( append_c @ Ys2 @ Zs3 )
        = ( map_Pr5866436826731527135_c_a_c @ F @ Xs ) )
      = ( ? [Us2: list_P125642481956313003od_c_a,Vs4: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( append8983669691956257088od_c_a @ Us2 @ Vs4 ) )
            & ( Ys2
              = ( map_Pr5866436826731527135_c_a_c @ F @ Us2 ) )
            & ( Zs3
              = ( map_Pr5866436826731527135_c_a_c @ F @ Vs4 ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_1066_append__eq__map__conv,axiom,
    ! [Ys2: list_a,Zs3: list_a,F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a] :
      ( ( ( append_a @ Ys2 @ Zs3 )
        = ( map_Pr5866436826731527133_c_a_a @ F @ Xs ) )
      = ( ? [Us2: list_P125642481956313003od_c_a,Vs4: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( append8983669691956257088od_c_a @ Us2 @ Vs4 ) )
            & ( Ys2
              = ( map_Pr5866436826731527133_c_a_a @ F @ Us2 ) )
            & ( Zs3
              = ( map_Pr5866436826731527133_c_a_a @ F @ Vs4 ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_1067_append__eq__map__conv,axiom,
    ! [Ys2: list_b,Zs3: list_b,F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c] :
      ( ( ( append_b @ Ys2 @ Zs3 )
        = ( map_Pr8222292247188198875_b_c_b @ F @ Xs ) )
      = ( ? [Us2: list_P903359562653991662od_b_c,Vs4: list_P903359562653991662od_b_c] :
            ( ( Xs
              = ( append2547753245680614915od_b_c @ Us2 @ Vs4 ) )
            & ( Ys2
              = ( map_Pr8222292247188198875_b_c_b @ F @ Us2 ) )
            & ( Zs3
              = ( map_Pr8222292247188198875_b_c_b @ F @ Vs4 ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_1068_append__eq__map__conv,axiom,
    ! [Ys2: list_b,Zs3: list_b,F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat] :
      ( ( ( append_b @ Ys2 @ Zs3 )
        = ( map_Pr6200325787298368846_nat_b @ F @ Xs ) )
      = ( ? [Us2: list_P7417839048565863355_c_nat,Vs4: list_P7417839048565863355_c_nat] :
            ( ( Xs
              = ( append7611157511503221456_c_nat @ Us2 @ Vs4 ) )
            & ( Ys2
              = ( map_Pr6200325787298368846_nat_b @ F @ Us2 ) )
            & ( Zs3
              = ( map_Pr6200325787298368846_nat_b @ F @ Vs4 ) ) ) ) ) ).

% append_eq_map_conv
thf(fact_1069_map__eq__append__conv,axiom,
    ! [F: product_prod_c_a > c,Xs: list_P125642481956313003od_c_a,Ys2: list_c,Zs3: list_c] :
      ( ( ( map_Pr5866436826731527135_c_a_c @ F @ Xs )
        = ( append_c @ Ys2 @ Zs3 ) )
      = ( ? [Us2: list_P125642481956313003od_c_a,Vs4: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( append8983669691956257088od_c_a @ Us2 @ Vs4 ) )
            & ( Ys2
              = ( map_Pr5866436826731527135_c_a_c @ F @ Us2 ) )
            & ( Zs3
              = ( map_Pr5866436826731527135_c_a_c @ F @ Vs4 ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_1070_map__eq__append__conv,axiom,
    ! [F: product_prod_c_a > a,Xs: list_P125642481956313003od_c_a,Ys2: list_a,Zs3: list_a] :
      ( ( ( map_Pr5866436826731527133_c_a_a @ F @ Xs )
        = ( append_a @ Ys2 @ Zs3 ) )
      = ( ? [Us2: list_P125642481956313003od_c_a,Vs4: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( append8983669691956257088od_c_a @ Us2 @ Vs4 ) )
            & ( Ys2
              = ( map_Pr5866436826731527133_c_a_a @ F @ Us2 ) )
            & ( Zs3
              = ( map_Pr5866436826731527133_c_a_a @ F @ Vs4 ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_1071_map__eq__append__conv,axiom,
    ! [F: product_prod_b_c > b,Xs: list_P903359562653991662od_b_c,Ys2: list_b,Zs3: list_b] :
      ( ( ( map_Pr8222292247188198875_b_c_b @ F @ Xs )
        = ( append_b @ Ys2 @ Zs3 ) )
      = ( ? [Us2: list_P903359562653991662od_b_c,Vs4: list_P903359562653991662od_b_c] :
            ( ( Xs
              = ( append2547753245680614915od_b_c @ Us2 @ Vs4 ) )
            & ( Ys2
              = ( map_Pr8222292247188198875_b_c_b @ F @ Us2 ) )
            & ( Zs3
              = ( map_Pr8222292247188198875_b_c_b @ F @ Vs4 ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_1072_map__eq__append__conv,axiom,
    ! [F: produc6689720525226317995_c_nat > b,Xs: list_P7417839048565863355_c_nat,Ys2: list_b,Zs3: list_b] :
      ( ( ( map_Pr6200325787298368846_nat_b @ F @ Xs )
        = ( append_b @ Ys2 @ Zs3 ) )
      = ( ? [Us2: list_P7417839048565863355_c_nat,Vs4: list_P7417839048565863355_c_nat] :
            ( ( Xs
              = ( append7611157511503221456_c_nat @ Us2 @ Vs4 ) )
            & ( Ys2
              = ( map_Pr6200325787298368846_nat_b @ F @ Us2 ) )
            & ( Zs3
              = ( map_Pr6200325787298368846_nat_b @ F @ Vs4 ) ) ) ) ) ).

% map_eq_append_conv
thf(fact_1073_reaches__on__trans,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,Vs: list_c,S3: d,Vs2: list_c,S7: d] :
      ( ( reaches_on_d_c @ Run @ S2 @ Vs @ S3 )
     => ( ( reaches_on_d_c @ Run @ S3 @ Vs2 @ S7 )
       => ( reaches_on_d_c @ Run @ S2 @ ( append_c @ Vs @ Vs2 ) @ S7 ) ) ) ).

% reaches_on_trans
thf(fact_1074_reaches__on__trans,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,Vs: list_a,S3: e,Vs2: list_a,S7: e] :
      ( ( reaches_on_e_a @ Run @ S2 @ Vs @ S3 )
     => ( ( reaches_on_e_a @ Run @ S3 @ Vs2 @ S7 )
       => ( reaches_on_e_a @ Run @ S2 @ ( append_a @ Vs @ Vs2 ) @ S7 ) ) ) ).

% reaches_on_trans
thf(fact_1075_reaches__on__split__app,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,Vs: list_c,Vs2: list_c,S3: d] :
      ( ( reaches_on_d_c @ Run @ S2 @ ( append_c @ Vs @ Vs2 ) @ S3 )
     => ? [S5: d] :
          ( ( reaches_on_d_c @ Run @ S2 @ Vs @ S5 )
          & ( reaches_on_d_c @ Run @ S5 @ Vs2 @ S3 ) ) ) ).

% reaches_on_split_app
thf(fact_1076_reaches__on__split__app,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,Vs: list_a,Vs2: list_a,S3: e] :
      ( ( reaches_on_e_a @ Run @ S2 @ ( append_a @ Vs @ Vs2 ) @ S3 )
     => ? [S5: e] :
          ( ( reaches_on_e_a @ Run @ S2 @ Vs @ S5 )
          & ( reaches_on_e_a @ Run @ S5 @ Vs2 @ S3 ) ) ) ).

% reaches_on_split_app
thf(fact_1077_enumerate__append__eq,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( enumer3678193802876429962od_c_a @ N @ ( append8983669691956257088od_c_a @ Xs @ Ys2 ) )
      = ( append1952407293978134383od_c_a @ ( enumer3678193802876429962od_c_a @ N @ Xs ) @ ( enumer3678193802876429962od_c_a @ ( plus_plus_nat @ N @ ( size_s2614380629626057239od_c_a @ Xs ) ) @ Ys2 ) ) ) ).

% enumerate_append_eq
thf(fact_1078_zip__append1,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,Zs3: list_c] :
      ( ( zip_Pr1854719111170197330_c_a_c @ ( append8983669691956257088od_c_a @ Xs @ Ys2 ) @ Zs3 )
      = ( append6453043046823588061_c_a_c @ ( zip_Pr1854719111170197330_c_a_c @ Xs @ ( take_c @ ( size_s2614380629626057239od_c_a @ Xs ) @ Zs3 ) ) @ ( zip_Pr1854719111170197330_c_a_c @ Ys2 @ ( drop_c @ ( size_s2614380629626057239od_c_a @ Xs ) @ Zs3 ) ) ) ) ).

% zip_append1
thf(fact_1079_zip__append1,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,Zs3: list_a] :
      ( ( zip_Pr1854719111170197328_c_a_a @ ( append8983669691956257088od_c_a @ Xs @ Ys2 ) @ Zs3 )
      = ( append6453043038217130459_c_a_a @ ( zip_Pr1854719111170197328_c_a_a @ Xs @ ( take_a @ ( size_s2614380629626057239od_c_a @ Xs ) @ Zs3 ) ) @ ( zip_Pr1854719111170197328_c_a_a @ Ys2 @ ( drop_a @ ( size_s2614380629626057239od_c_a @ Xs ) @ Zs3 ) ) ) ) ).

% zip_append1
thf(fact_1080_zip__append2,axiom,
    ! [Xs: list_c,Ys2: list_P125642481956313003od_c_a,Zs3: list_P125642481956313003od_c_a] :
      ( ( zip_c_6217914719585040988od_c_a @ Xs @ ( append8983669691956257088od_c_a @ Ys2 @ Zs3 ) )
      = ( append2175004778869054823od_c_a @ ( zip_c_6217914719585040988od_c_a @ ( take_c @ ( size_s2614380629626057239od_c_a @ Ys2 ) @ Xs ) @ Ys2 ) @ ( zip_c_6217914719585040988od_c_a @ ( drop_c @ ( size_s2614380629626057239od_c_a @ Ys2 ) @ Xs ) @ Zs3 ) ) ) ).

% zip_append2
thf(fact_1081_zip__append2,axiom,
    ! [Xs: list_a,Ys2: list_P125642481956313003od_c_a,Zs3: list_P125642481956313003od_c_a] :
      ( ( zip_a_7496795320248673246od_c_a @ Xs @ ( append8983669691956257088od_c_a @ Ys2 @ Zs3 ) )
      = ( append3453885379532687081od_c_a @ ( zip_a_7496795320248673246od_c_a @ ( take_a @ ( size_s2614380629626057239od_c_a @ Ys2 ) @ Xs ) @ Ys2 ) @ ( zip_a_7496795320248673246od_c_a @ ( drop_a @ ( size_s2614380629626057239od_c_a @ Ys2 ) @ Xs ) @ Zs3 ) ) ) ).

% zip_append2
thf(fact_1082_same__length__different,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( Xs != Ys2 )
     => ( ( ( size_s2614380629626057239od_c_a @ Xs )
          = ( size_s2614380629626057239od_c_a @ Ys2 ) )
       => ? [Pre: list_P125642481956313003od_c_a,X4: product_prod_c_a,Xs4: list_P125642481956313003od_c_a,Y3: product_prod_c_a,Ys4: list_P125642481956313003od_c_a] :
            ( ( X4 != Y3 )
            & ( Xs
              = ( append8983669691956257088od_c_a @ Pre @ ( append8983669691956257088od_c_a @ ( cons_P1742027962761213787od_c_a @ X4 @ nil_Product_prod_c_a ) @ Xs4 ) ) )
            & ( Ys2
              = ( append8983669691956257088od_c_a @ Pre @ ( append8983669691956257088od_c_a @ ( cons_P1742027962761213787od_c_a @ Y3 @ nil_Product_prod_c_a ) @ Ys4 ) ) ) ) ) ) ).

% same_length_different
thf(fact_1083_not__distinct__decomp,axiom,
    ! [Ws: list_b] :
      ( ~ ( distinct_b @ Ws )
     => ? [Xs2: list_b,Ys5: list_b,Zs: list_b,Y3: b] :
          ( Ws
          = ( append_b @ Xs2 @ ( append_b @ ( cons_b @ Y3 @ nil_b ) @ ( append_b @ Ys5 @ ( append_b @ ( cons_b @ Y3 @ nil_b ) @ Zs ) ) ) ) ) ) ).

% not_distinct_decomp
thf(fact_1084_append__eq__conv__conj,axiom,
    ! [Xs: list_c,Ys2: list_c,Zs3: list_c] :
      ( ( ( append_c @ Xs @ Ys2 )
        = Zs3 )
      = ( ( Xs
          = ( take_c @ ( size_size_list_c @ Xs ) @ Zs3 ) )
        & ( Ys2
          = ( drop_c @ ( size_size_list_c @ Xs ) @ Zs3 ) ) ) ) ).

% append_eq_conv_conj
thf(fact_1085_append__eq__conv__conj,axiom,
    ! [Xs: list_a,Ys2: list_a,Zs3: list_a] :
      ( ( ( append_a @ Xs @ Ys2 )
        = Zs3 )
      = ( ( Xs
          = ( take_a @ ( size_size_list_a @ Xs ) @ Zs3 ) )
        & ( Ys2
          = ( drop_a @ ( size_size_list_a @ Xs ) @ Zs3 ) ) ) ) ).

% append_eq_conv_conj
thf(fact_1086_append__eq__conv__conj,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,Zs3: list_P125642481956313003od_c_a] :
      ( ( ( append8983669691956257088od_c_a @ Xs @ Ys2 )
        = Zs3 )
      = ( ( Xs
          = ( take_P5635244868432972691od_c_a @ ( size_s2614380629626057239od_c_a @ Xs ) @ Zs3 ) )
        & ( Ys2
          = ( drop_P2881858833336742123od_c_a @ ( size_s2614380629626057239od_c_a @ Xs ) @ Zs3 ) ) ) ) ).

% append_eq_conv_conj
thf(fact_1087_take__add,axiom,
    ! [I: nat,J: nat,Xs: list_c] :
      ( ( take_c @ ( plus_plus_nat @ I @ J ) @ Xs )
      = ( append_c @ ( take_c @ I @ Xs ) @ ( take_c @ J @ ( drop_c @ I @ Xs ) ) ) ) ).

% take_add
thf(fact_1088_take__add,axiom,
    ! [I: nat,J: nat,Xs: list_a] :
      ( ( take_a @ ( plus_plus_nat @ I @ J ) @ Xs )
      = ( append_a @ ( take_a @ I @ Xs ) @ ( take_a @ J @ ( drop_a @ I @ Xs ) ) ) ) ).

% take_add
thf(fact_1089_lex__append__left__iff,axiom,
    ! [R2: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,Zs3: list_P6011104703257516679at_nat] :
      ( ! [X4: product_prod_nat_nat] :
          ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X4 @ X4 ) @ R2 )
     => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( append985823374593552924at_nat @ Xs @ Ys2 ) @ ( append985823374593552924at_nat @ Xs @ Zs3 ) ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) )
        = ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ys2 @ Zs3 ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) ) ) ) ).

% lex_append_left_iff
thf(fact_1090_lex__append__left__iff,axiom,
    ! [R2: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys2: list_nat,Zs3: list_nat] :
      ( ! [X4: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X4 @ X4 ) @ R2 )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Ys2 ) @ ( append_nat @ Xs @ Zs3 ) ) @ ( lex_nat @ R2 ) )
        = ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys2 @ Zs3 ) @ ( lex_nat @ R2 ) ) ) ) ).

% lex_append_left_iff
thf(fact_1091_lex__append__leftD,axiom,
    ! [R2: set_Pr8693737435421807431at_nat,Xs: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat,Zs3: list_P6011104703257516679at_nat] :
      ( ! [X4: product_prod_nat_nat] :
          ~ ( member8206827879206165904at_nat @ ( produc6161850002892822231at_nat @ X4 @ X4 ) @ R2 )
     => ( ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ ( append985823374593552924at_nat @ Xs @ Ys2 ) @ ( append985823374593552924at_nat @ Xs @ Zs3 ) ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) )
       => ( member6693912407220327184at_nat @ ( produc5943733680697469783at_nat @ Ys2 @ Zs3 ) @ ( lex_Pr8571645452597969515at_nat @ R2 ) ) ) ) ).

% lex_append_leftD
thf(fact_1092_lex__append__leftD,axiom,
    ! [R2: set_Pr1261947904930325089at_nat,Xs: list_nat,Ys2: list_nat,Zs3: list_nat] :
      ( ! [X4: nat] :
          ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X4 @ X4 ) @ R2 )
     => ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs @ Ys2 ) @ ( append_nat @ Xs @ Zs3 ) ) @ ( lex_nat @ R2 ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ys2 @ Zs3 ) @ ( lex_nat @ R2 ) ) ) ) ).

% lex_append_leftD
thf(fact_1093_lex__append__rightI,axiom,
    ! [Xs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a,R2: set_Pr5414900262478774087od_c_a,Vs: list_P125642481956313003od_c_a,Us: list_P125642481956313003od_c_a] :
      ( ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ Xs @ Ys2 ) @ ( lex_Product_prod_c_a @ R2 ) )
     => ( ( ( size_s2614380629626057239od_c_a @ Vs )
          = ( size_s2614380629626057239od_c_a @ Us ) )
       => ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ ( append8983669691956257088od_c_a @ Xs @ Us ) @ ( append8983669691956257088od_c_a @ Ys2 @ Vs ) ) @ ( lex_Product_prod_c_a @ R2 ) ) ) ) ).

% lex_append_rightI
thf(fact_1094_lenlex__append1,axiom,
    ! [Us: list_P125642481956313003od_c_a,Xs: list_P125642481956313003od_c_a,R: set_Pr5414900262478774087od_c_a,Vs: list_P125642481956313003od_c_a,Ys2: list_P125642481956313003od_c_a] :
      ( ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ Us @ Xs ) @ ( lenlex2981440866057360304od_c_a @ R ) )
     => ( ( ( size_s2614380629626057239od_c_a @ Vs )
          = ( size_s2614380629626057239od_c_a @ Ys2 ) )
       => ( member4193558843337144336od_c_a @ ( produc6488642625900928599od_c_a @ ( append8983669691956257088od_c_a @ Us @ Vs ) @ ( append8983669691956257088od_c_a @ Xs @ Ys2 ) ) @ ( lenlex2981440866057360304od_c_a @ R ) ) ) ) ).

% lenlex_append1
thf(fact_1095_sup__acc__concat__cong,axiom,
    ! [J: nat,Rho: list_P125642481956313003od_c_a,Step: b > a > b,Accept: b > $o,Rho3: list_P125642481956313003od_c_a,Q: b,I: nat] :
      ( ( ord_less_eq_nat @ J @ ( size_s2614380629626057239od_c_a @ Rho ) )
     => ( ( sup_acc_b_a_c @ Step @ Accept @ ( append8983669691956257088od_c_a @ Rho @ Rho3 ) @ Q @ I @ J )
        = ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J ) ) ) ).

% sup_acc_concat_cong
thf(fact_1096_length__append__singleton,axiom,
    ! [Xs: list_P125642481956313003od_c_a,X: product_prod_c_a] :
      ( ( size_s2614380629626057239od_c_a @ ( append8983669691956257088od_c_a @ Xs @ ( cons_P1742027962761213787od_c_a @ X @ nil_Product_prod_c_a ) ) )
      = ( suc @ ( size_s2614380629626057239od_c_a @ Xs ) ) ) ).

% length_append_singleton
thf(fact_1097_length__Suc__conv__rev,axiom,
    ! [Xs: list_P125642481956313003od_c_a,N: nat] :
      ( ( ( size_s2614380629626057239od_c_a @ Xs )
        = ( suc @ N ) )
      = ( ? [Y5: product_prod_c_a,Ys3: list_P125642481956313003od_c_a] :
            ( ( Xs
              = ( append8983669691956257088od_c_a @ Ys3 @ ( cons_P1742027962761213787od_c_a @ Y5 @ nil_Product_prod_c_a ) ) )
            & ( ( size_s2614380629626057239od_c_a @ Ys3 )
              = N ) ) ) ) ).

% length_Suc_conv_rev
thf(fact_1098_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_c,Xs_2: list_c,Ys_1: list_c,Ys_2: list_c] :
      ( ( ( append_c @ Xs_1 @ Xs_2 )
        = ( append_c @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_size_list_c @ Xs_1 ) @ ( size_size_list_c @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_c @ ( size_size_list_c @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append_c @ ( drop_c @ ( size_size_list_c @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_size_list_c @ Xs_1 ) @ ( size_size_list_c @ Ys_1 ) )
         => ( ( ( take_c @ ( size_size_list_c @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append_c @ ( drop_c @ ( size_size_list_c @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_1099_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_a,Xs_2: list_a,Ys_1: list_a,Ys_2: list_a] :
      ( ( ( append_a @ Xs_1 @ Xs_2 )
        = ( append_a @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs_1 ) @ ( size_size_list_a @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_a @ ( size_size_list_a @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append_a @ ( drop_a @ ( size_size_list_a @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_size_list_a @ Xs_1 ) @ ( size_size_list_a @ Ys_1 ) )
         => ( ( ( take_a @ ( size_size_list_a @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append_a @ ( drop_a @ ( size_size_list_a @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_1100_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_P125642481956313003od_c_a,Xs_2: list_P125642481956313003od_c_a,Ys_1: list_P125642481956313003od_c_a,Ys_2: list_P125642481956313003od_c_a] :
      ( ( ( append8983669691956257088od_c_a @ Xs_1 @ Xs_2 )
        = ( append8983669691956257088od_c_a @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Xs_1 ) @ ( size_s2614380629626057239od_c_a @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_P5635244868432972691od_c_a @ ( size_s2614380629626057239od_c_a @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append8983669691956257088od_c_a @ ( drop_P2881858833336742123od_c_a @ ( size_s2614380629626057239od_c_a @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_s2614380629626057239od_c_a @ Xs_1 ) @ ( size_s2614380629626057239od_c_a @ Ys_1 ) )
         => ( ( ( take_P5635244868432972691od_c_a @ ( size_s2614380629626057239od_c_a @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append8983669691956257088od_c_a @ ( drop_P2881858833336742123od_c_a @ ( size_s2614380629626057239od_c_a @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_1101_chain__le__app,axiom,
    ! [Zs3: list_nat,Z2: nat,W: nat] :
      ( ( chain_le_nat @ ( append_nat @ Zs3 @ ( cons_nat @ Z2 @ nil_nat ) ) )
     => ( ( ord_less_eq_nat @ Z2 @ W )
       => ( chain_le_nat @ ( append_nat @ ( append_nat @ Zs3 @ ( cons_nat @ Z2 @ nil_nat ) ) @ ( cons_nat @ W @ nil_nat ) ) ) ) ) ).

% chain_le_app
thf(fact_1102_chain__le__app,axiom,
    ! [Zs3: list_c,Z2: c,W: c] :
      ( ( chain_le_c @ ( append_c @ Zs3 @ ( cons_c @ Z2 @ nil_c ) ) )
     => ( ( ord_less_eq_c @ Z2 @ W )
       => ( chain_le_c @ ( append_c @ ( append_c @ Zs3 @ ( cons_c @ Z2 @ nil_c ) ) @ ( cons_c @ W @ nil_c ) ) ) ) ) ).

% chain_le_app
thf(fact_1103_reaches__on__app,axiom,
    ! [Run: d > option3587349581325807662od_d_e,S2: d,Vs: list_e,S3: d,S7: d,V: e] :
      ( ( reaches_on_d_e @ Run @ S2 @ Vs @ S3 )
     => ( ( ( Run @ S3 )
          = ( some_P4453072603345039821od_d_e @ ( product_Pair_d_e @ S7 @ V ) ) )
       => ( reaches_on_d_e @ Run @ S2 @ ( append_e @ Vs @ ( cons_e @ V @ nil_e ) ) @ S7 ) ) ) ).

% reaches_on_app
thf(fact_1104_reaches__on__app,axiom,
    ! [Run: b > option7370380519722188825_c_nat,S2: b,Vs: list_P5135105496981608305_c_nat,S3: b,S7: b,V: produc7123198797777838443_c_nat] :
      ( ( reache4715653029478586672_c_nat @ Run @ S2 @ Vs @ S3 )
     => ( ( ( Run @ S3 )
          = ( some_P5809380379890353976_c_nat @ ( produc1153541909957361603_c_nat @ S7 @ V ) ) )
       => ( reache4715653029478586672_c_nat @ Run @ S2 @ ( append7031108110503470086_c_nat @ Vs @ ( cons_P7624949988608740641_c_nat @ V @ nil_Pr1286845431714845041_c_nat ) ) @ S7 ) ) ) ).

% reaches_on_app
thf(fact_1105_reaches__on__app,axiom,
    ! [Run: b > option2373316081166772648_b_a_b,S2: b,Vs: list_m3852300627133942458_b_a_b,S3: b,S7: b,V: mappin8597647756751374250_b_a_b] :
      ( ( reache2776293828163486629_b_a_b @ Run @ S2 @ Vs @ S3 )
     => ( ( ( Run @ S3 )
          = ( some_P3758648796427522099_b_a_b @ ( produc5420919026241514322_b_a_b @ S7 @ V ) ) )
       => ( reache2776293828163486629_b_a_b @ Run @ S2 @ ( append4387805339873220943_b_a_b @ Vs @ ( cons_m5583439491531089012_b_a_b @ V @ nil_ma6778580008647547940_b_a_b ) ) @ S7 ) ) ) ).

% reaches_on_app
thf(fact_1106_reaches__on__app,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S2: nat,Vs: list_nat,S3: nat,S7: nat,V: nat] :
      ( ( reaches_on_nat_nat @ Run @ S2 @ Vs @ S3 )
     => ( ( ( Run @ S3 )
          = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S7 @ V ) ) )
       => ( reaches_on_nat_nat @ Run @ S2 @ ( append_nat @ Vs @ ( cons_nat @ V @ nil_nat ) ) @ S7 ) ) ) ).

% reaches_on_app
thf(fact_1107_reaches__on__app,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,Vs: list_c,S3: d,S7: d,V: c] :
      ( ( reaches_on_d_c @ Run @ S2 @ Vs @ S3 )
     => ( ( ( Run @ S3 )
          = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ S7 @ V ) ) )
       => ( reaches_on_d_c @ Run @ S2 @ ( append_c @ Vs @ ( cons_c @ V @ nil_c ) ) @ S7 ) ) ) ).

% reaches_on_app
thf(fact_1108_reaches__on__app,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,Vs: list_a,S3: e,S7: e,V: a] :
      ( ( reaches_on_e_a @ Run @ S2 @ Vs @ S3 )
     => ( ( ( Run @ S3 )
          = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ S7 @ V ) ) )
       => ( reaches_on_e_a @ Run @ S2 @ ( append_a @ Vs @ ( cons_a @ V @ nil_a ) ) @ S7 ) ) ) ).

% reaches_on_app
thf(fact_1109_reaches__on__app,axiom,
    ! [Run: b > option2970150418924381261_c_nat,S2: b,Vs: list_o9079336047566018143_c_nat,S3: b,S7: b,V: option7520157102916957007_c_nat] :
      ( ( reache896934410160684234_c_nat @ Run @ S2 @ Vs @ S3 )
     => ( ( ( Run @ S3 )
          = ( some_P2720002978653898840_c_nat @ ( produc5716802255202478839_c_nat @ S7 @ V ) ) )
       => ( reache896934410160684234_c_nat @ Run @ S2 @ ( append5745659807110252404_c_nat @ Vs @ ( cons_o7152427081109263641_c_nat @ V @ nil_op2410232952894710985_c_nat ) ) @ S7 ) ) ) ).

% reaches_on_app
thf(fact_1110_reaches__on__rev__induct,axiom,
    ! [Run: d > option3587349581325807662od_d_e,S2: d,Vs: list_e,S3: d,P: d > list_e > d > $o] :
      ( ( reaches_on_d_e @ Run @ S2 @ Vs @ S3 )
     => ( ! [S10: d] : ( P @ S10 @ nil_e @ S10 )
       => ( ! [S10: d,S: d,V3: e,Vs3: list_e,S5: d] :
              ( ( reaches_on_d_e @ Run @ S10 @ Vs3 @ S )
             => ( ( P @ S10 @ Vs3 @ S )
               => ( ( ( Run @ S )
                    = ( some_P4453072603345039821od_d_e @ ( product_Pair_d_e @ S5 @ V3 ) ) )
                 => ( P @ S10 @ ( append_e @ Vs3 @ ( cons_e @ V3 @ nil_e ) ) @ S5 ) ) ) )
         => ( P @ S2 @ Vs @ S3 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_1111_reaches__on__rev__induct,axiom,
    ! [Run: b > option7370380519722188825_c_nat,S2: b,Vs: list_P5135105496981608305_c_nat,S3: b,P: b > list_P5135105496981608305_c_nat > b > $o] :
      ( ( reache4715653029478586672_c_nat @ Run @ S2 @ Vs @ S3 )
     => ( ! [S10: b] : ( P @ S10 @ nil_Pr1286845431714845041_c_nat @ S10 )
       => ( ! [S10: b,S: b,V3: produc7123198797777838443_c_nat,Vs3: list_P5135105496981608305_c_nat,S5: b] :
              ( ( reache4715653029478586672_c_nat @ Run @ S10 @ Vs3 @ S )
             => ( ( P @ S10 @ Vs3 @ S )
               => ( ( ( Run @ S )
                    = ( some_P5809380379890353976_c_nat @ ( produc1153541909957361603_c_nat @ S5 @ V3 ) ) )
                 => ( P @ S10 @ ( append7031108110503470086_c_nat @ Vs3 @ ( cons_P7624949988608740641_c_nat @ V3 @ nil_Pr1286845431714845041_c_nat ) ) @ S5 ) ) ) )
         => ( P @ S2 @ Vs @ S3 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_1112_reaches__on__rev__induct,axiom,
    ! [Run: b > option2373316081166772648_b_a_b,S2: b,Vs: list_m3852300627133942458_b_a_b,S3: b,P: b > list_m3852300627133942458_b_a_b > b > $o] :
      ( ( reache2776293828163486629_b_a_b @ Run @ S2 @ Vs @ S3 )
     => ( ! [S10: b] : ( P @ S10 @ nil_ma6778580008647547940_b_a_b @ S10 )
       => ( ! [S10: b,S: b,V3: mappin8597647756751374250_b_a_b,Vs3: list_m3852300627133942458_b_a_b,S5: b] :
              ( ( reache2776293828163486629_b_a_b @ Run @ S10 @ Vs3 @ S )
             => ( ( P @ S10 @ Vs3 @ S )
               => ( ( ( Run @ S )
                    = ( some_P3758648796427522099_b_a_b @ ( produc5420919026241514322_b_a_b @ S5 @ V3 ) ) )
                 => ( P @ S10 @ ( append4387805339873220943_b_a_b @ Vs3 @ ( cons_m5583439491531089012_b_a_b @ V3 @ nil_ma6778580008647547940_b_a_b ) ) @ S5 ) ) ) )
         => ( P @ S2 @ Vs @ S3 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_1113_reaches__on__rev__induct,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S2: nat,Vs: list_nat,S3: nat,P: nat > list_nat > nat > $o] :
      ( ( reaches_on_nat_nat @ Run @ S2 @ Vs @ S3 )
     => ( ! [S10: nat] : ( P @ S10 @ nil_nat @ S10 )
       => ( ! [S10: nat,S: nat,V3: nat,Vs3: list_nat,S5: nat] :
              ( ( reaches_on_nat_nat @ Run @ S10 @ Vs3 @ S )
             => ( ( P @ S10 @ Vs3 @ S )
               => ( ( ( Run @ S )
                    = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S5 @ V3 ) ) )
                 => ( P @ S10 @ ( append_nat @ Vs3 @ ( cons_nat @ V3 @ nil_nat ) ) @ S5 ) ) ) )
         => ( P @ S2 @ Vs @ S3 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_1114_reaches__on__rev__induct,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,Vs: list_c,S3: d,P: d > list_c > d > $o] :
      ( ( reaches_on_d_c @ Run @ S2 @ Vs @ S3 )
     => ( ! [S10: d] : ( P @ S10 @ nil_c @ S10 )
       => ( ! [S10: d,S: d,V3: c,Vs3: list_c,S5: d] :
              ( ( reaches_on_d_c @ Run @ S10 @ Vs3 @ S )
             => ( ( P @ S10 @ Vs3 @ S )
               => ( ( ( Run @ S )
                    = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ S5 @ V3 ) ) )
                 => ( P @ S10 @ ( append_c @ Vs3 @ ( cons_c @ V3 @ nil_c ) ) @ S5 ) ) ) )
         => ( P @ S2 @ Vs @ S3 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_1115_reaches__on__rev__induct,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,Vs: list_a,S3: e,P: e > list_a > e > $o] :
      ( ( reaches_on_e_a @ Run @ S2 @ Vs @ S3 )
     => ( ! [S10: e] : ( P @ S10 @ nil_a @ S10 )
       => ( ! [S10: e,S: e,V3: a,Vs3: list_a,S5: e] :
              ( ( reaches_on_e_a @ Run @ S10 @ Vs3 @ S )
             => ( ( P @ S10 @ Vs3 @ S )
               => ( ( ( Run @ S )
                    = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ S5 @ V3 ) ) )
                 => ( P @ S10 @ ( append_a @ Vs3 @ ( cons_a @ V3 @ nil_a ) ) @ S5 ) ) ) )
         => ( P @ S2 @ Vs @ S3 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_1116_reaches__on__rev__induct,axiom,
    ! [Run: b > option2970150418924381261_c_nat,S2: b,Vs: list_o9079336047566018143_c_nat,S3: b,P: b > list_o9079336047566018143_c_nat > b > $o] :
      ( ( reache896934410160684234_c_nat @ Run @ S2 @ Vs @ S3 )
     => ( ! [S10: b] : ( P @ S10 @ nil_op2410232952894710985_c_nat @ S10 )
       => ( ! [S10: b,S: b,V3: option7520157102916957007_c_nat,Vs3: list_o9079336047566018143_c_nat,S5: b] :
              ( ( reache896934410160684234_c_nat @ Run @ S10 @ Vs3 @ S )
             => ( ( P @ S10 @ Vs3 @ S )
               => ( ( ( Run @ S )
                    = ( some_P2720002978653898840_c_nat @ ( produc5716802255202478839_c_nat @ S5 @ V3 ) ) )
                 => ( P @ S10 @ ( append5745659807110252404_c_nat @ Vs3 @ ( cons_o7152427081109263641_c_nat @ V3 @ nil_op2410232952894710985_c_nat ) ) @ S5 ) ) ) )
         => ( P @ S2 @ Vs @ S3 ) ) ) ) ).

% reaches_on_rev_induct
thf(fact_1117_reaches__on__split__last,axiom,
    ! [Run: d > option3587349581325807662od_d_e,S2: d,Xs: list_e,X: e,S7: d] :
      ( ( reaches_on_d_e @ Run @ S2 @ ( append_e @ Xs @ ( cons_e @ X @ nil_e ) ) @ S7 )
     => ? [S: d] :
          ( ( reaches_on_d_e @ Run @ S2 @ Xs @ S )
          & ( ( Run @ S )
            = ( some_P4453072603345039821od_d_e @ ( product_Pair_d_e @ S7 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_1118_reaches__on__split__last,axiom,
    ! [Run: b > option7370380519722188825_c_nat,S2: b,Xs: list_P5135105496981608305_c_nat,X: produc7123198797777838443_c_nat,S7: b] :
      ( ( reache4715653029478586672_c_nat @ Run @ S2 @ ( append7031108110503470086_c_nat @ Xs @ ( cons_P7624949988608740641_c_nat @ X @ nil_Pr1286845431714845041_c_nat ) ) @ S7 )
     => ? [S: b] :
          ( ( reache4715653029478586672_c_nat @ Run @ S2 @ Xs @ S )
          & ( ( Run @ S )
            = ( some_P5809380379890353976_c_nat @ ( produc1153541909957361603_c_nat @ S7 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_1119_reaches__on__split__last,axiom,
    ! [Run: b > option2373316081166772648_b_a_b,S2: b,Xs: list_m3852300627133942458_b_a_b,X: mappin8597647756751374250_b_a_b,S7: b] :
      ( ( reache2776293828163486629_b_a_b @ Run @ S2 @ ( append4387805339873220943_b_a_b @ Xs @ ( cons_m5583439491531089012_b_a_b @ X @ nil_ma6778580008647547940_b_a_b ) ) @ S7 )
     => ? [S: b] :
          ( ( reache2776293828163486629_b_a_b @ Run @ S2 @ Xs @ S )
          & ( ( Run @ S )
            = ( some_P3758648796427522099_b_a_b @ ( produc5420919026241514322_b_a_b @ S7 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_1120_reaches__on__split__last,axiom,
    ! [Run: nat > option4927543243414619207at_nat,S2: nat,Xs: list_nat,X: nat,S7: nat] :
      ( ( reaches_on_nat_nat @ Run @ S2 @ ( append_nat @ Xs @ ( cons_nat @ X @ nil_nat ) ) @ S7 )
     => ? [S: nat] :
          ( ( reaches_on_nat_nat @ Run @ S2 @ Xs @ S )
          & ( ( Run @ S )
            = ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ S7 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_1121_reaches__on__split__last,axiom,
    ! [Run: d > option3445281501233115692od_d_c,S2: d,Xs: list_c,X: c,S7: d] :
      ( ( reaches_on_d_c @ Run @ S2 @ ( append_c @ Xs @ ( cons_c @ X @ nil_c ) ) @ S7 )
     => ? [S: d] :
          ( ( reaches_on_d_c @ Run @ S2 @ Xs @ S )
          & ( ( Run @ S )
            = ( some_P4453072594738582219od_d_c @ ( product_Pair_d_c @ S7 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_1122_reaches__on__split__last,axiom,
    ! [Run: e > option2667564420535437033od_e_a,S2: e,Xs: list_a,X: a,S7: e] :
      ( ( reaches_on_e_a @ Run @ S2 @ ( append_a @ Xs @ ( cons_a @ X @ nil_a ) ) @ S7 )
     => ? [S: e] :
          ( ( reaches_on_e_a @ Run @ S2 @ Xs @ S )
          & ( ( Run @ S )
            = ( some_P1665617004159448584od_e_a @ ( product_Pair_e_a @ S7 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_1123_reaches__on__split__last,axiom,
    ! [Run: b > option2970150418924381261_c_nat,S2: b,Xs: list_o9079336047566018143_c_nat,X: option7520157102916957007_c_nat,S7: b] :
      ( ( reache896934410160684234_c_nat @ Run @ S2 @ ( append5745659807110252404_c_nat @ Xs @ ( cons_o7152427081109263641_c_nat @ X @ nil_op2410232952894710985_c_nat ) ) @ S7 )
     => ? [S: b] :
          ( ( reache896934410160684234_c_nat @ Run @ S2 @ Xs @ S )
          & ( ( Run @ S )
            = ( some_P2720002978653898840_c_nat @ ( produc5716802255202478839_c_nat @ S7 @ X ) ) ) ) ) ).

% reaches_on_split_last
thf(fact_1124_sup__acc__app__cong,axiom,
    ! [J: nat,Rho: list_P125642481956313003od_c_a,Step: b > a > b,Accept: b > $o,X: product_prod_c_a,Q: b,I: nat] :
      ( ( ord_less_eq_nat @ J @ ( size_s2614380629626057239od_c_a @ Rho ) )
     => ( ( sup_acc_b_a_c @ Step @ Accept @ ( append8983669691956257088od_c_a @ Rho @ ( cons_P1742027962761213787od_c_a @ X @ nil_Product_prod_c_a ) ) @ Q @ I @ J )
        = ( sup_acc_b_a_c @ Step @ Accept @ Rho @ Q @ I @ J ) ) ) ).

% sup_acc_app_cong
thf(fact_1125_sup__leadsto__app__cong,axiom,
    ! [I: nat,J: nat,Rho: list_P125642481956313003od_c_a,Init: b,Step: b > a > b,X: product_prod_c_a,Q: b] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ J @ ( size_s2614380629626057239od_c_a @ Rho ) )
       => ( ( sup_leadsto_b_a_c @ Init @ Step @ ( append8983669691956257088od_c_a @ Rho @ ( cons_P1742027962761213787od_c_a @ X @ nil_Product_prod_c_a ) ) @ I @ J @ Q )
          = ( sup_leadsto_b_a_c @ Init @ Step @ Rho @ I @ J @ Q ) ) ) ) ).

% sup_leadsto_app_cong
thf(fact_1126_steps__app__cong,axiom,
    ! [J: nat,Rho: list_P125642481956313003od_c_a,Step: b > a > b,X: product_prod_c_a,Q: b,I: nat] :
      ( ( ord_less_eq_nat @ J @ ( size_s2614380629626057239od_c_a @ Rho ) )
     => ( ( steps_b_a_c @ Step @ ( append8983669691956257088od_c_a @ Rho @ ( cons_P1742027962761213787od_c_a @ X @ nil_Product_prod_c_a ) ) @ Q @ ( product_Pair_nat_nat @ I @ J ) )
        = ( steps_b_a_c @ Step @ Rho @ Q @ ( product_Pair_nat_nat @ I @ J ) ) ) ) ).

% steps_app_cong
thf(fact_1127_take__Suc__conv__app__nth,axiom,
    ! [I: nat,Xs: list_c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( ( take_c @ ( suc @ I ) @ Xs )
        = ( append_c @ ( take_c @ I @ Xs ) @ ( cons_c @ ( nth_c @ Xs @ I ) @ nil_c ) ) ) ) ).

% take_Suc_conv_app_nth
thf(fact_1128_take__Suc__conv__app__nth,axiom,
    ! [I: nat,Xs: list_a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs ) )
     => ( ( take_a @ ( suc @ I ) @ Xs )
        = ( append_a @ ( take_a @ I @ Xs ) @ ( cons_a @ ( nth_a @ Xs @ I ) @ nil_a ) ) ) ) ).

% take_Suc_conv_app_nth
thf(fact_1129_take__Suc__conv__app__nth,axiom,
    ! [I: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( ord_less_nat @ I @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( take_P5635244868432972691od_c_a @ ( suc @ I ) @ Xs )
        = ( append8983669691956257088od_c_a @ ( take_P5635244868432972691od_c_a @ I @ Xs ) @ ( cons_P1742027962761213787od_c_a @ ( nth_Product_prod_c_a @ Xs @ I ) @ nil_Product_prod_c_a ) ) ) ) ).

% take_Suc_conv_app_nth
thf(fact_1130_id__take__nth__drop,axiom,
    ! [I: nat,Xs: list_c] :
      ( ( ord_less_nat @ I @ ( size_size_list_c @ Xs ) )
     => ( Xs
        = ( append_c @ ( take_c @ I @ Xs ) @ ( cons_c @ ( nth_c @ Xs @ I ) @ ( drop_c @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% id_take_nth_drop
thf(fact_1131_id__take__nth__drop,axiom,
    ! [I: nat,Xs: list_a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs ) )
     => ( Xs
        = ( append_a @ ( take_a @ I @ Xs ) @ ( cons_a @ ( nth_a @ Xs @ I ) @ ( drop_a @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% id_take_nth_drop
thf(fact_1132_id__take__nth__drop,axiom,
    ! [I: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( ord_less_nat @ I @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( Xs
        = ( append8983669691956257088od_c_a @ ( take_P5635244868432972691od_c_a @ I @ Xs ) @ ( cons_P1742027962761213787od_c_a @ ( nth_Product_prod_c_a @ Xs @ I ) @ ( drop_P2881858833336742123od_c_a @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% id_take_nth_drop
thf(fact_1133_map__entry_Oelims,axiom,
    ! [X: d,Xa: e > e,Xb: list_P8997501678391486062od_d_e,Y: list_P8997501678391486062od_d_e] :
      ( ( ( map_entry_d_e @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Product_prod_d_e )
         => ( Y != nil_Product_prod_d_e ) )
       => ~ ! [P6: product_prod_d_e,Ps: list_P8997501678391486062od_d_e] :
              ( ( Xb
                = ( cons_P8177944434856228766od_d_e @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_d_e @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ X @ ( Xa @ ( product_snd_d_e @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_d_e @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P8177944434856228766od_d_e @ P6 @ ( map_entry_d_e @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_1134_map__entry_Oelims,axiom,
    ! [X: d,Xa: c > c,Xb: list_P8855433598298794092od_d_c,Y: list_P8855433598298794092od_d_c] :
      ( ( ( map_entry_d_c @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Product_prod_d_c )
         => ( Y != nil_Product_prod_d_c ) )
       => ~ ! [P6: product_prod_d_c,Ps: list_P8855433598298794092od_d_c] :
              ( ( Xb
                = ( cons_P8177944426249771164od_d_c @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_d_c @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ X @ ( Xa @ ( product_snd_d_c @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_d_c @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P8177944426249771164od_d_c @ P6 @ ( map_entry_d_c @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_1135_map__entry_Oelims,axiom,
    ! [X: b,Xa: produc7123198797777838443_c_nat > produc7123198797777838443_c_nat,Xb: list_P2889901965215479385_c_nat,Y: list_P2889901965215479385_c_nat] :
      ( ( ( map_en5757600416089154165_c_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Pr7508691997839540569_c_nat )
         => ( Y != nil_Pr7508691997839540569_c_nat ) )
       => ~ ! [P6: produc4731008658490410835_c_nat,Ps: list_P2889901965215479385_c_nat] :
              ( ( Xb
                = ( cons_P7855309020881882377_c_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc3138273293139183023_c_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ X @ ( Xa @ ( produc8285974589448078577_c_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc3138273293139183023_c_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P7855309020881882377_c_nat @ P6 @ ( map_en5757600416089154165_c_nat @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_1136_map__entry_Oelims,axiom,
    ! [X: b,Xa: mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b,Xb: list_P1642740157484131176_b_a_b,Y: list_P1642740157484131176_b_a_b] :
      ( ( ( map_en1591201911180070432_b_a_b @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Pr9103419051586686674_b_a_b )
         => ( Y != nil_Pr9103419051586686674_b_a_b ) )
       => ~ ! [P6: produc69853407467193432_b_a_b,Ps: list_P1642740157484131176_b_a_b] :
              ( ( Xb
                = ( cons_P6785400485683988258_b_a_b @ P6 @ Ps ) )
             => ~ ( ( ( ( produc3398860285988099686_b_a_b @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ ( Xa @ ( produc7010306612471679140_b_a_b @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc3398860285988099686_b_a_b @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P6785400485683988258_b_a_b @ P6 @ ( map_en1591201911180070432_b_a_b @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_1137_map__entry_Oelims,axiom,
    ! [X: nat,Xa: nat > nat,Xb: list_P6011104703257516679at_nat,Y: list_P6011104703257516679at_nat] :
      ( ( ( map_entry_nat_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Pr5478986624290739719at_nat )
         => ( Y != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
              ( ( Xb
                = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_nat_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xa @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_nat_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P6512896166579812791at_nat @ P6 @ ( map_entry_nat_nat @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_1138_map__entry_Oelims,axiom,
    ! [X: b,Xa: option7520157102916957007_c_nat > option7520157102916957007_c_nat,Xb: list_P8155366108056616461_c_nat,Y: list_P8155366108056616461_c_nat] :
      ( ( ( map_en7725529839661896901_c_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Pr2407244426195543671_c_nat )
         => ( Y != nil_Pr2407244426195543671_c_nat ) )
       => ~ ! [P6: produc4862256710654508797_c_nat,Ps: list_P8155366108056616461_c_nat] :
              ( ( Xb
                = ( cons_P7928565014262433479_c_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc8816143915943518219_c_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ X @ ( Xa @ ( produc2435110264752509257_c_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc8816143915943518219_c_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P7928565014262433479_c_nat @ P6 @ ( map_en7725529839661896901_c_nat @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_1139_map__entry_Oelims,axiom,
    ! [X: b,Xa: c > c,Xb: list_P903359562653991662od_b_c,Y: list_P903359562653991662od_b_c] :
      ( ( ( map_entry_b_c @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Product_prod_b_c )
         => ( Y != nil_Product_prod_b_c ) )
       => ~ ! [P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
              ( ( Xb
                = ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_b_c @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ ( Xa @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_b_c @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_entry_b_c @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_1140_map__entry_Oelims,axiom,
    ! [X: b,Xa: produc4862256710654508797_c_nat > produc4862256710654508797_c_nat,Xb: list_P7417839048565863355_c_nat,Y: list_P7417839048565863355_c_nat] :
      ( ( ( map_en8198299921509431923_c_nat @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Pr7000167559216756261_c_nat )
         => ( Y != nil_Pr7000167559216756261_c_nat ) )
       => ~ ! [P6: produc6689720525226317995_c_nat,Ps: list_P7417839048565863355_c_nat] :
              ( ( Xb
                = ( cons_P7294201633519847029_c_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc6033490199168946105_c_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P7294201633519847029_c_nat @ ( produc8868828497325608613_c_nat @ X @ ( Xa @ ( produc6319817161620345591_c_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc6033490199168946105_c_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P7294201633519847029_c_nat @ P6 @ ( map_en8198299921509431923_c_nat @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_1141_map__entry_Oelims,axiom,
    ! [X: c,Xa: a > a,Xb: list_P125642481956313003od_c_a,Y: list_P125642481956313003od_c_a] :
      ( ( ( map_entry_c_a @ X @ Xa @ Xb )
        = Y )
     => ( ( ( Xb = nil_Product_prod_c_a )
         => ( Y != nil_Product_prod_c_a ) )
       => ~ ! [P6: product_prod_c_a,Ps: list_P125642481956313003od_c_a] :
              ( ( Xb
                = ( cons_P1742027962761213787od_c_a @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_c_a @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P1742027962761213787od_c_a @ ( product_Pair_c_a @ X @ ( Xa @ ( product_snd_c_a @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_c_a @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P1742027962761213787od_c_a @ P6 @ ( map_entry_c_a @ X @ Xa @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_1142_map__default_Oelims,axiom,
    ! [X: d,Xa: e,Xb: e > e,Xc: list_P8997501678391486062od_d_e,Y: list_P8997501678391486062od_d_e] :
      ( ( ( map_default_d_e @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Product_prod_d_e )
         => ( Y
           != ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ X @ Xa ) @ nil_Product_prod_d_e ) ) )
       => ~ ! [P6: product_prod_d_e,Ps: list_P8997501678391486062od_d_e] :
              ( ( Xc
                = ( cons_P8177944434856228766od_d_e @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_d_e @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ X @ ( Xb @ ( product_snd_d_e @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_d_e @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P8177944434856228766od_d_e @ P6 @ ( map_default_d_e @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_1143_map__default_Oelims,axiom,
    ! [X: d,Xa: c,Xb: c > c,Xc: list_P8855433598298794092od_d_c,Y: list_P8855433598298794092od_d_c] :
      ( ( ( map_default_d_c @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Product_prod_d_c )
         => ( Y
           != ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ X @ Xa ) @ nil_Product_prod_d_c ) ) )
       => ~ ! [P6: product_prod_d_c,Ps: list_P8855433598298794092od_d_c] :
              ( ( Xc
                = ( cons_P8177944426249771164od_d_c @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_d_c @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ X @ ( Xb @ ( product_snd_d_c @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_d_c @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P8177944426249771164od_d_c @ P6 @ ( map_default_d_c @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_1144_map__default_Oelims,axiom,
    ! [X: b,Xa: produc7123198797777838443_c_nat,Xb: produc7123198797777838443_c_nat > produc7123198797777838443_c_nat,Xc: list_P2889901965215479385_c_nat,Y: list_P2889901965215479385_c_nat] :
      ( ( ( map_de641635468176428804_c_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Pr7508691997839540569_c_nat )
         => ( Y
           != ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ X @ Xa ) @ nil_Pr7508691997839540569_c_nat ) ) )
       => ~ ! [P6: produc4731008658490410835_c_nat,Ps: list_P2889901965215479385_c_nat] :
              ( ( Xc
                = ( cons_P7855309020881882377_c_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc3138273293139183023_c_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ X @ ( Xb @ ( produc8285974589448078577_c_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc3138273293139183023_c_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P7855309020881882377_c_nat @ P6 @ ( map_de641635468176428804_c_nat @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_1145_map__default_Oelims,axiom,
    ! [X: b,Xa: mappin8597647756751374250_b_a_b,Xb: mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b,Xc: list_P1642740157484131176_b_a_b,Y: list_P1642740157484131176_b_a_b] :
      ( ( ( map_de1779270183008234705_b_a_b @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Pr9103419051586686674_b_a_b )
         => ( Y
           != ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ Xa ) @ nil_Pr9103419051586686674_b_a_b ) ) )
       => ~ ! [P6: produc69853407467193432_b_a_b,Ps: list_P1642740157484131176_b_a_b] :
              ( ( Xc
                = ( cons_P6785400485683988258_b_a_b @ P6 @ Ps ) )
             => ~ ( ( ( ( produc3398860285988099686_b_a_b @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ ( Xb @ ( produc7010306612471679140_b_a_b @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc3398860285988099686_b_a_b @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P6785400485683988258_b_a_b @ P6 @ ( map_de1779270183008234705_b_a_b @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_1146_map__default_Oelims,axiom,
    ! [X: nat,Xa: nat,Xb: nat > nat,Xc: list_P6011104703257516679at_nat,Y: list_P6011104703257516679at_nat] :
      ( ( ( map_default_nat_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Pr5478986624290739719at_nat )
         => ( Y
           != ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Xa ) @ nil_Pr5478986624290739719at_nat ) ) )
       => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
              ( ( Xc
                = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_nat_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xb @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_nat_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P6512896166579812791at_nat @ P6 @ ( map_default_nat_nat @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_1147_map__default_Oelims,axiom,
    ! [X: b,Xa: option7520157102916957007_c_nat,Xb: option7520157102916957007_c_nat > option7520157102916957007_c_nat,Xc: list_P8155366108056616461_c_nat,Y: list_P8155366108056616461_c_nat] :
      ( ( ( map_de5305620854455122934_c_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Pr2407244426195543671_c_nat )
         => ( Y
           != ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ X @ Xa ) @ nil_Pr2407244426195543671_c_nat ) ) )
       => ~ ! [P6: produc4862256710654508797_c_nat,Ps: list_P8155366108056616461_c_nat] :
              ( ( Xc
                = ( cons_P7928565014262433479_c_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc8816143915943518219_c_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ X @ ( Xb @ ( produc2435110264752509257_c_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc8816143915943518219_c_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P7928565014262433479_c_nat @ P6 @ ( map_de5305620854455122934_c_nat @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_1148_map__default_Oelims,axiom,
    ! [X: b,Xa: c,Xb: c > c,Xc: list_P903359562653991662od_b_c,Y: list_P903359562653991662od_b_c] :
      ( ( ( map_default_b_c @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Product_prod_b_c )
         => ( Y
           != ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ Xa ) @ nil_Product_prod_b_c ) ) )
       => ~ ! [P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
              ( ( Xc
                = ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_b_c @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ ( Xb @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_b_c @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_default_b_c @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_1149_map__default_Oelims,axiom,
    ! [X: b,Xa: produc4862256710654508797_c_nat,Xb: produc4862256710654508797_c_nat > produc4862256710654508797_c_nat,Xc: list_P7417839048565863355_c_nat,Y: list_P7417839048565863355_c_nat] :
      ( ( ( map_de8565690227408816292_c_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Pr7000167559216756261_c_nat )
         => ( Y
           != ( cons_P7294201633519847029_c_nat @ ( produc8868828497325608613_c_nat @ X @ Xa ) @ nil_Pr7000167559216756261_c_nat ) ) )
       => ~ ! [P6: produc6689720525226317995_c_nat,Ps: list_P7417839048565863355_c_nat] :
              ( ( Xc
                = ( cons_P7294201633519847029_c_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc6033490199168946105_c_nat @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P7294201633519847029_c_nat @ ( produc8868828497325608613_c_nat @ X @ ( Xb @ ( produc6319817161620345591_c_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc6033490199168946105_c_nat @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P7294201633519847029_c_nat @ P6 @ ( map_de8565690227408816292_c_nat @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_1150_map__default_Oelims,axiom,
    ! [X: c,Xa: a,Xb: a > a,Xc: list_P125642481956313003od_c_a,Y: list_P125642481956313003od_c_a] :
      ( ( ( map_default_c_a @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( ( Xc = nil_Product_prod_c_a )
         => ( Y
           != ( cons_P1742027962761213787od_c_a @ ( product_Pair_c_a @ X @ Xa ) @ nil_Product_prod_c_a ) ) )
       => ~ ! [P6: product_prod_c_a,Ps: list_P125642481956313003od_c_a] :
              ( ( Xc
                = ( cons_P1742027962761213787od_c_a @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_c_a @ P6 )
                      = X )
                   => ( Y
                      = ( cons_P1742027962761213787od_c_a @ ( product_Pair_c_a @ X @ ( Xb @ ( product_snd_c_a @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_c_a @ P6 )
                     != X )
                   => ( Y
                      = ( cons_P1742027962761213787od_c_a @ P6 @ ( map_default_c_a @ X @ Xa @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_1151_take__hd__drop,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ord_less_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( ( append_c @ ( take_c @ N @ Xs ) @ ( cons_c @ ( hd_c @ ( drop_c @ N @ Xs ) ) @ nil_c ) )
        = ( take_c @ ( suc @ N ) @ Xs ) ) ) ).

% take_hd_drop
thf(fact_1152_take__hd__drop,axiom,
    ! [N: nat,Xs: list_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs ) )
     => ( ( append_a @ ( take_a @ N @ Xs ) @ ( cons_a @ ( hd_a @ ( drop_a @ N @ Xs ) ) @ nil_a ) )
        = ( take_a @ ( suc @ N ) @ Xs ) ) ) ).

% take_hd_drop
thf(fact_1153_take__hd__drop,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( ord_less_nat @ N @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( append8983669691956257088od_c_a @ ( take_P5635244868432972691od_c_a @ N @ Xs ) @ ( cons_P1742027962761213787od_c_a @ ( hd_Product_prod_c_a @ ( drop_P2881858833336742123od_c_a @ N @ Xs ) ) @ nil_Product_prod_c_a ) )
        = ( take_P5635244868432972691od_c_a @ ( suc @ N ) @ Xs ) ) ) ).

% take_hd_drop
thf(fact_1154_hd__zip,axiom,
    ! [Xs: list_d,Ys2: list_e] :
      ( ( Xs != nil_d )
     => ( ( Ys2 != nil_e )
       => ( ( hd_Product_prod_d_e @ ( zip_d_e @ Xs @ Ys2 ) )
          = ( product_Pair_d_e @ ( hd_d @ Xs ) @ ( hd_e @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_1155_hd__zip,axiom,
    ! [Xs: list_d,Ys2: list_c] :
      ( ( Xs != nil_d )
     => ( ( Ys2 != nil_c )
       => ( ( hd_Product_prod_d_c @ ( zip_d_c @ Xs @ Ys2 ) )
          = ( product_Pair_d_c @ ( hd_d @ Xs ) @ ( hd_c @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_1156_hd__zip,axiom,
    ! [Xs: list_b,Ys2: list_P5135105496981608305_c_nat] :
      ( ( Xs != nil_b )
     => ( ( Ys2 != nil_Pr1286845431714845041_c_nat )
       => ( ( hd_Pro2808596523311761726_c_nat @ ( zip_b_2945092286201067235_c_nat @ Xs @ Ys2 ) )
          = ( produc1153541909957361603_c_nat @ ( hd_b @ Xs ) @ ( hd_Pro7543491757476120150_c_nat @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_1157_hd__zip,axiom,
    ! [Xs: list_b,Ys2: list_m3852300627133942458_b_a_b] :
      ( ( Xs != nil_b )
     => ( ( Ys2 != nil_ma6778580008647547940_b_a_b )
       => ( ( hd_Pro1431018897095021229_b_a_b @ ( zip_b_7586291491810331698_b_a_b @ Xs @ Ys2 ) )
          = ( produc5420919026241514322_b_a_b @ ( hd_b @ Xs ) @ ( hd_map280079242958091007_b_a_b @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_1158_hd__zip,axiom,
    ! [Xs: list_b,Ys2: list_o9079336047566018143_c_nat] :
      ( ( Xs != nil_b )
     => ( ( Ys2 != nil_op2410232952894710985_c_nat )
       => ( ( hd_Pro908356766978074578_c_nat @ ( zip_b_1039741285442616279_c_nat @ Xs @ Ys2 ) )
          = ( produc5716802255202478839_c_nat @ ( hd_b @ Xs ) @ ( hd_opt1486276835331225892_c_nat @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_1159_hd__zip,axiom,
    ! [Xs: list_nat,Ys2: list_nat] :
      ( ( Xs != nil_nat )
     => ( ( Ys2 != nil_nat )
       => ( ( hd_Pro3460610213475200108at_nat @ ( zip_nat_nat @ Xs @ Ys2 ) )
          = ( product_Pair_nat_nat @ ( hd_nat @ Xs ) @ ( hd_nat @ Ys2 ) ) ) ) ) ).

% hd_zip
thf(fact_1160_list_Omap__sel_I1_J,axiom,
    ! [A2: list_P125642481956313003od_c_a,F: product_prod_c_a > c] :
      ( ( A2 != nil_Product_prod_c_a )
     => ( ( hd_c @ ( map_Pr5866436826731527135_c_a_c @ F @ A2 ) )
        = ( F @ ( hd_Product_prod_c_a @ A2 ) ) ) ) ).

% list.map_sel(1)
thf(fact_1161_list_Omap__sel_I1_J,axiom,
    ! [A2: list_P125642481956313003od_c_a,F: product_prod_c_a > a] :
      ( ( A2 != nil_Product_prod_c_a )
     => ( ( hd_a @ ( map_Pr5866436826731527133_c_a_a @ F @ A2 ) )
        = ( F @ ( hd_Product_prod_c_a @ A2 ) ) ) ) ).

% list.map_sel(1)
thf(fact_1162_list_Omap__sel_I1_J,axiom,
    ! [A2: list_P903359562653991662od_b_c,F: product_prod_b_c > b] :
      ( ( A2 != nil_Product_prod_b_c )
     => ( ( hd_b @ ( map_Pr8222292247188198875_b_c_b @ F @ A2 ) )
        = ( F @ ( hd_Product_prod_b_c @ A2 ) ) ) ) ).

% list.map_sel(1)
thf(fact_1163_list_Omap__sel_I1_J,axiom,
    ! [A2: list_P7417839048565863355_c_nat,F: produc6689720525226317995_c_nat > b] :
      ( ( A2 != nil_Pr7000167559216756261_c_nat )
     => ( ( hd_b @ ( map_Pr6200325787298368846_nat_b @ F @ A2 ) )
        = ( F @ ( hd_Pro890923934664041600_c_nat @ A2 ) ) ) ) ).

% list.map_sel(1)
thf(fact_1164_hd__map,axiom,
    ! [Xs: list_P125642481956313003od_c_a,F: product_prod_c_a > c] :
      ( ( Xs != nil_Product_prod_c_a )
     => ( ( hd_c @ ( map_Pr5866436826731527135_c_a_c @ F @ Xs ) )
        = ( F @ ( hd_Product_prod_c_a @ Xs ) ) ) ) ).

% hd_map
thf(fact_1165_hd__map,axiom,
    ! [Xs: list_P125642481956313003od_c_a,F: product_prod_c_a > a] :
      ( ( Xs != nil_Product_prod_c_a )
     => ( ( hd_a @ ( map_Pr5866436826731527133_c_a_a @ F @ Xs ) )
        = ( F @ ( hd_Product_prod_c_a @ Xs ) ) ) ) ).

% hd_map
thf(fact_1166_hd__map,axiom,
    ! [Xs: list_P903359562653991662od_b_c,F: product_prod_b_c > b] :
      ( ( Xs != nil_Product_prod_b_c )
     => ( ( hd_b @ ( map_Pr8222292247188198875_b_c_b @ F @ Xs ) )
        = ( F @ ( hd_Product_prod_b_c @ Xs ) ) ) ) ).

% hd_map
thf(fact_1167_hd__map,axiom,
    ! [Xs: list_P7417839048565863355_c_nat,F: produc6689720525226317995_c_nat > b] :
      ( ( Xs != nil_Pr7000167559216756261_c_nat )
     => ( ( hd_b @ ( map_Pr6200325787298368846_nat_b @ F @ Xs ) )
        = ( F @ ( hd_Pro890923934664041600_c_nat @ Xs ) ) ) ) ).

% hd_map
thf(fact_1168_hd__drop__conv__nth,axiom,
    ! [N: nat,Xs: list_c] :
      ( ( ord_less_nat @ N @ ( size_size_list_c @ Xs ) )
     => ( ( hd_c @ ( drop_c @ N @ Xs ) )
        = ( nth_c @ Xs @ N ) ) ) ).

% hd_drop_conv_nth
thf(fact_1169_hd__drop__conv__nth,axiom,
    ! [N: nat,Xs: list_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs ) )
     => ( ( hd_a @ ( drop_a @ N @ Xs ) )
        = ( nth_a @ Xs @ N ) ) ) ).

% hd_drop_conv_nth
thf(fact_1170_hd__drop__conv__nth,axiom,
    ! [N: nat,Xs: list_P125642481956313003od_c_a] :
      ( ( ord_less_nat @ N @ ( size_s2614380629626057239od_c_a @ Xs ) )
     => ( ( hd_Product_prod_c_a @ ( drop_P2881858833336742123od_c_a @ N @ Xs ) )
        = ( nth_Product_prod_c_a @ Xs @ N ) ) ) ).

% hd_drop_conv_nth
thf(fact_1171_map__default_Osimps_I1_J,axiom,
    ! [K: d,V: e,F: e > e] :
      ( ( map_default_d_e @ K @ V @ F @ nil_Product_prod_d_e )
      = ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ K @ V ) @ nil_Product_prod_d_e ) ) ).

% map_default.simps(1)
thf(fact_1172_map__default_Osimps_I1_J,axiom,
    ! [K: d,V: c,F: c > c] :
      ( ( map_default_d_c @ K @ V @ F @ nil_Product_prod_d_c )
      = ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ K @ V ) @ nil_Product_prod_d_c ) ) ).

% map_default.simps(1)
thf(fact_1173_map__default_Osimps_I1_J,axiom,
    ! [K: b,V: produc7123198797777838443_c_nat,F: produc7123198797777838443_c_nat > produc7123198797777838443_c_nat] :
      ( ( map_de641635468176428804_c_nat @ K @ V @ F @ nil_Pr7508691997839540569_c_nat )
      = ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ K @ V ) @ nil_Pr7508691997839540569_c_nat ) ) ).

% map_default.simps(1)
thf(fact_1174_map__default_Osimps_I1_J,axiom,
    ! [K: b,V: mappin8597647756751374250_b_a_b,F: mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b] :
      ( ( map_de1779270183008234705_b_a_b @ K @ V @ F @ nil_Pr9103419051586686674_b_a_b )
      = ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ K @ V ) @ nil_Pr9103419051586686674_b_a_b ) ) ).

% map_default.simps(1)
thf(fact_1175_map__default_Osimps_I1_J,axiom,
    ! [K: b,V: option7520157102916957007_c_nat,F: option7520157102916957007_c_nat > option7520157102916957007_c_nat] :
      ( ( map_de5305620854455122934_c_nat @ K @ V @ F @ nil_Pr2407244426195543671_c_nat )
      = ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ K @ V ) @ nil_Pr2407244426195543671_c_nat ) ) ).

% map_default.simps(1)
thf(fact_1176_map__default_Osimps_I1_J,axiom,
    ! [K: nat,V: nat,F: nat > nat] :
      ( ( map_default_nat_nat @ K @ V @ F @ nil_Pr5478986624290739719at_nat )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V ) @ nil_Pr5478986624290739719at_nat ) ) ).

% map_default.simps(1)
thf(fact_1177_map__entry_Osimps_I2_J,axiom,
    ! [P2: product_prod_d_e,K: d,F: e > e,Ps2: list_P8997501678391486062od_d_e] :
      ( ( ( ( product_fst_d_e @ P2 )
          = K )
       => ( ( map_entry_d_e @ K @ F @ ( cons_P8177944434856228766od_d_e @ P2 @ Ps2 ) )
          = ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ K @ ( F @ ( product_snd_d_e @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_d_e @ P2 )
         != K )
       => ( ( map_entry_d_e @ K @ F @ ( cons_P8177944434856228766od_d_e @ P2 @ Ps2 ) )
          = ( cons_P8177944434856228766od_d_e @ P2 @ ( map_entry_d_e @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_1178_map__entry_Osimps_I2_J,axiom,
    ! [P2: product_prod_d_c,K: d,F: c > c,Ps2: list_P8855433598298794092od_d_c] :
      ( ( ( ( product_fst_d_c @ P2 )
          = K )
       => ( ( map_entry_d_c @ K @ F @ ( cons_P8177944426249771164od_d_c @ P2 @ Ps2 ) )
          = ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ K @ ( F @ ( product_snd_d_c @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_d_c @ P2 )
         != K )
       => ( ( map_entry_d_c @ K @ F @ ( cons_P8177944426249771164od_d_c @ P2 @ Ps2 ) )
          = ( cons_P8177944426249771164od_d_c @ P2 @ ( map_entry_d_c @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_1179_map__entry_Osimps_I2_J,axiom,
    ! [P2: produc4731008658490410835_c_nat,K: b,F: produc7123198797777838443_c_nat > produc7123198797777838443_c_nat,Ps2: list_P2889901965215479385_c_nat] :
      ( ( ( ( produc3138273293139183023_c_nat @ P2 )
          = K )
       => ( ( map_en5757600416089154165_c_nat @ K @ F @ ( cons_P7855309020881882377_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ K @ ( F @ ( produc8285974589448078577_c_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc3138273293139183023_c_nat @ P2 )
         != K )
       => ( ( map_en5757600416089154165_c_nat @ K @ F @ ( cons_P7855309020881882377_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7855309020881882377_c_nat @ P2 @ ( map_en5757600416089154165_c_nat @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_1180_map__entry_Osimps_I2_J,axiom,
    ! [P2: produc69853407467193432_b_a_b,K: b,F: mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b,Ps2: list_P1642740157484131176_b_a_b] :
      ( ( ( ( produc3398860285988099686_b_a_b @ P2 )
          = K )
       => ( ( map_en1591201911180070432_b_a_b @ K @ F @ ( cons_P6785400485683988258_b_a_b @ P2 @ Ps2 ) )
          = ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ K @ ( F @ ( produc7010306612471679140_b_a_b @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc3398860285988099686_b_a_b @ P2 )
         != K )
       => ( ( map_en1591201911180070432_b_a_b @ K @ F @ ( cons_P6785400485683988258_b_a_b @ P2 @ Ps2 ) )
          = ( cons_P6785400485683988258_b_a_b @ P2 @ ( map_en1591201911180070432_b_a_b @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_1181_map__entry_Osimps_I2_J,axiom,
    ! [P2: product_prod_nat_nat,K: nat,F: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P2 )
          = K )
       => ( ( map_entry_nat_nat @ K @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ ( product_snd_nat_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P2 )
         != K )
       => ( ( map_entry_nat_nat @ K @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P2 @ ( map_entry_nat_nat @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_1182_map__entry_Osimps_I2_J,axiom,
    ! [P2: produc4862256710654508797_c_nat,K: b,F: option7520157102916957007_c_nat > option7520157102916957007_c_nat,Ps2: list_P8155366108056616461_c_nat] :
      ( ( ( ( produc8816143915943518219_c_nat @ P2 )
          = K )
       => ( ( map_en7725529839661896901_c_nat @ K @ F @ ( cons_P7928565014262433479_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ K @ ( F @ ( produc2435110264752509257_c_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc8816143915943518219_c_nat @ P2 )
         != K )
       => ( ( map_en7725529839661896901_c_nat @ K @ F @ ( cons_P7928565014262433479_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7928565014262433479_c_nat @ P2 @ ( map_en7725529839661896901_c_nat @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_1183_map__entry_Osimps_I2_J,axiom,
    ! [P2: product_prod_b_c,K: b,F: c > c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P2 )
          = K )
       => ( ( map_entry_b_c @ K @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ ( product_snd_b_c @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P2 )
         != K )
       => ( ( map_entry_b_c @ K @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P2 @ ( map_entry_b_c @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_1184_map__entry_Osimps_I2_J,axiom,
    ! [P2: produc6689720525226317995_c_nat,K: b,F: produc4862256710654508797_c_nat > produc4862256710654508797_c_nat,Ps2: list_P7417839048565863355_c_nat] :
      ( ( ( ( produc6033490199168946105_c_nat @ P2 )
          = K )
       => ( ( map_en8198299921509431923_c_nat @ K @ F @ ( cons_P7294201633519847029_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7294201633519847029_c_nat @ ( produc8868828497325608613_c_nat @ K @ ( F @ ( produc6319817161620345591_c_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc6033490199168946105_c_nat @ P2 )
         != K )
       => ( ( map_en8198299921509431923_c_nat @ K @ F @ ( cons_P7294201633519847029_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7294201633519847029_c_nat @ P2 @ ( map_en8198299921509431923_c_nat @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_1185_map__entry_Osimps_I2_J,axiom,
    ! [P2: product_prod_c_a,K: c,F: a > a,Ps2: list_P125642481956313003od_c_a] :
      ( ( ( ( product_fst_c_a @ P2 )
          = K )
       => ( ( map_entry_c_a @ K @ F @ ( cons_P1742027962761213787od_c_a @ P2 @ Ps2 ) )
          = ( cons_P1742027962761213787od_c_a @ ( product_Pair_c_a @ K @ ( F @ ( product_snd_c_a @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_c_a @ P2 )
         != K )
       => ( ( map_entry_c_a @ K @ F @ ( cons_P1742027962761213787od_c_a @ P2 @ Ps2 ) )
          = ( cons_P1742027962761213787od_c_a @ P2 @ ( map_entry_c_a @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_1186_map__default_Osimps_I2_J,axiom,
    ! [P2: product_prod_d_e,K: d,V: e,F: e > e,Ps2: list_P8997501678391486062od_d_e] :
      ( ( ( ( product_fst_d_e @ P2 )
          = K )
       => ( ( map_default_d_e @ K @ V @ F @ ( cons_P8177944434856228766od_d_e @ P2 @ Ps2 ) )
          = ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ K @ ( F @ ( product_snd_d_e @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_d_e @ P2 )
         != K )
       => ( ( map_default_d_e @ K @ V @ F @ ( cons_P8177944434856228766od_d_e @ P2 @ Ps2 ) )
          = ( cons_P8177944434856228766od_d_e @ P2 @ ( map_default_d_e @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_1187_map__default_Osimps_I2_J,axiom,
    ! [P2: product_prod_d_c,K: d,V: c,F: c > c,Ps2: list_P8855433598298794092od_d_c] :
      ( ( ( ( product_fst_d_c @ P2 )
          = K )
       => ( ( map_default_d_c @ K @ V @ F @ ( cons_P8177944426249771164od_d_c @ P2 @ Ps2 ) )
          = ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ K @ ( F @ ( product_snd_d_c @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_d_c @ P2 )
         != K )
       => ( ( map_default_d_c @ K @ V @ F @ ( cons_P8177944426249771164od_d_c @ P2 @ Ps2 ) )
          = ( cons_P8177944426249771164od_d_c @ P2 @ ( map_default_d_c @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_1188_map__default_Osimps_I2_J,axiom,
    ! [P2: produc4731008658490410835_c_nat,K: b,V: produc7123198797777838443_c_nat,F: produc7123198797777838443_c_nat > produc7123198797777838443_c_nat,Ps2: list_P2889901965215479385_c_nat] :
      ( ( ( ( produc3138273293139183023_c_nat @ P2 )
          = K )
       => ( ( map_de641635468176428804_c_nat @ K @ V @ F @ ( cons_P7855309020881882377_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ K @ ( F @ ( produc8285974589448078577_c_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc3138273293139183023_c_nat @ P2 )
         != K )
       => ( ( map_de641635468176428804_c_nat @ K @ V @ F @ ( cons_P7855309020881882377_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7855309020881882377_c_nat @ P2 @ ( map_de641635468176428804_c_nat @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_1189_map__default_Osimps_I2_J,axiom,
    ! [P2: produc69853407467193432_b_a_b,K: b,V: mappin8597647756751374250_b_a_b,F: mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b,Ps2: list_P1642740157484131176_b_a_b] :
      ( ( ( ( produc3398860285988099686_b_a_b @ P2 )
          = K )
       => ( ( map_de1779270183008234705_b_a_b @ K @ V @ F @ ( cons_P6785400485683988258_b_a_b @ P2 @ Ps2 ) )
          = ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ K @ ( F @ ( produc7010306612471679140_b_a_b @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc3398860285988099686_b_a_b @ P2 )
         != K )
       => ( ( map_de1779270183008234705_b_a_b @ K @ V @ F @ ( cons_P6785400485683988258_b_a_b @ P2 @ Ps2 ) )
          = ( cons_P6785400485683988258_b_a_b @ P2 @ ( map_de1779270183008234705_b_a_b @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_1190_map__default_Osimps_I2_J,axiom,
    ! [P2: product_prod_nat_nat,K: nat,V: nat,F: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P2 )
          = K )
       => ( ( map_default_nat_nat @ K @ V @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ ( product_snd_nat_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P2 )
         != K )
       => ( ( map_default_nat_nat @ K @ V @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P2 @ ( map_default_nat_nat @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_1191_map__default_Osimps_I2_J,axiom,
    ! [P2: produc4862256710654508797_c_nat,K: b,V: option7520157102916957007_c_nat,F: option7520157102916957007_c_nat > option7520157102916957007_c_nat,Ps2: list_P8155366108056616461_c_nat] :
      ( ( ( ( produc8816143915943518219_c_nat @ P2 )
          = K )
       => ( ( map_de5305620854455122934_c_nat @ K @ V @ F @ ( cons_P7928565014262433479_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ K @ ( F @ ( produc2435110264752509257_c_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc8816143915943518219_c_nat @ P2 )
         != K )
       => ( ( map_de5305620854455122934_c_nat @ K @ V @ F @ ( cons_P7928565014262433479_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7928565014262433479_c_nat @ P2 @ ( map_de5305620854455122934_c_nat @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_1192_map__default_Osimps_I2_J,axiom,
    ! [P2: product_prod_b_c,K: b,V: c,F: c > c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P2 )
          = K )
       => ( ( map_default_b_c @ K @ V @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ ( product_snd_b_c @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P2 )
         != K )
       => ( ( map_default_b_c @ K @ V @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P2 @ ( map_default_b_c @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_1193_map__default_Osimps_I2_J,axiom,
    ! [P2: produc6689720525226317995_c_nat,K: b,V: produc4862256710654508797_c_nat,F: produc4862256710654508797_c_nat > produc4862256710654508797_c_nat,Ps2: list_P7417839048565863355_c_nat] :
      ( ( ( ( produc6033490199168946105_c_nat @ P2 )
          = K )
       => ( ( map_de8565690227408816292_c_nat @ K @ V @ F @ ( cons_P7294201633519847029_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7294201633519847029_c_nat @ ( produc8868828497325608613_c_nat @ K @ ( F @ ( produc6319817161620345591_c_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc6033490199168946105_c_nat @ P2 )
         != K )
       => ( ( map_de8565690227408816292_c_nat @ K @ V @ F @ ( cons_P7294201633519847029_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7294201633519847029_c_nat @ P2 @ ( map_de8565690227408816292_c_nat @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_1194_map__default_Osimps_I2_J,axiom,
    ! [P2: product_prod_c_a,K: c,V: a,F: a > a,Ps2: list_P125642481956313003od_c_a] :
      ( ( ( ( product_fst_c_a @ P2 )
          = K )
       => ( ( map_default_c_a @ K @ V @ F @ ( cons_P1742027962761213787od_c_a @ P2 @ Ps2 ) )
          = ( cons_P1742027962761213787od_c_a @ ( product_Pair_c_a @ K @ ( F @ ( product_snd_c_a @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_c_a @ P2 )
         != K )
       => ( ( map_default_c_a @ K @ V @ F @ ( cons_P1742027962761213787od_c_a @ P2 @ Ps2 ) )
          = ( cons_P1742027962761213787od_c_a @ P2 @ ( map_default_c_a @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_1195_map__default_Opelims,axiom,
    ! [X: d,Xa: e,Xb: e > e,Xc: list_P8997501678391486062od_d_e,Y: list_P8997501678391486062od_d_e] :
      ( ( ( map_default_d_e @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P4936334777243690454od_d_e @ map_default_rel_d_e @ ( produc5699630823285921945od_d_e @ X @ ( produc6540681278176691561od_d_e @ Xa @ ( produc290503188391846640od_d_e @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Product_prod_d_e )
           => ( ( Y
                = ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ X @ Xa ) @ nil_Product_prod_d_e ) )
             => ~ ( accp_P4936334777243690454od_d_e @ map_default_rel_d_e @ ( produc5699630823285921945od_d_e @ X @ ( produc6540681278176691561od_d_e @ Xa @ ( produc290503188391846640od_d_e @ Xb @ nil_Product_prod_d_e ) ) ) ) ) )
         => ~ ! [P6: product_prod_d_e,Ps: list_P8997501678391486062od_d_e] :
                ( ( Xc
                  = ( cons_P8177944434856228766od_d_e @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_d_e @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ X @ ( Xb @ ( product_snd_d_e @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_d_e @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P8177944434856228766od_d_e @ P6 @ ( map_default_d_e @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P4936334777243690454od_d_e @ map_default_rel_d_e @ ( produc5699630823285921945od_d_e @ X @ ( produc6540681278176691561od_d_e @ Xa @ ( produc290503188391846640od_d_e @ Xb @ ( cons_P8177944434856228766od_d_e @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_1196_map__default_Opelims,axiom,
    ! [X: d,Xa: c,Xb: c > c,Xc: list_P8855433598298794092od_d_c,Y: list_P8855433598298794092od_d_c] :
      ( ( ( map_default_d_c @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P5127839798227650642od_d_c @ map_default_rel_d_c @ ( produc6939195194183481621od_d_c @ X @ ( produc8891720458924246245od_d_c @ Xa @ ( produc9053752864168519790od_d_c @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Product_prod_d_c )
           => ( ( Y
                = ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ X @ Xa ) @ nil_Product_prod_d_c ) )
             => ~ ( accp_P5127839798227650642od_d_c @ map_default_rel_d_c @ ( produc6939195194183481621od_d_c @ X @ ( produc8891720458924246245od_d_c @ Xa @ ( produc9053752864168519790od_d_c @ Xb @ nil_Product_prod_d_c ) ) ) ) ) )
         => ~ ! [P6: product_prod_d_c,Ps: list_P8855433598298794092od_d_c] :
                ( ( Xc
                  = ( cons_P8177944426249771164od_d_c @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_d_c @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ X @ ( Xb @ ( product_snd_d_c @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_d_c @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P8177944426249771164od_d_c @ P6 @ ( map_default_d_c @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P5127839798227650642od_d_c @ map_default_rel_d_c @ ( produc6939195194183481621od_d_c @ X @ ( produc8891720458924246245od_d_c @ Xa @ ( produc9053752864168519790od_d_c @ Xb @ ( cons_P8177944426249771164od_d_c @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_1197_map__default_Opelims,axiom,
    ! [X: b,Xa: produc7123198797777838443_c_nat,Xb: produc7123198797777838443_c_nat > produc7123198797777838443_c_nat,Xc: list_P2889901965215479385_c_nat,Y: list_P2889901965215479385_c_nat] :
      ( ( ( map_de641635468176428804_c_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P6670008382440411624_c_nat @ map_de2150044412263742285_c_nat @ ( produc7566015309729631915_c_nat @ X @ ( produc4173555720299820541_c_nat @ Xa @ ( produc5502883518275468059_c_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr7508691997839540569_c_nat )
           => ( ( Y
                = ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ X @ Xa ) @ nil_Pr7508691997839540569_c_nat ) )
             => ~ ( accp_P6670008382440411624_c_nat @ map_de2150044412263742285_c_nat @ ( produc7566015309729631915_c_nat @ X @ ( produc4173555720299820541_c_nat @ Xa @ ( produc5502883518275468059_c_nat @ Xb @ nil_Pr7508691997839540569_c_nat ) ) ) ) ) )
         => ~ ! [P6: produc4731008658490410835_c_nat,Ps: list_P2889901965215479385_c_nat] :
                ( ( Xc
                  = ( cons_P7855309020881882377_c_nat @ P6 @ Ps ) )
               => ( ( ( ( ( produc3138273293139183023_c_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ X @ ( Xb @ ( produc8285974589448078577_c_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc3138273293139183023_c_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P7855309020881882377_c_nat @ P6 @ ( map_de641635468176428804_c_nat @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P6670008382440411624_c_nat @ map_de2150044412263742285_c_nat @ ( produc7566015309729631915_c_nat @ X @ ( produc4173555720299820541_c_nat @ Xa @ ( produc5502883518275468059_c_nat @ Xb @ ( cons_P7855309020881882377_c_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_1198_map__default_Opelims,axiom,
    ! [X: b,Xa: mappin8597647756751374250_b_a_b,Xb: mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b,Xc: list_P1642740157484131176_b_a_b,Y: list_P1642740157484131176_b_a_b] :
      ( ( ( map_de1779270183008234705_b_a_b @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P3581727846964283372_b_a_b @ map_de4432429773335074632_b_a_b @ ( produc6793992019525860527_b_a_b @ X @ ( produc5317212534990973881_b_a_b @ Xa @ ( produc5586444857851537652_b_a_b @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr9103419051586686674_b_a_b )
           => ( ( Y
                = ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ Xa ) @ nil_Pr9103419051586686674_b_a_b ) )
             => ~ ( accp_P3581727846964283372_b_a_b @ map_de4432429773335074632_b_a_b @ ( produc6793992019525860527_b_a_b @ X @ ( produc5317212534990973881_b_a_b @ Xa @ ( produc5586444857851537652_b_a_b @ Xb @ nil_Pr9103419051586686674_b_a_b ) ) ) ) ) )
         => ~ ! [P6: produc69853407467193432_b_a_b,Ps: list_P1642740157484131176_b_a_b] :
                ( ( Xc
                  = ( cons_P6785400485683988258_b_a_b @ P6 @ Ps ) )
               => ( ( ( ( ( produc3398860285988099686_b_a_b @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ X @ ( Xb @ ( produc7010306612471679140_b_a_b @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc3398860285988099686_b_a_b @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P6785400485683988258_b_a_b @ P6 @ ( map_de1779270183008234705_b_a_b @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P3581727846964283372_b_a_b @ map_de4432429773335074632_b_a_b @ ( produc6793992019525860527_b_a_b @ X @ ( produc5317212534990973881_b_a_b @ Xa @ ( produc5586444857851537652_b_a_b @ Xb @ ( cons_P6785400485683988258_b_a_b @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_1199_map__default_Opelims,axiom,
    ! [X: nat,Xa: nat,Xb: nat > nat,Xc: list_P6011104703257516679at_nat,Y: list_P6011104703257516679at_nat] :
      ( ( ( map_default_nat_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X @ ( produc1709345877921393766at_nat @ Xa @ ( produc1236331799044183215at_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr5478986624290739719at_nat )
           => ( ( Y
                = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Xa ) @ nil_Pr5478986624290739719at_nat ) )
             => ~ ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X @ ( produc1709345877921393766at_nat @ Xa @ ( produc1236331799044183215at_nat @ Xb @ nil_Pr5478986624290739719at_nat ) ) ) ) ) )
         => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
                ( ( Xc
                  = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_nat_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ ( Xb @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_nat_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P6512896166579812791at_nat @ P6 @ ( map_default_nat_nat @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X @ ( produc1709345877921393766at_nat @ Xa @ ( produc1236331799044183215at_nat @ Xb @ ( cons_P6512896166579812791at_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_1200_map__default_Opelims,axiom,
    ! [X: b,Xa: option7520157102916957007_c_nat,Xb: option7520157102916957007_c_nat > option7520157102916957007_c_nat,Xc: list_P8155366108056616461_c_nat,Y: list_P8155366108056616461_c_nat] :
      ( ( ( map_de5305620854455122934_c_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P3076908095482526198_c_nat @ map_de7178281694451429869_c_nat @ ( produc3000800644307087289_c_nat @ X @ ( produc8618114333783736899_c_nat @ Xa @ ( produc5195976547672773731_c_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr2407244426195543671_c_nat )
           => ( ( Y
                = ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ X @ Xa ) @ nil_Pr2407244426195543671_c_nat ) )
             => ~ ( accp_P3076908095482526198_c_nat @ map_de7178281694451429869_c_nat @ ( produc3000800644307087289_c_nat @ X @ ( produc8618114333783736899_c_nat @ Xa @ ( produc5195976547672773731_c_nat @ Xb @ nil_Pr2407244426195543671_c_nat ) ) ) ) ) )
         => ~ ! [P6: produc4862256710654508797_c_nat,Ps: list_P8155366108056616461_c_nat] :
                ( ( Xc
                  = ( cons_P7928565014262433479_c_nat @ P6 @ Ps ) )
               => ( ( ( ( ( produc8816143915943518219_c_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ X @ ( Xb @ ( produc2435110264752509257_c_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc8816143915943518219_c_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P7928565014262433479_c_nat @ P6 @ ( map_de5305620854455122934_c_nat @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P3076908095482526198_c_nat @ map_de7178281694451429869_c_nat @ ( produc3000800644307087289_c_nat @ X @ ( produc8618114333783736899_c_nat @ Xa @ ( produc5195976547672773731_c_nat @ Xb @ ( cons_P7928565014262433479_c_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_1201_map__default_Opelims,axiom,
    ! [X: b,Xa: c,Xb: c > c,Xc: list_P903359562653991662od_b_c,Y: list_P903359562653991662od_b_c] :
      ( ( ( map_default_b_c @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P2383248136236608210od_b_c @ map_default_rel_b_c @ ( produc1384939585547926677od_b_c @ X @ ( produc3590379597927054951od_b_c @ Xa @ ( produc1101678828523717360od_b_c @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Product_prod_b_c )
           => ( ( Y
                = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ Xa ) @ nil_Product_prod_b_c ) )
             => ~ ( accp_P2383248136236608210od_b_c @ map_default_rel_b_c @ ( produc1384939585547926677od_b_c @ X @ ( produc3590379597927054951od_b_c @ Xa @ ( produc1101678828523717360od_b_c @ Xb @ nil_Product_prod_b_c ) ) ) ) ) )
         => ~ ! [P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
                ( ( Xc
                  = ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_b_c @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ ( Xb @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_b_c @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_default_b_c @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P2383248136236608210od_b_c @ map_default_rel_b_c @ ( produc1384939585547926677od_b_c @ X @ ( produc3590379597927054951od_b_c @ Xa @ ( produc1101678828523717360od_b_c @ Xb @ ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_1202_map__default_Opelims,axiom,
    ! [X: b,Xa: produc4862256710654508797_c_nat,Xb: produc4862256710654508797_c_nat > produc4862256710654508797_c_nat,Xc: list_P7417839048565863355_c_nat,Y: list_P7417839048565863355_c_nat] :
      ( ( ( map_de8565690227408816292_c_nat @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P6393395294101418450_c_nat @ map_de2601993647352999835_c_nat @ ( produc6689170455415217557_c_nat @ X @ ( produc7240219008752950559_c_nat @ Xa @ ( produc4003268613017673069_c_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr7000167559216756261_c_nat )
           => ( ( Y
                = ( cons_P7294201633519847029_c_nat @ ( produc8868828497325608613_c_nat @ X @ Xa ) @ nil_Pr7000167559216756261_c_nat ) )
             => ~ ( accp_P6393395294101418450_c_nat @ map_de2601993647352999835_c_nat @ ( produc6689170455415217557_c_nat @ X @ ( produc7240219008752950559_c_nat @ Xa @ ( produc4003268613017673069_c_nat @ Xb @ nil_Pr7000167559216756261_c_nat ) ) ) ) ) )
         => ~ ! [P6: produc6689720525226317995_c_nat,Ps: list_P7417839048565863355_c_nat] :
                ( ( Xc
                  = ( cons_P7294201633519847029_c_nat @ P6 @ Ps ) )
               => ( ( ( ( ( produc6033490199168946105_c_nat @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P7294201633519847029_c_nat @ ( produc8868828497325608613_c_nat @ X @ ( Xb @ ( produc6319817161620345591_c_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc6033490199168946105_c_nat @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P7294201633519847029_c_nat @ P6 @ ( map_de8565690227408816292_c_nat @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P6393395294101418450_c_nat @ map_de2601993647352999835_c_nat @ ( produc6689170455415217557_c_nat @ X @ ( produc7240219008752950559_c_nat @ Xa @ ( produc4003268613017673069_c_nat @ Xb @ ( cons_P7294201633519847029_c_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_1203_map__default_Opelims,axiom,
    ! [X: c,Xa: a,Xb: a > a,Xc: list_P125642481956313003od_c_a,Y: list_P125642481956313003od_c_a] :
      ( ( ( map_default_c_a @ X @ Xa @ Xb @ Xc )
        = Y )
     => ( ( accp_P3947048988216089614od_c_a @ map_default_rel_c_a @ ( produc5401631760763263825od_c_a @ X @ ( produc8592089209173205282od_c_a @ Xa @ ( produc5907466840628013od_c_a @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Product_prod_c_a )
           => ( ( Y
                = ( cons_P1742027962761213787od_c_a @ ( product_Pair_c_a @ X @ Xa ) @ nil_Product_prod_c_a ) )
             => ~ ( accp_P3947048988216089614od_c_a @ map_default_rel_c_a @ ( produc5401631760763263825od_c_a @ X @ ( produc8592089209173205282od_c_a @ Xa @ ( produc5907466840628013od_c_a @ Xb @ nil_Product_prod_c_a ) ) ) ) ) )
         => ~ ! [P6: product_prod_c_a,Ps: list_P125642481956313003od_c_a] :
                ( ( Xc
                  = ( cons_P1742027962761213787od_c_a @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_c_a @ P6 )
                        = X )
                     => ( Y
                        = ( cons_P1742027962761213787od_c_a @ ( product_Pair_c_a @ X @ ( Xb @ ( product_snd_c_a @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_c_a @ P6 )
                       != X )
                     => ( Y
                        = ( cons_P1742027962761213787od_c_a @ P6 @ ( map_default_c_a @ X @ Xa @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P3947048988216089614od_c_a @ map_default_rel_c_a @ ( produc5401631760763263825od_c_a @ X @ ( produc8592089209173205282od_c_a @ Xa @ ( produc5907466840628013od_c_a @ Xb @ ( cons_P1742027962761213787od_c_a @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_1204_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: product_prod_d_e,K: d,V: e,F: e > e,Ps2: list_P8997501678391486062od_d_e] :
      ( ( ( ( product_fst_d_e @ P2 )
          = K )
       => ( ( update_with_aux_e_d @ V @ K @ F @ ( cons_P8177944434856228766od_d_e @ P2 @ Ps2 ) )
          = ( cons_P8177944434856228766od_d_e @ ( product_Pair_d_e @ K @ ( F @ ( product_snd_d_e @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_d_e @ P2 )
         != K )
       => ( ( update_with_aux_e_d @ V @ K @ F @ ( cons_P8177944434856228766od_d_e @ P2 @ Ps2 ) )
          = ( cons_P8177944434856228766od_d_e @ P2 @ ( update_with_aux_e_d @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_1205_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: product_prod_d_c,K: d,V: c,F: c > c,Ps2: list_P8855433598298794092od_d_c] :
      ( ( ( ( product_fst_d_c @ P2 )
          = K )
       => ( ( update_with_aux_c_d @ V @ K @ F @ ( cons_P8177944426249771164od_d_c @ P2 @ Ps2 ) )
          = ( cons_P8177944426249771164od_d_c @ ( product_Pair_d_c @ K @ ( F @ ( product_snd_d_c @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_d_c @ P2 )
         != K )
       => ( ( update_with_aux_c_d @ V @ K @ F @ ( cons_P8177944426249771164od_d_c @ P2 @ Ps2 ) )
          = ( cons_P8177944426249771164od_d_c @ P2 @ ( update_with_aux_c_d @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_1206_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: produc4731008658490410835_c_nat,K: b,V: produc7123198797777838443_c_nat,F: produc7123198797777838443_c_nat > produc7123198797777838443_c_nat,Ps2: list_P2889901965215479385_c_nat] :
      ( ( ( ( produc3138273293139183023_c_nat @ P2 )
          = K )
       => ( ( update5854347117395237206_nat_b @ V @ K @ F @ ( cons_P7855309020881882377_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7855309020881882377_c_nat @ ( produc1153541909957361603_c_nat @ K @ ( F @ ( produc8285974589448078577_c_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc3138273293139183023_c_nat @ P2 )
         != K )
       => ( ( update5854347117395237206_nat_b @ V @ K @ F @ ( cons_P7855309020881882377_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7855309020881882377_c_nat @ P2 @ ( update5854347117395237206_nat_b @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_1207_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: produc69853407467193432_b_a_b,K: b,V: mappin8597647756751374250_b_a_b,F: mappin8597647756751374250_b_a_b > mappin8597647756751374250_b_a_b,Ps2: list_P1642740157484131176_b_a_b] :
      ( ( ( ( produc3398860285988099686_b_a_b @ P2 )
          = K )
       => ( ( update190060169539129425_a_b_b @ V @ K @ F @ ( cons_P6785400485683988258_b_a_b @ P2 @ Ps2 ) )
          = ( cons_P6785400485683988258_b_a_b @ ( produc5420919026241514322_b_a_b @ K @ ( F @ ( produc7010306612471679140_b_a_b @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc3398860285988099686_b_a_b @ P2 )
         != K )
       => ( ( update190060169539129425_a_b_b @ V @ K @ F @ ( cons_P6785400485683988258_b_a_b @ P2 @ Ps2 ) )
          = ( cons_P6785400485683988258_b_a_b @ P2 @ ( update190060169539129425_a_b_b @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_1208_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: product_prod_nat_nat,K: nat,V: nat,F: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P2 )
          = K )
       => ( ( update528237659335440164at_nat @ V @ K @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ ( product_snd_nat_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P2 )
         != K )
       => ( ( update528237659335440164at_nat @ V @ K @ F @ ( cons_P6512896166579812791at_nat @ P2 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P2 @ ( update528237659335440164at_nat @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_1209_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: produc4862256710654508797_c_nat,K: b,V: option7520157102916957007_c_nat,F: option7520157102916957007_c_nat > option7520157102916957007_c_nat,Ps2: list_P8155366108056616461_c_nat] :
      ( ( ( ( produc8816143915943518219_c_nat @ P2 )
          = K )
       => ( ( update6007670785845294700_nat_b @ V @ K @ F @ ( cons_P7928565014262433479_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7928565014262433479_c_nat @ ( produc5716802255202478839_c_nat @ K @ ( F @ ( produc2435110264752509257_c_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc8816143915943518219_c_nat @ P2 )
         != K )
       => ( ( update6007670785845294700_nat_b @ V @ K @ F @ ( cons_P7928565014262433479_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7928565014262433479_c_nat @ P2 @ ( update6007670785845294700_nat_b @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_1210_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: product_prod_b_c,K: b,V: c,F: c > c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P2 )
          = K )
       => ( ( update_with_aux_c_b @ V @ K @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ ( product_snd_b_c @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P2 )
         != K )
       => ( ( update_with_aux_c_b @ V @ K @ F @ ( cons_P4529483553340347422od_b_c @ P2 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P2 @ ( update_with_aux_c_b @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_1211_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: produc6689720525226317995_c_nat,K: b,V: produc4862256710654508797_c_nat,F: produc4862256710654508797_c_nat > produc4862256710654508797_c_nat,Ps2: list_P7417839048565863355_c_nat] :
      ( ( ( ( produc6033490199168946105_c_nat @ P2 )
          = K )
       => ( ( update5508768958394535230_nat_b @ V @ K @ F @ ( cons_P7294201633519847029_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7294201633519847029_c_nat @ ( produc8868828497325608613_c_nat @ K @ ( F @ ( produc6319817161620345591_c_nat @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc6033490199168946105_c_nat @ P2 )
         != K )
       => ( ( update5508768958394535230_nat_b @ V @ K @ F @ ( cons_P7294201633519847029_c_nat @ P2 @ Ps2 ) )
          = ( cons_P7294201633519847029_c_nat @ P2 @ ( update5508768958394535230_nat_b @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_1212_update__with__aux_Osimps_I2_J,axiom,
    ! [P2: product_prod_c_a,K: c,V: a,F: a > a,Ps2: list_P125642481956313003od_c_a] :
      ( ( ( ( product_fst_c_a @ P2 )
          = K )
       => ( ( update_with_aux_a_c @ V @ K @ F @ ( cons_P1742027962761213787od_c_a @ P2 @ Ps2 ) )
          = ( cons_P1742027962761213787od_c_a @ ( product_Pair_c_a @ K @ ( F @ ( product_snd_c_a @ P2 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_c_a @ P2 )
         != K )
       => ( ( update_with_aux_a_c @ V @ K @ F @ ( cons_P1742027962761213787od_c_a @ P2 @ Ps2 ) )
          = ( cons_P1742027962761213787od_c_a @ P2 @ ( update_with_aux_a_c @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_1213_update__with__aux_Osimps_I1_J,axiom,
    ! [V: nat,K: nat,F: nat > nat] :
      ( ( update528237659335440164at_nat @ V @ K @ F @ nil_Pr5478986624290739719at_nat )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ V ) ) @ nil_Pr5478986624290739719at_nat ) ) ).

% update_with_aux.simps(1)
thf(fact_1214_diff__Suc__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_Suc_Suc
thf(fact_1215_Suc__diff__diff,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M ) @ N ) @ ( suc @ K ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ N ) @ K ) ) ).

% Suc_diff_diff
thf(fact_1216_diff__diff__cancel,axiom,
    ! [I: nat,N: nat] :
      ( ( ord_less_eq_nat @ I @ N )
     => ( ( minus_minus_nat @ N @ ( minus_minus_nat @ N @ I ) )
        = I ) ) ).

% diff_diff_cancel
thf(fact_1217_diff__diff__left,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K )
      = ( minus_minus_nat @ I @ ( plus_plus_nat @ J @ K ) ) ) ).

% diff_diff_left
thf(fact_1218_Nat_Oadd__diff__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K ) ) ) ).

% Nat.add_diff_assoc
thf(fact_1219_Nat_Oadd__diff__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K ) ) ) ).

% Nat.add_diff_assoc2
thf(fact_1220_Nat_Odiff__diff__right,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.diff_diff_right
thf(fact_1221_diff__Suc__1,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ ( suc @ N ) @ one_one_nat )
      = N ) ).

% diff_Suc_1
thf(fact_1222_diff__Suc__diff__eq2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( suc @ ( minus_minus_nat @ J @ K ) ) @ I )
        = ( minus_minus_nat @ ( suc @ J ) @ ( plus_plus_nat @ K @ I ) ) ) ) ).

% diff_Suc_diff_eq2
thf(fact_1223_diff__Suc__diff__eq1,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( suc @ ( minus_minus_nat @ J @ K ) ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ ( suc @ J ) ) ) ) ).

% diff_Suc_diff_eq1
thf(fact_1224_less__imp__diff__less,axiom,
    ! [J: nat,K: nat,N: nat] :
      ( ( ord_less_nat @ J @ K )
     => ( ord_less_nat @ ( minus_minus_nat @ J @ N ) @ K ) ) ).

% less_imp_diff_less
thf(fact_1225_diff__less__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ord_less_nat @ M @ L )
       => ( ord_less_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ) ).

% diff_less_mono2
thf(fact_1226_Nat_Odiff__cancel,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% Nat.diff_cancel
thf(fact_1227_diff__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ K ) @ ( plus_plus_nat @ N @ K ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_cancel2
thf(fact_1228_diff__add__inverse,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ N @ M ) @ N )
      = M ) ).

% diff_add_inverse
thf(fact_1229_diff__add__inverse2,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ N ) @ N )
      = M ) ).

% diff_add_inverse2
thf(fact_1230_diff__commute,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K )
      = ( minus_minus_nat @ ( minus_minus_nat @ I @ K ) @ J ) ) ).

% diff_commute
thf(fact_1231_zero__induct__lemma,axiom,
    ! [P: nat > $o,K: nat,I: nat] :
      ( ( P @ K )
     => ( ! [N4: nat] :
            ( ( P @ ( suc @ N4 ) )
           => ( P @ N4 ) )
       => ( P @ ( minus_minus_nat @ K @ I ) ) ) ) ).

% zero_induct_lemma
thf(fact_1232_eq__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ( minus_minus_nat @ M @ K )
            = ( minus_minus_nat @ N @ K ) )
          = ( M = N ) ) ) ) ).

% eq_diff_iff
thf(fact_1233_le__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% le_diff_iff
thf(fact_1234_Nat_Odiff__diff__eq,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( minus_minus_nat @ M @ N ) ) ) ) ).

% Nat.diff_diff_eq
thf(fact_1235_diff__le__mono,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ M @ L ) @ ( minus_minus_nat @ N @ L ) ) ) ).

% diff_le_mono
thf(fact_1236_diff__le__self,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ M ) ).

% diff_le_self
thf(fact_1237_le__diff__iff_H,axiom,
    ! [A2: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ A2 @ C2 )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ C2 @ A2 ) @ ( minus_minus_nat @ C2 @ B ) )
          = ( ord_less_eq_nat @ B @ A2 ) ) ) ) ).

% le_diff_iff'
thf(fact_1238_diff__le__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ).

% diff_le_mono2
thf(fact_1239_diff__Suc__eq__diff__pred,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ M @ ( suc @ N ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ one_one_nat ) @ N ) ) ).

% diff_Suc_eq_diff_pred
thf(fact_1240_Nat_Ole__imp__diff__is__add,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( minus_minus_nat @ J @ I )
          = K )
        = ( J
          = ( plus_plus_nat @ K @ I ) ) ) ) ).

% Nat.le_imp_diff_is_add
thf(fact_1241_Nat_Odiff__add__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K )
        = ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I ) ) ) ).

% Nat.diff_add_assoc2
thf(fact_1242_Nat_Odiff__add__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K )
        = ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) ) ) ) ).

% Nat.diff_add_assoc
thf(fact_1243_Nat_Ole__diff__conv2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( ord_less_eq_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.le_diff_conv2
thf(fact_1244_le__diff__conv,axiom,
    ! [J: nat,K: nat,I: nat] :
      ( ( ord_less_eq_nat @ ( minus_minus_nat @ J @ K ) @ I )
      = ( ord_less_eq_nat @ J @ ( plus_plus_nat @ I @ K ) ) ) ).

% le_diff_conv
thf(fact_1245_less__diff__conv,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ ( minus_minus_nat @ J @ K ) )
      = ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ).

% less_diff_conv
thf(fact_1246_add__diff__inverse__nat,axiom,
    ! [M: nat,N: nat] :
      ( ~ ( ord_less_nat @ M @ N )
     => ( ( plus_plus_nat @ N @ ( minus_minus_nat @ M @ N ) )
        = M ) ) ).

% add_diff_inverse_nat
thf(fact_1247_diff__less__mono,axiom,
    ! [A2: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A2 @ B )
     => ( ( ord_less_eq_nat @ C2 @ A2 )
       => ( ord_less_nat @ ( minus_minus_nat @ A2 @ C2 ) @ ( minus_minus_nat @ B @ C2 ) ) ) ) ).

% diff_less_mono
thf(fact_1248_less__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_nat @ M @ N ) ) ) ) ).

% less_diff_iff
thf(fact_1249_Suc__diff__le,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( suc @ ( minus_minus_nat @ M @ N ) ) ) ) ).

% Suc_diff_le
thf(fact_1250_Suc__diff__Suc,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( ( suc @ ( minus_minus_nat @ M @ ( suc @ N ) ) )
        = ( minus_minus_nat @ M @ N ) ) ) ).

% Suc_diff_Suc
thf(fact_1251_diff__less__Suc,axiom,
    ! [M: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ ( suc @ M ) ) ).

% diff_less_Suc
thf(fact_1252_less__diff__conv2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( ord_less_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( ord_less_nat @ J @ ( plus_plus_nat @ I @ K ) ) ) ) ).

% less_diff_conv2
thf(fact_1253_prod__decode__aux_Ocases,axiom,
    ! [X: product_prod_nat_nat] :
      ~ ! [K3: nat,M3: nat] :
          ( X
         != ( product_Pair_nat_nat @ K3 @ M3 ) ) ).

% prod_decode_aux.cases
thf(fact_1254_prod__decode__aux_Oelims,axiom,
    ! [X: nat,Xa: nat,Y: product_prod_nat_nat] :
      ( ( ( nat_prod_decode_aux @ X @ Xa )
        = Y )
     => ( ( ( ord_less_eq_nat @ Xa @ X )
         => ( Y
            = ( product_Pair_nat_nat @ Xa @ ( minus_minus_nat @ X @ Xa ) ) ) )
        & ( ~ ( ord_less_eq_nat @ Xa @ X )
         => ( Y
            = ( nat_prod_decode_aux @ ( suc @ X ) @ ( minus_minus_nat @ Xa @ ( suc @ X ) ) ) ) ) ) ) ).

% prod_decode_aux.elims
thf(fact_1255_prod__decode__aux_Osimps,axiom,
    ( nat_prod_decode_aux
    = ( ^ [K2: nat,M5: nat] : ( if_Pro6206227464963214023at_nat @ ( ord_less_eq_nat @ M5 @ K2 ) @ ( product_Pair_nat_nat @ M5 @ ( minus_minus_nat @ K2 @ M5 ) ) @ ( nat_prod_decode_aux @ ( suc @ K2 ) @ ( minus_minus_nat @ M5 @ ( suc @ K2 ) ) ) ) ) ) ).

% prod_decode_aux.simps
thf(fact_1256_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_1257_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_1258_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_1259_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_1260_bot__nat__0_Oextremum,axiom,
    ! [A2: nat] : ( ord_less_eq_nat @ zero_zero_nat @ A2 ) ).

% bot_nat_0.extremum
thf(fact_1261_add__is__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = zero_zero_nat )
      = ( ( M = zero_zero_nat )
        & ( N = zero_zero_nat ) ) ) ).

% add_is_0
thf(fact_1262_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_1263_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% diff_0_eq_0
thf(fact_1264_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

% diff_self_eq_0

% Helper facts (3)
thf(help_If_3_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $true @ X @ Y )
      = X ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( steps_b_a_c @ step @ rho @ init @ ( product_Pair_nat_nat @ ( plus_plus_nat @ i @ one_one_nat ) @ ( suc @ i_cura ) ) )
    = q ) ).

%------------------------------------------------------------------------------