TPTP Problem File: SLH0056^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    : FSM_Tests/0067_H_Method_Implementations/prob_00707_036586__21197332_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1948 ( 519 unt; 710 typ;   0 def)
%            Number of atoms       : 3903 (1884 equ;   0 cnn)
%            Maximal formula atoms :   18 (   3 avg)
%            Number of connectives : 15321 ( 757   ~;  82   |; 319   &;12243   @)
%                                         (   0 <=>;1920  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (   8 avg)
%            Number of types       :  174 ( 173 usr)
%            Number of type conns  : 1434 (1434   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  540 ( 537 usr;  56 con; 0-7 aty)
%            Number of variables   : 4364 ( 145   ^;3998   !; 221   ?;4364   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 11:30:44.667
%------------------------------------------------------------------------------
% Could-be-implicit typings (173)
thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_Mt__Product____Type__Oprod_I_Eo_Mt__Product____Type__Oprod_It__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J_J,type,
    produc975373199260372097od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_Mt__Product____Type__Oprod_It__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    produc4331832138864659954od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_Eo_Mt__Product____Type__Oprod_It__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    produc7002085055418974302od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc5681210966613421647od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J,type,
    produc4256997230913256733at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc110052867166628558od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc4272199197645413485at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc6096636505805601536at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J_J,type,
    produc4677413098736350873od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__FSM____Impl__Ofsm____impl_Itf__a_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J_J,type,
    produc4604037301588677427_nat_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    list_P567174845966485549at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    set_Pr8595773492680003335at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    list_P1054463921365547186at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_Pr2974324449468684684at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc6480465915480880334od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc6306019877100627239at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc8234380694124727596at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc4175839240992051024at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    set_Pr2629136055545837734od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__FSM____Impl__Ofsm____impl_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc8848519422210214741at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J_J,type,
    produc6527480851314615797od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc3683905536577685062od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc6700159619980657760od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc4554020583633312224od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    produc2640269506864268256od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc6474587151875105527od_b_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    set_Pr921591966427182455od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc3666952498133006267at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc8222220312414797177at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc8025449066989929921od_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    option2591598976854080940od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc1404827273422455342od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc5559707038353031495od_b_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J_J_J_J,type,
    set_Pr5054563602551705894_nat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__FSM____Impl__Ofsm____impl_Itf__a_Mtf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_Mt__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J,type,
    produc6163117450648659381od_c_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    list_P4391763663960888956at_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    option6692901190864051890od_b_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__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc8789943477816147302od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    produc3181506366269604790od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J_J_J,type,
    produc5171416974914315462_nat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc377773627980100231od_b_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    set_Pr8877411164295560285od_b_c: $tType ).

thf(ty_n_t__FSM__Ofsm_It__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    fsm_Pr4657356312157149317at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    list_P1512727335290020207at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    set_Pr3392036886738332181at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    set_Pr5745212217562084886od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc7430354563094994173od_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J_J,type,
    option1731697217459114045_nat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc2416979464461413415od_b_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J_J,type,
    set_Pr9076326440790284195_nat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc5275045439768741799od_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_Itf__a_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    option6057948497744274076od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc1672623652726061535at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_Itf__c_J_J_J,type,
    produc7067928884085360641list_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc5203083735093303734od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc464288617779538343od_b_c: $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__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_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J_J,type,
    produc3837118262317687325_nat_a: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    set_li1115140346099424672at_nat: $tType ).

thf(ty_n_t__FSM__Ofsm_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    fsm_Pr6890445380455706207at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J,type,
    produc2204162461157160941_nat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc1482795341195028906od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc7268529302935078535od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc3337489064138154951od_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    option3485155124158053504at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    list_P3552028079716004544at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_Pr193325153470804378at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__FSM____Impl__Ofsm____impl_Itf__b_Mtf__c_Mtf__a_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    produc5988948626131613619od_c_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    set_Pr58315729134567223at_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_Itf__a_J_J_J_J,type,
    option5880730194448810034list_a: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    option1643449060076316019od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc5878855887281848999od_b_c: $tType ).

thf(ty_n_t__FSM____Impl__Ofsm____impl_Itf__a_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    fSM_fs1197123577718402021_nat_a: $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__b_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,
    produc6452300523622238572od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc6746359049278637479od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc7736452900028564794at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc7816210539016439438od_b_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J_J,type,
    set_Pr2132289025821971677_nat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc8642769642335960151at_nat: $tType ).

thf(ty_n_t__FSM__Ofsm_Itf__a_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    fsm_a_4604537545892270069at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    produc8810778048539276352_nat_a: $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__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J_J_J,type,
    list_l3392457236959476109_c_nat: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J_J_J,type,
    set_li8833770213754931_c_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J,type,
    option6852666198823255420od_c_a: $tType ).

thf(ty_n_t__FSM__Ofsm_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    fsm_Pr8818233010731550984_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_Itf__a_J_J_J,type,
    produc4252211853170914156list_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc1809316117265082669od_b_c: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J,type,
    list_P6327159017948738492od_c_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J,type,
    set_Pr8357624050790843030od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J,type,
    produc5553150636051250045_nat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc1567464493837373646od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc5061223036163535550od_b_c: $tType ).

thf(ty_n_t__FSM__Ofsm_It__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_Mt__Nat__Onat_J,type,
    fsm_Pr8641708754182589388at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J_J,type,
    list_P5698226596436487165_c_nat: $tType ).

thf(ty_n_t__FSM____Impl__Ofsm____impl_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_Mt__Nat__Onat_J,type,
    fSM_fs3411120469802430476at_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    option4534702620024642204od_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J_J_J,type,
    option231006655626737692list_a: $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_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc8036268780610582007od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    produc2669932201312201782od_c_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    set_Pr7526901305485391030od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc8297111589761753219od_b_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__FSM__Ofsm_It__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mtf__b_Mtf__c_J,type,
    fsm_Pr583765586473123763_c_b_c: $tType ).

thf(ty_n_t__FSM__Ofsm_It__Nat__Onat_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    fsm_na8507942939833465170_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    produc2027191494478716909_c_nat: $tType ).

thf(ty_n_t__Option__Ooption_It__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    option4860840611552367828od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    produc7751835376537488967_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc8989445423070949229od_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    option501086424517115475od_c_a: $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__FSM__Ofsm_Itf__a_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    fsm_a_5171288443196988146_c_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc6475121930738208726od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J_J,type,
    produc7625978035857829206list_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_Itf__a_J_J,type,
    produc3241985283594612419list_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    set_Pr272002107461315949od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J,type,
    produc3003436944436227428_nat_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    produc6033039080626123092_nat_a: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    list_l3264859301627795341at_nat: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_li5450038453877631591at_nat: $tType ).

thf(ty_n_t__FSM____Impl__Ofsm____impl_Itf__a_Mtf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    fSM_fs6392807071807805864od_c_a: $tType ).

thf(ty_n_t__FSM__Ofsm_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Nat__Onat_Mt__Nat__Onat_J,type,
    fsm_Pr3844284524609415846at_nat: $tType ).

thf(ty_n_t__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J,type,
    fsm_Pr1214345408167043238at_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc1607065434848047117od_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J_J,type,
    option2754391658759188979list_a: $tType ).

thf(ty_n_t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    prefix425356687782099470od_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    option970444960630425614od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc2271636064823979023od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    produc2133359284458116493od_c_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_Itf__c_J_J,type,
    produc4034331450184888424list_c: $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__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    list_l8907847357763382004od_b_c: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J_J,type,
    set_Pr2070066670564046349list_a: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    set_li6436108459499378894od_b_c: $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__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_Pr1261947904930325089at_nat: $tType ).

thf(ty_n_t__FSM__Ofsm_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mtf__b_Mtf__c_J,type,
    fsm_Pr8946560376811747725_c_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Prefix____Tree__Oprefix____tree_Itf__a_J_J,type,
    option7782433257363429738tree_a: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    option4716579502443089070od_b_c: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J,type,
    produc8685980395799941037list_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__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    set_Product_prod_b_c: $tType ).

thf(ty_n_t__FSM__Ofsm_It__Nat__Onat_Mt__Nat__Onat_Mt__Nat__Onat_J,type,
    fsm_nat_nat_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    product_prod_nat_nat: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    list_nat_nat: $tType ).

thf(ty_n_t__FSM____Impl__Ofsm____impl_Itf__b_Mtf__c_Mtf__a_J,type,
    fSM_fsm_impl_b_c_a: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_nat_nat: $tType ).

thf(ty_n_t__FSM__Ofsm_Itf__a_Mt__Nat__Onat_Mt__Nat__Onat_J,type,
    fsm_a_nat_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    product_prod_nat_a: $tType ).

thf(ty_n_t__Prefix____Tree__Oprefix____tree_Itf__a_J,type,
    prefix_prefix_tree_a: $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__List__Olist_It__List__Olist_Itf__a_J_J,type,
    list_list_a: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_Itf__a_J_J,type,
    set_list_a: $tType ).

thf(ty_n_t__FSM__Ofsm_Itf__a_Mtf__b_Mtf__c_J,type,
    fsm_a_b_c: $tType ).

thf(ty_n_t__Option__Ooption_It__Nat__Onat_J,type,
    option_nat: $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__a_J,type,
    option_a: $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__b_J,type,
    set_b: $tType ).

thf(ty_n_t__Set__Oset_Itf__a_J,type,
    set_a: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $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 (537)
thf(sy_c_AList_Omap__default_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_de5424046155440413163at_nat: list_P903359562653991662od_b_c > product_prod_nat_nat > ( product_prod_nat_nat > product_prod_nat_nat ) > list_P3552028079716004544at_nat > list_P3552028079716004544at_nat ).

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_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__rel_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_de2534013423998049332at_nat: produc4256997230913256733at_nat > produc4256997230913256733at_nat > $o ).

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_001tf__c,type,
    map_default_rel_b_c: produc2009451851958091931od_b_c > produc2009451851958091931od_b_c > $o ).

thf(sy_c_AList_Omap__entry_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_en8749968004893045596at_nat: list_P903359562653991662od_b_c > ( product_prod_nat_nat > product_prod_nat_nat ) > list_P3552028079716004544at_nat > list_P3552028079716004544at_nat ).

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_001tf__c,type,
    map_entry_b_c: b > ( c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_AList_Omap__entry__rel_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_en5891098063436132355at_nat: produc4272199197645413485at_nat > produc4272199197645413485at_nat > $o ).

thf(sy_c_AList_Omap__entry__rel_001t__Nat__Onat_001t__Nat__Onat,type,
    map_en6292189407319230482at_nat: produc6121082497140218670at_nat > produc6121082497140218670at_nat > $o ).

thf(sy_c_AList_Omap__entry__rel_001tf__b_001tf__c,type,
    map_entry_rel_b_c: produc6452300523622238572od_b_c > produc6452300523622238572od_b_c > $o ).

thf(sy_c_AList_Omap__ran_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    map_ra8878016659559072311at_nat: ( list_P903359562653991662od_b_c > product_prod_nat_nat > product_prod_nat_nat ) > list_P3552028079716004544at_nat > list_P3552028079716004544at_nat ).

thf(sy_c_AList_Omap__ran_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    map_ran_nat_nat_nat: ( nat > nat > nat ) > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_AList_Omap__ran_001tf__b_001tf__c_001tf__c,type,
    map_ran_b_c_c: ( b > c > c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    update3836831102904268847od_b_c: product_prod_nat_nat > list_P903359562653991662od_b_c > ( product_prod_nat_nat > product_prod_nat_nat ) > list_P3552028079716004544at_nat > list_P3552028079716004544at_nat ).

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_BNF__Greatest__Fixpoint_OShift_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    bNF_Gr3217147008067810311od_b_c: set_li6436108459499378894od_b_c > product_prod_b_c > set_li6436108459499378894od_b_c ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    bNF_Gr8135241567188112771od_b_c: set_li6436108459499378894od_b_c > list_P903359562653991662od_b_c > set_Product_prod_b_c ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001tf__a,type,
    bNF_Greatest_Succ_a: set_list_a > list_a > set_a ).

thf(sy_c_Convergence_Oconverge_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    conver5466876295256871945_c_nat: fsm_na8507942939833465170_c_nat > list_P5698226596436487165_c_nat > list_P5698226596436487165_c_nat > $o ).

thf(sy_c_Convergence_Oconverge_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    conver973345680224355990at_nat: fsm_Pr6890445380455706207at_nat > list_P3552028079716004544at_nat > list_P3552028079716004544at_nat > $o ).

thf(sy_c_Convergence_Oconverge_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    conver3465954697284852261at_nat: fsm_Pr3844284524609415846at_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o ).

thf(sy_c_Convergence_Oconverge_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    conver960278975083682628_c_b_c: fsm_Pr8946560376811747725_c_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o ).

thf(sy_c_Convergence_Oconverge_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    conver1259893425882509100at_nat: fsm_a_4604537545892270069at_nat > list_P3552028079716004544at_nat > list_P3552028079716004544at_nat > $o ).

thf(sy_c_Convergence_Oconverge_001tf__a_001t__Nat__Onat_001t__Nat__Onat,type,
    converge_a_nat_nat: fsm_a_nat_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > $o ).

thf(sy_c_Convergence_Oconverge_001tf__a_001tf__b_001tf__c,type,
    converge_a_b_c: fsm_a_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o ).

thf(sy_c_Distinguishability_Oget__distinguishing__sequence__from__ofsm__tables_001tf__a_001tf__b_001tf__c,type,
    get_di2280862616223094331_a_b_c: fsm_a_b_c > a > a > list_P903359562653991662od_b_c ).

thf(sy_c_FSM_OLS_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    lS_nat3398479149073220114_c_nat: fsm_na8507942939833465170_c_nat > nat > set_li8833770213754931_c_nat ).

thf(sy_c_FSM_OLS_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    lS_Pre1928863027795566917at_nat: fsm_Pr4657356312157149317at_nat > prefix425356687782099470od_b_c > set_li1115140346099424672at_nat ).

thf(sy_c_FSM_OLS_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat_001t__Nat__Onat,type,
    lS_Pre6394914239403435604at_nat: fsm_Pr8641708754182589388at_nat > prefix425356687782099470od_b_c > set_li5450038453877631591at_nat ).

thf(sy_c_FSM_OLS_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001tf__b_001tf__c,type,
    lS_Pre2550405482641406963_c_b_c: fsm_Pr583765586473123763_c_b_c > prefix425356687782099470od_b_c > set_li6436108459499378894od_b_c ).

thf(sy_c_FSM_OLS_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    lS_Pro6631750835225597286at_b_c: fsm_Pr1214345408167043238at_b_c > product_prod_nat_nat > set_li6436108459499378894od_b_c ).

thf(sy_c_FSM_OLS_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    lS_Pro5343607510786273202_c_nat: fsm_Pr8818233010731550984_c_nat > product_prod_b_c > set_li8833770213754931_c_nat ).

thf(sy_c_FSM_OLS_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    lS_Pro4163255673115824799at_nat: fsm_Pr6890445380455706207at_nat > product_prod_b_c > set_li1115140346099424672at_nat ).

thf(sy_c_FSM_OLS_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    lS_Pro8951734124491481262at_nat: fsm_Pr3844284524609415846at_nat > product_prod_b_c > set_li5450038453877631591at_nat ).

thf(sy_c_FSM_OLS_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    lS_Pro4505222411400483149_c_b_c: fsm_Pr8946560376811747725_c_b_c > product_prod_b_c > set_li6436108459499378894od_b_c ).

thf(sy_c_FSM_OLS_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    lS_a_l8828352379401341340_c_nat: fsm_a_5171288443196988146_c_nat > a > set_li8833770213754931_c_nat ).

thf(sy_c_FSM_OLS_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    lS_a_l146741544388291637at_nat: fsm_a_4604537545892270069at_nat > a > set_li1115140346099424672at_nat ).

thf(sy_c_FSM_OLS_001tf__a_001t__Nat__Onat_001t__Nat__Onat,type,
    lS_a_nat_nat: fsm_a_nat_nat > a > set_li5450038453877631591at_nat ).

thf(sy_c_FSM_OLS_001tf__a_001tf__b_001tf__c,type,
    lS_a_b_c: fsm_a_b_c > a > set_li6436108459499378894od_b_c ).

thf(sy_c_FSM_Oacyclic_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    acycli6170610019825052935_c_nat: fsm_na8507942939833465170_c_nat > $o ).

thf(sy_c_FSM_Oafter_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    after_9065927338414533509_c_nat: fsm_na8507942939833465170_c_nat > nat > list_P5698226596436487165_c_nat > nat ).

thf(sy_c_FSM_Oafter_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    after_nat_nat_nat: fsm_nat_nat_nat > nat > list_P6011104703257516679at_nat > nat ).

thf(sy_c_FSM_Oafter_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    after_8706860992364380216at_nat: fsm_Pr4657356312157149317at_nat > prefix425356687782099470od_b_c > list_P3552028079716004544at_nat > prefix425356687782099470od_b_c ).

thf(sy_c_FSM_Oafter_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat_001t__Nat__Onat,type,
    after_4610990257864945863at_nat: fsm_Pr8641708754182589388at_nat > prefix425356687782099470od_b_c > list_P6011104703257516679at_nat > prefix425356687782099470od_b_c ).

thf(sy_c_FSM_Oafter_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001tf__b_001tf__c,type,
    after_7713676853120534758_c_b_c: fsm_Pr583765586473123763_c_b_c > prefix425356687782099470od_b_c > list_P903359562653991662od_b_c > prefix425356687782099470od_b_c ).

thf(sy_c_FSM_Oafter_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    after_3796124412128908377at_b_c: fsm_Pr1214345408167043238at_b_c > product_prod_nat_nat > list_P903359562653991662od_b_c > product_prod_nat_nat ).

thf(sy_c_FSM_Oafter_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    after_2478316435353686720_c_b_c: fsm_Pr8946560376811747725_c_b_c > product_prod_b_c > list_P903359562653991662od_b_c > product_prod_b_c ).

thf(sy_c_FSM_Oafter_001tf__a_001tf__b_001tf__c,type,
    after_a_b_c: fsm_a_b_c > a > list_P903359562653991662od_b_c > a ).

thf(sy_c_FSM_Ocreate__unconnected__fsm__from__lists_001tf__a_001tf__b_001tf__c,type,
    create77316410616359891_a_b_c: a > list_a > list_b > list_c > fsm_a_b_c ).

thf(sy_c_FSM_Odeterministic_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    determ3896246135393395087_c_nat: fsm_na8507942939833465170_c_nat > $o ).

thf(sy_c_FSM_Odistinguishes_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    distin5130361813316652462_c_nat: fsm_na8507942939833465170_c_nat > nat > nat > list_P5698226596436487165_c_nat > $o ).

thf(sy_c_FSM_Odistinguishes_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    distin2722174249629577650at_nat: fsm_nat_nat_nat > nat > nat > list_P6011104703257516679at_nat > $o ).

thf(sy_c_FSM_Odistinguishes_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    distin148685098255035105at_nat: fsm_Pr4657356312157149317at_nat > prefix425356687782099470od_b_c > prefix425356687782099470od_b_c > list_P3552028079716004544at_nat > $o ).

thf(sy_c_FSM_Odistinguishes_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat_001t__Nat__Onat,type,
    distin3434354141337495024at_nat: fsm_Pr8641708754182589388at_nat > prefix425356687782099470od_b_c > prefix425356687782099470od_b_c > list_P6011104703257516679at_nat > $o ).

thf(sy_c_FSM_Odistinguishes_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001tf__b_001tf__c,type,
    distin4675596619508915599_c_b_c: fsm_Pr583765586473123763_c_b_c > prefix425356687782099470od_b_c > prefix425356687782099470od_b_c > list_P903359562653991662od_b_c > $o ).

thf(sy_c_FSM_Odistinguishes_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    distin2297724292587972155at_nat: fsm_Pr6890445380455706207at_nat > product_prod_b_c > product_prod_b_c > list_P3552028079716004544at_nat > $o ).

thf(sy_c_FSM_Odistinguishes_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    distin7542011243762100810at_nat: fsm_Pr3844284524609415846at_nat > product_prod_b_c > product_prod_b_c > list_P6011104703257516679at_nat > $o ).

thf(sy_c_FSM_Odistinguishes_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    distin2910207492170677481_c_b_c: fsm_Pr8946560376811747725_c_b_c > product_prod_b_c > product_prod_b_c > list_P903359562653991662od_b_c > $o ).

thf(sy_c_FSM_Odistinguishes_001tf__a_001tf__b_001tf__c,type,
    distinguishes_a_b_c: fsm_a_b_c > a > a > list_P903359562653991662od_b_c > $o ).

thf(sy_c_FSM_Odoes__distinguish_001tf__a_001tf__b_001tf__c,type,
    does_d3309555387068894566_a_b_c: fsm_a_b_c > a > a > list_P903359562653991662od_b_c > $o ).

thf(sy_c_FSM_Ofrom__FSM_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    from_F4410087886414761163_c_nat: fsm_na8507942939833465170_c_nat > nat > fsm_na8507942939833465170_c_nat ).

thf(sy_c_FSM_Ofrom__FSM_001tf__a_001tf__b_001tf__c,type,
    from_FSM_a_b_c: fsm_a_b_c > a > fsm_a_b_c ).

thf(sy_c_FSM_Oh__obs_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    h_obs_395663235810570625_c_nat: fsm_na8507942939833465170_c_nat > nat > list_P903359562653991662od_b_c > nat > option_nat ).

thf(sy_c_FSM_Oh__obs_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    h_obs_6010489571262231604at_nat: fsm_Pr4657356312157149317at_nat > prefix425356687782099470od_b_c > list_P903359562653991662od_b_c > product_prod_nat_nat > option4860840611552367828od_b_c ).

thf(sy_c_FSM_Oh__obs_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat_001t__Nat__Onat,type,
    h_obs_9092979675626375875at_nat: fsm_Pr8641708754182589388at_nat > prefix425356687782099470od_b_c > nat > nat > option4860840611552367828od_b_c ).

thf(sy_c_FSM_Oh__obs_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001tf__b_001tf__c,type,
    h_obs_6145309630326805730_c_b_c: fsm_Pr583765586473123763_c_b_c > prefix425356687782099470od_b_c > b > c > option4860840611552367828od_b_c ).

thf(sy_c_FSM_Oh__obs_001tf__a_001tf__b_001tf__c,type,
    h_obs_a_b_c: fsm_a_b_c > a > b > c > option_a ).

thf(sy_c_FSM_Oinitial_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    initia1096823736712553629_c_nat: fsm_na8507942939833465170_c_nat > nat ).

thf(sy_c_FSM_Oinitial_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    initia5368535519591949648at_nat: fsm_Pr4657356312157149317at_nat > prefix425356687782099470od_b_c ).

thf(sy_c_FSM_Oinitial_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat_001t__Nat__Onat,type,
    initia4027219864356106719at_nat: fsm_Pr8641708754182589388at_nat > prefix425356687782099470od_b_c ).

thf(sy_c_FSM_Oinitial_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001tf__b_001tf__c,type,
    initia1880054436020903422_c_b_c: fsm_Pr583765586473123763_c_b_c > prefix425356687782099470od_b_c ).

thf(sy_c_FSM_Oinitial_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    initia2459933063210580337at_b_c: fsm_Pr1214345408167043238at_b_c > product_prod_nat_nat ).

thf(sy_c_FSM_Oinitial_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    initia8159569244499844327_c_nat: fsm_Pr8818233010731550984_c_nat > product_prod_b_c ).

thf(sy_c_FSM_Oinitial_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    initia72520619621223384_c_b_c: fsm_Pr8946560376811747725_c_b_c > product_prod_b_c ).

thf(sy_c_FSM_Oinitial_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    initia587061581274231761_c_nat: fsm_a_5171288443196988146_c_nat > a ).

thf(sy_c_FSM_Oinitial_001tf__a_001tf__b_001tf__c,type,
    initial_a_b_c: fsm_a_b_c > a ).

thf(sy_c_FSM_Oio__targets_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    io_tar8438363832524083968_c_b_c: fsm_Pr8946560376811747725_c_b_c > list_P903359562653991662od_b_c > product_prod_b_c > set_Product_prod_b_c ).

thf(sy_c_FSM_Oio__targets_001tf__a_001tf__b_001tf__c,type,
    io_targets_a_b_c: fsm_a_b_c > list_P903359562653991662od_b_c > a > set_a ).

thf(sy_c_FSM_Omaximal__prefix__in__language_001tf__a_001tf__b_001tf__c,type,
    maxima1559550560783484624_a_b_c: fsm_a_b_c > a > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_FSM_Ominimal_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    minima4327894545380061376_c_nat: fsm_na8507942939833465170_c_nat > $o ).

thf(sy_c_FSM_Ominimal_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    minimal_nat_nat_nat: fsm_nat_nat_nat > $o ).

thf(sy_c_FSM_Ominimal_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    minima3665078007882909005at_nat: fsm_Pr6890445380455706207at_nat > $o ).

thf(sy_c_FSM_Ominimal_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    minima3009087187144031836at_nat: fsm_Pr3844284524609415846at_nat > $o ).

thf(sy_c_FSM_Ominimal_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    minima2655950506785042427_c_b_c: fsm_Pr8946560376811747725_c_b_c > $o ).

thf(sy_c_FSM_Ominimal_001tf__a_001tf__b_001tf__c,type,
    minimal_a_b_c: fsm_a_b_c > $o ).

thf(sy_c_FSM_Ominimally__distinguishes_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    minima7220721411496132623_c_b_c: fsm_Pr8946560376811747725_c_b_c > product_prod_b_c > product_prod_b_c > list_P903359562653991662od_b_c > $o ).

thf(sy_c_FSM_Ominimally__distinguishes_001tf__a_001tf__b_001tf__c,type,
    minima243535863231358885_a_b_c: fsm_a_b_c > a > a > list_P903359562653991662od_b_c > $o ).

thf(sy_c_FSM_Oobservable_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    observ4908692499119641462_c_nat: fsm_na8507942939833465170_c_nat > $o ).

thf(sy_c_FSM_Oobservable_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    observ3518789870599552490at_nat: fsm_nat_nat_nat > $o ).

thf(sy_c_FSM_Oobservable_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    observ4253682487605851305at_nat: fsm_Pr4657356312157149317at_nat > $o ).

thf(sy_c_FSM_Oobservable_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat_001t__Nat__Onat,type,
    observ620159373568181176at_nat: fsm_Pr8641708754182589388at_nat > $o ).

thf(sy_c_FSM_Oobservable_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001tf__b_001tf__c,type,
    observ8278588419443668823_c_b_c: fsm_Pr583765586473123763_c_b_c > $o ).

thf(sy_c_FSM_Oobservable_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    observ3635879396514621642at_b_c: fsm_Pr1214345408167043238at_b_c > $o ).

thf(sy_c_FSM_Oobservable_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    observ1623514629241216003at_nat: fsm_Pr6890445380455706207at_nat > $o ).

thf(sy_c_FSM_Oobservable_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    observ5955862685780505618at_nat: fsm_Pr3844284524609415846at_nat > $o ).

thf(sy_c_FSM_Oobservable_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    observ2355048066641855153_c_b_c: fsm_Pr8946560376811747725_c_b_c > $o ).

thf(sy_c_FSM_Oobservable_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    observ2018583120679614873at_nat: fsm_a_4604537545892270069at_nat > $o ).

thf(sy_c_FSM_Oobservable_001tf__a_001t__Nat__Onat_001t__Nat__Onat,type,
    observable_a_nat_nat: fsm_a_nat_nat > $o ).

thf(sy_c_FSM_Oobservable_001tf__a_001tf__b_001tf__c,type,
    observable_a_b_c: fsm_a_b_c > $o ).

thf(sy_c_FSM_Opath_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    path_n6906771771478333236_c_nat: fsm_na8507942939833465170_c_nat > nat > list_P1512727335290020207at_nat > $o ).

thf(sy_c_FSM_Opath_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    path_P5635501874096939912at_b_c: fsm_Pr1214345408167043238at_b_c > product_prod_nat_nat > list_P4391763663960888956at_nat > $o ).

thf(sy_c_FSM_Opath_001tf__a_001tf__b_001tf__c,type,
    path_a_b_c: fsm_a_b_c > a > list_P6327159017948738492od_c_a > $o ).

thf(sy_c_FSM_Oreachable__states_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    reacha2289518591307450930_c_nat: fsm_na8507942939833465170_c_nat > set_nat ).

thf(sy_c_FSM_Oreachable__states_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    reacha3269758602999754118at_b_c: fsm_Pr1214345408167043238at_b_c > set_Pr1261947904930325089at_nat ).

thf(sy_c_FSM_Oreachable__states_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    reacha2329473688404070290_c_nat: fsm_Pr8818233010731550984_c_nat > set_Product_prod_b_c ).

thf(sy_c_FSM_Oreachable__states_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    reacha5590776333862722239at_nat: fsm_Pr6890445380455706207at_nat > set_Product_prod_b_c ).

thf(sy_c_FSM_Oreachable__states_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    reacha5589741892265638094at_nat: fsm_Pr3844284524609415846at_nat > set_Product_prod_b_c ).

thf(sy_c_FSM_Oreachable__states_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    reacha4426148913841199469_c_b_c: fsm_Pr8946560376811747725_c_b_c > set_Product_prod_b_c ).

thf(sy_c_FSM_Oreachable__states_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    reacha4011880786591943036_c_nat: fsm_a_5171288443196988146_c_nat > set_a ).

thf(sy_c_FSM_Oreachable__states_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    reacha3919535797373834325at_nat: fsm_a_4604537545892270069at_nat > set_a ).

thf(sy_c_FSM_Oreachable__states_001tf__a_001t__Nat__Onat_001t__Nat__Onat,type,
    reacha579679483465302372at_nat: fsm_a_nat_nat > set_a ).

thf(sy_c_FSM_Oreachable__states_001tf__a_001tf__b_001tf__c,type,
    reacha1620305530751930115_a_b_c: fsm_a_b_c > set_a ).

thf(sy_c_FSM_Oretains__outputs__for__states__and__inputs_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    retain8594860428893221344_c_nat: fsm_na8507942939833465170_c_nat > fsm_na8507942939833465170_c_nat > $o ).

thf(sy_c_FSM_Osingle__input_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    single5973854069967192191_c_nat: fsm_na8507942939833465170_c_nat > $o ).

thf(sy_c_FSM_Ostates_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    states1391264133215352439_c_nat: fsm_na8507942939833465170_c_nat > set_nat ).

thf(sy_c_FSM_Ostates_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    states_nat_nat_nat: fsm_nat_nat_nat > set_nat ).

thf(sy_c_FSM_Ostates_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    states5270413544025292875at_b_c: fsm_Pr1214345408167043238at_b_c > set_Pr1261947904930325089at_nat ).

thf(sy_c_FSM_Ostates_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    states2229215650083125133_c_nat: fsm_Pr8818233010731550984_c_nat > set_Product_prod_b_c ).

thf(sy_c_FSM_Ostates_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    states1078553636851199236at_nat: fsm_Pr6890445380455706207at_nat > set_Product_prod_b_c ).

thf(sy_c_FSM_Ostates_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    states7590396833291176851at_nat: fsm_Pr3844284524609415846at_nat > set_Product_prod_b_c ).

thf(sy_c_FSM_Ostates_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    states8981316748681014706_c_b_c: fsm_Pr8946560376811747725_c_b_c > set_Product_prod_b_c ).

thf(sy_c_FSM_Ostates_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    states3435123301748008055_c_nat: fsm_a_5171288443196988146_c_nat > set_a ).

thf(sy_c_FSM_Ostates_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    states5053033810689651610at_nat: fsm_a_4604537545892270069at_nat > set_a ).

thf(sy_c_FSM_Ostates_001tf__a_001t__Nat__Onat_001t__Nat__Onat,type,
    states_a_nat_nat: fsm_a_nat_nat > set_a ).

thf(sy_c_FSM_Ostates_001tf__a_001tf__b_001tf__c,type,
    states_a_b_c: fsm_a_b_c > set_a ).

thf(sy_c_FSM_Otarget_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    target6927326653867305404at_b_c: product_prod_nat_nat > list_P4391763663960888956at_nat > product_prod_nat_nat ).

thf(sy_c_FSM_Otarget_001tf__a_001tf__b_001tf__c,type,
    target_a_b_c: a > list_P6327159017948738492od_c_a > a ).

thf(sy_c_FSM_Otransitions_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    transi6702335687894639939_c_nat: fsm_na8507942939833465170_c_nat > set_Pr3392036886738332181at_nat ).

thf(sy_c_FSM_Otransitions_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    transi2178791137084441437at_nat: fsm_nat_nat_nat > set_Pr58315729134567223at_nat ).

thf(sy_c_FSM_Otransitions_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    transi9101465668568600513_c_nat: fsm_Pr8818233010731550984_c_nat > set_Pr921591966427182455od_b_c ).

thf(sy_c_FSM_Otransitions_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    transi7778654752609567696at_nat: fsm_Pr6890445380455706207at_nat > set_Pr2629136055545837734od_b_c ).

thf(sy_c_FSM_Otransitions_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    transi1658547993851727967at_nat: fsm_Pr3844284524609415846at_nat > set_Pr8877411164295560285od_b_c ).

thf(sy_c_FSM_Otransitions_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    transi2332305075331890302_c_b_c: fsm_Pr8946560376811747725_c_b_c > set_Pr5745212217562084886od_b_c ).

thf(sy_c_FSM_Otransitions_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    transi7182660866489798827_c_nat: fsm_a_5171288443196988146_c_nat > set_Pr9076326440790284195_nat_a ).

thf(sy_c_FSM_Otransitions_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    transi6200356103467071078at_nat: fsm_a_4604537545892270069at_nat > set_Pr5054563602551705894_nat_a ).

thf(sy_c_FSM_Otransitions_001tf__a_001t__Nat__Onat_001t__Nat__Onat,type,
    transi2049965133351801333at_nat: fsm_a_nat_nat > set_Pr2132289025821971677_nat_a ).

thf(sy_c_FSM_Otransitions_001tf__a_001tf__b_001tf__c,type,
    transitions_a_b_c: fsm_a_b_c > set_Pr8357624050790843030od_c_a ).

thf(sy_c_Finite__Set_Ocard_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    finite2007600076630979216od_b_c: set_Product_prod_b_c > nat ).

thf(sy_c_Finite__Set_Ocard_001tf__a,type,
    finite_card_a: set_a > nat ).

thf(sy_c_Fun_Obij__betw_001t__Nat__Onat_001t__Nat__Onat,type,
    bij_betw_nat_nat: ( nat > nat ) > set_nat > set_nat > $o ).

thf(sy_c_Fun_Obij__betw_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat,type,
    bij_be1943335818205691458_c_nat: ( product_prod_b_c > nat ) > set_Product_prod_b_c > set_nat > $o ).

thf(sy_c_Fun_Obij__betw_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__a,type,
    bij_be289686627630903564_b_c_a: ( product_prod_b_c > a ) > set_Product_prod_b_c > set_a > $o ).

thf(sy_c_Fun_Obij__betw_001tf__a_001t__Nat__Onat,type,
    bij_betw_a_nat: ( a > nat ) > set_a > set_nat > $o ).

thf(sy_c_Fun_Obij__betw_001tf__a_001tf__a,type,
    bij_betw_a_a: ( a > a ) > set_a > set_a > $o ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Nat__Onat,type,
    minus_minus_nat: nat > nat > nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    minus_5375846548645262261od_b_c: set_li6436108459499378894od_b_c > set_li6436108459499378894od_b_c > set_li6436108459499378894od_b_c ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    minus_6323455999294890031od_b_c: set_Product_prod_b_c > set_Product_prod_b_c > set_Product_prod_b_c ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_Itf__a_J,type,
    minus_minus_set_a: set_a > set_a > set_a ).

thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
    plus_plus_nat: nat > nat > nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_H__Method__Implementations_Ofind__cheapest__distinguishing__trace_001tf__a_001tf__b_001tf__c,type,
    h_Meth2690202499653945482_a_b_c: fsm_a_b_c > ( a > a > list_P903359562653991662od_b_c ) > list_P903359562653991662od_b_c > prefix425356687782099470od_b_c > a > prefix425356687782099470od_b_c > a > produc7736452900028564794at_nat ).

thf(sy_c_If_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    if_lis437861846949295796od_b_c: $o > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_If_001t__List__Olist_Itf__a_J,type,
    if_list_a: $o > list_a > list_a > list_a ).

thf(sy_c_Intermediate__Implementations_Oestimate__growth_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    interm3568798503083498575at_nat: fsm_Pr6890445380455706207at_nat > ( product_prod_b_c > product_prod_b_c > list_P3552028079716004544at_nat ) > product_prod_b_c > product_prod_b_c > list_P903359562653991662od_b_c > product_prod_nat_nat > nat > nat ).

thf(sy_c_Intermediate__Implementations_Oestimate__growth_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    interm7914045258784547422at_nat: fsm_Pr3844284524609415846at_nat > ( product_prod_b_c > product_prod_b_c > list_P6011104703257516679at_nat ) > product_prod_b_c > product_prod_b_c > nat > nat > nat > nat ).

thf(sy_c_Intermediate__Implementations_Oestimate__growth_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    interm8256432892747021053_c_b_c: fsm_Pr8946560376811747725_c_b_c > ( product_prod_b_c > product_prod_b_c > list_P903359562653991662od_b_c ) > product_prod_b_c > product_prod_b_c > b > c > nat > nat ).

thf(sy_c_Intermediate__Implementations_Oget__pairs__H_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    interm4007767201833479544at_b_c: ( product_prod_nat_nat > list_P903359562653991662od_b_c ) > fsm_Pr1214345408167043238at_b_c > nat > list_P567174845966485549at_nat ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Nat__Onat,type,
    inf_inf_nat: nat > nat > nat ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    inf_in4978071631833541052od_b_c: set_li6436108459499378894od_b_c > set_li6436108459499378894od_b_c > set_li6436108459499378894od_b_c ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    inf_in8411426679332095414od_b_c: set_Product_prod_b_c > set_Product_prod_b_c > set_Product_prod_b_c ).

thf(sy_c_List_Oappend_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    append6992831555715836169od_b_c: list_l8907847357763382004od_b_c > list_l8907847357763382004od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    append91169638789909522_c_nat: list_P5698226596436487165_c_nat > list_P5698226596436487165_c_nat > list_P5698226596436487165_c_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    append2832415944887039701at_nat: list_P3552028079716004544at_nat > list_P3552028079716004544at_nat > list_P3552028079716004544at_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_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_001tf__a,type,
    append_a: list_a > list_a > list_a ).

thf(sy_c_List_Obind_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    bind_P6820369299258290311od_b_c: list_P903359562653991662od_b_c > ( product_prod_b_c > list_P903359562653991662od_b_c ) > list_P903359562653991662od_b_c ).

thf(sy_c_List_Obutlast_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    butlas5354910156707045818od_b_c: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Obutlast_001tf__a,type,
    butlast_a: list_a > list_a ).

thf(sy_c_List_Oextract_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    extrac2790361661052662384od_b_c: ( product_prod_b_c > $o ) > list_P903359562653991662od_b_c > option2591598976854080940od_b_c ).

thf(sy_c_List_Oinsert_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    insert4948659547597824900od_b_c: product_prod_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Oinsert_001tf__a,type,
    insert_a: a > list_a > list_a ).

thf(sy_c_List_Olist_OCons_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    cons_nat_nat: ( nat > nat ) > list_nat_nat > list_nat_nat ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J_J,type,
    cons_l392441708139172039_c_nat: list_P5698226596436487165_c_nat > list_l3392457236959476109_c_nat > list_l3392457236959476109_c_nat ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    cons_l7612840610449961021at_nat: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat > list_l3264859301627795341at_nat ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    cons_l342771267123639716od_b_c: list_P903359562653991662od_b_c > list_l8907847357763382004od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_Itf__a_J,type,
    cons_list_a: list_a > list_list_a > list_list_a ).

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

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    cons_P6914938610007962039_c_nat: produc2027191494478716909_c_nat > list_P5698226596436487165_c_nat > list_P5698226596436487165_c_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    cons_P7526108220621557488at_nat: produc7736452900028564794at_nat > list_P3552028079716004544at_nat > list_P3552028079716004544at_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_It__Nat__Onat_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    cons_P7448923191728977065at_nat: produc1672623652726061535at_nat > list_P1512727335290020207at_nat > list_P1512727335290020207at_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    cons_P8659537020926305772od_c_a: produc2669932201312201782od_c_a > list_P6327159017948738492od_c_a > list_P6327159017948738492od_c_a ).

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_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_ONil_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nil_nat_nat: list_nat_nat ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    nil_li8071162985807626740od_b_c: list_l8907847357763382004od_b_c ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    nil_Pr8683500363154653543_c_nat: list_P5698226596436487165_c_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    nil_Pr4949612815525651264at_nat: list_P3552028079716004544at_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__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    nil_Pr1342775757158464060od_c_a: list_P6327159017948738492od_c_a ).

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_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_Oset_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    set_nat_nat2: list_nat_nat > set_nat_nat ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J_J,type,
    set_li2862222718293194280_c_nat: list_l3392457236959476109_c_nat > set_li8833770213754931_c_nat ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_li2962362208618583836at_nat: list_l3264859301627795341at_nat > set_li5450038453877631591at_nat ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    set_li4480668622519654659od_b_c: list_l8907847357763382004od_b_c > set_li6436108459499378894od_b_c ).

thf(sy_c_List_Olist_Oset_001t__List__Olist_Itf__a_J,type,
    set_list_a2: list_list_a > set_list_a ).

thf(sy_c_List_Olist_Oset_001t__Nat__Onat,type,
    set_nat2: list_nat > set_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_Pr9099416908204533953at_nat: list_P1054463921365547186at_nat > set_Pr2974324449468684684at_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    set_Pr5648618587558075414at_nat: list_P6011104703257516679at_nat > set_Pr1261947904930325089at_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    set_Pr4035061249888635836at_nat: list_P567174845966485549at_nat > set_Pr8595773492680003335at_nat ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    set_Product_prod_b_c2: list_P903359562653991662od_b_c > set_Product_prod_b_c ).

thf(sy_c_List_Olist_Oset_001tf__a,type,
    set_a2: list_a > set_a ).

thf(sy_c_List_Olist_Oset_001tf__b,type,
    set_b2: list_b > set_b ).

thf(sy_c_List_Omap__tailrec__rev_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    map_ta2658900722513622261od_b_c: ( product_prod_b_c > product_prod_b_c ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_List_Omap__tailrec__rev__rel_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    map_ta3552191613423382852od_b_c: produc6474587151875105527od_b_c > produc6474587151875105527od_b_c > $o ).

thf(sy_c_List_Omeasures_001t__Nat__Onat,type,
    measures_nat: list_nat_nat > set_Pr1261947904930325089at_nat ).

thf(sy_c_List_On__lists_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    n_list5224936925692304502od_b_c: nat > list_P903359562653991662od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_List_Oproduct__lists_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    produc3104363228908302167od_b_c: list_l8907847357763382004od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_Map_Odom_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    dom_Pr2939219480646643320od_b_c: ( product_prod_b_c > option4860840611552367828od_b_c ) > set_Product_prod_b_c ).

thf(sy_c_Map_Odom_001tf__a_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    dom_a_7211307088325086562od_b_c: ( a > option4860840611552367828od_b_c ) > set_a ).

thf(sy_c_Misc_Othe__default_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    the_de3739618572334161829od_b_c: prefix425356687782099470od_b_c > option4860840611552367828od_b_c > prefix425356687782099470od_b_c ).

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

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    size_s6429106377413512424at_nat: list_P4391763663960888956at_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_Itf__a_J,type,
    size_size_list_a: list_a > nat ).

thf(sy_c_OFSM__Tables__Refined_Oget__distinguishing__sequence__from__ofsm__tables__refined_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    oFSM_T9032323950715697077_c_nat: fsm_na8507942939833465170_c_nat > nat > nat > list_P5698226596436487165_c_nat ).

thf(sy_c_OFSM__Tables__Refined_Oget__distinguishing__sequence__from__ofsm__tables__refined_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    oFSM_T3741542535127692651at_nat: fsm_nat_nat_nat > nat > nat > list_P6011104703257516679at_nat ).

thf(sy_c_OFSM__Tables__Refined_Oget__distinguishing__sequence__from__ofsm__tables__refined_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    oFSM_T442358205343945282at_nat: fsm_Pr6890445380455706207at_nat > product_prod_b_c > product_prod_b_c > list_P3552028079716004544at_nat ).

thf(sy_c_OFSM__Tables__Refined_Oget__distinguishing__sequence__from__ofsm__tables__refined_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    oFSM_T1422325821518431185at_nat: fsm_Pr3844284524609415846at_nat > product_prod_b_c > product_prod_b_c > list_P6011104703257516679at_nat ).

thf(sy_c_OFSM__Tables__Refined_Oget__distinguishing__sequence__from__ofsm__tables__refined_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    oFSM_T8012898313001787120_c_b_c: fsm_Pr8946560376811747725_c_b_c > product_prod_b_c > product_prod_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_Option_Ooption_ONone_001t__Nat__Onat,type,
    none_nat: option_nat ).

thf(sy_c_Option_Ooption_ONone_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    none_P1973817385574297839od_b_c: option4860840611552367828od_b_c ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    none_P4332225995864378267at_nat: option3485155124158053504at_nat ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    none_P8002138689083699399od_b_c: option2591598976854080940od_b_c ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    none_P5556105721700978146at_nat: option4927543243414619207at_nat ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    none_P5298055089671475982od_b_c: option1643449060076316019od_b_c ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    none_P3943699275752460237od_b_c: option6692901190864051890od_b_c ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_Itf__a_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    none_P3250744521719733943od_b_c: option6057948497744274076od_b_c ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J,type,
    none_P9027680122973965198list_a: option2754391658759188979list_a ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J,type,
    none_P4658209008782708940_nat_a: option1731697217459114045_nat_a ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_Itf__a_J_J_J,type,
    none_P7740950825577307469list_a: option5880730194448810034list_a ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J_J,type,
    none_P7310308508618416183list_a: option231006655626737692list_a ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    none_P4709881796834261655od_c_a: option6852666198823255420od_c_a ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    none_P6159452403498795703od_b_c: option4534702620024642204od_b_c ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    none_P6162255670594677998od_c_a: option501086424517115475od_c_a ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    none_P8350622247268937417od_b_c: option4716579502443089070od_b_c ).

thf(sy_c_Option_Ooption_ONone_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    none_s5220907849400156713od_b_c: option970444960630425614od_b_c ).

thf(sy_c_Option_Ooption_ONone_001tf__a,type,
    none_a: option_a ).

thf(sy_c_Option_Ooption_OSome_001t__Nat__Onat,type,
    some_nat: nat > option_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    some_P522567261666896499od_b_c: prefix425356687782099470od_b_c > option4860840611552367828od_b_c ).

thf(sy_c_Option_Ooption_OSome_001t__Prefix____Tree__Oprefix____tree_Itf__a_J,type,
    some_P2872602042918466569tree_a: prefix_prefix_tree_a > option7782433257363429738tree_a ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    some_P5517938161798005535at_nat: produc7736452900028564794at_nat > option3485155124158053504at_nat ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    some_P278523132111576139od_b_c: produc8789943477816147302od_b_c > option2591598976854080940od_b_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_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    some_P1625066591076178066od_b_c: produc1809316117265082669od_b_c > option1643449060076316019od_b_c ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J,type,
    some_P8471903096582035730list_a: produc8685980395799941037list_a > option2754391658759188979list_a ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J,type,
    some_P8170891091866834504_nat_a: produc2204162461157160941_nat_a > option1731697217459114045_nat_a ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_Itf__a_J_J_J,type,
    some_P4067962326982009553list_a: produc4252211853170914156list_a > option5880730194448810034list_a ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J_J,type,
    some_P3752422024458357179list_a: produc7625978035857829206list_a > option231006655626737692list_a ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    some_P4170542693840572955od_c_a: produc2669932201312201782od_c_a > option6852666198823255420od_c_a ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    some_P2601565919338736699od_b_c: produc6475121930738208726od_b_c > option4534702620024642204od_b_c ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    some_P7527605245950437490od_c_a: produc2133359284458116493od_c_a > option501086424517115475od_c_a ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    some_P804611721829158477od_b_c: product_prod_b_c > option4716579502443089070od_b_c ).

thf(sy_c_Option_Ooption_OSome_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    some_s3344026790295835053od_b_c: set_Product_prod_b_c > option970444960630425614od_b_c ).

thf(sy_c_Option_Ooption_OSome_001tf__a,type,
    some_a: a > option_a ).

thf(sy_c_Orderings_Oord__class_Oless_001t__List__Olist_It__Nat__Onat_J,type,
    ord_less_list_nat: list_nat > list_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    ord_le2870576100876692378od_b_c: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o ).

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__Option__Ooption_It__Nat__Onat_J,type,
    ord_less_option_nat: option_nat > option_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    ord_le3206528128634633190at_nat: produc7736452900028564794at_nat > produc7736452900028564794at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    ord_le1203424502768444845at_nat: product_prod_nat_nat > product_prod_nat_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_It__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    ord_le256656934292621467_c_nat: produc7751835376537488967_c_nat > produc7751835376537488967_c_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    ord_le817911927979441428od_b_c: product_prod_b_c > product_prod_b_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    ord_le6326416800173614196od_b_c: set_Product_prod_b_c > set_Product_prod_b_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_Itf__a_J,type,
    ord_less_set_a: set_a > set_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001tf__b,type,
    ord_less_b: b > 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__List__Olist_It__Nat__Onat_J,type,
    ord_less_eq_list_nat: list_nat > list_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    ord_le8780369363890727566od_b_c: list_P903359562653991662od_b_c > list_P903359562653991662od_b_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__Option__Ooption_It__Nat__Onat_J,type,
    ord_le5914376470875661696on_nat: option_nat > option_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Option__Ooption_It__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    ord_le8165969620783861678od_b_c: option970444960630425614od_b_c > option970444960630425614od_b_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    ord_le6169957838352071898at_nat: produc7736452900028564794at_nat > produc7736452900028564794at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    ord_le8460144461188290721at_nat: product_prod_nat_nat > product_prod_nat_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    ord_le5855653289255333837od_b_c: produc8989445423070949229od_b_c > produc8989445423070949229od_b_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J,type,
    ord_le4618043242721873575_c_nat: produc7751835376537488967_c_nat > produc7751835376537488967_c_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_It__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    ord_le5179863987602144583od_b_c: produc6746359049278637479od_b_c > produc6746359049278637479od_b_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    ord_le5491865407852299784od_b_c: product_prod_b_c > product_prod_b_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J_J_J,type,
    ord_le1407570443398850707_c_nat: set_li8833770213754931_c_nat > set_li8833770213754931_c_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    ord_le282488521294790766od_b_c: set_li6436108459499378894od_b_c > set_li6436108459499378894od_b_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    ord_le1185272273137199418at_nat: set_Pr193325153470804378at_nat > set_Pr193325153470804378at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    ord_le3146513528884898305at_nat: set_Pr1261947904930325089at_nat > set_Pr1261947904930325089at_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J_J,type,
    ord_le3226338165915859510od_c_a: set_Pr8357624050790843030od_c_a > set_Pr8357624050790843030od_c_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    ord_le253122037897321832od_b_c: set_Product_prod_b_c > set_Product_prod_b_c > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_Itf__a_J,type,
    ord_less_eq_set_a: set_a > set_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001tf__b,type,
    ord_less_eq_b: b > b > $o ).

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

thf(sy_c_Orderings_Oord__class_Omin_001t__Nat__Onat,type,
    ord_min_nat: nat > nat > nat ).

thf(sy_c_Orderings_Oord__class_Omin_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    ord_mi9136407146173387567od_b_c: set_Product_prod_b_c > set_Product_prod_b_c > set_Product_prod_b_c ).

thf(sy_c_Pair__Framework_Opairs__to__distinguish_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    pair_p9102166633979816344at_b_c: fsm_Pr1214345408167043238at_b_c > ( product_prod_nat_nat > list_P903359562653991662od_b_c ) > ( product_prod_nat_nat > list_P1054463921365547186at_nat ) > list_P6011104703257516679at_nat > list_P567174845966485549at_nat ).

thf(sy_c_Prefix__Tree_Oempty_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    prefix3615735424982389462od_b_c: prefix425356687782099470od_b_c ).

thf(sy_c_Prefix__Tree_Oheight__over_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    prefix1689370350404964080od_b_c: list_P903359562653991662od_b_c > prefix425356687782099470od_b_c > nat ).

thf(sy_c_Prefix__Tree_Oheight__over_001tf__a,type,
    prefix_height_over_a: list_a > prefix_prefix_tree_a > nat ).

thf(sy_c_Prefix__Tree_Oprefix__tree_OPT_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    prefix1158171450275386503od_b_c: ( product_prod_b_c > option4860840611552367828od_b_c ) > prefix425356687782099470od_b_c ).

thf(sy_c_Prefix__Tree_Oprefix__tree_OPT_001tf__a,type,
    prefix_prefix_PT_a: ( a > option7782433257363429738tree_a ) > prefix_prefix_tree_a ).

thf(sy_c_Prefix__Tree_Oprefix__tree_Osize__prefix__tree_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    prefix3756303487539838298od_b_c: ( product_prod_b_c > nat ) > prefix425356687782099470od_b_c > nat ).

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__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_001t__Product____Type__Oprod_I_Eo_Mt__Product____Type__Oprod_It__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    produc3095537410472086641od_b_c: ( product_prod_nat_nat > product_prod_nat_nat > list_P903359562653991662od_b_c ) > produc7002085055418974302od_b_c > produc975373199260372097od_b_c ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_001t__Product____Type__Oprod_It__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc8039841870133095394od_b_c: ( product_prod_nat_nat > product_prod_nat_nat > list_P903359562653991662od_b_c ) > produc5681210966613421647od_b_c > produc4331832138864659954od_b_c ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc2317266376569507074at_nat: ( product_prod_nat_nat > product_prod_nat_nat ) > list_P3552028079716004544at_nat > produc4175839240992051024at_nat ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc6092892548594537111od_b_c: ( product_prod_b_c > product_prod_b_c > $o ) > list_P903359562653991662od_b_c > produc2416979464461413415od_b_c ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc7428879202731100112od_b_c: ( product_prod_b_c > product_prod_b_c > $o ) > produc5878855887281848999od_b_c > produc6700159619980657760od_b_c ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc7392021306980666816od_b_c: ( product_prod_b_c > $o ) > list_P903359562653991662od_b_c > produc7816210539016439438od_b_c ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc1005531610559690873od_b_c: ( product_prod_b_c > $o ) > produc5878855887281848999od_b_c > produc5559707038353031495od_b_c ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc3614263070280852224od_b_c: ( product_prod_b_c > $o ) > produc1404827273422455342od_b_c > produc6480465915480880334od_b_c ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc5829777284606927017od_b_c: ( product_prod_b_c > product_prod_b_c ) > produc5878855887281848999od_b_c > produc6474587151875105527od_b_c ).

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_Eo_001t__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc4690296632459589363od_b_c: $o > list_l8907847357763382004od_b_c > produc8297111589761753219od_b_c ).

thf(sy_c_Product__Type_OPair_001_Eo_001t__Product____Type__Oprod_It__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc7162916261206917070od_b_c: $o > produc5681210966613421647od_b_c > produc7002085055418974302od_b_c ).

thf(sy_c_Product__Type_OPair_001t__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc1660899346458340011at_nat: fsm_Pr1214345408167043238at_b_c > produc7736452900028564794at_nat > produc3666952498133006267at_nat ).

thf(sy_c_Product__Type_OPair_001t__FSM__Ofsm_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__b_Mtf__c_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc7864716389980156095od_b_c: fsm_Pr1214345408167043238at_b_c > produc110052867166628558od_b_c > produc5681210966613421647od_b_c ).

thf(sy_c_Product__Type_OPair_001t__FSM____Impl__Ofsm____impl_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc5817008397836138181at_nat: fSM_fs3411120469802430476at_nat > produc7736452900028564794at_nat > produc8848519422210214741at_nat ).

thf(sy_c_Product__Type_OPair_001t__FSM____Impl__Ofsm____impl_Itf__a_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J,type,
    produc2335820665000600427_nat_a: fSM_fs1197123577718402021_nat_a > produc2204162461157160941_nat_a > produc4604037301588677427_nat_a ).

thf(sy_c_Product__Type_OPair_001t__FSM____Impl__Ofsm____impl_Itf__a_Mtf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    produc7402072633542172453od_c_a: fSM_fs6392807071807805864od_c_a > produc2669932201312201782od_c_a > produc6163117450648659381od_c_a ).

thf(sy_c_Product__Type_OPair_001t__FSM____Impl__Ofsm____impl_Itf__b_Mtf__c_Mtf__a_J_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    produc867945525367740067od_c_a: fSM_fsm_impl_b_c_a > produc2133359284458116493od_c_a > produc5988948626131613619od_c_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_001t__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc2983116027154973335od_b_c: list_l8907847357763382004od_b_c > list_l8907847357763382004od_b_c > produc464288617779538343od_b_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_001t__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc119014353569595046od_b_c: list_l8907847357763382004od_b_c > produc8297111589761753219od_b_c > produc3181506366269604790od_b_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc5463623628917503900at_nat: list_P4391763663960888956at_nat > product_prod_nat_nat > produc8234380694124727596at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    produc8876899109741400937at_nat: list_P903359562653991662od_b_c > list_P3552028079716004544at_nat > produc8222220312414797177at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc3076307724246486423od_b_c: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > produc5878855887281848999od_b_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    produc1142203413938751335_c_nat: list_P903359562653991662od_b_c > nat > produc2027191494478716909_c_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc3717508558737332151od_b_c: list_P903359562653991662od_b_c > prefix425356687782099470od_b_c > produc3337489064138154951od_b_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc8434012991907744359at_nat: list_P903359562653991662od_b_c > produc4175839240992051024at_nat > produc4272199197645413485at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    produc6998230911966681296od_b_c: list_P903359562653991662od_b_c > produc464288617779538343od_b_c > produc2640269506864268256od_b_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    produc4828374591100774537od_b_c: list_P903359562653991662od_b_c > produc2640269506864268256od_b_c > produc4677413098736350873od_b_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc3197953233266746538at_nat: list_P903359562653991662od_b_c > product_prod_nat_nat > produc7736452900028564794at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc3547070619725137316od_b_c: list_P903359562653991662od_b_c > produc1607065434848047117od_b_c > produc1482795341195028906od_b_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    produc5352094778760718394_nat_a: list_P903359562653991662od_b_c > product_prod_nat_a > produc8810778048539276352_nat_a ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    produc3697027122926671767at_nat: list_P903359562653991662od_b_c > produc6096636505805601536at_nat > produc4256997230913256733at_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc1861375773765947862od_b_c: list_P903359562653991662od_b_c > produc1809316117265082669od_b_c > produc8789943477816147302od_b_c ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__b_J_001t__List__Olist_Itf__c_J,type,
    produc1564554182611693912list_c: list_b > list_c > produc4034331450184888424list_c ).

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__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc1267817526181175825at_nat: nat > produc7736452900028564794at_nat > produc1672623652726061535at_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_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc6385450045882626063at_nat: nat > produc7248412053542808358at_nat > produc8642769642335960151at_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    produc4238952992575422783od_b_c: nat > product_prod_b_c > produc1607065434848047117od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc8080643794648223od_b_c: nat > set_Product_prod_b_c > produc8989445423070949229od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001tf__a,type,
    product_Pair_nat_a: nat > a > product_prod_nat_a ).

thf(sy_c_Product__Type_OPair_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc1796471691940247159od_b_c: prefix425356687782099470od_b_c > list_P903359562653991662od_b_c > produc7268529302935078535od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc4355080799691677847od_b_c: prefix425356687782099470od_b_c > prefix425356687782099470od_b_c > produc5275045439768741799od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc2300006924804214736od_b_c: prefix425356687782099470od_b_c > produc3337489064138154951od_b_c > produc4554020583633312224od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__List__Olist_Itf__b_J_Mt__List__Olist_Itf__c_J_J,type,
    produc4451376351046028145list_c: prefix425356687782099470od_b_c > produc4034331450184888424list_c > produc7067928884085360641list_c ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc8805658965386351518od_b_c: produc5878855887281848999od_b_c > list_P903359562653991662od_b_c > produc1404827273422455342od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc9153370297335777047at_nat: produc7736452900028564794at_nat > produc7736452900028564794at_nat > produc6306019877100627239at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J,type,
    produc8555897131303356922at_nat: product_prod_nat_nat > produc4175839240992051024at_nat > produc6096636505805601536at_nat ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_001t__Prefix____Tree__Oprefix____tree_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc6724292682348736574od_b_c: produc6306019877100627239at_nat > prefix425356687782099470od_b_c > produc110052867166628558od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc1467100693395308445od_b_c: product_prod_b_c > list_P903359562653991662od_b_c > produc1809316117265082669od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J,type,
    produc3672100452475562085od_b_c: product_prod_b_c > produc3181506366269604790od_b_c > produc6527480851314615797od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc5188412484225467451od_b_c: product_prod_b_c > produc1482795341195028906od_b_c > produc8025449066989929921od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc2905726516730939430od_b_c: product_prod_b_c > produc8036268780610582007od_b_c > produc5203083735093303734od_b_c ).

thf(sy_c_Product__Type_OPair_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    produc1682744172754732609_c_nat: set_Product_prod_b_c > nat > produc7751835376537488967_c_nat ).

thf(sy_c_Product__Type_OPair_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc4033423466868034199od_b_c: set_Product_prod_b_c > set_Product_prod_b_c > produc6746359049278637479od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__List__Olist_Itf__a_J,type,
    produc6670463072477821725list_a: a > list_a > produc8685980395799941037list_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    produc2159433139309999975_nat_a: a > produc8810778048539276352_nat_a > produc2204162461157160941_nat_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J_J,type,
    produc6634608543428555318_nat_a: a > produc3837118262317687325_nat_a > produc5171416974914315462_nat_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    produc3035341915875714029_nat_a: a > produc6033039080626123092_nat_a > produc5553150636051250045_nat_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__List__Olist_Itf__a_J_J,type,
    produc6577891573648943196list_a: a > produc3241985283594612419list_a > produc4252211853170914156list_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J,type,
    produc4637898189279758918list_a: a > produc8685980395799941037list_a > produc7625978035857829206list_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    produc5762801557034676134od_c_a: a > produc2133359284458116493od_c_a > produc2669932201312201782od_c_a ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc561751498933632326od_b_c: b > list_P903359562653991662od_b_c > produc6475121930738208726od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__b_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,
    produc7015427828931889894od_b_c: b > produc5747662315571815230od_b_c > produc6452300523622238572od_b_c ).

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_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc1849760930018728551od_b_c: b > produc2271636064823979023od_b_c > produc8036268780610582007od_b_c ).

thf(sy_c_Product__Type_OPair_001tf__b_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    produc3440865914000881661od_c_a: b > product_prod_c_a > produc2133359284458116493od_c_a ).

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__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_Itf__b_Mtf__c_J,type,
    produc5588881204248199167od_b_c: c > product_prod_b_c > produc2271636064823979023od_b_c ).

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_Ocurry_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001_Eo,type,
    produc437182360642849594_nat_o: ( produc7736452900028564794at_nat > $o ) > list_P903359562653991662od_b_c > product_prod_nat_nat > $o ).

thf(sy_c_Product__Type_Ocurry_001t__Nat__Onat_001t__Nat__Onat_001_Eo,type,
    produc1310100445399344235_nat_o: ( product_prod_nat_nat > $o ) > nat > nat > $o ).

thf(sy_c_Product__Type_Ocurry_001tf__b_001tf__c_001_Eo,type,
    product_curry_b_c_o: ( product_prod_b_c > $o ) > b > c > $o ).

thf(sy_c_Product__Type_Oprod_Ofst_001_Eo_001t__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc8897711532737485535od_b_c: produc8297111589761753219od_b_c > $o ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    produc5836268797367570555_c_nat: produc2027191494478716909_c_nat > list_P903359562653991662od_b_c ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc6927617529171309206at_nat: produc7736452900028564794at_nat > list_P903359562653991662od_b_c ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc8862360536749029475od_b_c: produc377773627980100231od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J,type,
    produc7577271768370459129_nat_a: produc3837118262317687325_nat_a > list_P903359562653991662od_b_c ).

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__Nat__Onat_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc573278823996734757at_nat: produc1672623652726061535at_nat > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc5902114676022536290od_b_c: produc5061223036163535550od_b_c > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    produc2075135355190196472_nat_a: produc6033039080626123092_nat_a > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    produc3139729886782661715od_b_c: produc1607065434848047117od_b_c > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc2262884775302500275od_b_c: produc8989445423070949229od_b_c > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001tf__a,type,
    product_fst_nat_a: product_prod_nat_a > nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    produc2937411793196274986od_b_c: produc1567464493837373646od_b_c > product_prod_nat_nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__a,type,
    produc8624833686855449536_nat_a: produc3003436944436227428_nat_a > product_prod_nat_nat ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc7888381068575349922od_b_c: produc3683905536577685062od_b_c > product_prod_b_c ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc1163266597333421145od_b_c: produc7430354563094994173od_b_c > product_prod_b_c ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc3166087477384273426od_b_c: produc5203083735093303734od_b_c > product_prod_b_c ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    produc3937548304262584661_c_nat: produc7751835376537488967_c_nat > set_Product_prod_b_c ).

thf(sy_c_Product__Type_Oprod_Ofst_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc7763087762772596867od_b_c: produc6746359049278637479od_b_c > set_Product_prod_b_c ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001t__List__Olist_Itf__a_J,type,
    product_fst_a_list_a: produc8685980395799941037list_a > a ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    produc2115393876150360187_nat_a: produc2204162461157160941_nat_a > a ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J_J,type,
    produc64678959867521058_nat_a: produc5171416974914315462_nat_a > a ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    produc1324566900800903129_nat_a: produc5553150636051250045_nat_a > a ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__a_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    produc4225943634317630866od_c_a: produc2669932201312201782od_c_a > a ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc1681999321330946354od_b_c: produc6475121930738208726od_b_c > b ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc312903007301683283od_b_c: produc8036268780610582007od_b_c > b ).

thf(sy_c_Product__Type_Oprod_Ofst_001tf__b_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    produc301949074746585577od_c_a: produc2133359284458116493od_c_a > 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_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    produc2449964364993903083od_b_c: produc2271636064823979023od_b_c > c ).

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_Osnd_001_Eo_001t__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc485302954201544481od_b_c: produc8297111589761753219od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    produc4696302694293077945_c_nat: produc2027191494478716909_c_nat > nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    produc5857867323167669720at_nat: produc7736452900028564794at_nat > product_prod_nat_nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc7085470863670321061od_b_c: produc377773627980100231od_b_c > produc1567464493837373646od_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J,type,
    produc847048292851985211_nat_a: produc3837118262317687325_nat_a > produc3003436944436227428_nat_a ).

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__Nat__Onat_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    produc6953295816740951907at_nat: produc1672623652726061535at_nat > produc7736452900028564794at_nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc6484033153038679204od_b_c: produc5061223036163535550od_b_c > produc1607065434848047117od_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    produc6558011703015595834_nat_a: produc6033039080626123092_nat_a > product_prod_nat_a ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    produc3692712045789383313od_b_c: produc1607065434848047117od_b_c > product_prod_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc2018943173817859569od_b_c: produc8989445423070949229od_b_c > set_Product_prod_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001tf__a,type,
    product_snd_nat_a: product_prod_nat_a > a ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    produc3519330270212417900od_b_c: produc1567464493837373646od_b_c > product_prod_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__a,type,
    produc3884337997826073090_nat_a: produc3003436944436227428_nat_a > a ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc3206243294502445028od_b_c: produc3683905536577685062od_b_c > produc377773627980100231od_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc3726537413256690843od_b_c: produc7430354563094994173od_b_c > produc5061223036163535550od_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    produc8861379877570270548od_b_c: produc5203083735093303734od_b_c > produc8036268780610582007od_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    produc3693606702777943955_c_nat: produc7751835376537488967_c_nat > nat ).

thf(sy_c_Product__Type_Oprod_Osnd_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Set__Oset_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc6693337556768957381od_b_c: produc6746359049278637479od_b_c > set_Product_prod_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__a_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J_J,type,
    produc7511161323643588452_nat_a: produc5171416974914315462_nat_a > produc3837118262317687325_nat_a ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__a_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    produc1906485377817046043_nat_a: produc5553150636051250045_nat_a > produc6033039080626123092_nat_a ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__a_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    produc8088130389382527188od_c_a: produc2669932201312201782od_c_a > produc2133359284458116493od_c_a ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__b_001t__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    produc4175089762366579605od_b_c: produc8036268780610582007od_b_c > produc2271636064823979023od_b_c ).

thf(sy_c_Product__Type_Oprod_Osnd_001tf__b_001t__Product____Type__Oprod_Itf__c_Mtf__a_J,type,
    produc5221446324160585515od_c_a: produc2133359284458116493od_c_a > product_prod_c_a ).

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_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    produc7369461614407903021od_b_c: produc2271636064823979023od_b_c > product_prod_b_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_Set_OCollect_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J_J,type,
    collec3369720005422084306_c_nat: ( list_P5698226596436487165_c_nat > $o ) > set_li8833770213754931_c_nat ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    collec3343600615725829874at_nat: ( list_P6011104703257516679at_nat > $o ) > set_li5450038453877631591at_nat ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    collec2280997390073109977od_b_c: ( list_P903359562653991662od_b_c > $o ) > set_li6436108459499378894od_b_c ).

thf(sy_c_Set_OCollect_001t__List__Olist_Itf__a_J,type,
    collect_list_a: ( list_a > $o ) > set_list_a ).

thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
    collect_nat: ( nat > $o ) > set_nat ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    collec548942224018234067od_b_c: ( product_prod_b_c > $o ) > set_Product_prod_b_c ).

thf(sy_c_Set_OCollect_001tf__a,type,
    collect_a: ( a > $o ) > set_a ).

thf(sy_c_Set_Othe__elem_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    the_el5801713635627447133od_b_c: set_Product_prod_b_c > product_prod_b_c ).

thf(sy_c_Set_Othe__elem_001tf__a,type,
    the_elem_a: set_a > a ).

thf(sy_c_Simple__Convergence__Graph_Oprefixes__in__list__helper_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    simple853729931750508955od_b_c: product_prod_b_c > list_l8907847357763382004od_b_c > produc8297111589761753219od_b_c > produc8297111589761753219od_b_c ).

thf(sy_c_Simple__Convergence__Graph_Oprefixes__in__list__helper__rel_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    simple1154826095472830906od_b_c: produc6527480851314615797od_b_c > produc6527480851314615797od_b_c > $o ).

thf(sy_c_State__Cover_Ois__state__cover__assignment_001t__Nat__Onat_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Nat__Onat,type,
    state_4424925123676762110_c_nat: fsm_na8507942939833465170_c_nat > ( nat > list_P5698226596436487165_c_nat ) > $o ).

thf(sy_c_State__Cover_Ois__state__cover__assignment_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_001tf__b_001tf__c,type,
    state_2102191642341943634at_b_c: fsm_Pr1214345408167043238at_b_c > ( product_prod_nat_nat > list_P903359562653991662od_b_c ) > $o ).

thf(sy_c_State__Cover_Ois__state__cover__assignment_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    state_917392132266584203at_nat: fsm_Pr6890445380455706207at_nat > ( product_prod_b_c > list_P3552028079716004544at_nat ) > $o ).

thf(sy_c_State__Cover_Ois__state__cover__assignment_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Nat__Onat_001t__Nat__Onat,type,
    state_4422174931607827610at_nat: fsm_Pr3844284524609415846at_nat > ( product_prod_b_c > list_P6011104703257516679at_nat ) > $o ).

thf(sy_c_State__Cover_Ois__state__cover__assignment_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__b_001tf__c,type,
    state_6639374281360973625_c_b_c: fsm_Pr8946560376811747725_c_b_c > ( product_prod_b_c > list_P903359562653991662od_b_c ) > $o ).

thf(sy_c_State__Cover_Ois__state__cover__assignment_001tf__a_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    state_7882959082201370145at_nat: fsm_a_4604537545892270069at_nat > ( a > list_P3552028079716004544at_nat ) > $o ).

thf(sy_c_State__Cover_Ois__state__cover__assignment_001tf__a_001t__Nat__Onat_001t__Nat__Onat,type,
    state_5027387486374979888at_nat: fsm_a_nat_nat > ( a > list_P6011104703257516679at_nat ) > $o ).

thf(sy_c_State__Cover_Ois__state__cover__assignment_001tf__a_001tf__b_001tf__c,type,
    state_7672330573471793359_a_b_c: fsm_a_b_c > ( a > list_P903359562653991662od_b_c ) > $o ).

thf(sy_c_Sublist_Oprefixes_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    prefix1131979855692807669od_b_c: list_P903359562653991662od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_Sublist_Osuffixes_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    suffix3867853578027978934od_b_c: list_P903359562653991662od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_Util_Ofind__remove_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    find_r398788227580841692od_b_c: ( product_prod_b_c > $o ) > list_P903359562653991662od_b_c > option1643449060076316019od_b_c ).

thf(sy_c_Util_Ofind__remove_001tf__a,type,
    find_remove_a: ( a > $o ) > list_a > option2754391658759188979list_a ).

thf(sy_c_Util_Ofind__remove_H_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    find_r3073053696315353587od_b_c: ( product_prod_b_c > $o ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > option1643449060076316019od_b_c ).

thf(sy_c_Util_Ofind__remove_H_001tf__a,type,
    find_remove_a2: ( a > $o ) > list_a > list_a > option2754391658759188979list_a ).

thf(sy_c_Util_Ofind__remove_H__rel_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    find_r5358976936226027362od_b_c: produc5559707038353031495od_b_c > produc5559707038353031495od_b_c > $o ).

thf(sy_c_Util_Ofind__remove__2_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    find_r4529371622355829767od_b_c: ( product_prod_b_c > product_prod_b_c > $o ) > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > option6692901190864051890od_b_c ).

thf(sy_c_Util_Ofind__remove__2_001t__Product____Type__Oprod_Itf__b_Mtf__c_J_001tf__a,type,
    find_r3958742308954804125_b_c_a: ( product_prod_b_c > a > $o ) > list_P903359562653991662od_b_c > list_a > option6057948497744274076od_b_c ).

thf(sy_c_Util_Ofind__remove__2_001tf__a_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    find_r809046651300966129od_b_c: ( a > product_prod_b_c > $o ) > list_a > list_P903359562653991662od_b_c > option5880730194448810034list_a ).

thf(sy_c_Util_Ofind__remove__2_001tf__a_001tf__a,type,
    find_remove_2_a_a: ( a > a > $o ) > list_a > list_a > option231006655626737692list_a ).

thf(sy_c_Util_Ointer__list_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    inter_7622914835359071963od_b_c: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c ).

thf(sy_c_Util_Ois__prefix_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    is_pre2928372374095682525od_b_c: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o ).

thf(sy_c_Util_Osuffixes_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    suffix2151784340763841114od_b_c: list_P903359562653991662od_b_c > list_l8907847357763382004od_b_c ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_M_Eo_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    accp_P1924572328958296190od_b_c: ( produc5559707038353031495od_b_c > produc5559707038353031495od_b_c > $o ) > produc5559707038353031495od_b_c > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    accp_P7655262136047134638od_b_c: ( produc6474587151875105527od_b_c > produc6474587151875105527od_b_c > $o ) > produc6474587151875105527od_b_c > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J,type,
    accp_P220796505601190436at_nat: ( produc4272199197645413485at_nat > produc4272199197645413485at_nat > $o ) > produc4272199197645413485at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_J,type,
    accp_P8406484684035832916at_nat: ( produc4256997230913256733at_nat > produc4256997230913256733at_nat > $o ) > produc4256997230913256733at_nat > $o ).

thf(sy_c_Wellfounded_Oaccp_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,
    accp_P9053349721105380151at_nat: ( produc6121082497140218670at_nat > produc6121082497140218670at_nat > $o ) > produc6121082497140218670at_nat > $o ).

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_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_Mt__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J_J_J,type,
    accp_P8962932651428525694od_b_c: ( produc6527480851314615797od_b_c > produc6527480851314615797od_b_c > $o ) > produc6527480851314615797od_b_c > $o ).

thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_Itf__b_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,
    accp_P4462124054252585635od_b_c: ( produc6452300523622238572od_b_c > produc6452300523622238572od_b_c > $o ) > produc6452300523622238572od_b_c > $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_Omeasure_001t__Nat__Onat,type,
    measure_nat: ( nat > nat ) > set_Pr1261947904930325089at_nat ).

thf(sy_c_member_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    member_nat_nat: ( nat > nat ) > set_nat_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Nat__Onat_J_J,type,
    member2782619610658070420_c_nat: list_P5698226596436487165_c_nat > set_li8833770213754931_c_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    member6394667498616211049at_nat: list_P3552028079716004544at_nat > set_li1115140346099424672at_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member3067507820990806192at_nat: list_P6011104703257516679at_nat > set_li5450038453877631591at_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J,type,
    member6330420149250801815od_b_c: list_P903359562653991662od_b_c > set_li6436108459499378894od_b_c > $o ).

thf(sy_c_member_001t__List__Olist_Itf__a_J,type,
    member_list_a: list_a > set_list_a > $o ).

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__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member5014811436121802325at_nat: produc8234380694124727596at_nat > set_Pr2974324449468684684at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    member4657064525606469987at_nat: produc7736452900028564794at_nat > set_Pr193325153470804378at_nat > $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__Nat__Onat_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    member8141203938919614070at_nat: produc1672623652726061535at_nat > set_Pr3392036886738332181at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    member6766774627807740288at_nat: produc8642769642335960151at_nat > set_Pr58315729134567223at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    member6262659814537336144at_nat: produc6306019877100627239at_nat > set_Pr8595773492680003335at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    member7824782946368861400od_b_c: produc8025449066989929921od_b_c > set_Pr921591966427182455od_b_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    member7537141079249976943od_b_c: produc3683905536577685062od_b_c > set_Pr2629136055545837734od_b_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    member6361794941339180966od_b_c: produc7430354563094994173od_b_c > set_Pr8877411164295560285od_b_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_Itf__b_Mtf__c_J_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mt__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J_J,type,
    member8506456009372400607od_b_c: produc5203083735093303734od_b_c > set_Pr5745212217562084886od_b_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__List__Olist_Itf__a_J_J,type,
    member4889668945541975382list_a: produc8685980395799941037list_a > set_Pr2070066670564046349list_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J,type,
    member8865540938691003652_nat_a: produc2204162461157160941_nat_a > set_Pr9076326440790284195_nat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_Mtf__a_J_J_J,type,
    member7402809339548712687_nat_a: produc5171416974914315462_nat_a > set_Pr5054563602551705894_nat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J_J,type,
    member683619483927126054_nat_a: produc5553150636051250045_nat_a > set_Pr2132289025821971677_nat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J_J,type,
    member5502040268208861279od_c_a: produc2669932201312201782od_c_a > set_Pr8357624050790843030od_c_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__b_Mt__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_J,type,
    member3357729781826043007od_b_c: produc6475121930738208726od_b_c > set_Pr7526901305485391030od_b_c > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__b_Mt__Product____Type__Oprod_Itf__c_Mtf__a_J_J,type,
    member1160383752307813046od_c_a: produc2133359284458116493od_c_a > set_Pr272002107461315949od_c_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__b_Mtf__c_J,type,
    member7862447941013992593od_b_c: product_prod_b_c > set_Product_prod_b_c > $o ).

thf(sy_c_member_001tf__a,type,
    member_a: a > set_a > $o ).

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

thf(sy_v_M,type,
    m: fsm_a_b_c ).

thf(sy_v__092_060omega_062_H_H____,type,
    omega: list_P903359562653991662od_b_c ).

thf(sy_v__092_060omega_062____,type,
    omega2: list_P903359562653991662od_b_c ).

thf(sy_v_distFun,type,
    distFun: a > a > list_P903359562653991662od_b_c ).

thf(sy_v_ios,type,
    ios: list_P903359562653991662od_b_c ).

thf(sy_v_ios_H____,type,
    ios2: list_P903359562653991662od_b_c ).

thf(sy_v_ios_Ha____,type,
    ios_a: list_P903359562653991662od_b_c ).

thf(sy_v_l_H_H____,type,
    l: nat ).

thf(sy_v_m1____,type,
    m1: product_prod_b_c > option4860840611552367828od_b_c ).

thf(sy_v_m2____,type,
    m2: product_prod_b_c > option4860840611552367828od_b_c ).

thf(sy_v_q1,type,
    q1: a ).

thf(sy_v_q1_H____,type,
    q12: a ).

thf(sy_v_q1a____,type,
    q1a: a ).

thf(sy_v_q2,type,
    q2: a ).

thf(sy_v_q2_H____,type,
    q22: a ).

thf(sy_v_q2a____,type,
    q2a: a ).

thf(sy_v_t1a____,type,
    t1a: prefix425356687782099470od_b_c ).

thf(sy_v_t2_H____,type,
    t2: prefix425356687782099470od_b_c ).

thf(sy_v_t2a____,type,
    t2a: prefix425356687782099470od_b_c ).

thf(sy_v_w1C____,type,
    w1C: nat ).

thf(sy_v_w1L____,type,
    w1L: nat ).

thf(sy_v_w2C____,type,
    w2C: nat ).

thf(sy_v_w2L____,type,
    w2L: nat ).

thf(sy_v_w_H_H____,type,
    w: nat ).

thf(sy_v_x____,type,
    x: b ).

thf(sy_v_xy____,type,
    xy: product_prod_b_c ).

thf(sy_v_y____,type,
    y: c ).

% Relevant facts (1232)
thf(fact_0_assms_I5_J,axiom,
    q1 != q2 ).

% assms(5)
thf(fact_1_less_Oprems_I3_J,axiom,
    q1a != q2a ).

% less.prems(3)
thf(fact_2_False,axiom,
    q12 != q22 ).

% False
thf(fact_3_ios_H__def,axiom,
    ios2 = ios ).

% ios'_def
thf(fact_4__092_060open_062xy_A_061_A_Ix_M_Ay_J_092_060close_062,axiom,
    ( xy
    = ( product_Pair_b_c @ x @ y ) ) ).

% \<open>xy = (x, y)\<close>
thf(fact_5__092_060open_062distinguishes_AM_Aq1_H_Aq2_H_A_Ifst_A_Ifind__cheapest__distinguishing__trace_AM_AdistFun_Aios_APrefix__Tree_Oempty_Aq1_H_At2_H_Aq2_H_J_J_092_060close_062,axiom,
    distinguishes_a_b_c @ m @ q12 @ q22 @ ( produc6927617529171309206at_nat @ ( h_Meth2690202499653945482_a_b_c @ m @ distFun @ ios @ prefix3615735424982389462od_b_c @ q12 @ t2 @ q22 ) ) ).

% \<open>distinguishes M q1' q2' (fst (find_cheapest_distinguishing_trace M distFun ios Prefix_Tree.empty q1' t2' q2'))\<close>
thf(fact_6_assms_I1_J,axiom,
    observable_a_b_c @ m ).

% assms(1)
thf(fact_7_assms_I2_J,axiom,
    minimal_a_b_c @ m ).

% assms(2)
thf(fact_8_less_Oprems_I2_J,axiom,
    member_a @ q2a @ ( states_a_b_c @ m ) ).

% less.prems(2)
thf(fact_9_less_Oprems_I1_J,axiom,
    member_a @ q1a @ ( states_a_b_c @ m ) ).

% less.prems(1)
thf(fact_10__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062x_Ay_O_Axy_A_061_A_Ix_M_Ay_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [X: b,Y: c] :
        ( xy
       != ( product_Pair_b_c @ X @ Y ) ) ).

% \<open>\<And>thesis. (\<And>x y. xy = (x, y) \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_11_dist_H,axiom,
    ! [Omega: list_P903359562653991662od_b_c] :
      ( ( distinguishes_a_b_c @ m @ q12 @ q22 @ Omega )
     => ( distinguishes_a_b_c @ m @ q1a @ q2a @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ x @ y ) @ Omega ) ) ) ).

% dist'
thf(fact_12__092_060open_062distinguishes_AM_Aq1_Aq2_A_092_060omega_062_092_060close_062,axiom,
    distinguishes_a_b_c @ m @ q1a @ q2a @ omega2 ).

% \<open>distinguishes M q1 q2 \<omega>\<close>
thf(fact_13__092_060open_062_Ix_M_Ay_J_A_092_060in_062_Alist_Oset_Aios_092_060close_062,axiom,
    member7862447941013992593od_b_c @ ( product_Pair_b_c @ x @ y ) @ ( set_Product_prod_b_c2 @ ios ) ).

% \<open>(x, y) \<in> list.set ios\<close>
thf(fact_14_assms_I6_J,axiom,
    ! [Q1: a,Q2: a] :
      ( ( member_a @ Q1 @ ( states_a_b_c @ m ) )
     => ( ( member_a @ Q2 @ ( states_a_b_c @ m ) )
       => ( ( Q1 != Q2 )
         => ( distinguishes_a_b_c @ m @ Q1 @ Q2 @ ( distFun @ Q1 @ Q2 ) ) ) ) ) ).

% assms(6)
thf(fact_15__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062_092_060omega_062_H_H_Al_H_H_Aw_H_H_O_Afind__cheapest__distinguishing__trace_AM_AdistFun_Aios_APrefix__Tree_Oempty_Aq1_H_At2_H_Aq2_H_A_061_A_I_092_060omega_062_H_H_M_Al_H_H_M_Aw_H_H_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [Omega2: list_P903359562653991662od_b_c,L: nat,W: nat] :
        ( ( h_Meth2690202499653945482_a_b_c @ m @ distFun @ ios @ prefix3615735424982389462od_b_c @ q12 @ t2 @ q22 )
       != ( produc3197953233266746538at_nat @ Omega2 @ ( product_Pair_nat_nat @ L @ W ) ) ) ).

% \<open>\<And>thesis. (\<And>\<omega>'' l'' w''. find_cheapest_distinguishing_trace M distFun ios Prefix_Tree.empty q1' t2' q2' = (\<omega>'', l'', w'') \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_16__092_060open_062q1_H_A_092_060in_062_AFSM_Ostates_AM_092_060close_062,axiom,
    member_a @ q12 @ ( states_a_b_c @ m ) ).

% \<open>q1' \<in> FSM.states M\<close>
thf(fact_17__092_060open_062q2_H_A_092_060in_062_AFSM_Ostates_AM_092_060close_062,axiom,
    member_a @ q22 @ ( states_a_b_c @ m ) ).

% \<open>q2' \<in> FSM.states M\<close>
thf(fact_18_Some,axiom,
    ( ( m2 @ ( product_Pair_b_c @ x @ y ) )
    = ( some_P522567261666896499od_b_c @ t2 ) ) ).

% Some
thf(fact_19__C_K_K_K_C,axiom,
    ( ( h_Meth2690202499653945482_a_b_c @ m @ distFun @ ios @ prefix3615735424982389462od_b_c @ q12 @ t2 @ q22 )
    = ( produc3197953233266746538at_nat @ omega @ ( product_Pair_nat_nat @ l @ w ) ) ) ).

% "***"
thf(fact_20_assms_I4_J,axiom,
    member_a @ q2 @ ( states_a_b_c @ m ) ).

% assms(4)
thf(fact_21_assms_I3_J,axiom,
    member_a @ q1 @ ( states_a_b_c @ m ) ).

% assms(3)
thf(fact_22_None,axiom,
    ( ( m1 @ ( product_Pair_b_c @ x @ y ) )
    = none_P1973817385574297839od_b_c ) ).

% None
thf(fact_23_list_Oinject,axiom,
    ! [X21: list_P903359562653991662od_b_c,X22: list_l8907847357763382004od_b_c,Y21: list_P903359562653991662od_b_c,Y22: list_l8907847357763382004od_b_c] :
      ( ( ( cons_l342771267123639716od_b_c @ X21 @ X22 )
        = ( cons_l342771267123639716od_b_c @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_24_list_Oinject,axiom,
    ! [X21: nat,X22: list_nat,Y21: nat,Y22: list_nat] :
      ( ( ( cons_nat @ X21 @ X22 )
        = ( cons_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_25_list_Oinject,axiom,
    ! [X21: nat > nat,X22: list_nat_nat,Y21: nat > nat,Y22: list_nat_nat] :
      ( ( ( cons_nat_nat @ X21 @ X22 )
        = ( cons_nat_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_26_list_Oinject,axiom,
    ! [X21: b,X22: list_b,Y21: b,Y22: list_b] :
      ( ( ( cons_b @ X21 @ X22 )
        = ( cons_b @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_27_list_Oinject,axiom,
    ! [X21: a,X22: list_a,Y21: a,Y22: list_a] :
      ( ( ( cons_a @ X21 @ X22 )
        = ( cons_a @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_28_list_Oinject,axiom,
    ! [X21: product_prod_b_c,X22: list_P903359562653991662od_b_c,Y21: product_prod_b_c,Y22: list_P903359562653991662od_b_c] :
      ( ( ( cons_P4529483553340347422od_b_c @ X21 @ X22 )
        = ( cons_P4529483553340347422od_b_c @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_29_set__ConsD,axiom,
    ! [Y2: a,X2: a,Xs: list_a] :
      ( ( member_a @ Y2 @ ( set_a2 @ ( cons_a @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member_a @ Y2 @ ( set_a2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_30_set__ConsD,axiom,
    ! [Y2: product_prod_b_c,X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ Y2 @ ( set_Product_prod_b_c2 @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member7862447941013992593od_b_c @ Y2 @ ( set_Product_prod_b_c2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_31_set__ConsD,axiom,
    ! [Y2: nat,X2: nat,Xs: list_nat] :
      ( ( member_nat @ Y2 @ ( set_nat2 @ ( cons_nat @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member_nat @ Y2 @ ( set_nat2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_32_set__ConsD,axiom,
    ! [Y2: b,X2: b,Xs: list_b] :
      ( ( member_b @ Y2 @ ( set_b2 @ ( cons_b @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member_b @ Y2 @ ( set_b2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_33_set__ConsD,axiom,
    ! [Y2: list_a,X2: list_a,Xs: list_list_a] :
      ( ( member_list_a @ Y2 @ ( set_list_a2 @ ( cons_list_a @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member_list_a @ Y2 @ ( set_list_a2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_34_set__ConsD,axiom,
    ! [Y2: product_prod_nat_nat,X2: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ Y2 @ ( set_Pr5648618587558075414at_nat @ ( cons_P6512896166579812791at_nat @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member8440522571783428010at_nat @ Y2 @ ( set_Pr5648618587558075414at_nat @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_35_set__ConsD,axiom,
    ! [Y2: nat > nat,X2: nat > nat,Xs: list_nat_nat] :
      ( ( member_nat_nat @ Y2 @ ( set_nat_nat2 @ ( cons_nat_nat @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member_nat_nat @ Y2 @ ( set_nat_nat2 @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_36_set__ConsD,axiom,
    ! [Y2: list_P6011104703257516679at_nat,X2: list_P6011104703257516679at_nat,Xs: list_l3264859301627795341at_nat] :
      ( ( member3067507820990806192at_nat @ Y2 @ ( set_li2962362208618583836at_nat @ ( cons_l7612840610449961021at_nat @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member3067507820990806192at_nat @ Y2 @ ( set_li2962362208618583836at_nat @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_37_set__ConsD,axiom,
    ! [Y2: list_P903359562653991662od_b_c,X2: list_P903359562653991662od_b_c,Xs: list_l8907847357763382004od_b_c] :
      ( ( member6330420149250801815od_b_c @ Y2 @ ( set_li4480668622519654659od_b_c @ ( cons_l342771267123639716od_b_c @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member6330420149250801815od_b_c @ Y2 @ ( set_li4480668622519654659od_b_c @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_38_set__ConsD,axiom,
    ! [Y2: list_P5698226596436487165_c_nat,X2: list_P5698226596436487165_c_nat,Xs: list_l3392457236959476109_c_nat] :
      ( ( member2782619610658070420_c_nat @ Y2 @ ( set_li2862222718293194280_c_nat @ ( cons_l392441708139172039_c_nat @ X2 @ Xs ) ) )
     => ( ( Y2 = X2 )
        | ( member2782619610658070420_c_nat @ Y2 @ ( set_li2862222718293194280_c_nat @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_39_list_Oset__cases,axiom,
    ! [E: a,A: list_a] :
      ( ( member_a @ E @ ( set_a2 @ A ) )
     => ( ! [Z2: list_a] :
            ( A
           != ( cons_a @ E @ Z2 ) )
       => ~ ! [Z1: a,Z2: list_a] :
              ( ( A
                = ( cons_a @ Z1 @ Z2 ) )
             => ~ ( member_a @ E @ ( set_a2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_40_list_Oset__cases,axiom,
    ! [E: product_prod_b_c,A: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ E @ ( set_Product_prod_b_c2 @ A ) )
     => ( ! [Z2: list_P903359562653991662od_b_c] :
            ( A
           != ( cons_P4529483553340347422od_b_c @ E @ Z2 ) )
       => ~ ! [Z1: product_prod_b_c,Z2: list_P903359562653991662od_b_c] :
              ( ( A
                = ( cons_P4529483553340347422od_b_c @ Z1 @ Z2 ) )
             => ~ ( member7862447941013992593od_b_c @ E @ ( set_Product_prod_b_c2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_41_list_Oset__cases,axiom,
    ! [E: nat,A: list_nat] :
      ( ( member_nat @ E @ ( set_nat2 @ A ) )
     => ( ! [Z2: list_nat] :
            ( A
           != ( cons_nat @ E @ Z2 ) )
       => ~ ! [Z1: nat,Z2: list_nat] :
              ( ( A
                = ( cons_nat @ Z1 @ Z2 ) )
             => ~ ( member_nat @ E @ ( set_nat2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_42_list_Oset__cases,axiom,
    ! [E: b,A: list_b] :
      ( ( member_b @ E @ ( set_b2 @ A ) )
     => ( ! [Z2: list_b] :
            ( A
           != ( cons_b @ E @ Z2 ) )
       => ~ ! [Z1: b,Z2: list_b] :
              ( ( A
                = ( cons_b @ Z1 @ Z2 ) )
             => ~ ( member_b @ E @ ( set_b2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_43_list_Oset__cases,axiom,
    ! [E: list_a,A: list_list_a] :
      ( ( member_list_a @ E @ ( set_list_a2 @ A ) )
     => ( ! [Z2: list_list_a] :
            ( A
           != ( cons_list_a @ E @ Z2 ) )
       => ~ ! [Z1: list_a,Z2: list_list_a] :
              ( ( A
                = ( cons_list_a @ Z1 @ Z2 ) )
             => ~ ( member_list_a @ E @ ( set_list_a2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_44_list_Oset__cases,axiom,
    ! [E: product_prod_nat_nat,A: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ E @ ( set_Pr5648618587558075414at_nat @ A ) )
     => ( ! [Z2: list_P6011104703257516679at_nat] :
            ( A
           != ( cons_P6512896166579812791at_nat @ E @ Z2 ) )
       => ~ ! [Z1: product_prod_nat_nat,Z2: list_P6011104703257516679at_nat] :
              ( ( A
                = ( cons_P6512896166579812791at_nat @ Z1 @ Z2 ) )
             => ~ ( member8440522571783428010at_nat @ E @ ( set_Pr5648618587558075414at_nat @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_45_list_Oset__cases,axiom,
    ! [E: nat > nat,A: list_nat_nat] :
      ( ( member_nat_nat @ E @ ( set_nat_nat2 @ A ) )
     => ( ! [Z2: list_nat_nat] :
            ( A
           != ( cons_nat_nat @ E @ Z2 ) )
       => ~ ! [Z1: nat > nat,Z2: list_nat_nat] :
              ( ( A
                = ( cons_nat_nat @ Z1 @ Z2 ) )
             => ~ ( member_nat_nat @ E @ ( set_nat_nat2 @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_46_list_Oset__cases,axiom,
    ! [E: list_P6011104703257516679at_nat,A: list_l3264859301627795341at_nat] :
      ( ( member3067507820990806192at_nat @ E @ ( set_li2962362208618583836at_nat @ A ) )
     => ( ! [Z2: list_l3264859301627795341at_nat] :
            ( A
           != ( cons_l7612840610449961021at_nat @ E @ Z2 ) )
       => ~ ! [Z1: list_P6011104703257516679at_nat,Z2: list_l3264859301627795341at_nat] :
              ( ( A
                = ( cons_l7612840610449961021at_nat @ Z1 @ Z2 ) )
             => ~ ( member3067507820990806192at_nat @ E @ ( set_li2962362208618583836at_nat @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_47_list_Oset__cases,axiom,
    ! [E: list_P903359562653991662od_b_c,A: list_l8907847357763382004od_b_c] :
      ( ( member6330420149250801815od_b_c @ E @ ( set_li4480668622519654659od_b_c @ A ) )
     => ( ! [Z2: list_l8907847357763382004od_b_c] :
            ( A
           != ( cons_l342771267123639716od_b_c @ E @ Z2 ) )
       => ~ ! [Z1: list_P903359562653991662od_b_c,Z2: list_l8907847357763382004od_b_c] :
              ( ( A
                = ( cons_l342771267123639716od_b_c @ Z1 @ Z2 ) )
             => ~ ( member6330420149250801815od_b_c @ E @ ( set_li4480668622519654659od_b_c @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_48_list_Oset__cases,axiom,
    ! [E: list_P5698226596436487165_c_nat,A: list_l3392457236959476109_c_nat] :
      ( ( member2782619610658070420_c_nat @ E @ ( set_li2862222718293194280_c_nat @ A ) )
     => ( ! [Z2: list_l3392457236959476109_c_nat] :
            ( A
           != ( cons_l392441708139172039_c_nat @ E @ Z2 ) )
       => ~ ! [Z1: list_P5698226596436487165_c_nat,Z2: list_l3392457236959476109_c_nat] :
              ( ( A
                = ( cons_l392441708139172039_c_nat @ Z1 @ Z2 ) )
             => ~ ( member2782619610658070420_c_nat @ E @ ( set_li2862222718293194280_c_nat @ Z2 ) ) ) ) ) ).

% list.set_cases
thf(fact_49_list_Oset__intros_I1_J,axiom,
    ! [X21: a,X22: list_a] : ( member_a @ X21 @ ( set_a2 @ ( cons_a @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_50_list_Oset__intros_I1_J,axiom,
    ! [X21: product_prod_b_c,X22: list_P903359562653991662od_b_c] : ( member7862447941013992593od_b_c @ X21 @ ( set_Product_prod_b_c2 @ ( cons_P4529483553340347422od_b_c @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_51_list_Oset__intros_I1_J,axiom,
    ! [X21: nat,X22: list_nat] : ( member_nat @ X21 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_52_list_Oset__intros_I1_J,axiom,
    ! [X21: b,X22: list_b] : ( member_b @ X21 @ ( set_b2 @ ( cons_b @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_53_list_Oset__intros_I1_J,axiom,
    ! [X21: list_a,X22: list_list_a] : ( member_list_a @ X21 @ ( set_list_a2 @ ( cons_list_a @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_54_list_Oset__intros_I1_J,axiom,
    ! [X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat] : ( member8440522571783428010at_nat @ X21 @ ( set_Pr5648618587558075414at_nat @ ( cons_P6512896166579812791at_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_55_list_Oset__intros_I1_J,axiom,
    ! [X21: nat > nat,X22: list_nat_nat] : ( member_nat_nat @ X21 @ ( set_nat_nat2 @ ( cons_nat_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_56_list_Oset__intros_I1_J,axiom,
    ! [X21: list_P6011104703257516679at_nat,X22: list_l3264859301627795341at_nat] : ( member3067507820990806192at_nat @ X21 @ ( set_li2962362208618583836at_nat @ ( cons_l7612840610449961021at_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_57_list_Oset__intros_I1_J,axiom,
    ! [X21: list_P903359562653991662od_b_c,X22: list_l8907847357763382004od_b_c] : ( member6330420149250801815od_b_c @ X21 @ ( set_li4480668622519654659od_b_c @ ( cons_l342771267123639716od_b_c @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_58_list_Oset__intros_I1_J,axiom,
    ! [X21: list_P5698226596436487165_c_nat,X22: list_l3392457236959476109_c_nat] : ( member2782619610658070420_c_nat @ X21 @ ( set_li2862222718293194280_c_nat @ ( cons_l392441708139172039_c_nat @ X21 @ X22 ) ) ) ).

% list.set_intros(1)
thf(fact_59_list_Oset__intros_I2_J,axiom,
    ! [Y2: a,X22: list_a,X21: a] :
      ( ( member_a @ Y2 @ ( set_a2 @ X22 ) )
     => ( member_a @ Y2 @ ( set_a2 @ ( cons_a @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_60_list_Oset__intros_I2_J,axiom,
    ! [Y2: product_prod_b_c,X22: list_P903359562653991662od_b_c,X21: product_prod_b_c] :
      ( ( member7862447941013992593od_b_c @ Y2 @ ( set_Product_prod_b_c2 @ X22 ) )
     => ( member7862447941013992593od_b_c @ Y2 @ ( set_Product_prod_b_c2 @ ( cons_P4529483553340347422od_b_c @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_61_list_Oset__intros_I2_J,axiom,
    ! [Y2: nat,X22: list_nat,X21: nat] :
      ( ( member_nat @ Y2 @ ( set_nat2 @ X22 ) )
     => ( member_nat @ Y2 @ ( set_nat2 @ ( cons_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_62_list_Oset__intros_I2_J,axiom,
    ! [Y2: b,X22: list_b,X21: b] :
      ( ( member_b @ Y2 @ ( set_b2 @ X22 ) )
     => ( member_b @ Y2 @ ( set_b2 @ ( cons_b @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_63_list_Oset__intros_I2_J,axiom,
    ! [Y2: list_a,X22: list_list_a,X21: list_a] :
      ( ( member_list_a @ Y2 @ ( set_list_a2 @ X22 ) )
     => ( member_list_a @ Y2 @ ( set_list_a2 @ ( cons_list_a @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_64_list_Oset__intros_I2_J,axiom,
    ! [Y2: product_prod_nat_nat,X22: list_P6011104703257516679at_nat,X21: product_prod_nat_nat] :
      ( ( member8440522571783428010at_nat @ Y2 @ ( set_Pr5648618587558075414at_nat @ X22 ) )
     => ( member8440522571783428010at_nat @ Y2 @ ( set_Pr5648618587558075414at_nat @ ( cons_P6512896166579812791at_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_65_list_Oset__intros_I2_J,axiom,
    ! [Y2: nat > nat,X22: list_nat_nat,X21: nat > nat] :
      ( ( member_nat_nat @ Y2 @ ( set_nat_nat2 @ X22 ) )
     => ( member_nat_nat @ Y2 @ ( set_nat_nat2 @ ( cons_nat_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_66_list_Oset__intros_I2_J,axiom,
    ! [Y2: list_P6011104703257516679at_nat,X22: list_l3264859301627795341at_nat,X21: list_P6011104703257516679at_nat] :
      ( ( member3067507820990806192at_nat @ Y2 @ ( set_li2962362208618583836at_nat @ X22 ) )
     => ( member3067507820990806192at_nat @ Y2 @ ( set_li2962362208618583836at_nat @ ( cons_l7612840610449961021at_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_67_list_Oset__intros_I2_J,axiom,
    ! [Y2: list_P903359562653991662od_b_c,X22: list_l8907847357763382004od_b_c,X21: list_P903359562653991662od_b_c] :
      ( ( member6330420149250801815od_b_c @ Y2 @ ( set_li4480668622519654659od_b_c @ X22 ) )
     => ( member6330420149250801815od_b_c @ Y2 @ ( set_li4480668622519654659od_b_c @ ( cons_l342771267123639716od_b_c @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_68_list_Oset__intros_I2_J,axiom,
    ! [Y2: list_P5698226596436487165_c_nat,X22: list_l3392457236959476109_c_nat,X21: list_P5698226596436487165_c_nat] :
      ( ( member2782619610658070420_c_nat @ Y2 @ ( set_li2862222718293194280_c_nat @ X22 ) )
     => ( member2782619610658070420_c_nat @ Y2 @ ( set_li2862222718293194280_c_nat @ ( cons_l392441708139172039_c_nat @ X21 @ X22 ) ) ) ) ).

% list.set_intros(2)
thf(fact_69_not__Cons__self2,axiom,
    ! [X2: list_P903359562653991662od_b_c,Xs: list_l8907847357763382004od_b_c] :
      ( ( cons_l342771267123639716od_b_c @ X2 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_70_not__Cons__self2,axiom,
    ! [X2: nat,Xs: list_nat] :
      ( ( cons_nat @ X2 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_71_not__Cons__self2,axiom,
    ! [X2: nat > nat,Xs: list_nat_nat] :
      ( ( cons_nat_nat @ X2 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_72_not__Cons__self2,axiom,
    ! [X2: b,Xs: list_b] :
      ( ( cons_b @ X2 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_73_not__Cons__self2,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( cons_a @ X2 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_74_not__Cons__self2,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( cons_P4529483553340347422od_b_c @ X2 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_75_not__None__eq,axiom,
    ! [X2: option5880730194448810034list_a] :
      ( ( X2 != none_P7740950825577307469list_a )
      = ( ? [Y3: produc4252211853170914156list_a] :
            ( X2
            = ( some_P4067962326982009553list_a @ Y3 ) ) ) ) ).

% not_None_eq
thf(fact_76_not__None__eq,axiom,
    ! [X2: option231006655626737692list_a] :
      ( ( X2 != none_P7310308508618416183list_a )
      = ( ? [Y3: produc7625978035857829206list_a] :
            ( X2
            = ( some_P3752422024458357179list_a @ Y3 ) ) ) ) ).

% not_None_eq
thf(fact_77_not__None__eq,axiom,
    ! [X2: option4716579502443089070od_b_c] :
      ( ( X2 != none_P8350622247268937417od_b_c )
      = ( ? [Y3: product_prod_b_c] :
            ( X2
            = ( some_P804611721829158477od_b_c @ Y3 ) ) ) ) ).

% not_None_eq
thf(fact_78_not__None__eq,axiom,
    ! [X2: option2754391658759188979list_a] :
      ( ( X2 != none_P9027680122973965198list_a )
      = ( ? [Y3: produc8685980395799941037list_a] :
            ( X2
            = ( some_P8471903096582035730list_a @ Y3 ) ) ) ) ).

% not_None_eq
thf(fact_79_not__None__eq,axiom,
    ! [X2: option970444960630425614od_b_c] :
      ( ( X2 != none_s5220907849400156713od_b_c )
      = ( ? [Y3: set_Product_prod_b_c] :
            ( X2
            = ( some_s3344026790295835053od_b_c @ Y3 ) ) ) ) ).

% not_None_eq
thf(fact_80_not__None__eq,axiom,
    ! [X2: option_nat] :
      ( ( X2 != none_nat )
      = ( ? [Y3: nat] :
            ( X2
            = ( some_nat @ Y3 ) ) ) ) ).

% not_None_eq
thf(fact_81_not__None__eq,axiom,
    ! [X2: option_a] :
      ( ( X2 != none_a )
      = ( ? [Y3: a] :
            ( X2
            = ( some_a @ Y3 ) ) ) ) ).

% not_None_eq
thf(fact_82_not__None__eq,axiom,
    ! [X2: option4860840611552367828od_b_c] :
      ( ( X2 != none_P1973817385574297839od_b_c )
      = ( ? [Y3: prefix425356687782099470od_b_c] :
            ( X2
            = ( some_P522567261666896499od_b_c @ Y3 ) ) ) ) ).

% not_None_eq
thf(fact_83_not__Some__eq,axiom,
    ! [X2: option5880730194448810034list_a] :
      ( ( ! [Y3: produc4252211853170914156list_a] :
            ( X2
           != ( some_P4067962326982009553list_a @ Y3 ) ) )
      = ( X2 = none_P7740950825577307469list_a ) ) ).

% not_Some_eq
thf(fact_84_not__Some__eq,axiom,
    ! [X2: option231006655626737692list_a] :
      ( ( ! [Y3: produc7625978035857829206list_a] :
            ( X2
           != ( some_P3752422024458357179list_a @ Y3 ) ) )
      = ( X2 = none_P7310308508618416183list_a ) ) ).

% not_Some_eq
thf(fact_85_not__Some__eq,axiom,
    ! [X2: option4716579502443089070od_b_c] :
      ( ( ! [Y3: product_prod_b_c] :
            ( X2
           != ( some_P804611721829158477od_b_c @ Y3 ) ) )
      = ( X2 = none_P8350622247268937417od_b_c ) ) ).

% not_Some_eq
thf(fact_86_not__Some__eq,axiom,
    ! [X2: option2754391658759188979list_a] :
      ( ( ! [Y3: produc8685980395799941037list_a] :
            ( X2
           != ( some_P8471903096582035730list_a @ Y3 ) ) )
      = ( X2 = none_P9027680122973965198list_a ) ) ).

% not_Some_eq
thf(fact_87_not__Some__eq,axiom,
    ! [X2: option970444960630425614od_b_c] :
      ( ( ! [Y3: set_Product_prod_b_c] :
            ( X2
           != ( some_s3344026790295835053od_b_c @ Y3 ) ) )
      = ( X2 = none_s5220907849400156713od_b_c ) ) ).

% not_Some_eq
thf(fact_88_not__Some__eq,axiom,
    ! [X2: option_nat] :
      ( ( ! [Y3: nat] :
            ( X2
           != ( some_nat @ Y3 ) ) )
      = ( X2 = none_nat ) ) ).

% not_Some_eq
thf(fact_89_not__Some__eq,axiom,
    ! [X2: option_a] :
      ( ( ! [Y3: a] :
            ( X2
           != ( some_a @ Y3 ) ) )
      = ( X2 = none_a ) ) ).

% not_Some_eq
thf(fact_90_not__Some__eq,axiom,
    ! [X2: option4860840611552367828od_b_c] :
      ( ( ! [Y3: prefix425356687782099470od_b_c] :
            ( X2
           != ( some_P522567261666896499od_b_c @ Y3 ) ) )
      = ( X2 = none_P1973817385574297839od_b_c ) ) ).

% not_Some_eq
thf(fact_91_option_Oinject,axiom,
    ! [X23: product_prod_b_c,Y23: product_prod_b_c] :
      ( ( ( some_P804611721829158477od_b_c @ X23 )
        = ( some_P804611721829158477od_b_c @ Y23 ) )
      = ( X23 = Y23 ) ) ).

% option.inject
thf(fact_92_option_Oinject,axiom,
    ! [X23: produc8685980395799941037list_a,Y23: produc8685980395799941037list_a] :
      ( ( ( some_P8471903096582035730list_a @ X23 )
        = ( some_P8471903096582035730list_a @ Y23 ) )
      = ( X23 = Y23 ) ) ).

% option.inject
thf(fact_93_option_Oinject,axiom,
    ! [X23: set_Product_prod_b_c,Y23: set_Product_prod_b_c] :
      ( ( ( some_s3344026790295835053od_b_c @ X23 )
        = ( some_s3344026790295835053od_b_c @ Y23 ) )
      = ( X23 = Y23 ) ) ).

% option.inject
thf(fact_94_option_Oinject,axiom,
    ! [X23: nat,Y23: nat] :
      ( ( ( some_nat @ X23 )
        = ( some_nat @ Y23 ) )
      = ( X23 = Y23 ) ) ).

% option.inject
thf(fact_95_option_Oinject,axiom,
    ! [X23: a,Y23: a] :
      ( ( ( some_a @ X23 )
        = ( some_a @ Y23 ) )
      = ( X23 = Y23 ) ) ).

% option.inject
thf(fact_96_option_Oinject,axiom,
    ! [X23: prefix425356687782099470od_b_c,Y23: prefix425356687782099470od_b_c] :
      ( ( ( some_P522567261666896499od_b_c @ X23 )
        = ( some_P522567261666896499od_b_c @ Y23 ) )
      = ( X23 = Y23 ) ) ).

% option.inject
thf(fact_97_old_Oprod_Oinject,axiom,
    ! [A: b,B: product_prod_c_a,A2: b,B2: product_prod_c_a] :
      ( ( ( produc3440865914000881661od_c_a @ A @ B )
        = ( produc3440865914000881661od_c_a @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_98_old_Oprod_Oinject,axiom,
    ! [A: b,B: list_P903359562653991662od_b_c,A2: b,B2: list_P903359562653991662od_b_c] :
      ( ( ( produc561751498933632326od_b_c @ A @ B )
        = ( produc561751498933632326od_b_c @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_99_old_Oprod_Oinject,axiom,
    ! [A: a,B: produc8810778048539276352_nat_a,A2: a,B2: produc8810778048539276352_nat_a] :
      ( ( ( produc2159433139309999975_nat_a @ A @ B )
        = ( produc2159433139309999975_nat_a @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_100_old_Oprod_Oinject,axiom,
    ! [A: a,B: produc2133359284458116493od_c_a,A2: a,B2: produc2133359284458116493od_c_a] :
      ( ( ( produc5762801557034676134od_c_a @ A @ B )
        = ( produc5762801557034676134od_c_a @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_101_old_Oprod_Oinject,axiom,
    ! [A: a,B: list_a,A2: a,B2: list_a] :
      ( ( ( produc6670463072477821725list_a @ A @ B )
        = ( produc6670463072477821725list_a @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_102_old_Oprod_Oinject,axiom,
    ! [A: b,B: c,A2: b,B2: c] :
      ( ( ( product_Pair_b_c @ A @ B )
        = ( product_Pair_b_c @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_103_old_Oprod_Oinject,axiom,
    ! [A: list_P903359562653991662od_b_c,B: product_prod_nat_nat,A2: list_P903359562653991662od_b_c,B2: product_prod_nat_nat] :
      ( ( ( produc3197953233266746538at_nat @ A @ B )
        = ( produc3197953233266746538at_nat @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

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

% old.prod.inject
thf(fact_105_prod_Oinject,axiom,
    ! [X1: b,X23: product_prod_c_a,Y1: b,Y23: product_prod_c_a] :
      ( ( ( produc3440865914000881661od_c_a @ X1 @ X23 )
        = ( produc3440865914000881661od_c_a @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_106_prod_Oinject,axiom,
    ! [X1: b,X23: list_P903359562653991662od_b_c,Y1: b,Y23: list_P903359562653991662od_b_c] :
      ( ( ( produc561751498933632326od_b_c @ X1 @ X23 )
        = ( produc561751498933632326od_b_c @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_107_prod_Oinject,axiom,
    ! [X1: a,X23: produc8810778048539276352_nat_a,Y1: a,Y23: produc8810778048539276352_nat_a] :
      ( ( ( produc2159433139309999975_nat_a @ X1 @ X23 )
        = ( produc2159433139309999975_nat_a @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_108_prod_Oinject,axiom,
    ! [X1: a,X23: produc2133359284458116493od_c_a,Y1: a,Y23: produc2133359284458116493od_c_a] :
      ( ( ( produc5762801557034676134od_c_a @ X1 @ X23 )
        = ( produc5762801557034676134od_c_a @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_109_prod_Oinject,axiom,
    ! [X1: a,X23: list_a,Y1: a,Y23: list_a] :
      ( ( ( produc6670463072477821725list_a @ X1 @ X23 )
        = ( produc6670463072477821725list_a @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_110_prod_Oinject,axiom,
    ! [X1: b,X23: c,Y1: b,Y23: c] :
      ( ( ( product_Pair_b_c @ X1 @ X23 )
        = ( product_Pair_b_c @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_111_prod_Oinject,axiom,
    ! [X1: list_P903359562653991662od_b_c,X23: product_prod_nat_nat,Y1: list_P903359562653991662od_b_c,Y23: product_prod_nat_nat] :
      ( ( ( produc3197953233266746538at_nat @ X1 @ X23 )
        = ( produc3197953233266746538at_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_112_prod_Oinject,axiom,
    ! [X1: nat,X23: nat,Y1: nat,Y23: nat] :
      ( ( ( product_Pair_nat_nat @ X1 @ X23 )
        = ( product_Pair_nat_nat @ Y1 @ Y23 ) )
      = ( ( X1 = Y1 )
        & ( X23 = Y23 ) ) ) ).

% prod.inject
thf(fact_113_option_Odistinct_I1_J,axiom,
    ! [X23: produc4252211853170914156list_a] :
      ( none_P7740950825577307469list_a
     != ( some_P4067962326982009553list_a @ X23 ) ) ).

% option.distinct(1)
thf(fact_114_option_Odistinct_I1_J,axiom,
    ! [X23: produc7625978035857829206list_a] :
      ( none_P7310308508618416183list_a
     != ( some_P3752422024458357179list_a @ X23 ) ) ).

% option.distinct(1)
thf(fact_115_option_Odistinct_I1_J,axiom,
    ! [X23: product_prod_b_c] :
      ( none_P8350622247268937417od_b_c
     != ( some_P804611721829158477od_b_c @ X23 ) ) ).

% option.distinct(1)
thf(fact_116_option_Odistinct_I1_J,axiom,
    ! [X23: produc8685980395799941037list_a] :
      ( none_P9027680122973965198list_a
     != ( some_P8471903096582035730list_a @ X23 ) ) ).

% option.distinct(1)
thf(fact_117_option_Odistinct_I1_J,axiom,
    ! [X23: set_Product_prod_b_c] :
      ( none_s5220907849400156713od_b_c
     != ( some_s3344026790295835053od_b_c @ X23 ) ) ).

% option.distinct(1)
thf(fact_118_option_Odistinct_I1_J,axiom,
    ! [X23: nat] :
      ( none_nat
     != ( some_nat @ X23 ) ) ).

% option.distinct(1)
thf(fact_119_option_Odistinct_I1_J,axiom,
    ! [X23: a] :
      ( none_a
     != ( some_a @ X23 ) ) ).

% option.distinct(1)
thf(fact_120_option_Odistinct_I1_J,axiom,
    ! [X23: prefix425356687782099470od_b_c] :
      ( none_P1973817385574297839od_b_c
     != ( some_P522567261666896499od_b_c @ X23 ) ) ).

% option.distinct(1)
thf(fact_121_option_OdiscI,axiom,
    ! [Option: option5880730194448810034list_a,X23: produc4252211853170914156list_a] :
      ( ( Option
        = ( some_P4067962326982009553list_a @ X23 ) )
     => ( Option != none_P7740950825577307469list_a ) ) ).

% option.discI
thf(fact_122_option_OdiscI,axiom,
    ! [Option: option231006655626737692list_a,X23: produc7625978035857829206list_a] :
      ( ( Option
        = ( some_P3752422024458357179list_a @ X23 ) )
     => ( Option != none_P7310308508618416183list_a ) ) ).

% option.discI
thf(fact_123_option_OdiscI,axiom,
    ! [Option: option4716579502443089070od_b_c,X23: product_prod_b_c] :
      ( ( Option
        = ( some_P804611721829158477od_b_c @ X23 ) )
     => ( Option != none_P8350622247268937417od_b_c ) ) ).

% option.discI
thf(fact_124_option_OdiscI,axiom,
    ! [Option: option2754391658759188979list_a,X23: produc8685980395799941037list_a] :
      ( ( Option
        = ( some_P8471903096582035730list_a @ X23 ) )
     => ( Option != none_P9027680122973965198list_a ) ) ).

% option.discI
thf(fact_125_option_OdiscI,axiom,
    ! [Option: option970444960630425614od_b_c,X23: set_Product_prod_b_c] :
      ( ( Option
        = ( some_s3344026790295835053od_b_c @ X23 ) )
     => ( Option != none_s5220907849400156713od_b_c ) ) ).

% option.discI
thf(fact_126_option_OdiscI,axiom,
    ! [Option: option_nat,X23: nat] :
      ( ( Option
        = ( some_nat @ X23 ) )
     => ( Option != none_nat ) ) ).

% option.discI
thf(fact_127_option_OdiscI,axiom,
    ! [Option: option_a,X23: a] :
      ( ( Option
        = ( some_a @ X23 ) )
     => ( Option != none_a ) ) ).

% option.discI
thf(fact_128_option_OdiscI,axiom,
    ! [Option: option4860840611552367828od_b_c,X23: prefix425356687782099470od_b_c] :
      ( ( Option
        = ( some_P522567261666896499od_b_c @ X23 ) )
     => ( Option != none_P1973817385574297839od_b_c ) ) ).

% option.discI
thf(fact_129_option_Oexhaust,axiom,
    ! [Y2: option5880730194448810034list_a] :
      ( ( Y2 != none_P7740950825577307469list_a )
     => ~ ! [X24: produc4252211853170914156list_a] :
            ( Y2
           != ( some_P4067962326982009553list_a @ X24 ) ) ) ).

% option.exhaust
thf(fact_130_option_Oexhaust,axiom,
    ! [Y2: option231006655626737692list_a] :
      ( ( Y2 != none_P7310308508618416183list_a )
     => ~ ! [X24: produc7625978035857829206list_a] :
            ( Y2
           != ( some_P3752422024458357179list_a @ X24 ) ) ) ).

% option.exhaust
thf(fact_131_option_Oexhaust,axiom,
    ! [Y2: option4716579502443089070od_b_c] :
      ( ( Y2 != none_P8350622247268937417od_b_c )
     => ~ ! [X24: product_prod_b_c] :
            ( Y2
           != ( some_P804611721829158477od_b_c @ X24 ) ) ) ).

% option.exhaust
thf(fact_132_option_Oexhaust,axiom,
    ! [Y2: option2754391658759188979list_a] :
      ( ( Y2 != none_P9027680122973965198list_a )
     => ~ ! [X24: produc8685980395799941037list_a] :
            ( Y2
           != ( some_P8471903096582035730list_a @ X24 ) ) ) ).

% option.exhaust
thf(fact_133_option_Oexhaust,axiom,
    ! [Y2: option970444960630425614od_b_c] :
      ( ( Y2 != none_s5220907849400156713od_b_c )
     => ~ ! [X24: set_Product_prod_b_c] :
            ( Y2
           != ( some_s3344026790295835053od_b_c @ X24 ) ) ) ).

% option.exhaust
thf(fact_134_option_Oexhaust,axiom,
    ! [Y2: option_nat] :
      ( ( Y2 != none_nat )
     => ~ ! [X24: nat] :
            ( Y2
           != ( some_nat @ X24 ) ) ) ).

% option.exhaust
thf(fact_135_option_Oexhaust,axiom,
    ! [Y2: option_a] :
      ( ( Y2 != none_a )
     => ~ ! [X24: a] :
            ( Y2
           != ( some_a @ X24 ) ) ) ).

% option.exhaust
thf(fact_136_option_Oexhaust,axiom,
    ! [Y2: option4860840611552367828od_b_c] :
      ( ( Y2 != none_P1973817385574297839od_b_c )
     => ~ ! [X24: prefix425356687782099470od_b_c] :
            ( Y2
           != ( some_P522567261666896499od_b_c @ X24 ) ) ) ).

% option.exhaust
thf(fact_137_split__option__ex,axiom,
    ( ( ^ [P: option5880730194448810034list_a > $o] :
        ? [X3: option5880730194448810034list_a] : ( P @ X3 ) )
    = ( ^ [P2: option5880730194448810034list_a > $o] :
          ( ( P2 @ none_P7740950825577307469list_a )
          | ? [X4: produc4252211853170914156list_a] : ( P2 @ ( some_P4067962326982009553list_a @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_138_split__option__ex,axiom,
    ( ( ^ [P: option231006655626737692list_a > $o] :
        ? [X3: option231006655626737692list_a] : ( P @ X3 ) )
    = ( ^ [P2: option231006655626737692list_a > $o] :
          ( ( P2 @ none_P7310308508618416183list_a )
          | ? [X4: produc7625978035857829206list_a] : ( P2 @ ( some_P3752422024458357179list_a @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_139_split__option__ex,axiom,
    ( ( ^ [P: option4716579502443089070od_b_c > $o] :
        ? [X3: option4716579502443089070od_b_c] : ( P @ X3 ) )
    = ( ^ [P2: option4716579502443089070od_b_c > $o] :
          ( ( P2 @ none_P8350622247268937417od_b_c )
          | ? [X4: product_prod_b_c] : ( P2 @ ( some_P804611721829158477od_b_c @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_140_split__option__ex,axiom,
    ( ( ^ [P: option2754391658759188979list_a > $o] :
        ? [X3: option2754391658759188979list_a] : ( P @ X3 ) )
    = ( ^ [P2: option2754391658759188979list_a > $o] :
          ( ( P2 @ none_P9027680122973965198list_a )
          | ? [X4: produc8685980395799941037list_a] : ( P2 @ ( some_P8471903096582035730list_a @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_141_split__option__ex,axiom,
    ( ( ^ [P: option970444960630425614od_b_c > $o] :
        ? [X3: option970444960630425614od_b_c] : ( P @ X3 ) )
    = ( ^ [P2: option970444960630425614od_b_c > $o] :
          ( ( P2 @ none_s5220907849400156713od_b_c )
          | ? [X4: set_Product_prod_b_c] : ( P2 @ ( some_s3344026790295835053od_b_c @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_142_split__option__ex,axiom,
    ( ( ^ [P: option_nat > $o] :
        ? [X3: option_nat] : ( P @ X3 ) )
    = ( ^ [P2: option_nat > $o] :
          ( ( P2 @ none_nat )
          | ? [X4: nat] : ( P2 @ ( some_nat @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_143_split__option__ex,axiom,
    ( ( ^ [P: option_a > $o] :
        ? [X3: option_a] : ( P @ X3 ) )
    = ( ^ [P2: option_a > $o] :
          ( ( P2 @ none_a )
          | ? [X4: a] : ( P2 @ ( some_a @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_144_split__option__ex,axiom,
    ( ( ^ [P: option4860840611552367828od_b_c > $o] :
        ? [X3: option4860840611552367828od_b_c] : ( P @ X3 ) )
    = ( ^ [P2: option4860840611552367828od_b_c > $o] :
          ( ( P2 @ none_P1973817385574297839od_b_c )
          | ? [X4: prefix425356687782099470od_b_c] : ( P2 @ ( some_P522567261666896499od_b_c @ X4 ) ) ) ) ) ).

% split_option_ex
thf(fact_145_split__option__all,axiom,
    ( ( ^ [P: option5880730194448810034list_a > $o] :
        ! [X3: option5880730194448810034list_a] : ( P @ X3 ) )
    = ( ^ [P2: option5880730194448810034list_a > $o] :
          ( ( P2 @ none_P7740950825577307469list_a )
          & ! [X4: produc4252211853170914156list_a] : ( P2 @ ( some_P4067962326982009553list_a @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_146_split__option__all,axiom,
    ( ( ^ [P: option231006655626737692list_a > $o] :
        ! [X3: option231006655626737692list_a] : ( P @ X3 ) )
    = ( ^ [P2: option231006655626737692list_a > $o] :
          ( ( P2 @ none_P7310308508618416183list_a )
          & ! [X4: produc7625978035857829206list_a] : ( P2 @ ( some_P3752422024458357179list_a @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_147_split__option__all,axiom,
    ( ( ^ [P: option4716579502443089070od_b_c > $o] :
        ! [X3: option4716579502443089070od_b_c] : ( P @ X3 ) )
    = ( ^ [P2: option4716579502443089070od_b_c > $o] :
          ( ( P2 @ none_P8350622247268937417od_b_c )
          & ! [X4: product_prod_b_c] : ( P2 @ ( some_P804611721829158477od_b_c @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_148_split__option__all,axiom,
    ( ( ^ [P: option2754391658759188979list_a > $o] :
        ! [X3: option2754391658759188979list_a] : ( P @ X3 ) )
    = ( ^ [P2: option2754391658759188979list_a > $o] :
          ( ( P2 @ none_P9027680122973965198list_a )
          & ! [X4: produc8685980395799941037list_a] : ( P2 @ ( some_P8471903096582035730list_a @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_149_split__option__all,axiom,
    ( ( ^ [P: option970444960630425614od_b_c > $o] :
        ! [X3: option970444960630425614od_b_c] : ( P @ X3 ) )
    = ( ^ [P2: option970444960630425614od_b_c > $o] :
          ( ( P2 @ none_s5220907849400156713od_b_c )
          & ! [X4: set_Product_prod_b_c] : ( P2 @ ( some_s3344026790295835053od_b_c @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_150_split__option__all,axiom,
    ( ( ^ [P: option_nat > $o] :
        ! [X3: option_nat] : ( P @ X3 ) )
    = ( ^ [P2: option_nat > $o] :
          ( ( P2 @ none_nat )
          & ! [X4: nat] : ( P2 @ ( some_nat @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_151_split__option__all,axiom,
    ( ( ^ [P: option_a > $o] :
        ! [X3: option_a] : ( P @ X3 ) )
    = ( ^ [P2: option_a > $o] :
          ( ( P2 @ none_a )
          & ! [X4: a] : ( P2 @ ( some_a @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_152_split__option__all,axiom,
    ( ( ^ [P: option4860840611552367828od_b_c > $o] :
        ! [X3: option4860840611552367828od_b_c] : ( P @ X3 ) )
    = ( ^ [P2: option4860840611552367828od_b_c > $o] :
          ( ( P2 @ none_P1973817385574297839od_b_c )
          & ! [X4: prefix425356687782099470od_b_c] : ( P2 @ ( some_P522567261666896499od_b_c @ X4 ) ) ) ) ) ).

% split_option_all
thf(fact_153_add__distinguishing__sequence__if__required_Ocases,axiom,
    ! [X2: produc4331832138864659954od_b_c] :
      ~ ! [Dist_fun: product_prod_nat_nat > product_prod_nat_nat > list_P903359562653991662od_b_c,M: fsm_Pr1214345408167043238at_b_c,Alpha: list_P903359562653991662od_b_c,Q12: product_prod_nat_nat,Beta: list_P903359562653991662od_b_c,Q22: product_prod_nat_nat,T: prefix425356687782099470od_b_c] :
          ( X2
         != ( produc8039841870133095394od_b_c @ Dist_fun @ ( produc7864716389980156095od_b_c @ M @ ( produc6724292682348736574od_b_c @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha @ Q12 ) @ ( produc3197953233266746538at_nat @ Beta @ Q22 ) ) @ T ) ) ) ) ).

% add_distinguishing_sequence_if_required.cases
thf(fact_154_add__distinguishing__sequence__and__complete__if__required_Ocases,axiom,
    ! [X2: produc975373199260372097od_b_c] :
      ~ ! [DistFun: product_prod_nat_nat > product_prod_nat_nat > list_P903359562653991662od_b_c,CompleteInputTraces: $o,M: fsm_Pr1214345408167043238at_b_c,Alpha: list_P903359562653991662od_b_c,Q12: product_prod_nat_nat,Beta: list_P903359562653991662od_b_c,Q22: product_prod_nat_nat,T: prefix425356687782099470od_b_c] :
          ( X2
         != ( produc3095537410472086641od_b_c @ DistFun @ ( produc7162916261206917070od_b_c @ CompleteInputTraces @ ( produc7864716389980156095od_b_c @ M @ ( produc6724292682348736574od_b_c @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha @ Q12 ) @ ( produc3197953233266746538at_nat @ Beta @ Q22 ) ) @ T ) ) ) ) ) ).

% add_distinguishing_sequence_and_complete_if_required.cases
thf(fact_155_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc2133359284458116493od_c_a] :
      ~ ! [A3: b,B3: product_prod_c_a] :
          ( Y2
         != ( produc3440865914000881661od_c_a @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_156_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc6475121930738208726od_b_c] :
      ~ ! [A3: b,B3: list_P903359562653991662od_b_c] :
          ( Y2
         != ( produc561751498933632326od_b_c @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_157_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc2204162461157160941_nat_a] :
      ~ ! [A3: a,B3: produc8810778048539276352_nat_a] :
          ( Y2
         != ( produc2159433139309999975_nat_a @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_158_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc2669932201312201782od_c_a] :
      ~ ! [A3: a,B3: produc2133359284458116493od_c_a] :
          ( Y2
         != ( produc5762801557034676134od_c_a @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_159_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc8685980395799941037list_a] :
      ~ ! [A3: a,B3: list_a] :
          ( Y2
         != ( produc6670463072477821725list_a @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_160_old_Oprod_Oexhaust,axiom,
    ! [Y2: product_prod_b_c] :
      ~ ! [A3: b,B3: c] :
          ( Y2
         != ( product_Pair_b_c @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_161_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc7736452900028564794at_nat] :
      ~ ! [A3: list_P903359562653991662od_b_c,B3: product_prod_nat_nat] :
          ( Y2
         != ( produc3197953233266746538at_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_162_old_Oprod_Oexhaust,axiom,
    ! [Y2: product_prod_nat_nat] :
      ~ ! [A3: nat,B3: nat] :
          ( Y2
         != ( product_Pair_nat_nat @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_163_mem__Collect__eq,axiom,
    ! [A: list_P5698226596436487165_c_nat,P3: list_P5698226596436487165_c_nat > $o] :
      ( ( member2782619610658070420_c_nat @ A @ ( collec3369720005422084306_c_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_164_mem__Collect__eq,axiom,
    ! [A: list_P6011104703257516679at_nat,P3: list_P6011104703257516679at_nat > $o] :
      ( ( member3067507820990806192at_nat @ A @ ( collec3343600615725829874at_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_165_mem__Collect__eq,axiom,
    ! [A: list_P903359562653991662od_b_c,P3: list_P903359562653991662od_b_c > $o] :
      ( ( member6330420149250801815od_b_c @ A @ ( collec2280997390073109977od_b_c @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_166_mem__Collect__eq,axiom,
    ! [A: list_a,P3: list_a > $o] :
      ( ( member_list_a @ A @ ( collect_list_a @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_167_mem__Collect__eq,axiom,
    ! [A: nat,P3: nat > $o] :
      ( ( member_nat @ A @ ( collect_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_168_mem__Collect__eq,axiom,
    ! [A: a,P3: a > $o] :
      ( ( member_a @ A @ ( collect_a @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_169_mem__Collect__eq,axiom,
    ! [A: product_prod_b_c,P3: product_prod_b_c > $o] :
      ( ( member7862447941013992593od_b_c @ A @ ( collec548942224018234067od_b_c @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_170_Collect__mem__eq,axiom,
    ! [A4: set_li8833770213754931_c_nat] :
      ( ( collec3369720005422084306_c_nat
        @ ^ [X4: list_P5698226596436487165_c_nat] : ( member2782619610658070420_c_nat @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_171_Collect__mem__eq,axiom,
    ! [A4: set_li5450038453877631591at_nat] :
      ( ( collec3343600615725829874at_nat
        @ ^ [X4: list_P6011104703257516679at_nat] : ( member3067507820990806192at_nat @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_172_Collect__mem__eq,axiom,
    ! [A4: set_li6436108459499378894od_b_c] :
      ( ( collec2280997390073109977od_b_c
        @ ^ [X4: list_P903359562653991662od_b_c] : ( member6330420149250801815od_b_c @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_173_Collect__mem__eq,axiom,
    ! [A4: set_list_a] :
      ( ( collect_list_a
        @ ^ [X4: list_a] : ( member_list_a @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_174_Collect__mem__eq,axiom,
    ! [A4: set_nat] :
      ( ( collect_nat
        @ ^ [X4: nat] : ( member_nat @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_175_Collect__mem__eq,axiom,
    ! [A4: set_a] :
      ( ( collect_a
        @ ^ [X4: a] : ( member_a @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_176_Collect__mem__eq,axiom,
    ! [A4: set_Product_prod_b_c] :
      ( ( collec548942224018234067od_b_c
        @ ^ [X4: product_prod_b_c] : ( member7862447941013992593od_b_c @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_177_Collect__cong,axiom,
    ! [P3: product_prod_b_c > $o,Q: product_prod_b_c > $o] :
      ( ! [X: product_prod_b_c] :
          ( ( P3 @ X )
          = ( Q @ X ) )
     => ( ( collec548942224018234067od_b_c @ P3 )
        = ( collec548942224018234067od_b_c @ Q ) ) ) ).

% Collect_cong
thf(fact_178_Collect__cong,axiom,
    ! [P3: a > $o,Q: a > $o] :
      ( ! [X: a] :
          ( ( P3 @ X )
          = ( Q @ X ) )
     => ( ( collect_a @ P3 )
        = ( collect_a @ Q ) ) ) ).

% Collect_cong
thf(fact_179_surj__pair,axiom,
    ! [P4: produc2133359284458116493od_c_a] :
    ? [X: b,Y: product_prod_c_a] :
      ( P4
      = ( produc3440865914000881661od_c_a @ X @ Y ) ) ).

% surj_pair
thf(fact_180_surj__pair,axiom,
    ! [P4: produc6475121930738208726od_b_c] :
    ? [X: b,Y: list_P903359562653991662od_b_c] :
      ( P4
      = ( produc561751498933632326od_b_c @ X @ Y ) ) ).

% surj_pair
thf(fact_181_surj__pair,axiom,
    ! [P4: produc2204162461157160941_nat_a] :
    ? [X: a,Y: produc8810778048539276352_nat_a] :
      ( P4
      = ( produc2159433139309999975_nat_a @ X @ Y ) ) ).

% surj_pair
thf(fact_182_surj__pair,axiom,
    ! [P4: produc2669932201312201782od_c_a] :
    ? [X: a,Y: produc2133359284458116493od_c_a] :
      ( P4
      = ( produc5762801557034676134od_c_a @ X @ Y ) ) ).

% surj_pair
thf(fact_183_surj__pair,axiom,
    ! [P4: produc8685980395799941037list_a] :
    ? [X: a,Y: list_a] :
      ( P4
      = ( produc6670463072477821725list_a @ X @ Y ) ) ).

% surj_pair
thf(fact_184_surj__pair,axiom,
    ! [P4: product_prod_b_c] :
    ? [X: b,Y: c] :
      ( P4
      = ( product_Pair_b_c @ X @ Y ) ) ).

% surj_pair
thf(fact_185_surj__pair,axiom,
    ! [P4: produc7736452900028564794at_nat] :
    ? [X: list_P903359562653991662od_b_c,Y: product_prod_nat_nat] :
      ( P4
      = ( produc3197953233266746538at_nat @ X @ Y ) ) ).

% surj_pair
thf(fact_186_surj__pair,axiom,
    ! [P4: product_prod_nat_nat] :
    ? [X: nat,Y: nat] :
      ( P4
      = ( product_Pair_nat_nat @ X @ Y ) ) ).

% surj_pair
thf(fact_187_prod__cases,axiom,
    ! [P3: produc2133359284458116493od_c_a > $o,P4: produc2133359284458116493od_c_a] :
      ( ! [A3: b,B3: product_prod_c_a] : ( P3 @ ( produc3440865914000881661od_c_a @ A3 @ B3 ) )
     => ( P3 @ P4 ) ) ).

% prod_cases
thf(fact_188_prod__cases,axiom,
    ! [P3: produc6475121930738208726od_b_c > $o,P4: produc6475121930738208726od_b_c] :
      ( ! [A3: b,B3: list_P903359562653991662od_b_c] : ( P3 @ ( produc561751498933632326od_b_c @ A3 @ B3 ) )
     => ( P3 @ P4 ) ) ).

% prod_cases
thf(fact_189_prod__cases,axiom,
    ! [P3: produc2204162461157160941_nat_a > $o,P4: produc2204162461157160941_nat_a] :
      ( ! [A3: a,B3: produc8810778048539276352_nat_a] : ( P3 @ ( produc2159433139309999975_nat_a @ A3 @ B3 ) )
     => ( P3 @ P4 ) ) ).

% prod_cases
thf(fact_190_prod__cases,axiom,
    ! [P3: produc2669932201312201782od_c_a > $o,P4: produc2669932201312201782od_c_a] :
      ( ! [A3: a,B3: produc2133359284458116493od_c_a] : ( P3 @ ( produc5762801557034676134od_c_a @ A3 @ B3 ) )
     => ( P3 @ P4 ) ) ).

% prod_cases
thf(fact_191_prod__cases,axiom,
    ! [P3: produc8685980395799941037list_a > $o,P4: produc8685980395799941037list_a] :
      ( ! [A3: a,B3: list_a] : ( P3 @ ( produc6670463072477821725list_a @ A3 @ B3 ) )
     => ( P3 @ P4 ) ) ).

% prod_cases
thf(fact_192_prod__cases,axiom,
    ! [P3: product_prod_b_c > $o,P4: product_prod_b_c] :
      ( ! [A3: b,B3: c] : ( P3 @ ( product_Pair_b_c @ A3 @ B3 ) )
     => ( P3 @ P4 ) ) ).

% prod_cases
thf(fact_193_prod__cases,axiom,
    ! [P3: produc7736452900028564794at_nat > $o,P4: produc7736452900028564794at_nat] :
      ( ! [A3: list_P903359562653991662od_b_c,B3: product_prod_nat_nat] : ( P3 @ ( produc3197953233266746538at_nat @ A3 @ B3 ) )
     => ( P3 @ P4 ) ) ).

% prod_cases
thf(fact_194_prod__cases,axiom,
    ! [P3: product_prod_nat_nat > $o,P4: product_prod_nat_nat] :
      ( ! [A3: nat,B3: nat] : ( P3 @ ( product_Pair_nat_nat @ A3 @ B3 ) )
     => ( P3 @ P4 ) ) ).

% prod_cases
thf(fact_195_Pair__inject,axiom,
    ! [A: b,B: product_prod_c_a,A2: b,B2: product_prod_c_a] :
      ( ( ( produc3440865914000881661od_c_a @ A @ B )
        = ( produc3440865914000881661od_c_a @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_196_Pair__inject,axiom,
    ! [A: b,B: list_P903359562653991662od_b_c,A2: b,B2: list_P903359562653991662od_b_c] :
      ( ( ( produc561751498933632326od_b_c @ A @ B )
        = ( produc561751498933632326od_b_c @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_197_Pair__inject,axiom,
    ! [A: a,B: produc8810778048539276352_nat_a,A2: a,B2: produc8810778048539276352_nat_a] :
      ( ( ( produc2159433139309999975_nat_a @ A @ B )
        = ( produc2159433139309999975_nat_a @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_198_Pair__inject,axiom,
    ! [A: a,B: produc2133359284458116493od_c_a,A2: a,B2: produc2133359284458116493od_c_a] :
      ( ( ( produc5762801557034676134od_c_a @ A @ B )
        = ( produc5762801557034676134od_c_a @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_199_Pair__inject,axiom,
    ! [A: a,B: list_a,A2: a,B2: list_a] :
      ( ( ( produc6670463072477821725list_a @ A @ B )
        = ( produc6670463072477821725list_a @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_200_Pair__inject,axiom,
    ! [A: b,B: c,A2: b,B2: c] :
      ( ( ( product_Pair_b_c @ A @ B )
        = ( product_Pair_b_c @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_201_Pair__inject,axiom,
    ! [A: list_P903359562653991662od_b_c,B: product_prod_nat_nat,A2: list_P903359562653991662od_b_c,B2: product_prod_nat_nat] :
      ( ( ( produc3197953233266746538at_nat @ A @ B )
        = ( produc3197953233266746538at_nat @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

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

% Pair_inject
thf(fact_203_fst__eqD,axiom,
    ! [X2: b,Y2: list_P903359562653991662od_b_c,A: b] :
      ( ( ( produc1681999321330946354od_b_c @ ( produc561751498933632326od_b_c @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_204_fst__eqD,axiom,
    ! [X2: a,Y2: produc8810778048539276352_nat_a,A: a] :
      ( ( ( produc2115393876150360187_nat_a @ ( produc2159433139309999975_nat_a @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_205_fst__eqD,axiom,
    ! [X2: a,Y2: list_a,A: a] :
      ( ( ( product_fst_a_list_a @ ( produc6670463072477821725list_a @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_206_fst__eqD,axiom,
    ! [X2: b,Y2: product_prod_c_a,A: b] :
      ( ( ( produc301949074746585577od_c_a @ ( produc3440865914000881661od_c_a @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_207_fst__eqD,axiom,
    ! [X2: a,Y2: produc3837118262317687325_nat_a,A: a] :
      ( ( ( produc64678959867521058_nat_a @ ( produc6634608543428555318_nat_a @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_208_fst__eqD,axiom,
    ! [X2: a,Y2: produc6033039080626123092_nat_a,A: a] :
      ( ( ( produc1324566900800903129_nat_a @ ( produc3035341915875714029_nat_a @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_209_fst__eqD,axiom,
    ! [X2: a,Y2: produc2133359284458116493od_c_a,A: a] :
      ( ( ( produc4225943634317630866od_c_a @ ( produc5762801557034676134od_c_a @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_210_fst__eqD,axiom,
    ! [X2: b,Y2: c,A: b] :
      ( ( ( product_fst_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_211_fst__eqD,axiom,
    ! [X2: nat,Y2: nat,A: nat] :
      ( ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_212_fst__eqD,axiom,
    ! [X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,A: list_P903359562653991662od_b_c] :
      ( ( ( produc6927617529171309206at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) )
        = A )
     => ( X2 = A ) ) ).

% fst_eqD
thf(fact_213_fst__conv,axiom,
    ! [X1: b,X23: list_P903359562653991662od_b_c] :
      ( ( produc1681999321330946354od_b_c @ ( produc561751498933632326od_b_c @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_214_fst__conv,axiom,
    ! [X1: a,X23: produc8810778048539276352_nat_a] :
      ( ( produc2115393876150360187_nat_a @ ( produc2159433139309999975_nat_a @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_215_fst__conv,axiom,
    ! [X1: a,X23: list_a] :
      ( ( product_fst_a_list_a @ ( produc6670463072477821725list_a @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_216_fst__conv,axiom,
    ! [X1: b,X23: product_prod_c_a] :
      ( ( produc301949074746585577od_c_a @ ( produc3440865914000881661od_c_a @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_217_fst__conv,axiom,
    ! [X1: a,X23: produc3837118262317687325_nat_a] :
      ( ( produc64678959867521058_nat_a @ ( produc6634608543428555318_nat_a @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_218_fst__conv,axiom,
    ! [X1: a,X23: produc6033039080626123092_nat_a] :
      ( ( produc1324566900800903129_nat_a @ ( produc3035341915875714029_nat_a @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_219_fst__conv,axiom,
    ! [X1: a,X23: produc2133359284458116493od_c_a] :
      ( ( produc4225943634317630866od_c_a @ ( produc5762801557034676134od_c_a @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_220_fst__conv,axiom,
    ! [X1: b,X23: c] :
      ( ( product_fst_b_c @ ( product_Pair_b_c @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_221_fst__conv,axiom,
    ! [X1: nat,X23: nat] :
      ( ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_222_fst__conv,axiom,
    ! [X1: list_P903359562653991662od_b_c,X23: product_prod_nat_nat] :
      ( ( produc6927617529171309206at_nat @ ( produc3197953233266746538at_nat @ X1 @ X23 ) )
      = X1 ) ).

% fst_conv
thf(fact_223_prod__cases3,axiom,
    ! [Y2: produc2133359284458116493od_c_a] :
      ~ ! [A3: b,B3: c,C: a] :
          ( Y2
         != ( produc3440865914000881661od_c_a @ A3 @ ( product_Pair_c_a @ B3 @ C ) ) ) ).

% prod_cases3
thf(fact_224_prod__cases3,axiom,
    ! [Y2: produc2204162461157160941_nat_a] :
      ~ ! [A3: a,B3: list_P903359562653991662od_b_c,C: product_prod_nat_a] :
          ( Y2
         != ( produc2159433139309999975_nat_a @ A3 @ ( produc5352094778760718394_nat_a @ B3 @ C ) ) ) ).

% prod_cases3
thf(fact_225_prod__cases3,axiom,
    ! [Y2: produc2669932201312201782od_c_a] :
      ~ ! [A3: a,B3: b,C: product_prod_c_a] :
          ( Y2
         != ( produc5762801557034676134od_c_a @ A3 @ ( produc3440865914000881661od_c_a @ B3 @ C ) ) ) ).

% prod_cases3
thf(fact_226_prod__cases3,axiom,
    ! [Y2: produc7736452900028564794at_nat] :
      ~ ! [A3: list_P903359562653991662od_b_c,B3: nat,C: nat] :
          ( Y2
         != ( produc3197953233266746538at_nat @ A3 @ ( product_Pair_nat_nat @ B3 @ C ) ) ) ).

% prod_cases3
thf(fact_227_prod__cases4,axiom,
    ! [Y2: produc2204162461157160941_nat_a] :
      ~ ! [A3: a,B3: list_P903359562653991662od_b_c,C: nat,D: a] :
          ( Y2
         != ( produc2159433139309999975_nat_a @ A3 @ ( produc5352094778760718394_nat_a @ B3 @ ( product_Pair_nat_a @ C @ D ) ) ) ) ).

% prod_cases4
thf(fact_228_prod__cases4,axiom,
    ! [Y2: produc2669932201312201782od_c_a] :
      ~ ! [A3: a,B3: b,C: c,D: a] :
          ( Y2
         != ( produc5762801557034676134od_c_a @ A3 @ ( produc3440865914000881661od_c_a @ B3 @ ( product_Pair_c_a @ C @ D ) ) ) ) ).

% prod_cases4
thf(fact_229_prod__induct3,axiom,
    ! [P3: produc2133359284458116493od_c_a > $o,X2: produc2133359284458116493od_c_a] :
      ( ! [A3: b,B3: c,C: a] : ( P3 @ ( produc3440865914000881661od_c_a @ A3 @ ( product_Pair_c_a @ B3 @ C ) ) )
     => ( P3 @ X2 ) ) ).

% prod_induct3
thf(fact_230_prod__induct3,axiom,
    ! [P3: produc2204162461157160941_nat_a > $o,X2: produc2204162461157160941_nat_a] :
      ( ! [A3: a,B3: list_P903359562653991662od_b_c,C: product_prod_nat_a] : ( P3 @ ( produc2159433139309999975_nat_a @ A3 @ ( produc5352094778760718394_nat_a @ B3 @ C ) ) )
     => ( P3 @ X2 ) ) ).

% prod_induct3
thf(fact_231_prod__induct3,axiom,
    ! [P3: produc2669932201312201782od_c_a > $o,X2: produc2669932201312201782od_c_a] :
      ( ! [A3: a,B3: b,C: product_prod_c_a] : ( P3 @ ( produc5762801557034676134od_c_a @ A3 @ ( produc3440865914000881661od_c_a @ B3 @ C ) ) )
     => ( P3 @ X2 ) ) ).

% prod_induct3
thf(fact_232_prod__induct3,axiom,
    ! [P3: produc7736452900028564794at_nat > $o,X2: produc7736452900028564794at_nat] :
      ( ! [A3: list_P903359562653991662od_b_c,B3: nat,C: nat] : ( P3 @ ( produc3197953233266746538at_nat @ A3 @ ( product_Pair_nat_nat @ B3 @ C ) ) )
     => ( P3 @ X2 ) ) ).

% prod_induct3
thf(fact_233_prod__induct4,axiom,
    ! [P3: produc2204162461157160941_nat_a > $o,X2: produc2204162461157160941_nat_a] :
      ( ! [A3: a,B3: list_P903359562653991662od_b_c,C: nat,D: a] : ( P3 @ ( produc2159433139309999975_nat_a @ A3 @ ( produc5352094778760718394_nat_a @ B3 @ ( product_Pair_nat_a @ C @ D ) ) ) )
     => ( P3 @ X2 ) ) ).

% prod_induct4
thf(fact_234_prod__induct4,axiom,
    ! [P3: produc2669932201312201782od_c_a > $o,X2: produc2669932201312201782od_c_a] :
      ( ! [A3: a,B3: b,C: c,D: a] : ( P3 @ ( produc5762801557034676134od_c_a @ A3 @ ( produc3440865914000881661od_c_a @ B3 @ ( product_Pair_c_a @ C @ D ) ) ) )
     => ( P3 @ X2 ) ) ).

% prod_induct4
thf(fact_235_combine__options__cases,axiom,
    ! [X2: option4860840611552367828od_b_c,P3: option4860840611552367828od_b_c > option4860840611552367828od_b_c > $o,Y2: option4860840611552367828od_b_c] :
      ( ( ( X2 = none_P1973817385574297839od_b_c )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_P1973817385574297839od_b_c )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: prefix425356687782099470od_b_c,B3: prefix425356687782099470od_b_c] :
              ( ( X2
                = ( some_P522567261666896499od_b_c @ A3 ) )
             => ( ( Y2
                  = ( some_P522567261666896499od_b_c @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_236_combine__options__cases,axiom,
    ! [X2: option_nat,P3: option_nat > option_nat > $o,Y2: option_nat] :
      ( ( ( X2 = none_nat )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_nat )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: nat,B3: nat] :
              ( ( X2
                = ( some_nat @ A3 ) )
             => ( ( Y2
                  = ( some_nat @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_237_combine__options__cases,axiom,
    ! [X2: option_nat,P3: option_nat > option_a > $o,Y2: option_a] :
      ( ( ( X2 = none_nat )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_a )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: nat,B3: a] :
              ( ( X2
                = ( some_nat @ A3 ) )
             => ( ( Y2
                  = ( some_a @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_238_combine__options__cases,axiom,
    ! [X2: option_a,P3: option_a > option_nat > $o,Y2: option_nat] :
      ( ( ( X2 = none_a )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_nat )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: a,B3: nat] :
              ( ( X2
                = ( some_a @ A3 ) )
             => ( ( Y2
                  = ( some_nat @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_239_combine__options__cases,axiom,
    ! [X2: option_a,P3: option_a > option_a > $o,Y2: option_a] :
      ( ( ( X2 = none_a )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_a )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: a,B3: a] :
              ( ( X2
                = ( some_a @ A3 ) )
             => ( ( Y2
                  = ( some_a @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_240_combine__options__cases,axiom,
    ! [X2: option4716579502443089070od_b_c,P3: option4716579502443089070od_b_c > option_nat > $o,Y2: option_nat] :
      ( ( ( X2 = none_P8350622247268937417od_b_c )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_nat )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: product_prod_b_c,B3: nat] :
              ( ( X2
                = ( some_P804611721829158477od_b_c @ A3 ) )
             => ( ( Y2
                  = ( some_nat @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_241_combine__options__cases,axiom,
    ! [X2: option4716579502443089070od_b_c,P3: option4716579502443089070od_b_c > option_a > $o,Y2: option_a] :
      ( ( ( X2 = none_P8350622247268937417od_b_c )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_a )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: product_prod_b_c,B3: a] :
              ( ( X2
                = ( some_P804611721829158477od_b_c @ A3 ) )
             => ( ( Y2
                  = ( some_a @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_242_combine__options__cases,axiom,
    ! [X2: option_nat,P3: option_nat > option4716579502443089070od_b_c > $o,Y2: option4716579502443089070od_b_c] :
      ( ( ( X2 = none_nat )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_P8350622247268937417od_b_c )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: nat,B3: product_prod_b_c] :
              ( ( X2
                = ( some_nat @ A3 ) )
             => ( ( Y2
                  = ( some_P804611721829158477od_b_c @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_243_combine__options__cases,axiom,
    ! [X2: option_a,P3: option_a > option4716579502443089070od_b_c > $o,Y2: option4716579502443089070od_b_c] :
      ( ( ( X2 = none_a )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_P8350622247268937417od_b_c )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: a,B3: product_prod_b_c] :
              ( ( X2
                = ( some_a @ A3 ) )
             => ( ( Y2
                  = ( some_P804611721829158477od_b_c @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_244_combine__options__cases,axiom,
    ! [X2: option4860840611552367828od_b_c,P3: option4860840611552367828od_b_c > option_nat > $o,Y2: option_nat] :
      ( ( ( X2 = none_P1973817385574297839od_b_c )
       => ( P3 @ X2 @ Y2 ) )
     => ( ( ( Y2 = none_nat )
         => ( P3 @ X2 @ Y2 ) )
       => ( ! [A3: prefix425356687782099470od_b_c,B3: nat] :
              ( ( X2
                = ( some_P522567261666896499od_b_c @ A3 ) )
             => ( ( Y2
                  = ( some_nat @ B3 ) )
               => ( P3 @ X2 @ Y2 ) ) )
         => ( P3 @ X2 @ Y2 ) ) ) ) ).

% combine_options_cases
thf(fact_245_not__Some__eq2,axiom,
    ! [V: option501086424517115475od_c_a] :
      ( ( ! [X4: b,Y3: product_prod_c_a] :
            ( V
           != ( some_P7527605245950437490od_c_a @ ( produc3440865914000881661od_c_a @ X4 @ Y3 ) ) ) )
      = ( V = none_P6162255670594677998od_c_a ) ) ).

% not_Some_eq2
thf(fact_246_not__Some__eq2,axiom,
    ! [V: option4534702620024642204od_b_c] :
      ( ( ! [X4: b,Y3: list_P903359562653991662od_b_c] :
            ( V
           != ( some_P2601565919338736699od_b_c @ ( produc561751498933632326od_b_c @ X4 @ Y3 ) ) ) )
      = ( V = none_P6159452403498795703od_b_c ) ) ).

% not_Some_eq2
thf(fact_247_not__Some__eq2,axiom,
    ! [V: option1731697217459114045_nat_a] :
      ( ( ! [X4: a,Y3: produc8810778048539276352_nat_a] :
            ( V
           != ( some_P8170891091866834504_nat_a @ ( produc2159433139309999975_nat_a @ X4 @ Y3 ) ) ) )
      = ( V = none_P4658209008782708940_nat_a ) ) ).

% not_Some_eq2
thf(fact_248_not__Some__eq2,axiom,
    ! [V: option6852666198823255420od_c_a] :
      ( ( ! [X4: a,Y3: produc2133359284458116493od_c_a] :
            ( V
           != ( some_P4170542693840572955od_c_a @ ( produc5762801557034676134od_c_a @ X4 @ Y3 ) ) ) )
      = ( V = none_P4709881796834261655od_c_a ) ) ).

% not_Some_eq2
thf(fact_249_not__Some__eq2,axiom,
    ! [V: option5880730194448810034list_a] :
      ( ( ! [X4: a,Y3: produc3241985283594612419list_a] :
            ( V
           != ( some_P4067962326982009553list_a @ ( produc6577891573648943196list_a @ X4 @ Y3 ) ) ) )
      = ( V = none_P7740950825577307469list_a ) ) ).

% not_Some_eq2
thf(fact_250_not__Some__eq2,axiom,
    ! [V: option231006655626737692list_a] :
      ( ( ! [X4: a,Y3: produc8685980395799941037list_a] :
            ( V
           != ( some_P3752422024458357179list_a @ ( produc4637898189279758918list_a @ X4 @ Y3 ) ) ) )
      = ( V = none_P7310308508618416183list_a ) ) ).

% not_Some_eq2
thf(fact_251_not__Some__eq2,axiom,
    ! [V: option2754391658759188979list_a] :
      ( ( ! [X4: a,Y3: list_a] :
            ( V
           != ( some_P8471903096582035730list_a @ ( produc6670463072477821725list_a @ X4 @ Y3 ) ) ) )
      = ( V = none_P9027680122973965198list_a ) ) ).

% not_Some_eq2
thf(fact_252_not__Some__eq2,axiom,
    ! [V: option4716579502443089070od_b_c] :
      ( ( ! [X4: b,Y3: c] :
            ( V
           != ( some_P804611721829158477od_b_c @ ( product_Pair_b_c @ X4 @ Y3 ) ) ) )
      = ( V = none_P8350622247268937417od_b_c ) ) ).

% not_Some_eq2
thf(fact_253_not__Some__eq2,axiom,
    ! [V: option3485155124158053504at_nat] :
      ( ( ! [X4: list_P903359562653991662od_b_c,Y3: product_prod_nat_nat] :
            ( V
           != ( some_P5517938161798005535at_nat @ ( produc3197953233266746538at_nat @ X4 @ Y3 ) ) ) )
      = ( V = none_P4332225995864378267at_nat ) ) ).

% not_Some_eq2
thf(fact_254_not__Some__eq2,axiom,
    ! [V: option4927543243414619207at_nat] :
      ( ( ! [X4: nat,Y3: nat] :
            ( V
           != ( some_P7363390416028606310at_nat @ ( product_Pair_nat_nat @ X4 @ Y3 ) ) ) )
      = ( V = none_P5556105721700978146at_nat ) ) ).

% not_Some_eq2
thf(fact_255_h__obs_Ocases,axiom,
    ! [X2: produc5988948626131613619od_c_a] :
      ~ ! [M: fSM_fsm_impl_b_c_a,Q3: b,X: c,Y: a] :
          ( X2
         != ( produc867945525367740067od_c_a @ M @ ( produc3440865914000881661od_c_a @ Q3 @ ( product_Pair_c_a @ X @ Y ) ) ) ) ).

% h_obs.cases
thf(fact_256_h__obs_Ocases,axiom,
    ! [X2: produc4604037301588677427_nat_a] :
      ~ ! [M: fSM_fs1197123577718402021_nat_a,Q3: a,X: list_P903359562653991662od_b_c,Y: product_prod_nat_a] :
          ( X2
         != ( produc2335820665000600427_nat_a @ M @ ( produc2159433139309999975_nat_a @ Q3 @ ( produc5352094778760718394_nat_a @ X @ Y ) ) ) ) ).

% h_obs.cases
thf(fact_257_h__obs_Ocases,axiom,
    ! [X2: produc6163117450648659381od_c_a] :
      ~ ! [M: fSM_fs6392807071807805864od_c_a,Q3: a,X: b,Y: product_prod_c_a] :
          ( X2
         != ( produc7402072633542172453od_c_a @ M @ ( produc5762801557034676134od_c_a @ Q3 @ ( produc3440865914000881661od_c_a @ X @ Y ) ) ) ) ).

% h_obs.cases
thf(fact_258_h__obs_Ocases,axiom,
    ! [X2: produc8848519422210214741at_nat] :
      ~ ! [M: fSM_fs3411120469802430476at_nat,Q3: list_P903359562653991662od_b_c,X: nat,Y: nat] :
          ( X2
         != ( produc5817008397836138181at_nat @ M @ ( produc3197953233266746538at_nat @ Q3 @ ( product_Pair_nat_nat @ X @ Y ) ) ) ) ).

% h_obs.cases
thf(fact_259_fstE,axiom,
    ! [X2: produc6475121930738208726od_b_c,A: b,B: list_P903359562653991662od_b_c,P3: b > $o] :
      ( ( X2
        = ( produc561751498933632326od_b_c @ A @ B ) )
     => ( ( P3 @ ( produc1681999321330946354od_b_c @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_260_fstE,axiom,
    ! [X2: produc2204162461157160941_nat_a,A: a,B: produc8810778048539276352_nat_a,P3: a > $o] :
      ( ( X2
        = ( produc2159433139309999975_nat_a @ A @ B ) )
     => ( ( P3 @ ( produc2115393876150360187_nat_a @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_261_fstE,axiom,
    ! [X2: produc8685980395799941037list_a,A: a,B: list_a,P3: a > $o] :
      ( ( X2
        = ( produc6670463072477821725list_a @ A @ B ) )
     => ( ( P3 @ ( product_fst_a_list_a @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_262_fstE,axiom,
    ! [X2: produc2133359284458116493od_c_a,A: b,B: product_prod_c_a,P3: b > $o] :
      ( ( X2
        = ( produc3440865914000881661od_c_a @ A @ B ) )
     => ( ( P3 @ ( produc301949074746585577od_c_a @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_263_fstE,axiom,
    ! [X2: produc5171416974914315462_nat_a,A: a,B: produc3837118262317687325_nat_a,P3: a > $o] :
      ( ( X2
        = ( produc6634608543428555318_nat_a @ A @ B ) )
     => ( ( P3 @ ( produc64678959867521058_nat_a @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_264_fstE,axiom,
    ! [X2: produc5553150636051250045_nat_a,A: a,B: produc6033039080626123092_nat_a,P3: a > $o] :
      ( ( X2
        = ( produc3035341915875714029_nat_a @ A @ B ) )
     => ( ( P3 @ ( produc1324566900800903129_nat_a @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_265_fstE,axiom,
    ! [X2: produc2669932201312201782od_c_a,A: a,B: produc2133359284458116493od_c_a,P3: a > $o] :
      ( ( X2
        = ( produc5762801557034676134od_c_a @ A @ B ) )
     => ( ( P3 @ ( produc4225943634317630866od_c_a @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_266_fstE,axiom,
    ! [X2: product_prod_b_c,A: b,B: c,P3: b > $o] :
      ( ( X2
        = ( product_Pair_b_c @ A @ B ) )
     => ( ( P3 @ ( product_fst_b_c @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_267_fstE,axiom,
    ! [X2: product_prod_nat_nat,A: nat,B: nat,P3: nat > $o] :
      ( ( X2
        = ( product_Pair_nat_nat @ A @ B ) )
     => ( ( P3 @ ( product_fst_nat_nat @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_268_fstE,axiom,
    ! [X2: produc7736452900028564794at_nat,A: list_P903359562653991662od_b_c,B: product_prod_nat_nat,P3: list_P903359562653991662od_b_c > $o] :
      ( ( X2
        = ( produc3197953233266746538at_nat @ A @ B ) )
     => ( ( P3 @ ( produc6927617529171309206at_nat @ X2 ) )
       => ( P3 @ A ) ) ) ).

% fstE
thf(fact_269_fstI,axiom,
    ! [X2: produc6475121930738208726od_b_c,Y2: b,Z: list_P903359562653991662od_b_c] :
      ( ( X2
        = ( produc561751498933632326od_b_c @ Y2 @ Z ) )
     => ( ( produc1681999321330946354od_b_c @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_270_fstI,axiom,
    ! [X2: produc2204162461157160941_nat_a,Y2: a,Z: produc8810778048539276352_nat_a] :
      ( ( X2
        = ( produc2159433139309999975_nat_a @ Y2 @ Z ) )
     => ( ( produc2115393876150360187_nat_a @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_271_fstI,axiom,
    ! [X2: produc8685980395799941037list_a,Y2: a,Z: list_a] :
      ( ( X2
        = ( produc6670463072477821725list_a @ Y2 @ Z ) )
     => ( ( product_fst_a_list_a @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_272_fstI,axiom,
    ! [X2: produc2133359284458116493od_c_a,Y2: b,Z: product_prod_c_a] :
      ( ( X2
        = ( produc3440865914000881661od_c_a @ Y2 @ Z ) )
     => ( ( produc301949074746585577od_c_a @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_273_fstI,axiom,
    ! [X2: produc5171416974914315462_nat_a,Y2: a,Z: produc3837118262317687325_nat_a] :
      ( ( X2
        = ( produc6634608543428555318_nat_a @ Y2 @ Z ) )
     => ( ( produc64678959867521058_nat_a @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_274_fstI,axiom,
    ! [X2: produc5553150636051250045_nat_a,Y2: a,Z: produc6033039080626123092_nat_a] :
      ( ( X2
        = ( produc3035341915875714029_nat_a @ Y2 @ Z ) )
     => ( ( produc1324566900800903129_nat_a @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_275_fstI,axiom,
    ! [X2: produc2669932201312201782od_c_a,Y2: a,Z: produc2133359284458116493od_c_a] :
      ( ( X2
        = ( produc5762801557034676134od_c_a @ Y2 @ Z ) )
     => ( ( produc4225943634317630866od_c_a @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_276_fstI,axiom,
    ! [X2: product_prod_b_c,Y2: b,Z: c] :
      ( ( X2
        = ( product_Pair_b_c @ Y2 @ Z ) )
     => ( ( product_fst_b_c @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_277_fstI,axiom,
    ! [X2: product_prod_nat_nat,Y2: nat,Z: nat] :
      ( ( X2
        = ( product_Pair_nat_nat @ Y2 @ Z ) )
     => ( ( product_fst_nat_nat @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_278_fstI,axiom,
    ! [X2: produc7736452900028564794at_nat,Y2: list_P903359562653991662od_b_c,Z: product_prod_nat_nat] :
      ( ( X2
        = ( produc3197953233266746538at_nat @ Y2 @ Z ) )
     => ( ( produc6927617529171309206at_nat @ X2 )
        = Y2 ) ) ).

% fstI
thf(fact_279_bex2I,axiom,
    ! [A: b,B: product_prod_c_a,S: set_Pr272002107461315949od_c_a,P3: b > product_prod_c_a > $o] :
      ( ( member1160383752307813046od_c_a @ ( produc3440865914000881661od_c_a @ A @ B ) @ S )
     => ( ( ( member1160383752307813046od_c_a @ ( produc3440865914000881661od_c_a @ A @ B ) @ S )
         => ( P3 @ A @ B ) )
       => ? [A3: b,B3: product_prod_c_a] :
            ( ( member1160383752307813046od_c_a @ ( produc3440865914000881661od_c_a @ A3 @ B3 ) @ S )
            & ( P3 @ A3 @ B3 ) ) ) ) ).

% bex2I
thf(fact_280_bex2I,axiom,
    ! [A: b,B: list_P903359562653991662od_b_c,S: set_Pr7526901305485391030od_b_c,P3: b > list_P903359562653991662od_b_c > $o] :
      ( ( member3357729781826043007od_b_c @ ( produc561751498933632326od_b_c @ A @ B ) @ S )
     => ( ( ( member3357729781826043007od_b_c @ ( produc561751498933632326od_b_c @ A @ B ) @ S )
         => ( P3 @ A @ B ) )
       => ? [A3: b,B3: list_P903359562653991662od_b_c] :
            ( ( member3357729781826043007od_b_c @ ( produc561751498933632326od_b_c @ A3 @ B3 ) @ S )
            & ( P3 @ A3 @ B3 ) ) ) ) ).

% bex2I
thf(fact_281_bex2I,axiom,
    ! [A: a,B: produc8810778048539276352_nat_a,S: set_Pr9076326440790284195_nat_a,P3: a > produc8810778048539276352_nat_a > $o] :
      ( ( member8865540938691003652_nat_a @ ( produc2159433139309999975_nat_a @ A @ B ) @ S )
     => ( ( ( member8865540938691003652_nat_a @ ( produc2159433139309999975_nat_a @ A @ B ) @ S )
         => ( P3 @ A @ B ) )
       => ? [A3: a,B3: produc8810778048539276352_nat_a] :
            ( ( member8865540938691003652_nat_a @ ( produc2159433139309999975_nat_a @ A3 @ B3 ) @ S )
            & ( P3 @ A3 @ B3 ) ) ) ) ).

% bex2I
thf(fact_282_bex2I,axiom,
    ! [A: a,B: produc2133359284458116493od_c_a,S: set_Pr8357624050790843030od_c_a,P3: a > produc2133359284458116493od_c_a > $o] :
      ( ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ A @ B ) @ S )
     => ( ( ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ A @ B ) @ S )
         => ( P3 @ A @ B ) )
       => ? [A3: a,B3: produc2133359284458116493od_c_a] :
            ( ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ A3 @ B3 ) @ S )
            & ( P3 @ A3 @ B3 ) ) ) ) ).

% bex2I
thf(fact_283_bex2I,axiom,
    ! [A: a,B: list_a,S: set_Pr2070066670564046349list_a,P3: a > list_a > $o] :
      ( ( member4889668945541975382list_a @ ( produc6670463072477821725list_a @ A @ B ) @ S )
     => ( ( ( member4889668945541975382list_a @ ( produc6670463072477821725list_a @ A @ B ) @ S )
         => ( P3 @ A @ B ) )
       => ? [A3: a,B3: list_a] :
            ( ( member4889668945541975382list_a @ ( produc6670463072477821725list_a @ A3 @ B3 ) @ S )
            & ( P3 @ A3 @ B3 ) ) ) ) ).

% bex2I
thf(fact_284_bex2I,axiom,
    ! [A: b,B: c,S: set_Product_prod_b_c,P3: b > c > $o] :
      ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ A @ B ) @ S )
     => ( ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ A @ B ) @ S )
         => ( P3 @ A @ B ) )
       => ? [A3: b,B3: c] :
            ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ A3 @ B3 ) @ S )
            & ( P3 @ A3 @ B3 ) ) ) ) ).

% bex2I
thf(fact_285_bex2I,axiom,
    ! [A: list_P903359562653991662od_b_c,B: product_prod_nat_nat,S: set_Pr193325153470804378at_nat,P3: list_P903359562653991662od_b_c > product_prod_nat_nat > $o] :
      ( ( member4657064525606469987at_nat @ ( produc3197953233266746538at_nat @ A @ B ) @ S )
     => ( ( ( member4657064525606469987at_nat @ ( produc3197953233266746538at_nat @ A @ B ) @ S )
         => ( P3 @ A @ B ) )
       => ? [A3: list_P903359562653991662od_b_c,B3: product_prod_nat_nat] :
            ( ( member4657064525606469987at_nat @ ( produc3197953233266746538at_nat @ A3 @ B3 ) @ S )
            & ( P3 @ A3 @ B3 ) ) ) ) ).

% bex2I
thf(fact_286_bex2I,axiom,
    ! [A: nat,B: nat,S: set_Pr1261947904930325089at_nat,P3: nat > nat > $o] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A @ B ) @ S )
     => ( ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A @ B ) @ S )
         => ( P3 @ A @ B ) )
       => ? [A3: nat,B3: nat] :
            ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ A3 @ B3 ) @ S )
            & ( P3 @ A3 @ B3 ) ) ) ) ).

% bex2I
thf(fact_287_list__tail__coinc,axiom,
    ! [N1: list_P903359562653991662od_b_c,R1: list_l8907847357763382004od_b_c,N2: list_P903359562653991662od_b_c,R2: list_l8907847357763382004od_b_c] :
      ( ( ( cons_l342771267123639716od_b_c @ N1 @ R1 )
        = ( cons_l342771267123639716od_b_c @ N2 @ R2 ) )
     => ( ( N1 = N2 )
        & ( R1 = R2 ) ) ) ).

% list_tail_coinc
thf(fact_288_list__tail__coinc,axiom,
    ! [N1: nat,R1: list_nat,N2: nat,R2: list_nat] :
      ( ( ( cons_nat @ N1 @ R1 )
        = ( cons_nat @ N2 @ R2 ) )
     => ( ( N1 = N2 )
        & ( R1 = R2 ) ) ) ).

% list_tail_coinc
thf(fact_289_list__tail__coinc,axiom,
    ! [N1: nat > nat,R1: list_nat_nat,N2: nat > nat,R2: list_nat_nat] :
      ( ( ( cons_nat_nat @ N1 @ R1 )
        = ( cons_nat_nat @ N2 @ R2 ) )
     => ( ( N1 = N2 )
        & ( R1 = R2 ) ) ) ).

% list_tail_coinc
thf(fact_290_list__tail__coinc,axiom,
    ! [N1: b,R1: list_b,N2: b,R2: list_b] :
      ( ( ( cons_b @ N1 @ R1 )
        = ( cons_b @ N2 @ R2 ) )
     => ( ( N1 = N2 )
        & ( R1 = R2 ) ) ) ).

% list_tail_coinc
thf(fact_291_list__tail__coinc,axiom,
    ! [N1: a,R1: list_a,N2: a,R2: list_a] :
      ( ( ( cons_a @ N1 @ R1 )
        = ( cons_a @ N2 @ R2 ) )
     => ( ( N1 = N2 )
        & ( R1 = R2 ) ) ) ).

% list_tail_coinc
thf(fact_292_list__tail__coinc,axiom,
    ! [N1: product_prod_b_c,R1: list_P903359562653991662od_b_c,N2: product_prod_b_c,R2: list_P903359562653991662od_b_c] :
      ( ( ( cons_P4529483553340347422od_b_c @ N1 @ R1 )
        = ( cons_P4529483553340347422od_b_c @ N2 @ R2 ) )
     => ( ( N1 = N2 )
        & ( R1 = R2 ) ) ) ).

% list_tail_coinc
thf(fact_293_add__distinguishing__sequence_Ocases,axiom,
    ! [X2: produc5681210966613421647od_b_c] :
      ~ ! [M: fsm_Pr1214345408167043238at_b_c,Alpha: list_P903359562653991662od_b_c,Q12: product_prod_nat_nat,Beta: list_P903359562653991662od_b_c,Q22: product_prod_nat_nat,T: prefix425356687782099470od_b_c] :
          ( X2
         != ( produc7864716389980156095od_b_c @ M @ ( produc6724292682348736574od_b_c @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha @ Q12 ) @ ( produc3197953233266746538at_nat @ Beta @ Q22 ) ) @ T ) ) ) ).

% add_distinguishing_sequence.cases
thf(fact_294_get__distinguishing__sequence__from__ofsm__tables__refined__distinguishes,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,Q1: nat,Q2: nat] :
      ( ( observ4908692499119641462_c_nat @ M2 )
     => ( ( minima4327894545380061376_c_nat @ M2 )
       => ( ( member_nat @ Q1 @ ( states1391264133215352439_c_nat @ M2 ) )
         => ( ( member_nat @ Q2 @ ( states1391264133215352439_c_nat @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( distin5130361813316652462_c_nat @ M2 @ Q1 @ Q2 @ ( oFSM_T9032323950715697077_c_nat @ M2 @ Q1 @ Q2 ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_refined_distinguishes
thf(fact_295_get__distinguishing__sequence__from__ofsm__tables__refined__distinguishes,axiom,
    ! [M2: fsm_nat_nat_nat,Q1: nat,Q2: nat] :
      ( ( observ3518789870599552490at_nat @ M2 )
     => ( ( minimal_nat_nat_nat @ M2 )
       => ( ( member_nat @ Q1 @ ( states_nat_nat_nat @ M2 ) )
         => ( ( member_nat @ Q2 @ ( states_nat_nat_nat @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( distin2722174249629577650at_nat @ M2 @ Q1 @ Q2 @ ( oFSM_T3741542535127692651at_nat @ M2 @ Q1 @ Q2 ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_refined_distinguishes
thf(fact_296_get__distinguishing__sequence__from__ofsm__tables__refined__distinguishes,axiom,
    ! [M2: fsm_Pr6890445380455706207at_nat,Q1: product_prod_b_c,Q2: product_prod_b_c] :
      ( ( observ1623514629241216003at_nat @ M2 )
     => ( ( minima3665078007882909005at_nat @ M2 )
       => ( ( member7862447941013992593od_b_c @ Q1 @ ( states1078553636851199236at_nat @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ Q2 @ ( states1078553636851199236at_nat @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( distin2297724292587972155at_nat @ M2 @ Q1 @ Q2 @ ( oFSM_T442358205343945282at_nat @ M2 @ Q1 @ Q2 ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_refined_distinguishes
thf(fact_297_get__distinguishing__sequence__from__ofsm__tables__refined__distinguishes,axiom,
    ! [M2: fsm_Pr3844284524609415846at_nat,Q1: product_prod_b_c,Q2: product_prod_b_c] :
      ( ( observ5955862685780505618at_nat @ M2 )
     => ( ( minima3009087187144031836at_nat @ M2 )
       => ( ( member7862447941013992593od_b_c @ Q1 @ ( states7590396833291176851at_nat @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ Q2 @ ( states7590396833291176851at_nat @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( distin7542011243762100810at_nat @ M2 @ Q1 @ Q2 @ ( oFSM_T1422325821518431185at_nat @ M2 @ Q1 @ Q2 ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_refined_distinguishes
thf(fact_298_get__distinguishing__sequence__from__ofsm__tables__refined__distinguishes,axiom,
    ! [M2: fsm_Pr8946560376811747725_c_b_c,Q1: product_prod_b_c,Q2: product_prod_b_c] :
      ( ( observ2355048066641855153_c_b_c @ M2 )
     => ( ( minima2655950506785042427_c_b_c @ M2 )
       => ( ( member7862447941013992593od_b_c @ Q1 @ ( states8981316748681014706_c_b_c @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ Q2 @ ( states8981316748681014706_c_b_c @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( distin2910207492170677481_c_b_c @ M2 @ Q1 @ Q2 @ ( oFSM_T8012898313001787120_c_b_c @ M2 @ Q1 @ Q2 ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_refined_distinguishes
thf(fact_299_eq__fst__iff,axiom,
    ! [A: a,P4: produc5553150636051250045_nat_a] :
      ( ( A
        = ( produc1324566900800903129_nat_a @ P4 ) )
      = ( ? [B4: produc6033039080626123092_nat_a] :
            ( P4
            = ( produc3035341915875714029_nat_a @ A @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_300_eq__fst__iff,axiom,
    ! [A: a,P4: produc2669932201312201782od_c_a] :
      ( ( A
        = ( produc4225943634317630866od_c_a @ P4 ) )
      = ( ? [B4: produc2133359284458116493od_c_a] :
            ( P4
            = ( produc5762801557034676134od_c_a @ A @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_301_eq__fst__iff,axiom,
    ! [A: b,P4: product_prod_b_c] :
      ( ( A
        = ( product_fst_b_c @ P4 ) )
      = ( ? [B4: c] :
            ( P4
            = ( product_Pair_b_c @ A @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_302_eq__fst__iff,axiom,
    ! [A: nat,P4: product_prod_nat_nat] :
      ( ( A
        = ( product_fst_nat_nat @ P4 ) )
      = ( ? [B4: nat] :
            ( P4
            = ( product_Pair_nat_nat @ A @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_303_eq__fst__iff,axiom,
    ! [A: list_P903359562653991662od_b_c,P4: produc7736452900028564794at_nat] :
      ( ( A
        = ( produc6927617529171309206at_nat @ P4 ) )
      = ( ? [B4: product_prod_nat_nat] :
            ( P4
            = ( produc3197953233266746538at_nat @ A @ B4 ) ) ) ) ).

% eq_fst_iff
thf(fact_304_get__distinguishing__sequence__from__ofsm__tables__distinguishes,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Q2: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
         => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( distinguishes_a_b_c @ M2 @ Q1 @ Q2 @ ( get_di2280862616223094331_a_b_c @ M2 @ Q1 @ Q2 ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_distinguishes
thf(fact_305_the__default_Osimps_I2_J,axiom,
    ! [X2: prefix425356687782099470od_b_c] :
      ( ( the_de3739618572334161829od_b_c @ X2 @ none_P1973817385574297839od_b_c )
      = X2 ) ).

% the_default.simps(2)
thf(fact_306_the__default_Osimps_I1_J,axiom,
    ! [Uu: prefix425356687782099470od_b_c,X2: prefix425356687782099470od_b_c] :
      ( ( the_de3739618572334161829od_b_c @ Uu @ ( some_P522567261666896499od_b_c @ X2 ) )
      = X2 ) ).

% the_default.simps(1)
thf(fact_307__092_060open_062t1_A_061_APT_Am1_092_060close_062,axiom,
    ( t1a
    = ( prefix1158171450275386503od_b_c @ m1 ) ) ).

% \<open>t1 = PT m1\<close>
thf(fact_308_not__in__set__insert,axiom,
    ! [X2: a,Xs: list_a] :
      ( ~ ( member_a @ X2 @ ( set_a2 @ Xs ) )
     => ( ( insert_a @ X2 @ Xs )
        = ( cons_a @ X2 @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_309_not__in__set__insert,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
     => ( ( insert4948659547597824900od_b_c @ X2 @ Xs )
        = ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) ) ) ).

% not_in_set_insert
thf(fact_310__092_060open_062t2_A_061_APT_Am2_092_060close_062,axiom,
    ( t2a
    = ( prefix1158171450275386503od_b_c @ m2 ) ) ).

% \<open>t2 = PT m2\<close>
thf(fact_311__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062m1_O_At1_A_061_APT_Am1_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [M1: product_prod_b_c > option4860840611552367828od_b_c] :
        ( t1a
       != ( prefix1158171450275386503od_b_c @ M1 ) ) ).

% \<open>\<And>thesis. (\<And>m1. t1 = PT m1 \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_312_in__set__insert,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
     => ( ( insert_a @ X2 @ Xs )
        = Xs ) ) ).

% in_set_insert
thf(fact_313_in__set__insert,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
     => ( ( insert4948659547597824900od_b_c @ X2 @ Xs )
        = Xs ) ) ).

% in_set_insert
thf(fact_314__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062m2_O_At2_A_061_APT_Am2_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [M22: product_prod_b_c > option4860840611552367828od_b_c] :
        ( t2a
       != ( prefix1158171450275386503od_b_c @ M22 ) ) ).

% \<open>\<And>thesis. (\<And>m2. t2 = PT m2 \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_315_io__targets_Ocases,axiom,
    ! [X2: produc3666952498133006267at_nat] :
      ~ ! [M: fsm_Pr1214345408167043238at_b_c,Io: list_P903359562653991662od_b_c,Q3: product_prod_nat_nat] :
          ( X2
         != ( produc1660899346458340011at_nat @ M @ ( produc3197953233266746538at_nat @ Io @ Q3 ) ) ) ).

% io_targets.cases
thf(fact_316_List_Oinsert__def,axiom,
    ( insert_a
    = ( ^ [X4: a,Xs2: list_a] : ( if_list_a @ ( member_a @ X4 @ ( set_a2 @ Xs2 ) ) @ Xs2 @ ( cons_a @ X4 @ Xs2 ) ) ) ) ).

% List.insert_def
thf(fact_317_List_Oinsert__def,axiom,
    ( insert4948659547597824900od_b_c
    = ( ^ [X4: product_prod_b_c,Xs2: list_P903359562653991662od_b_c] : ( if_lis437861846949295796od_b_c @ ( member7862447941013992593od_b_c @ X4 @ ( set_Product_prod_b_c2 @ Xs2 ) ) @ Xs2 @ ( cons_P4529483553340347422od_b_c @ X4 @ Xs2 ) ) ) ) ).

% List.insert_def
thf(fact_318_distinguishes__sym,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Q2: a,Io2: list_P903359562653991662od_b_c] :
      ( ( distinguishes_a_b_c @ M2 @ Q1 @ Q2 @ Io2 )
     => ( distinguishes_a_b_c @ M2 @ Q2 @ Q1 @ Io2 ) ) ).

% distinguishes_sym
thf(fact_319_get__distinguishing__sequence__from__ofsm__tables__sym,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Q2: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
         => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( ( get_di2280862616223094331_a_b_c @ M2 @ Q1 @ Q2 )
                = ( get_di2280862616223094331_a_b_c @ M2 @ Q2 @ Q1 ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_sym
thf(fact_320_prefix__tree_Oinject,axiom,
    ! [X2: product_prod_b_c > option4860840611552367828od_b_c,Ya: product_prod_b_c > option4860840611552367828od_b_c] :
      ( ( ( prefix1158171450275386503od_b_c @ X2 )
        = ( prefix1158171450275386503od_b_c @ Ya ) )
      = ( X2 = Ya ) ) ).

% prefix_tree.inject
thf(fact_321_get__distinguishing__sequence__from__ofsm__tables__is__minimally__distinguishing,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Q2: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
         => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( minima243535863231358885_a_b_c @ M2 @ Q1 @ Q2 @ ( get_di2280862616223094331_a_b_c @ M2 @ Q1 @ Q2 ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_is_minimally_distinguishing
thf(fact_322_does__distinguish__correctness,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Q2: a,Io2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
       => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
         => ( ( does_d3309555387068894566_a_b_c @ M2 @ Q1 @ Q2 @ Io2 )
            = ( distinguishes_a_b_c @ M2 @ Q1 @ Q2 @ Io2 ) ) ) ) ) ).

% does_distinguish_correctness
thf(fact_323_less_Ohyps,axiom,
    ! [T1: prefix425356687782099470od_b_c,T2: prefix425356687782099470od_b_c,Q1: a,Q2: a] :
      ( ( ord_less_nat @ ( plus_plus_nat @ ( prefix1689370350404964080od_b_c @ ios @ T1 ) @ ( prefix1689370350404964080od_b_c @ ios @ T2 ) ) @ ( plus_plus_nat @ ( prefix1689370350404964080od_b_c @ ios @ t1a ) @ ( prefix1689370350404964080od_b_c @ ios @ t2a ) ) )
     => ( ( member_a @ Q1 @ ( states_a_b_c @ m ) )
       => ( ( member_a @ Q2 @ ( states_a_b_c @ m ) )
         => ( ( Q1 != Q2 )
           => ( distinguishes_a_b_c @ m @ Q1 @ Q2 @ ( produc6927617529171309206at_nat @ ( h_Meth2690202499653945482_a_b_c @ m @ distFun @ ios @ T1 @ Q1 @ T2 @ Q2 ) ) ) ) ) ) ) ).

% less.hyps
thf(fact_324_curryI,axiom,
    ! [F: product_prod_b_c > $o,A: b,B: c] :
      ( ( F @ ( product_Pair_b_c @ A @ B ) )
     => ( product_curry_b_c_o @ F @ A @ B ) ) ).

% curryI
thf(fact_325_curryI,axiom,
    ! [F: produc7736452900028564794at_nat > $o,A: list_P903359562653991662od_b_c,B: product_prod_nat_nat] :
      ( ( F @ ( produc3197953233266746538at_nat @ A @ B ) )
     => ( produc437182360642849594_nat_o @ F @ A @ B ) ) ).

% curryI
thf(fact_326_curryI,axiom,
    ! [F: product_prod_nat_nat > $o,A: nat,B: nat] :
      ( ( F @ ( product_Pair_nat_nat @ A @ B ) )
     => ( produc1310100445399344235_nat_o @ F @ A @ B ) ) ).

% curryI
thf(fact_327_height__over__subtree__less,axiom,
    ! [M3: a > option7782433257363429738tree_a,X2: a,T3: prefix_prefix_tree_a,Xs: list_a] :
      ( ( ( M3 @ X2 )
        = ( some_P2872602042918466569tree_a @ T3 ) )
     => ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
       => ( ord_less_nat @ ( prefix_height_over_a @ Xs @ T3 ) @ ( prefix_height_over_a @ Xs @ ( prefix_prefix_PT_a @ M3 ) ) ) ) ) ).

% height_over_subtree_less
thf(fact_328_height__over__subtree__less,axiom,
    ! [M3: product_prod_b_c > option4860840611552367828od_b_c,X2: product_prod_b_c,T3: prefix425356687782099470od_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( ( M3 @ X2 )
        = ( some_P522567261666896499od_b_c @ T3 ) )
     => ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
       => ( ord_less_nat @ ( prefix1689370350404964080od_b_c @ Xs @ T3 ) @ ( prefix1689370350404964080od_b_c @ Xs @ ( prefix1158171450275386503od_b_c @ M3 ) ) ) ) ) ).

% height_over_subtree_less
thf(fact_329_curryE,axiom,
    ! [F: product_prod_b_c > $o,A: b,B: c] :
      ( ( product_curry_b_c_o @ F @ A @ B )
     => ( F @ ( product_Pair_b_c @ A @ B ) ) ) ).

% curryE
thf(fact_330_curryE,axiom,
    ! [F: produc7736452900028564794at_nat > $o,A: list_P903359562653991662od_b_c,B: product_prod_nat_nat] :
      ( ( produc437182360642849594_nat_o @ F @ A @ B )
     => ( F @ ( produc3197953233266746538at_nat @ A @ B ) ) ) ).

% curryE
thf(fact_331_curryE,axiom,
    ! [F: product_prod_nat_nat > $o,A: nat,B: nat] :
      ( ( produc1310100445399344235_nat_o @ F @ A @ B )
     => ( F @ ( product_Pair_nat_nat @ A @ B ) ) ) ).

% curryE
thf(fact_332_curryD,axiom,
    ! [F: product_prod_b_c > $o,A: b,B: c] :
      ( ( product_curry_b_c_o @ F @ A @ B )
     => ( F @ ( product_Pair_b_c @ A @ B ) ) ) ).

% curryD
thf(fact_333_curryD,axiom,
    ! [F: produc7736452900028564794at_nat > $o,A: list_P903359562653991662od_b_c,B: product_prod_nat_nat] :
      ( ( produc437182360642849594_nat_o @ F @ A @ B )
     => ( F @ ( produc3197953233266746538at_nat @ A @ B ) ) ) ).

% curryD
thf(fact_334_curryD,axiom,
    ! [F: product_prod_nat_nat > $o,A: nat,B: nat] :
      ( ( produc1310100445399344235_nat_o @ F @ A @ B )
     => ( F @ ( product_Pair_nat_nat @ A @ B ) ) ) ).

% curryD
thf(fact_335_finite__tree_Ocases,axiom,
    ! [X2: prefix425356687782099470od_b_c] :
      ~ ! [M4: product_prod_b_c > option4860840611552367828od_b_c] :
          ( X2
         != ( prefix1158171450275386503od_b_c @ M4 ) ) ).

% finite_tree.cases
thf(fact_336_prefix__tree_Oexhaust,axiom,
    ! [Y2: prefix425356687782099470od_b_c] :
      ~ ! [X: product_prod_b_c > option4860840611552367828od_b_c] :
          ( Y2
         != ( prefix1158171450275386503od_b_c @ X ) ) ).

% prefix_tree.exhaust
thf(fact_337_sorted__list__of__maximal__sequences__in__tree_Ocases,axiom,
    ! [X2: prefix425356687782099470od_b_c] :
      ~ ! [M4: product_prod_b_c > option4860840611552367828od_b_c] :
          ( X2
         != ( prefix1158171450275386503od_b_c @ M4 ) ) ).

% sorted_list_of_maximal_sequences_in_tree.cases
thf(fact_338_height__over_Ocases,axiom,
    ! [X2: produc3337489064138154951od_b_c] :
      ~ ! [Xs3: list_P903359562653991662od_b_c,M4: product_prod_b_c > option4860840611552367828od_b_c] :
          ( X2
         != ( produc3717508558737332151od_b_c @ Xs3 @ ( prefix1158171450275386503od_b_c @ M4 ) ) ) ).

% height_over.cases
thf(fact_339_combine_Ocases,axiom,
    ! [X2: produc5275045439768741799od_b_c] :
      ~ ! [M1: product_prod_b_c > option4860840611552367828od_b_c,M22: product_prod_b_c > option4860840611552367828od_b_c] :
          ( X2
         != ( produc4355080799691677847od_b_c @ ( prefix1158171450275386503od_b_c @ M1 ) @ ( prefix1158171450275386503od_b_c @ M22 ) ) ) ).

% combine.cases
thf(fact_340_nat__add__left__cancel__less,axiom,
    ! [K: nat,M3: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K @ M3 ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_nat @ M3 @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_341_less__option__Some,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_option_nat @ ( some_nat @ X2 ) @ ( some_nat @ Y2 ) )
      = ( ord_less_nat @ X2 @ Y2 ) ) ).

% less_option_Some
thf(fact_342_add__less__cancel__left,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) )
      = ( ord_less_nat @ A @ B ) ) ).

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

% add_less_cancel_right
thf(fact_344_Cons__less__Cons,axiom,
    ! [A: product_prod_b_c,X2: list_P903359562653991662od_b_c,B: product_prod_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( ord_le2870576100876692378od_b_c @ ( cons_P4529483553340347422od_b_c @ A @ X2 ) @ ( cons_P4529483553340347422od_b_c @ B @ Y2 ) )
      = ( ( ord_le817911927979441428od_b_c @ A @ B )
        | ( ( A = B )
          & ( ord_le2870576100876692378od_b_c @ X2 @ Y2 ) ) ) ) ).

% Cons_less_Cons
thf(fact_345_Cons__less__Cons,axiom,
    ! [A: nat,X2: list_nat,B: nat,Y2: list_nat] :
      ( ( ord_less_list_nat @ ( cons_nat @ A @ X2 ) @ ( cons_nat @ B @ Y2 ) )
      = ( ( ord_less_nat @ A @ B )
        | ( ( A = B )
          & ( ord_less_list_nat @ X2 @ Y2 ) ) ) ) ).

% Cons_less_Cons
thf(fact_346_add__left__cancel,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C2 ) )
      = ( B = C2 ) ) ).

% add_left_cancel
thf(fact_347_add__right__cancel,axiom,
    ! [B: nat,A: nat,C2: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C2 @ A ) )
      = ( B = C2 ) ) ).

% add_right_cancel
thf(fact_348_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_349_add__right__imp__eq,axiom,
    ! [B: nat,A: nat,C2: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C2 @ A ) )
     => ( B = C2 ) ) ).

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

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

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

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

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

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

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

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

% ab_semigroup_add_class.add_ac(1)
thf(fact_358_linorder__neqE__nat,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( X2 != Y2 )
     => ( ~ ( ord_less_nat @ X2 @ Y2 )
       => ( ord_less_nat @ Y2 @ X2 ) ) ) ).

% linorder_neqE_nat
thf(fact_359_infinite__descent,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ~ ( P3 @ N3 )
         => ? [M5: nat] :
              ( ( ord_less_nat @ M5 @ N3 )
              & ~ ( P3 @ M5 ) ) )
     => ( P3 @ N ) ) ).

% infinite_descent
thf(fact_360_nat__less__induct,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M5: nat] :
              ( ( ord_less_nat @ M5 @ N3 )
             => ( P3 @ M5 ) )
         => ( P3 @ N3 ) )
     => ( P3 @ N ) ) ).

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

% less_irrefl_nat
thf(fact_362_less__not__refl3,axiom,
    ! [S2: nat,T4: nat] :
      ( ( ord_less_nat @ S2 @ T4 )
     => ( S2 != T4 ) ) ).

% less_not_refl3
thf(fact_363_less__not__refl2,axiom,
    ! [N: nat,M3: nat] :
      ( ( ord_less_nat @ N @ M3 )
     => ( M3 != N ) ) ).

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

% less_not_refl
thf(fact_365_nat__neq__iff,axiom,
    ! [M3: nat,N: nat] :
      ( ( M3 != N )
      = ( ( ord_less_nat @ M3 @ N )
        | ( ord_less_nat @ N @ M3 ) ) ) ).

% nat_neq_iff
thf(fact_366_less__list__code_I3_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Y2: product_prod_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( ord_le2870576100876692378od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ ( cons_P4529483553340347422od_b_c @ Y2 @ Ys ) )
      = ( ( ord_le817911927979441428od_b_c @ X2 @ Y2 )
        | ( ( X2 = Y2 )
          & ( ord_le2870576100876692378od_b_c @ Xs @ Ys ) ) ) ) ).

% less_list_code(3)
thf(fact_367_less__list__code_I3_J,axiom,
    ! [X2: nat,Xs: list_nat,Y2: nat,Ys: list_nat] :
      ( ( ord_less_list_nat @ ( cons_nat @ X2 @ Xs ) @ ( cons_nat @ Y2 @ Ys ) )
      = ( ( ord_less_nat @ X2 @ Y2 )
        | ( ( X2 = Y2 )
          & ( ord_less_list_nat @ Xs @ Ys ) ) ) ) ).

% less_list_code(3)
thf(fact_368_add__less__imp__less__right,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_right
thf(fact_369_add__less__imp__less__left,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_left
thf(fact_370_add__strict__right__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) ) ) ).

% add_strict_right_mono
thf(fact_371_add__strict__left__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) ) ) ).

% add_strict_left_mono
thf(fact_372_add__strict__mono,axiom,
    ! [A: nat,B: nat,C2: nat,D2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C2 @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_strict_mono
thf(fact_373_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( K = L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_374_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( I = J )
        & ( ord_less_nat @ K @ L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_375_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_nat @ K @ L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_376_less__add__eq__less,axiom,
    ! [K: nat,L2: nat,M3: nat,N: nat] :
      ( ( ord_less_nat @ K @ L2 )
     => ( ( ( plus_plus_nat @ M3 @ L2 )
          = ( plus_plus_nat @ K @ N ) )
       => ( ord_less_nat @ M3 @ N ) ) ) ).

% less_add_eq_less
thf(fact_377_trans__less__add2,axiom,
    ! [I: nat,J: nat,M3: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ M3 @ J ) ) ) ).

% trans_less_add2
thf(fact_378_trans__less__add1,axiom,
    ! [I: nat,J: nat,M3: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ J @ M3 ) ) ) ).

% trans_less_add1
thf(fact_379_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_380_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

% not_add_less2
thf(fact_381_not__add__less1,axiom,
    ! [I: nat,J: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ I ) ).

% not_add_less1
thf(fact_382_add__less__mono,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ K @ L2 )
       => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ) ).

% add_less_mono
thf(fact_383_in__measures_I2_J,axiom,
    ! [X2: nat,Y2: nat,F: nat > nat,Fs: list_nat_nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( measures_nat @ ( cons_nat_nat @ F @ Fs ) ) )
      = ( ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y2 ) )
        | ( ( ( F @ X2 )
            = ( F @ Y2 ) )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( measures_nat @ Fs ) ) ) ) ) ).

% in_measures(2)
thf(fact_384_create__unconnected__fsm__from__lists__simps_I2_J,axiom,
    ! [Q4: a,Ns: list_a,Ins: list_b,Outs: list_c] :
      ( ( member_a @ Q4 @ ( set_a2 @ Ns ) )
     => ( ( states_a_b_c @ ( create77316410616359891_a_b_c @ Q4 @ Ns @ Ins @ Outs ) )
        = ( set_a2 @ Ns ) ) ) ).

% create_unconnected_fsm_from_lists_simps(2)
thf(fact_385_in__measure,axiom,
    ! [X2: nat,Y2: nat,F: nat > nat] :
      ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( measure_nat @ F ) )
      = ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y2 ) ) ) ).

% in_measure
thf(fact_386_measures__less,axiom,
    ! [F: nat > nat,X2: nat,Y2: nat,Fs: list_nat_nat] :
      ( ( ord_less_nat @ ( F @ X2 ) @ ( F @ Y2 ) )
     => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( measures_nat @ ( cons_nat_nat @ F @ Fs ) ) ) ) ).

% measures_less
thf(fact_387_observable__alt__def,axiom,
    ( observable_a_b_c
    = ( ^ [M6: fsm_a_b_c] :
        ! [Q13: a,X4: b,Y3: c,Q14: a,Q15: a] :
          ( ( ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ Q13 @ ( produc3440865914000881661od_c_a @ X4 @ ( product_Pair_c_a @ Y3 @ Q14 ) ) ) @ ( transitions_a_b_c @ M6 ) )
            & ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ Q13 @ ( produc3440865914000881661od_c_a @ X4 @ ( product_Pair_c_a @ Y3 @ Q15 ) ) ) @ ( transitions_a_b_c @ M6 ) ) )
         => ( Q14 = Q15 ) ) ) ) ).

% observable_alt_def
thf(fact_388_observable__alt__def,axiom,
    ( observ4908692499119641462_c_nat
    = ( ^ [M6: fsm_na8507942939833465170_c_nat] :
        ! [Q13: nat,X4: list_P903359562653991662od_b_c,Y3: nat,Q14: nat,Q15: nat] :
          ( ( ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q13 @ ( produc3197953233266746538at_nat @ X4 @ ( product_Pair_nat_nat @ Y3 @ Q14 ) ) ) @ ( transi6702335687894639939_c_nat @ M6 ) )
            & ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q13 @ ( produc3197953233266746538at_nat @ X4 @ ( product_Pair_nat_nat @ Y3 @ Q15 ) ) ) @ ( transi6702335687894639939_c_nat @ M6 ) ) )
         => ( Q14 = Q15 ) ) ) ) ).

% observable_alt_def
thf(fact_389_combine__after_Ocases,axiom,
    ! [X2: produc4554020583633312224od_b_c] :
      ( ! [T12: prefix425356687782099470od_b_c,T22: prefix425356687782099470od_b_c] :
          ( X2
         != ( produc2300006924804214736od_b_c @ T12 @ ( produc3717508558737332151od_b_c @ nil_Product_prod_b_c @ T22 ) ) )
     => ~ ! [M4: product_prod_b_c > option4860840611552367828od_b_c,X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,T22: prefix425356687782099470od_b_c] :
            ( X2
           != ( produc2300006924804214736od_b_c @ ( prefix1158171450275386503od_b_c @ M4 ) @ ( produc3717508558737332151od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ T22 ) ) ) ) ).

% combine_after.cases
thf(fact_390_prod__decode__aux_Ocases,axiom,
    ! [X2: product_prod_nat_nat] :
      ~ ! [K2: nat,M4: nat] :
          ( X2
         != ( product_Pair_nat_nat @ K2 @ M4 ) ) ).

% prod_decode_aux.cases
thf(fact_391_fsm__transition__source,axiom,
    ! [T4: produc2669932201312201782od_c_a,M2: fsm_a_b_c] :
      ( ( member5502040268208861279od_c_a @ T4 @ ( transitions_a_b_c @ M2 ) )
     => ( member_a @ ( produc4225943634317630866od_c_a @ T4 ) @ ( states_a_b_c @ M2 ) ) ) ).

% fsm_transition_source
thf(fact_392_in__measures_I1_J,axiom,
    ! [X2: nat,Y2: nat] :
      ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( measures_nat @ nil_nat_nat ) ) ).

% in_measures(1)
thf(fact_393_insert__Nil,axiom,
    ! [X2: product_prod_b_c] :
      ( ( insert4948659547597824900od_b_c @ X2 @ nil_Product_prod_b_c )
      = ( cons_P4529483553340347422od_b_c @ X2 @ nil_Product_prod_b_c ) ) ).

% insert_Nil
thf(fact_394_transpose_Ocases,axiom,
    ! [X2: list_l8907847357763382004od_b_c] :
      ( ( X2 != nil_li8071162985807626740od_b_c )
     => ( ! [Xss: list_l8907847357763382004od_b_c] :
            ( X2
           != ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ Xss ) )
       => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Xss: list_l8907847357763382004od_b_c] :
              ( X2
             != ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_395_mergesort__by__rel__merge__induct,axiom,
    ! [P3: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o,R: product_prod_b_c > product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ! [Xs3: list_P903359562653991662od_b_c] : ( P3 @ Xs3 @ nil_Product_prod_b_c )
     => ( ! [X_1: list_P903359562653991662od_b_c] : ( P3 @ nil_Product_prod_b_c @ X_1 )
       => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
              ( ( R @ X @ Y )
             => ( ( P3 @ Xs3 @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) )
               => ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) ) ) )
         => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
                ( ~ ( R @ X @ Y )
               => ( ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ Ys2 )
                 => ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% mergesort_by_rel_merge_induct
thf(fact_396_list__induct__first2,axiom,
    ! [P3: list_P903359562653991662od_b_c > $o,Xs: list_P903359562653991662od_b_c] :
      ( ( P3 @ nil_Product_prod_b_c )
     => ( ! [X: product_prod_b_c] : ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) )
       => ( ! [X12: product_prod_b_c,X24: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( ( P3 @ Xs3 )
             => ( P3 @ ( cons_P4529483553340347422od_b_c @ X12 @ ( cons_P4529483553340347422od_b_c @ X24 @ Xs3 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_induct_first2
thf(fact_397_list__2pre__induct,axiom,
    ! [P3: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o,W1: list_P903359562653991662od_b_c,W2: list_P903359562653991662od_b_c] :
      ( ( P3 @ nil_Product_prod_b_c @ nil_Product_prod_b_c )
     => ( ! [E2: product_prod_b_c,W12: list_P903359562653991662od_b_c,W22: list_P903359562653991662od_b_c] :
            ( ( P3 @ W12 @ W22 )
           => ( P3 @ ( cons_P4529483553340347422od_b_c @ E2 @ W12 ) @ W22 ) )
       => ( ! [E2: product_prod_b_c,W13: list_P903359562653991662od_b_c,W23: list_P903359562653991662od_b_c] :
              ( ( P3 @ W13 @ W23 )
             => ( P3 @ W13 @ ( cons_P4529483553340347422od_b_c @ E2 @ W23 ) ) )
         => ( P3 @ W1 @ W2 ) ) ) ) ).

% list_2pre_induct
thf(fact_398_neq__NilE,axiom,
    ! [L2: list_P903359562653991662od_b_c] :
      ( ( L2 != nil_Product_prod_b_c )
     => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
            ( L2
           != ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) ) ) ).

% neq_NilE
thf(fact_399_mergesort__by__rel__split_Ocases,axiom,
    ! [X2: produc1404827273422455342od_b_c] :
      ( ! [Xs1: list_P903359562653991662od_b_c,Xs22: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc8805658965386351518od_b_c @ ( produc3076307724246486423od_b_c @ Xs1 @ Xs22 ) @ nil_Product_prod_b_c ) )
     => ( ! [Xs1: list_P903359562653991662od_b_c,Xs22: list_P903359562653991662od_b_c,X: product_prod_b_c] :
            ( X2
           != ( produc8805658965386351518od_b_c @ ( produc3076307724246486423od_b_c @ Xs1 @ Xs22 ) @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) )
       => ~ ! [Xs1: list_P903359562653991662od_b_c,Xs22: list_P903359562653991662od_b_c,X12: product_prod_b_c,X24: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( X2
             != ( produc8805658965386351518od_b_c @ ( produc3076307724246486423od_b_c @ Xs1 @ Xs22 ) @ ( cons_P4529483553340347422od_b_c @ X12 @ ( cons_P4529483553340347422od_b_c @ X24 @ Xs3 ) ) ) ) ) ) ).

% mergesort_by_rel_split.cases
thf(fact_400_mergesort__by__rel__merge_Ocases,axiom,
    ! [X2: produc6700159619980657760od_b_c] :
      ( ! [R3: product_prod_b_c > product_prod_b_c > $o,X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc7428879202731100112od_b_c @ R3 @ ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) ) ) )
     => ( ! [R3: product_prod_b_c > product_prod_b_c > $o,Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc7428879202731100112od_b_c @ R3 @ ( produc3076307724246486423od_b_c @ Xs3 @ nil_Product_prod_b_c ) ) )
       => ~ ! [R3: product_prod_b_c > product_prod_b_c > $o,V2: product_prod_b_c,Va: list_P903359562653991662od_b_c] :
              ( X2
             != ( produc7428879202731100112od_b_c @ R3 @ ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ ( cons_P4529483553340347422od_b_c @ V2 @ Va ) ) ) ) ) ) ).

% mergesort_by_rel_merge.cases
thf(fact_401_quicksort__by__rel_Ocases,axiom,
    ! [X2: produc6700159619980657760od_b_c] :
      ( ! [R3: product_prod_b_c > product_prod_b_c > $o,Sl: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc7428879202731100112od_b_c @ R3 @ ( produc3076307724246486423od_b_c @ Sl @ nil_Product_prod_b_c ) ) )
     => ~ ! [R3: product_prod_b_c > product_prod_b_c > $o,Sl: list_P903359562653991662od_b_c,X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc7428879202731100112od_b_c @ R3 @ ( produc3076307724246486423od_b_c @ Sl @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) ) ) ) ) ).

% quicksort_by_rel.cases
thf(fact_402_partition__rev_Ocases,axiom,
    ! [X2: produc6480465915480880334od_b_c] :
      ( ! [P5: product_prod_b_c > $o,Yes: list_P903359562653991662od_b_c,No: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc3614263070280852224od_b_c @ P5 @ ( produc8805658965386351518od_b_c @ ( produc3076307724246486423od_b_c @ Yes @ No ) @ nil_Product_prod_b_c ) ) )
     => ~ ! [P5: product_prod_b_c > $o,Yes: list_P903359562653991662od_b_c,No: list_P903359562653991662od_b_c,X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc3614263070280852224od_b_c @ P5 @ ( produc8805658965386351518od_b_c @ ( produc3076307724246486423od_b_c @ Yes @ No ) @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) ) ) ) ) ).

% partition_rev.cases
thf(fact_403_list__all__zip_Ocases,axiom,
    ! [X2: produc6700159619980657760od_b_c] :
      ( ! [P5: product_prod_b_c > product_prod_b_c > $o] :
          ( X2
         != ( produc7428879202731100112od_b_c @ P5 @ ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ nil_Product_prod_b_c ) ) )
     => ( ! [P5: product_prod_b_c > product_prod_b_c > $o,A3: product_prod_b_c,As: list_P903359562653991662od_b_c,B3: product_prod_b_c,Bs: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc7428879202731100112od_b_c @ P5 @ ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ A3 @ As ) @ ( cons_P4529483553340347422od_b_c @ B3 @ Bs ) ) ) )
       => ( ! [P5: product_prod_b_c > product_prod_b_c > $o,V2: product_prod_b_c,Va: list_P903359562653991662od_b_c] :
              ( X2
             != ( produc7428879202731100112od_b_c @ P5 @ ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ V2 @ Va ) @ nil_Product_prod_b_c ) ) )
         => ~ ! [P5: product_prod_b_c > product_prod_b_c > $o,V2: product_prod_b_c,Va: list_P903359562653991662od_b_c] :
                ( X2
               != ( produc7428879202731100112od_b_c @ P5 @ ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ ( cons_P4529483553340347422od_b_c @ V2 @ Va ) ) ) ) ) ) ) ).

% list_all_zip.cases
thf(fact_404_merge_Ocases,axiom,
    ! [X2: produc5878855887281848999od_b_c] :
      ( ! [L22: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ L22 ) )
     => ( ! [V2: product_prod_b_c,Va: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ V2 @ Va ) @ nil_Product_prod_b_c ) )
       => ~ ! [X12: product_prod_b_c,L1: list_P903359562653991662od_b_c,X24: product_prod_b_c,L22: list_P903359562653991662od_b_c] :
              ( X2
             != ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ X12 @ L1 ) @ ( cons_P4529483553340347422od_b_c @ X24 @ L22 ) ) ) ) ) ).

% merge.cases
thf(fact_405_list__nonempty__induct,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: list_P903359562653991662od_b_c > $o] :
      ( ( Xs != nil_Product_prod_b_c )
     => ( ! [X: product_prod_b_c] : ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) )
       => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( ( Xs3 != nil_Product_prod_b_c )
             => ( ( P3 @ Xs3 )
               => ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_406_list__induct2_H,axiom,
    ! [P3: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( P3 @ nil_Product_prod_b_c @ nil_Product_prod_b_c )
     => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] : ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ nil_Product_prod_b_c )
       => ( ! [Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] : ( P3 @ nil_Product_prod_b_c @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) )
         => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
                ( ( P3 @ Xs3 @ Ys2 )
               => ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_407_neq__Nil__conv,axiom,
    ! [Xs: list_P903359562653991662od_b_c] :
      ( ( Xs != nil_Product_prod_b_c )
      = ( ? [Y3: product_prod_b_c,Ys3: list_P903359562653991662od_b_c] :
            ( Xs
            = ( cons_P4529483553340347422od_b_c @ Y3 @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_408_remdups__adj_Ocases,axiom,
    ! [X2: list_P903359562653991662od_b_c] :
      ( ( X2 != nil_Product_prod_b_c )
     => ( ! [X: product_prod_b_c] :
            ( X2
           != ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) )
       => ~ ! [X: product_prod_b_c,Y: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( X2
             != ( cons_P4529483553340347422od_b_c @ X @ ( cons_P4529483553340347422od_b_c @ Y @ Xs3 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_409_min__list_Ocases,axiom,
    ! [X2: list_P903359562653991662od_b_c] :
      ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
          ( X2
         != ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) )
     => ( X2 = nil_Product_prod_b_c ) ) ).

% min_list.cases
thf(fact_410_list_Oexhaust,axiom,
    ! [Y2: list_P903359562653991662od_b_c] :
      ( ( Y2 != nil_Product_prod_b_c )
     => ~ ! [X212: product_prod_b_c,X222: list_P903359562653991662od_b_c] :
            ( Y2
           != ( cons_P4529483553340347422od_b_c @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_411_list_OdiscI,axiom,
    ! [List: list_P903359562653991662od_b_c,X21: product_prod_b_c,X22: list_P903359562653991662od_b_c] :
      ( ( List
        = ( cons_P4529483553340347422od_b_c @ X21 @ X22 ) )
     => ( List != nil_Product_prod_b_c ) ) ).

% list.discI
thf(fact_412_list_Odistinct_I1_J,axiom,
    ! [X21: product_prod_b_c,X22: list_P903359562653991662od_b_c] :
      ( nil_Product_prod_b_c
     != ( cons_P4529483553340347422od_b_c @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_413_shuffles_Ocases,axiom,
    ! [X2: produc5878855887281848999od_b_c] :
      ( ! [Ys2: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ Ys2 ) )
     => ( ! [Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc3076307724246486423od_b_c @ Xs3 @ nil_Product_prod_b_c ) )
       => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
              ( X2
             != ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) ) ) ) ) ).

% shuffles.cases
thf(fact_414_sorted__wrt_Ocases,axiom,
    ! [X2: produc2416979464461413415od_b_c] :
      ( ! [P5: product_prod_b_c > product_prod_b_c > $o] :
          ( X2
         != ( produc6092892548594537111od_b_c @ P5 @ nil_Product_prod_b_c ) )
     => ~ ! [P5: product_prod_b_c > product_prod_b_c > $o,X: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc6092892548594537111od_b_c @ P5 @ ( cons_P4529483553340347422od_b_c @ X @ Ys2 ) ) ) ) ).

% sorted_wrt.cases
thf(fact_415_successively_Ocases,axiom,
    ! [X2: produc2416979464461413415od_b_c] :
      ( ! [P5: product_prod_b_c > product_prod_b_c > $o] :
          ( X2
         != ( produc6092892548594537111od_b_c @ P5 @ nil_Product_prod_b_c ) )
     => ( ! [P5: product_prod_b_c > product_prod_b_c > $o,X: product_prod_b_c] :
            ( X2
           != ( produc6092892548594537111od_b_c @ P5 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) )
       => ~ ! [P5: product_prod_b_c > product_prod_b_c > $o,X: product_prod_b_c,Y: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( X2
             != ( produc6092892548594537111od_b_c @ P5 @ ( cons_P4529483553340347422od_b_c @ X @ ( cons_P4529483553340347422od_b_c @ Y @ Xs3 ) ) ) ) ) ) ).

% successively.cases
thf(fact_416_not__less__Nil,axiom,
    ! [X2: list_P903359562653991662od_b_c] :
      ~ ( ord_le2870576100876692378od_b_c @ X2 @ nil_Product_prod_b_c ) ).

% not_less_Nil
thf(fact_417_less__list__code_I1_J,axiom,
    ! [Xs: list_P903359562653991662od_b_c] :
      ~ ( ord_le2870576100876692378od_b_c @ Xs @ nil_Product_prod_b_c ) ).

% less_list_code(1)
thf(fact_418_h__obs__state,axiom,
    ! [M2: fsm_a_b_c,Q4: a,X2: b,Y2: c,Q5: a] :
      ( ( ( h_obs_a_b_c @ M2 @ Q4 @ X2 @ Y2 )
        = ( some_a @ Q5 ) )
     => ( member_a @ Q5 @ ( states_a_b_c @ M2 ) ) ) ).

% h_obs_state
thf(fact_419_h__obs__non__state,axiom,
    ! [Q4: a,M2: fsm_a_b_c,X2: b,Y2: c] :
      ( ~ ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
     => ( ( h_obs_a_b_c @ M2 @ Q4 @ X2 @ Y2 )
        = none_a ) ) ).

% h_obs_non_state
thf(fact_420_h__obs__None,axiom,
    ! [M2: fsm_a_b_c,Q4: a,X2: b,Y2: c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( ( h_obs_a_b_c @ M2 @ Q4 @ X2 @ Y2 )
          = none_a )
        = ( ~ ? [Q6: a] : ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ Q4 @ ( produc3440865914000881661od_c_a @ X2 @ ( product_Pair_c_a @ Y2 @ Q6 ) ) ) @ ( transitions_a_b_c @ M2 ) ) ) ) ) ).

% h_obs_None
thf(fact_421_h__obs__None,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,Q4: nat,X2: list_P903359562653991662od_b_c,Y2: nat] :
      ( ( observ4908692499119641462_c_nat @ M2 )
     => ( ( ( h_obs_395663235810570625_c_nat @ M2 @ Q4 @ X2 @ Y2 )
          = none_nat )
        = ( ~ ? [Q6: nat] : ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q4 @ ( produc3197953233266746538at_nat @ X2 @ ( product_Pair_nat_nat @ Y2 @ Q6 ) ) ) @ ( transi6702335687894639939_c_nat @ M2 ) ) ) ) ) ).

% h_obs_None
thf(fact_422_maximum__prefix_Ocases,axiom,
    ! [X2: produc7268529302935078535od_b_c] :
      ( ! [T: prefix425356687782099470od_b_c] :
          ( X2
         != ( produc1796471691940247159od_b_c @ T @ nil_Product_prod_b_c ) )
     => ~ ! [M4: product_prod_b_c > option4860840611552367828od_b_c,X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc1796471691940247159od_b_c @ ( prefix1158171450275386503od_b_c @ M4 ) @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) ) ) ) ).

% maximum_prefix.cases
thf(fact_423_maximum__fst__prefixes_Ocases,axiom,
    ! [X2: produc7067928884085360641list_c] :
      ( ! [T: prefix425356687782099470od_b_c,Ys2: list_c] :
          ( X2
         != ( produc4451376351046028145list_c @ T @ ( produc1564554182611693912list_c @ nil_b @ Ys2 ) ) )
     => ~ ! [M4: product_prod_b_c > option4860840611552367828od_b_c,X: b,Xs3: list_b,Ys2: list_c] :
            ( X2
           != ( produc4451376351046028145list_c @ ( prefix1158171450275386503od_b_c @ M4 ) @ ( produc1564554182611693912list_c @ ( cons_b @ X @ Xs3 ) @ Ys2 ) ) ) ) ).

% maximum_fst_prefixes.cases
thf(fact_424_distinguishes__not__Nil,axiom,
    ! [M2: fsm_Pr8946560376811747725_c_b_c,Q1: product_prod_b_c,Q2: product_prod_b_c,Io2: list_P903359562653991662od_b_c] :
      ( ( distin2910207492170677481_c_b_c @ M2 @ Q1 @ Q2 @ Io2 )
     => ( ( member7862447941013992593od_b_c @ Q1 @ ( states8981316748681014706_c_b_c @ M2 ) )
       => ( ( member7862447941013992593od_b_c @ Q2 @ ( states8981316748681014706_c_b_c @ M2 ) )
         => ( Io2 != nil_Product_prod_b_c ) ) ) ) ).

% distinguishes_not_Nil
thf(fact_425_distinguishes__not__Nil,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Q2: a,Io2: list_P903359562653991662od_b_c] :
      ( ( distinguishes_a_b_c @ M2 @ Q1 @ Q2 @ Io2 )
     => ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
       => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
         => ( Io2 != nil_Product_prod_b_c ) ) ) ) ).

% distinguishes_not_Nil
thf(fact_426_less__list__code_I2_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] : ( ord_le2870576100876692378od_b_c @ nil_Product_prod_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) ) ).

% less_list_code(2)
thf(fact_427_Nil__less__Cons,axiom,
    ! [A: product_prod_b_c,X2: list_P903359562653991662od_b_c] : ( ord_le2870576100876692378od_b_c @ nil_Product_prod_b_c @ ( cons_P4529483553340347422od_b_c @ A @ X2 ) ) ).

% Nil_less_Cons
thf(fact_428_h__obs__distinguishes,axiom,
    ! [M2: fsm_a_b_c,Q1: a,X2: b,Y2: c,Q16: a,Q2: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( ( h_obs_a_b_c @ M2 @ Q1 @ X2 @ Y2 )
          = ( some_a @ Q16 ) )
       => ( ( ( h_obs_a_b_c @ M2 @ Q2 @ X2 @ Y2 )
            = none_a )
         => ( distinguishes_a_b_c @ M2 @ Q1 @ Q2 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) ) ) ) ).

% h_obs_distinguishes
thf(fact_429_h__obs__distinguishes,axiom,
    ! [M2: fsm_Pr583765586473123763_c_b_c,Q1: prefix425356687782099470od_b_c,X2: b,Y2: c,Q16: prefix425356687782099470od_b_c,Q2: prefix425356687782099470od_b_c] :
      ( ( observ8278588419443668823_c_b_c @ M2 )
     => ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ Q1 @ X2 @ Y2 )
          = ( some_P522567261666896499od_b_c @ Q16 ) )
       => ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ Q2 @ X2 @ Y2 )
            = none_P1973817385574297839od_b_c )
         => ( distin4675596619508915599_c_b_c @ M2 @ Q1 @ Q2 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) ) ) ) ).

% h_obs_distinguishes
thf(fact_430_h__obs__distinguishes,axiom,
    ! [M2: fsm_Pr4657356312157149317at_nat,Q1: prefix425356687782099470od_b_c,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,Q16: prefix425356687782099470od_b_c,Q2: prefix425356687782099470od_b_c] :
      ( ( observ4253682487605851305at_nat @ M2 )
     => ( ( ( h_obs_6010489571262231604at_nat @ M2 @ Q1 @ X2 @ Y2 )
          = ( some_P522567261666896499od_b_c @ Q16 ) )
       => ( ( ( h_obs_6010489571262231604at_nat @ M2 @ Q2 @ X2 @ Y2 )
            = none_P1973817385574297839od_b_c )
         => ( distin148685098255035105at_nat @ M2 @ Q1 @ Q2 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) ) ) ) ) ).

% h_obs_distinguishes
thf(fact_431_h__obs__distinguishes,axiom,
    ! [M2: fsm_Pr8641708754182589388at_nat,Q1: prefix425356687782099470od_b_c,X2: nat,Y2: nat,Q16: prefix425356687782099470od_b_c,Q2: prefix425356687782099470od_b_c] :
      ( ( observ620159373568181176at_nat @ M2 )
     => ( ( ( h_obs_9092979675626375875at_nat @ M2 @ Q1 @ X2 @ Y2 )
          = ( some_P522567261666896499od_b_c @ Q16 ) )
       => ( ( ( h_obs_9092979675626375875at_nat @ M2 @ Q2 @ X2 @ Y2 )
            = none_P1973817385574297839od_b_c )
         => ( distin3434354141337495024at_nat @ M2 @ Q1 @ Q2 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) ) ) ) ) ).

% h_obs_distinguishes
thf(fact_432_deterministic__alt__def,axiom,
    ( determ3896246135393395087_c_nat
    = ( ^ [M6: fsm_na8507942939833465170_c_nat] :
        ! [Q13: nat,X4: list_P903359562653991662od_b_c,Y4: nat,Y5: nat,Q14: nat,Q15: nat] :
          ( ( ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q13 @ ( produc3197953233266746538at_nat @ X4 @ ( product_Pair_nat_nat @ Y4 @ Q14 ) ) ) @ ( transi6702335687894639939_c_nat @ M6 ) )
            & ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q13 @ ( produc3197953233266746538at_nat @ X4 @ ( product_Pair_nat_nat @ Y5 @ Q15 ) ) ) @ ( transi6702335687894639939_c_nat @ M6 ) ) )
         => ( ( Y4 = Y5 )
            & ( Q14 = Q15 ) ) ) ) ) ).

% deterministic_alt_def
thf(fact_433_single__input__alt__def,axiom,
    ( single5973854069967192191_c_nat
    = ( ^ [M6: fsm_na8507942939833465170_c_nat] :
        ! [Q13: nat,X4: list_P903359562653991662od_b_c,X5: list_P903359562653991662od_b_c,Y3: nat,Y4: nat,Q14: nat,Q15: nat] :
          ( ( ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q13 @ ( produc3197953233266746538at_nat @ X4 @ ( product_Pair_nat_nat @ Y3 @ Q14 ) ) ) @ ( transi6702335687894639939_c_nat @ M6 ) )
            & ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q13 @ ( produc3197953233266746538at_nat @ X5 @ ( product_Pair_nat_nat @ Y4 @ Q15 ) ) ) @ ( transi6702335687894639939_c_nat @ M6 ) ) )
         => ( X4 = X5 ) ) ) ) ).

% single_input_alt_def
thf(fact_434_delete__aux_Ocases,axiom,
    ! [X2: produc6475121930738208726od_b_c] :
      ( ! [K2: b] :
          ( X2
         != ( produc561751498933632326od_b_c @ K2 @ nil_Product_prod_b_c ) )
     => ~ ! [K2: b,K3: b,V2: c,Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc561751498933632326od_b_c @ K2 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K3 @ V2 ) @ Xs3 ) ) ) ) ).

% delete_aux.cases
thf(fact_435_delete__aux_Ocases,axiom,
    ! [X2: produc8222220312414797177at_nat] :
      ( ! [K2: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc8876899109741400937at_nat @ K2 @ nil_Pr4949612815525651264at_nat ) )
     => ~ ! [K2: list_P903359562653991662od_b_c,K3: list_P903359562653991662od_b_c,V2: product_prod_nat_nat,Xs3: list_P3552028079716004544at_nat] :
            ( X2
           != ( produc8876899109741400937at_nat @ K2 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ K3 @ V2 ) @ Xs3 ) ) ) ) ).

% delete_aux.cases
thf(fact_436_delete__aux_Ocases,axiom,
    ! [X2: produc8472197452120411308at_nat] :
      ( ! [K2: nat] :
          ( X2
         != ( produc6109913384486294878at_nat @ K2 @ nil_Pr5478986624290739719at_nat ) )
     => ~ ! [K2: nat,K3: nat,V2: nat,Xs3: list_P6011104703257516679at_nat] :
            ( X2
           != ( produc6109913384486294878at_nat @ K2 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K3 @ V2 ) @ Xs3 ) ) ) ) ).

% delete_aux.cases
thf(fact_437_prefixes__in__list__helper_Ocases,axiom,
    ! [X2: produc6527480851314615797od_b_c] :
      ( ! [X: product_prod_b_c,Res: produc8297111589761753219od_b_c] :
          ( X2
         != ( produc3672100452475562085od_b_c @ X @ ( produc119014353569595046od_b_c @ nil_li8071162985807626740od_b_c @ Res ) ) )
     => ( ! [X: product_prod_b_c,Yss: list_l8907847357763382004od_b_c,Res: produc8297111589761753219od_b_c] :
            ( X2
           != ( produc3672100452475562085od_b_c @ X @ ( produc119014353569595046od_b_c @ ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ Yss ) @ Res ) ) )
       => ~ ! [X: product_prod_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c,Yss: list_l8907847357763382004od_b_c,Res: produc8297111589761753219od_b_c] :
              ( X2
             != ( produc3672100452475562085od_b_c @ X @ ( produc119014353569595046od_b_c @ ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) @ Yss ) @ Res ) ) ) ) ) ).

% prefixes_in_list_helper.cases
thf(fact_438_is__prefix_Ocases,axiom,
    ! [X2: produc5878855887281848999od_b_c] :
      ( ! [Uu2: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ Uu2 ) )
     => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ nil_Product_prod_b_c ) )
       => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
              ( X2
             != ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) ) ) ) ) ).

% is_prefix.cases
thf(fact_439_map__entry_Ocases,axiom,
    ! [X2: produc6452300523622238572od_b_c] :
      ( ! [K2: b,F2: c > c] :
          ( X2
         != ( produc7015427828931889894od_b_c @ K2 @ ( produc1101678828523717360od_b_c @ F2 @ nil_Product_prod_b_c ) ) )
     => ~ ! [K2: b,F2: c > c,P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc7015427828931889894od_b_c @ K2 @ ( produc1101678828523717360od_b_c @ F2 @ ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) ) ) ) ) ).

% map_entry.cases
thf(fact_440_map__default_Ocases,axiom,
    ! [X2: produc2009451851958091931od_b_c] :
      ( ! [K2: b,V2: c,F2: c > c] :
          ( X2
         != ( produc1384939585547926677od_b_c @ K2 @ ( produc3590379597927054951od_b_c @ V2 @ ( produc1101678828523717360od_b_c @ F2 @ nil_Product_prod_b_c ) ) ) )
     => ~ ! [K2: b,V2: c,F2: c > c,P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc1384939585547926677od_b_c @ K2 @ ( produc3590379597927054951od_b_c @ V2 @ ( produc1101678828523717360od_b_c @ F2 @ ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) ) ) ) ) ) ).

% map_default.cases
thf(fact_441_clearjunk_Ocases,axiom,
    ! [X2: list_P903359562653991662od_b_c] :
      ( ( X2 != nil_Product_prod_b_c )
     => ~ ! [P6: product_prod_b_c,Ps: list_P903359562653991662od_b_c] :
            ( X2
           != ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) ) ) ).

% clearjunk.cases
thf(fact_442_linear__order__from__list__position_H_Ocases,axiom,
    ! [X2: list_P903359562653991662od_b_c] :
      ( ( X2 != nil_Product_prod_b_c )
     => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) ) ) ).

% linear_order_from_list_position'.cases
thf(fact_443_prefixes__in__list_Ocases,axiom,
    ! [X2: produc4677413098736350873od_b_c] :
      ( ! [Prev: list_P903359562653991662od_b_c,Yss: list_l8907847357763382004od_b_c,Res: list_l8907847357763382004od_b_c] :
          ( X2
         != ( produc4828374591100774537od_b_c @ nil_Product_prod_b_c @ ( produc6998230911966681296od_b_c @ Prev @ ( produc2983116027154973335od_b_c @ Yss @ Res ) ) ) )
     => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Prev: list_P903359562653991662od_b_c,Yss: list_l8907847357763382004od_b_c,Res: list_l8907847357763382004od_b_c] :
            ( X2
           != ( produc4828374591100774537od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( produc6998230911966681296od_b_c @ Prev @ ( produc2983116027154973335od_b_c @ Yss @ Res ) ) ) ) ) ).

% prefixes_in_list.cases
thf(fact_444_find__remove_H_Ocases,axiom,
    ! [X2: produc5559707038353031495od_b_c] :
      ( ! [P5: product_prod_b_c > $o,Uu2: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc1005531610559690873od_b_c @ P5 @ ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ Uu2 ) ) )
     => ~ ! [P5: product_prod_b_c > $o,X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Prev: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc1005531610559690873od_b_c @ P5 @ ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ Prev ) ) ) ) ).

% find_remove'.cases
thf(fact_445_find__index_Ocases,axiom,
    ! [X2: produc7816210539016439438od_b_c] :
      ( ! [F2: product_prod_b_c > $o] :
          ( X2
         != ( produc7392021306980666816od_b_c @ F2 @ nil_Product_prod_b_c ) )
     => ~ ! [F2: product_prod_b_c > $o,X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc7392021306980666816od_b_c @ F2 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) ) ) ) ).

% find_index.cases
thf(fact_446_longest__common__prefix_Ocases,axiom,
    ! [X2: produc5878855887281848999od_b_c] :
      ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) ) )
     => ( ! [Uv: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ Uv ) )
       => ~ ! [Uu2: list_P903359562653991662od_b_c] :
              ( X2
             != ( produc3076307724246486423od_b_c @ Uu2 @ nil_Product_prod_b_c ) ) ) ) ).

% longest_common_prefix.cases
thf(fact_447_subset__eq__mset__impl_Ocases,axiom,
    ! [X2: produc5878855887281848999od_b_c] :
      ( ! [Ys2: list_P903359562653991662od_b_c] :
          ( X2
         != ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ Ys2 ) )
     => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Ys2: list_P903359562653991662od_b_c] :
            ( X2
           != ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ Ys2 ) ) ) ).

% subset_eq_mset_impl.cases
thf(fact_448_distinguishes__after__prepend,axiom,
    ! [M2: fsm_a_b_c,Q1: a,X2: b,Y2: c,Q2: a,Gamma: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( ( h_obs_a_b_c @ M2 @ Q1 @ X2 @ Y2 )
         != none_a )
       => ( ( ( h_obs_a_b_c @ M2 @ Q2 @ X2 @ Y2 )
           != none_a )
         => ( ( distinguishes_a_b_c @ M2 @ ( after_a_b_c @ M2 @ Q1 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) @ ( after_a_b_c @ M2 @ Q2 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) @ Gamma )
           => ( distinguishes_a_b_c @ M2 @ Q1 @ Q2 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ Gamma ) ) ) ) ) ) ).

% distinguishes_after_prepend
thf(fact_449_distinguishes__after__prepend,axiom,
    ! [M2: fsm_Pr583765586473123763_c_b_c,Q1: prefix425356687782099470od_b_c,X2: b,Y2: c,Q2: prefix425356687782099470od_b_c,Gamma: list_P903359562653991662od_b_c] :
      ( ( observ8278588419443668823_c_b_c @ M2 )
     => ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ Q1 @ X2 @ Y2 )
         != none_P1973817385574297839od_b_c )
       => ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ Q2 @ X2 @ Y2 )
           != none_P1973817385574297839od_b_c )
         => ( ( distin4675596619508915599_c_b_c @ M2 @ ( after_7713676853120534758_c_b_c @ M2 @ Q1 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) @ ( after_7713676853120534758_c_b_c @ M2 @ Q2 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) @ Gamma )
           => ( distin4675596619508915599_c_b_c @ M2 @ Q1 @ Q2 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ Gamma ) ) ) ) ) ) ).

% distinguishes_after_prepend
thf(fact_450_distinguishes__after__prepend,axiom,
    ! [M2: fsm_Pr4657356312157149317at_nat,Q1: prefix425356687782099470od_b_c,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,Q2: prefix425356687782099470od_b_c,Gamma: list_P3552028079716004544at_nat] :
      ( ( observ4253682487605851305at_nat @ M2 )
     => ( ( ( h_obs_6010489571262231604at_nat @ M2 @ Q1 @ X2 @ Y2 )
         != none_P1973817385574297839od_b_c )
       => ( ( ( h_obs_6010489571262231604at_nat @ M2 @ Q2 @ X2 @ Y2 )
           != none_P1973817385574297839od_b_c )
         => ( ( distin148685098255035105at_nat @ M2 @ ( after_8706860992364380216at_nat @ M2 @ Q1 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) ) @ ( after_8706860992364380216at_nat @ M2 @ Q2 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) ) @ Gamma )
           => ( distin148685098255035105at_nat @ M2 @ Q1 @ Q2 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ Gamma ) ) ) ) ) ) ).

% distinguishes_after_prepend
thf(fact_451_distinguishes__after__prepend,axiom,
    ! [M2: fsm_Pr8641708754182589388at_nat,Q1: prefix425356687782099470od_b_c,X2: nat,Y2: nat,Q2: prefix425356687782099470od_b_c,Gamma: list_P6011104703257516679at_nat] :
      ( ( observ620159373568181176at_nat @ M2 )
     => ( ( ( h_obs_9092979675626375875at_nat @ M2 @ Q1 @ X2 @ Y2 )
         != none_P1973817385574297839od_b_c )
       => ( ( ( h_obs_9092979675626375875at_nat @ M2 @ Q2 @ X2 @ Y2 )
           != none_P1973817385574297839od_b_c )
         => ( ( distin3434354141337495024at_nat @ M2 @ ( after_4610990257864945863at_nat @ M2 @ Q1 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) ) @ ( after_4610990257864945863at_nat @ M2 @ Q2 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) ) @ Gamma )
           => ( distin3434354141337495024at_nat @ M2 @ Q1 @ Q2 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ Gamma ) ) ) ) ) ) ).

% distinguishes_after_prepend
thf(fact_452_after__transition,axiom,
    ! [M2: fsm_a_b_c,Q4: a,X2: b,Y2: c,Q5: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ Q4 @ ( produc3440865914000881661od_c_a @ X2 @ ( product_Pair_c_a @ Y2 @ Q5 ) ) ) @ ( transitions_a_b_c @ M2 ) )
       => ( ( after_a_b_c @ M2 @ Q4 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) )
          = Q5 ) ) ) ).

% after_transition
thf(fact_453_after__transition,axiom,
    ! [M2: fsm_nat_nat_nat,Q4: nat,X2: nat,Y2: nat,Q5: nat] :
      ( ( observ3518789870599552490at_nat @ M2 )
     => ( ( member6766774627807740288at_nat @ ( produc6385450045882626063at_nat @ Q4 @ ( produc487386426758144856at_nat @ X2 @ ( product_Pair_nat_nat @ Y2 @ Q5 ) ) ) @ ( transi2178791137084441437at_nat @ M2 ) )
       => ( ( after_nat_nat_nat @ M2 @ Q4 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) )
          = Q5 ) ) ) ).

% after_transition
thf(fact_454_after__transition,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,Q4: nat,X2: list_P903359562653991662od_b_c,Y2: nat,Q5: nat] :
      ( ( observ4908692499119641462_c_nat @ M2 )
     => ( ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q4 @ ( produc3197953233266746538at_nat @ X2 @ ( product_Pair_nat_nat @ Y2 @ Q5 ) ) ) @ ( transi6702335687894639939_c_nat @ M2 ) )
       => ( ( after_9065927338414533509_c_nat @ M2 @ Q4 @ ( cons_P6914938610007962039_c_nat @ ( produc1142203413938751335_c_nat @ X2 @ Y2 ) @ nil_Pr8683500363154653543_c_nat ) )
          = Q5 ) ) ) ).

% after_transition
thf(fact_455_quicksort_Ocases,axiom,
    ! [X2: list_P903359562653991662od_b_c] :
      ( ( X2 != nil_Product_prod_b_c )
     => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
            ( X2
           != ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) ) ) ).

% quicksort.cases
thf(fact_456_h__obs__language__single__transition__iff,axiom,
    ! [M2: fsm_a_b_c,X2: b,Y2: c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) @ ( lS_a_b_c @ M2 @ Q4 ) )
        = ( ( h_obs_a_b_c @ M2 @ Q4 @ X2 @ Y2 )
         != none_a ) ) ) ).

% h_obs_language_single_transition_iff
thf(fact_457_h__obs__language__single__transition__iff,axiom,
    ! [M2: fsm_Pr583765586473123763_c_b_c,X2: b,Y2: c,Q4: prefix425356687782099470od_b_c] :
      ( ( observ8278588419443668823_c_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) @ ( lS_Pre2550405482641406963_c_b_c @ M2 @ Q4 ) )
        = ( ( h_obs_6145309630326805730_c_b_c @ M2 @ Q4 @ X2 @ Y2 )
         != none_P1973817385574297839od_b_c ) ) ) ).

% h_obs_language_single_transition_iff
thf(fact_458_h__obs__language__single__transition__iff,axiom,
    ! [M2: fsm_Pr4657356312157149317at_nat,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,Q4: prefix425356687782099470od_b_c] :
      ( ( observ4253682487605851305at_nat @ M2 )
     => ( ( member6394667498616211049at_nat @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) @ ( lS_Pre1928863027795566917at_nat @ M2 @ Q4 ) )
        = ( ( h_obs_6010489571262231604at_nat @ M2 @ Q4 @ X2 @ Y2 )
         != none_P1973817385574297839od_b_c ) ) ) ).

% h_obs_language_single_transition_iff
thf(fact_459_h__obs__language__single__transition__iff,axiom,
    ! [M2: fsm_Pr8641708754182589388at_nat,X2: nat,Y2: nat,Q4: prefix425356687782099470od_b_c] :
      ( ( observ620159373568181176at_nat @ M2 )
     => ( ( member3067507820990806192at_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) @ ( lS_Pre6394914239403435604at_nat @ M2 @ Q4 ) )
        = ( ( h_obs_9092979675626375875at_nat @ M2 @ Q4 @ X2 @ Y2 )
         != none_P1973817385574297839od_b_c ) ) ) ).

% h_obs_language_single_transition_iff
thf(fact_460_after__is__state,axiom,
    ! [M2: fsm_a_b_c,Io2: list_P903359562653991662od_b_c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ Q4 ) )
       => ( member_a @ ( after_a_b_c @ M2 @ Q4 @ Io2 ) @ ( states_a_b_c @ M2 ) ) ) ) ).

% after_is_state
thf(fact_461_minimal_Oelims_I3_J,axiom,
    ! [X2: fsm_a_b_c] :
      ( ~ ( minimal_a_b_c @ X2 )
     => ~ ! [X: a] :
            ( ( member_a @ X @ ( states_a_b_c @ X2 ) )
           => ! [Xa: a] :
                ( ( member_a @ Xa @ ( states_a_b_c @ X2 ) )
               => ( ( X != Xa )
                 => ( ( lS_a_b_c @ X2 @ X )
                   != ( lS_a_b_c @ X2 @ Xa ) ) ) ) ) ) ).

% minimal.elims(3)
thf(fact_462_minimal_Oelims_I2_J,axiom,
    ! [X2: fsm_a_b_c] :
      ( ( minimal_a_b_c @ X2 )
     => ! [X6: a] :
          ( ( member_a @ X6 @ ( states_a_b_c @ X2 ) )
         => ! [Xa2: a] :
              ( ( member_a @ Xa2 @ ( states_a_b_c @ X2 ) )
             => ( ( X6 != Xa2 )
               => ( ( lS_a_b_c @ X2 @ X6 )
                 != ( lS_a_b_c @ X2 @ Xa2 ) ) ) ) ) ) ).

% minimal.elims(2)
thf(fact_463_minimal_Oelims_I1_J,axiom,
    ! [X2: fsm_a_b_c,Y2: $o] :
      ( ( ( minimal_a_b_c @ X2 )
        = Y2 )
     => ( Y2
        = ( ! [X4: a] :
              ( ( member_a @ X4 @ ( states_a_b_c @ X2 ) )
             => ! [Y3: a] :
                  ( ( member_a @ Y3 @ ( states_a_b_c @ X2 ) )
                 => ( ( X4 != Y3 )
                   => ( ( lS_a_b_c @ X2 @ X4 )
                     != ( lS_a_b_c @ X2 @ Y3 ) ) ) ) ) ) ) ) ).

% minimal.elims(1)
thf(fact_464_minimal_Osimps,axiom,
    ( minimal_a_b_c
    = ( ^ [M6: fsm_a_b_c] :
        ! [X4: a] :
          ( ( member_a @ X4 @ ( states_a_b_c @ M6 ) )
         => ! [Y3: a] :
              ( ( member_a @ Y3 @ ( states_a_b_c @ M6 ) )
             => ( ( X4 != Y3 )
               => ( ( lS_a_b_c @ M6 @ X4 )
                 != ( lS_a_b_c @ M6 @ Y3 ) ) ) ) ) ) ) ).

% minimal.simps
thf(fact_465_minimal__alt__def,axiom,
    ( minimal_a_b_c
    = ( ^ [M6: fsm_a_b_c] :
        ! [Q7: a,Q6: a] :
          ( ( member_a @ Q7 @ ( states_a_b_c @ M6 ) )
         => ( ( member_a @ Q6 @ ( states_a_b_c @ M6 ) )
           => ( ( ( lS_a_b_c @ M6 @ Q7 )
                = ( lS_a_b_c @ M6 @ Q6 ) )
             => ( Q7 = Q6 ) ) ) ) ) ) ).

% minimal_alt_def
thf(fact_466_after__h__obs__prepend,axiom,
    ! [M2: fsm_a_b_c,Q4: a,X2: b,Y2: c,Q5: a,Io2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( ( h_obs_a_b_c @ M2 @ Q4 @ X2 @ Y2 )
          = ( some_a @ Q5 ) )
       => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ Q5 ) )
         => ( ( after_a_b_c @ M2 @ Q4 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ Io2 ) )
            = ( after_a_b_c @ M2 @ Q5 @ Io2 ) ) ) ) ) ).

% after_h_obs_prepend
thf(fact_467_after__h__obs__prepend,axiom,
    ! [M2: fsm_Pr583765586473123763_c_b_c,Q4: prefix425356687782099470od_b_c,X2: b,Y2: c,Q5: prefix425356687782099470od_b_c,Io2: list_P903359562653991662od_b_c] :
      ( ( observ8278588419443668823_c_b_c @ M2 )
     => ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ Q4 @ X2 @ Y2 )
          = ( some_P522567261666896499od_b_c @ Q5 ) )
       => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_Pre2550405482641406963_c_b_c @ M2 @ Q5 ) )
         => ( ( after_7713676853120534758_c_b_c @ M2 @ Q4 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ Io2 ) )
            = ( after_7713676853120534758_c_b_c @ M2 @ Q5 @ Io2 ) ) ) ) ) ).

% after_h_obs_prepend
thf(fact_468_after__h__obs__prepend,axiom,
    ! [M2: fsm_Pr4657356312157149317at_nat,Q4: prefix425356687782099470od_b_c,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,Q5: prefix425356687782099470od_b_c,Io2: list_P3552028079716004544at_nat] :
      ( ( observ4253682487605851305at_nat @ M2 )
     => ( ( ( h_obs_6010489571262231604at_nat @ M2 @ Q4 @ X2 @ Y2 )
          = ( some_P522567261666896499od_b_c @ Q5 ) )
       => ( ( member6394667498616211049at_nat @ Io2 @ ( lS_Pre1928863027795566917at_nat @ M2 @ Q5 ) )
         => ( ( after_8706860992364380216at_nat @ M2 @ Q4 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ Io2 ) )
            = ( after_8706860992364380216at_nat @ M2 @ Q5 @ Io2 ) ) ) ) ) ).

% after_h_obs_prepend
thf(fact_469_after__h__obs__prepend,axiom,
    ! [M2: fsm_Pr8641708754182589388at_nat,Q4: prefix425356687782099470od_b_c,X2: nat,Y2: nat,Q5: prefix425356687782099470od_b_c,Io2: list_P6011104703257516679at_nat] :
      ( ( observ620159373568181176at_nat @ M2 )
     => ( ( ( h_obs_9092979675626375875at_nat @ M2 @ Q4 @ X2 @ Y2 )
          = ( some_P522567261666896499od_b_c @ Q5 ) )
       => ( ( member3067507820990806192at_nat @ Io2 @ ( lS_Pre6394914239403435604at_nat @ M2 @ Q5 ) )
         => ( ( after_4610990257864945863at_nat @ M2 @ Q4 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ Io2 ) )
            = ( after_4610990257864945863at_nat @ M2 @ Q5 @ Io2 ) ) ) ) ) ).

% after_h_obs_prepend
thf(fact_470_minimally__distinguishes__ex,axiom,
    ! [Q1: a,M2: fsm_a_b_c,Q2: a] :
      ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
     => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
       => ( ( ( lS_a_b_c @ M2 @ Q1 )
           != ( lS_a_b_c @ M2 @ Q2 ) )
         => ~ ! [V2: list_P903359562653991662od_b_c] :
                ~ ( minima243535863231358885_a_b_c @ M2 @ Q1 @ Q2 @ V2 ) ) ) ) ).

% minimally_distinguishes_ex
thf(fact_471_h__obs__language__iff,axiom,
    ! [M2: fsm_a_b_c,X2: b,Y2: c,Io2: list_P903359562653991662od_b_c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ Io2 ) @ ( lS_a_b_c @ M2 @ Q4 ) )
        = ( ? [Q6: a] :
              ( ( ( h_obs_a_b_c @ M2 @ Q4 @ X2 @ Y2 )
                = ( some_a @ Q6 ) )
              & ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ Q6 ) ) ) ) ) ) ).

% h_obs_language_iff
thf(fact_472_h__obs__language__iff,axiom,
    ! [M2: fsm_Pr583765586473123763_c_b_c,X2: b,Y2: c,Io2: list_P903359562653991662od_b_c,Q4: prefix425356687782099470od_b_c] :
      ( ( observ8278588419443668823_c_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ Io2 ) @ ( lS_Pre2550405482641406963_c_b_c @ M2 @ Q4 ) )
        = ( ? [Q6: prefix425356687782099470od_b_c] :
              ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ Q4 @ X2 @ Y2 )
                = ( some_P522567261666896499od_b_c @ Q6 ) )
              & ( member6330420149250801815od_b_c @ Io2 @ ( lS_Pre2550405482641406963_c_b_c @ M2 @ Q6 ) ) ) ) ) ) ).

% h_obs_language_iff
thf(fact_473_h__obs__language__iff,axiom,
    ! [M2: fsm_Pr4657356312157149317at_nat,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,Io2: list_P3552028079716004544at_nat,Q4: prefix425356687782099470od_b_c] :
      ( ( observ4253682487605851305at_nat @ M2 )
     => ( ( member6394667498616211049at_nat @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ Io2 ) @ ( lS_Pre1928863027795566917at_nat @ M2 @ Q4 ) )
        = ( ? [Q6: prefix425356687782099470od_b_c] :
              ( ( ( h_obs_6010489571262231604at_nat @ M2 @ Q4 @ X2 @ Y2 )
                = ( some_P522567261666896499od_b_c @ Q6 ) )
              & ( member6394667498616211049at_nat @ Io2 @ ( lS_Pre1928863027795566917at_nat @ M2 @ Q6 ) ) ) ) ) ) ).

% h_obs_language_iff
thf(fact_474_h__obs__language__iff,axiom,
    ! [M2: fsm_Pr8641708754182589388at_nat,X2: nat,Y2: nat,Io2: list_P6011104703257516679at_nat,Q4: prefix425356687782099470od_b_c] :
      ( ( observ620159373568181176at_nat @ M2 )
     => ( ( member3067507820990806192at_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ Io2 ) @ ( lS_Pre6394914239403435604at_nat @ M2 @ Q4 ) )
        = ( ? [Q6: prefix425356687782099470od_b_c] :
              ( ( ( h_obs_9092979675626375875at_nat @ M2 @ Q4 @ X2 @ Y2 )
                = ( some_P522567261666896499od_b_c @ Q6 ) )
              & ( member3067507820990806192at_nat @ Io2 @ ( lS_Pre6394914239403435604at_nat @ M2 @ Q6 ) ) ) ) ) ) ).

% h_obs_language_iff
thf(fact_475_after__h__obs,axiom,
    ! [M2: fsm_a_b_c,Q4: a,X2: b,Y2: c,Q5: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( ( h_obs_a_b_c @ M2 @ Q4 @ X2 @ Y2 )
          = ( some_a @ Q5 ) )
       => ( ( after_a_b_c @ M2 @ Q4 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) )
          = Q5 ) ) ) ).

% after_h_obs
thf(fact_476_after__h__obs,axiom,
    ! [M2: fsm_Pr583765586473123763_c_b_c,Q4: prefix425356687782099470od_b_c,X2: b,Y2: c,Q5: prefix425356687782099470od_b_c] :
      ( ( observ8278588419443668823_c_b_c @ M2 )
     => ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ Q4 @ X2 @ Y2 )
          = ( some_P522567261666896499od_b_c @ Q5 ) )
       => ( ( after_7713676853120534758_c_b_c @ M2 @ Q4 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) )
          = Q5 ) ) ) ).

% after_h_obs
thf(fact_477_after__h__obs,axiom,
    ! [M2: fsm_Pr4657356312157149317at_nat,Q4: prefix425356687782099470od_b_c,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,Q5: prefix425356687782099470od_b_c] :
      ( ( observ4253682487605851305at_nat @ M2 )
     => ( ( ( h_obs_6010489571262231604at_nat @ M2 @ Q4 @ X2 @ Y2 )
          = ( some_P522567261666896499od_b_c @ Q5 ) )
       => ( ( after_8706860992364380216at_nat @ M2 @ Q4 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) )
          = Q5 ) ) ) ).

% after_h_obs
thf(fact_478_after__h__obs,axiom,
    ! [M2: fsm_Pr8641708754182589388at_nat,Q4: prefix425356687782099470od_b_c,X2: nat,Y2: nat,Q5: prefix425356687782099470od_b_c] :
      ( ( observ620159373568181176at_nat @ M2 )
     => ( ( ( h_obs_9092979675626375875at_nat @ M2 @ Q4 @ X2 @ Y2 )
          = ( some_P522567261666896499od_b_c @ Q5 ) )
       => ( ( after_4610990257864945863at_nat @ M2 @ Q4 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) )
          = Q5 ) ) ) ).

% after_h_obs
thf(fact_479_h__obs__from__LS,axiom,
    ! [M2: fsm_a_b_c,X2: b,Y2: c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) @ ( lS_a_b_c @ M2 @ Q4 ) )
       => ~ ! [Q8: a] :
              ( ( h_obs_a_b_c @ M2 @ Q4 @ X2 @ Y2 )
             != ( some_a @ Q8 ) ) ) ) ).

% h_obs_from_LS
thf(fact_480_h__obs__from__LS,axiom,
    ! [M2: fsm_Pr583765586473123763_c_b_c,X2: b,Y2: c,Q4: prefix425356687782099470od_b_c] :
      ( ( observ8278588419443668823_c_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) @ ( lS_Pre2550405482641406963_c_b_c @ M2 @ Q4 ) )
       => ~ ! [Q8: prefix425356687782099470od_b_c] :
              ( ( h_obs_6145309630326805730_c_b_c @ M2 @ Q4 @ X2 @ Y2 )
             != ( some_P522567261666896499od_b_c @ Q8 ) ) ) ) ).

% h_obs_from_LS
thf(fact_481_h__obs__from__LS,axiom,
    ! [M2: fsm_Pr4657356312157149317at_nat,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,Q4: prefix425356687782099470od_b_c] :
      ( ( observ4253682487605851305at_nat @ M2 )
     => ( ( member6394667498616211049at_nat @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) @ ( lS_Pre1928863027795566917at_nat @ M2 @ Q4 ) )
       => ~ ! [Q8: prefix425356687782099470od_b_c] :
              ( ( h_obs_6010489571262231604at_nat @ M2 @ Q4 @ X2 @ Y2 )
             != ( some_P522567261666896499od_b_c @ Q8 ) ) ) ) ).

% h_obs_from_LS
thf(fact_482_h__obs__from__LS,axiom,
    ! [M2: fsm_Pr8641708754182589388at_nat,X2: nat,Y2: nat,Q4: prefix425356687782099470od_b_c] :
      ( ( observ620159373568181176at_nat @ M2 )
     => ( ( member3067507820990806192at_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) @ ( lS_Pre6394914239403435604at_nat @ M2 @ Q4 ) )
       => ~ ! [Q8: prefix425356687782099470od_b_c] :
              ( ( h_obs_9092979675626375875at_nat @ M2 @ Q4 @ X2 @ Y2 )
             != ( some_P522567261666896499od_b_c @ Q8 ) ) ) ) ).

% h_obs_from_LS
thf(fact_483_minimally__distinguishes__after__append,axiom,
    ! [M2: fsm_Pr8946560376811747725_c_b_c,Q1: product_prod_b_c,Q2: product_prod_b_c,W3: list_P903359562653991662od_b_c,W4: list_P903359562653991662od_b_c] :
      ( ( observ2355048066641855153_c_b_c @ M2 )
     => ( ( minima2655950506785042427_c_b_c @ M2 )
       => ( ( member7862447941013992593od_b_c @ Q1 @ ( states8981316748681014706_c_b_c @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ Q2 @ ( states8981316748681014706_c_b_c @ M2 ) )
           => ( ( minima7220721411496132623_c_b_c @ M2 @ Q1 @ Q2 @ ( append2547753245680614915od_b_c @ W3 @ W4 ) )
             => ( ( W4 != nil_Product_prod_b_c )
               => ( minima7220721411496132623_c_b_c @ M2 @ ( after_2478316435353686720_c_b_c @ M2 @ Q1 @ W3 ) @ ( after_2478316435353686720_c_b_c @ M2 @ Q2 @ W3 ) @ W4 ) ) ) ) ) ) ) ).

% minimally_distinguishes_after_append
thf(fact_484_minimally__distinguishes__after__append,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Q2: a,W3: list_P903359562653991662od_b_c,W4: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
         => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
           => ( ( minima243535863231358885_a_b_c @ M2 @ Q1 @ Q2 @ ( append2547753245680614915od_b_c @ W3 @ W4 ) )
             => ( ( W4 != nil_Product_prod_b_c )
               => ( minima243535863231358885_a_b_c @ M2 @ ( after_a_b_c @ M2 @ Q1 @ W3 ) @ ( after_a_b_c @ M2 @ Q2 @ W3 ) @ W4 ) ) ) ) ) ) ) ).

% minimally_distinguishes_after_append
thf(fact_485_language__maximal__contained__prefix__ob,axiom,
    ! [Io2: list_P903359562653991662od_b_c,M2: fsm_Pr8946560376811747725_c_b_c,Q4: product_prod_b_c] :
      ( ~ ( member6330420149250801815od_b_c @ Io2 @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q4 ) )
     => ( ( member7862447941013992593od_b_c @ Q4 @ ( states8981316748681014706_c_b_c @ M2 ) )
       => ( ( observ2355048066641855153_c_b_c @ M2 )
         => ~ ! [Io3: list_P903359562653991662od_b_c,X: b,Y: c] :
                ( ? [Io4: list_P903359562653991662od_b_c] :
                    ( Io2
                    = ( append2547753245680614915od_b_c @ Io3 @ ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ Y ) @ nil_Product_prod_b_c ) @ Io4 ) ) )
               => ( ( member6330420149250801815od_b_c @ Io3 @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q4 ) )
                 => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io3 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ Y ) @ nil_Product_prod_b_c ) ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q4 ) ) ) ) ) ) ) ).

% language_maximal_contained_prefix_ob
thf(fact_486_language__maximal__contained__prefix__ob,axiom,
    ! [Io2: list_P903359562653991662od_b_c,M2: fsm_a_b_c,Q4: a] :
      ( ~ ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ Q4 ) )
     => ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
       => ( ( observable_a_b_c @ M2 )
         => ~ ! [Io3: list_P903359562653991662od_b_c,X: b,Y: c] :
                ( ? [Io4: list_P903359562653991662od_b_c] :
                    ( Io2
                    = ( append2547753245680614915od_b_c @ Io3 @ ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ Y ) @ nil_Product_prod_b_c ) @ Io4 ) ) )
               => ( ( member6330420149250801815od_b_c @ Io3 @ ( lS_a_b_c @ M2 @ Q4 ) )
                 => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io3 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X @ Y ) @ nil_Product_prod_b_c ) ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ) ) ) ).

% language_maximal_contained_prefix_ob
thf(fact_487_language__maximal__contained__prefix__ob,axiom,
    ! [Io2: list_P3552028079716004544at_nat,M2: fsm_a_4604537545892270069at_nat,Q4: a] :
      ( ~ ( member6394667498616211049at_nat @ Io2 @ ( lS_a_l146741544388291637at_nat @ M2 @ Q4 ) )
     => ( ( member_a @ Q4 @ ( states5053033810689651610at_nat @ M2 ) )
       => ( ( observ2018583120679614873at_nat @ M2 )
         => ~ ! [Io3: list_P3552028079716004544at_nat,X: list_P903359562653991662od_b_c,Y: product_prod_nat_nat] :
                ( ? [Io4: list_P3552028079716004544at_nat] :
                    ( Io2
                    = ( append2832415944887039701at_nat @ Io3 @ ( append2832415944887039701at_nat @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X @ Y ) @ nil_Pr4949612815525651264at_nat ) @ Io4 ) ) )
               => ( ( member6394667498616211049at_nat @ Io3 @ ( lS_a_l146741544388291637at_nat @ M2 @ Q4 ) )
                 => ( member6394667498616211049at_nat @ ( append2832415944887039701at_nat @ Io3 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X @ Y ) @ nil_Pr4949612815525651264at_nat ) ) @ ( lS_a_l146741544388291637at_nat @ M2 @ Q4 ) ) ) ) ) ) ) ).

% language_maximal_contained_prefix_ob
thf(fact_488_language__maximal__contained__prefix__ob,axiom,
    ! [Io2: list_P3552028079716004544at_nat,M2: fsm_Pr6890445380455706207at_nat,Q4: product_prod_b_c] :
      ( ~ ( member6394667498616211049at_nat @ Io2 @ ( lS_Pro4163255673115824799at_nat @ M2 @ Q4 ) )
     => ( ( member7862447941013992593od_b_c @ Q4 @ ( states1078553636851199236at_nat @ M2 ) )
       => ( ( observ1623514629241216003at_nat @ M2 )
         => ~ ! [Io3: list_P3552028079716004544at_nat,X: list_P903359562653991662od_b_c,Y: product_prod_nat_nat] :
                ( ? [Io4: list_P3552028079716004544at_nat] :
                    ( Io2
                    = ( append2832415944887039701at_nat @ Io3 @ ( append2832415944887039701at_nat @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X @ Y ) @ nil_Pr4949612815525651264at_nat ) @ Io4 ) ) )
               => ( ( member6394667498616211049at_nat @ Io3 @ ( lS_Pro4163255673115824799at_nat @ M2 @ Q4 ) )
                 => ( member6394667498616211049at_nat @ ( append2832415944887039701at_nat @ Io3 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X @ Y ) @ nil_Pr4949612815525651264at_nat ) ) @ ( lS_Pro4163255673115824799at_nat @ M2 @ Q4 ) ) ) ) ) ) ) ).

% language_maximal_contained_prefix_ob
thf(fact_489_language__maximal__contained__prefix__ob,axiom,
    ! [Io2: list_P6011104703257516679at_nat,M2: fsm_a_nat_nat,Q4: a] :
      ( ~ ( member3067507820990806192at_nat @ Io2 @ ( lS_a_nat_nat @ M2 @ Q4 ) )
     => ( ( member_a @ Q4 @ ( states_a_nat_nat @ M2 ) )
       => ( ( observable_a_nat_nat @ M2 )
         => ~ ! [Io3: list_P6011104703257516679at_nat,X: nat,Y: nat] :
                ( ? [Io4: list_P6011104703257516679at_nat] :
                    ( Io2
                    = ( append985823374593552924at_nat @ Io3 @ ( append985823374593552924at_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ nil_Pr5478986624290739719at_nat ) @ Io4 ) ) )
               => ( ( member3067507820990806192at_nat @ Io3 @ ( lS_a_nat_nat @ M2 @ Q4 ) )
                 => ( member3067507820990806192at_nat @ ( append985823374593552924at_nat @ Io3 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ nil_Pr5478986624290739719at_nat ) ) @ ( lS_a_nat_nat @ M2 @ Q4 ) ) ) ) ) ) ) ).

% language_maximal_contained_prefix_ob
thf(fact_490_language__maximal__contained__prefix__ob,axiom,
    ! [Io2: list_P6011104703257516679at_nat,M2: fsm_Pr3844284524609415846at_nat,Q4: product_prod_b_c] :
      ( ~ ( member3067507820990806192at_nat @ Io2 @ ( lS_Pro8951734124491481262at_nat @ M2 @ Q4 ) )
     => ( ( member7862447941013992593od_b_c @ Q4 @ ( states7590396833291176851at_nat @ M2 ) )
       => ( ( observ5955862685780505618at_nat @ M2 )
         => ~ ! [Io3: list_P6011104703257516679at_nat,X: nat,Y: nat] :
                ( ? [Io4: list_P6011104703257516679at_nat] :
                    ( Io2
                    = ( append985823374593552924at_nat @ Io3 @ ( append985823374593552924at_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ nil_Pr5478986624290739719at_nat ) @ Io4 ) ) )
               => ( ( member3067507820990806192at_nat @ Io3 @ ( lS_Pro8951734124491481262at_nat @ M2 @ Q4 ) )
                 => ( member3067507820990806192at_nat @ ( append985823374593552924at_nat @ Io3 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ nil_Pr5478986624290739719at_nat ) ) @ ( lS_Pro8951734124491481262at_nat @ M2 @ Q4 ) ) ) ) ) ) ) ).

% language_maximal_contained_prefix_ob
thf(fact_491_product__lists_Osimps_I1_J,axiom,
    ( ( produc3104363228908302167od_b_c @ nil_li8071162985807626740od_b_c )
    = ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ nil_li8071162985807626740od_b_c ) ) ).

% product_lists.simps(1)
thf(fact_492_update__with__aux_Osimps_I1_J,axiom,
    ! [V: c,K: b,F: c > c] :
      ( ( update_with_aux_c_b @ V @ K @ F @ nil_Product_prod_b_c )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ V ) ) @ nil_Product_prod_b_c ) ) ).

% update_with_aux.simps(1)
thf(fact_493_update__with__aux_Osimps_I1_J,axiom,
    ! [V: product_prod_nat_nat,K: list_P903359562653991662od_b_c,F: product_prod_nat_nat > product_prod_nat_nat] :
      ( ( update3836831102904268847od_b_c @ V @ K @ F @ nil_Pr4949612815525651264at_nat )
      = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ K @ ( F @ V ) ) @ nil_Pr4949612815525651264at_nat ) ) ).

% update_with_aux.simps(1)
thf(fact_494_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_495_append_Oassoc,axiom,
    ! [A: list_P903359562653991662od_b_c,B: list_P903359562653991662od_b_c,C2: list_P903359562653991662od_b_c] :
      ( ( append2547753245680614915od_b_c @ ( append2547753245680614915od_b_c @ A @ B ) @ C2 )
      = ( append2547753245680614915od_b_c @ A @ ( append2547753245680614915od_b_c @ B @ C2 ) ) ) ).

% append.assoc
thf(fact_496_append__assoc,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c] :
      ( ( append2547753245680614915od_b_c @ ( append2547753245680614915od_b_c @ Xs @ Ys ) @ Zs )
      = ( append2547753245680614915od_b_c @ Xs @ ( append2547753245680614915od_b_c @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_497_append__same__eq,axiom,
    ! [Ys: list_P903359562653991662od_b_c,Xs: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Ys @ Xs )
        = ( append2547753245680614915od_b_c @ Zs @ Xs ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_498_same__append__eq,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Xs @ Ys )
        = ( append2547753245680614915od_b_c @ Xs @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_499_empty__append__eq__id,axiom,
    ( ( append2547753245680614915od_b_c @ nil_Product_prod_b_c )
    = ( ^ [X4: list_P903359562653991662od_b_c] : X4 ) ) ).

% empty_append_eq_id
thf(fact_500_append_Oright__neutral,axiom,
    ! [A: list_P903359562653991662od_b_c] :
      ( ( append2547753245680614915od_b_c @ A @ nil_Product_prod_b_c )
      = A ) ).

% append.right_neutral
thf(fact_501_append__Nil2,axiom,
    ! [Xs: list_P903359562653991662od_b_c] :
      ( ( append2547753245680614915od_b_c @ Xs @ nil_Product_prod_b_c )
      = Xs ) ).

% append_Nil2
thf(fact_502_append__self__conv,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_Product_prod_b_c ) ) ).

% append_self_conv
thf(fact_503_self__append__conv,axiom,
    ! [Y2: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( Y2
        = ( append2547753245680614915od_b_c @ Y2 @ Ys ) )
      = ( Ys = nil_Product_prod_b_c ) ) ).

% self_append_conv
thf(fact_504_append__self__conv2,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_Product_prod_b_c ) ) ).

% append_self_conv2
thf(fact_505_self__append__conv2,axiom,
    ! [Y2: list_P903359562653991662od_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( Y2
        = ( append2547753245680614915od_b_c @ Xs @ Y2 ) )
      = ( Xs = nil_Product_prod_b_c ) ) ).

% self_append_conv2
thf(fact_506_Nil__is__append__conv,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( nil_Product_prod_b_c
        = ( append2547753245680614915od_b_c @ Xs @ Ys ) )
      = ( ( Xs = nil_Product_prod_b_c )
        & ( Ys = nil_Product_prod_b_c ) ) ) ).

% Nil_is_append_conv
thf(fact_507_append__is__Nil__conv,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Xs @ Ys )
        = nil_Product_prod_b_c )
      = ( ( Xs = nil_Product_prod_b_c )
        & ( Ys = nil_Product_prod_b_c ) ) ) ).

% append_is_Nil_conv
thf(fact_508_list__ee__eq__leel_I1_J,axiom,
    ! [E1: product_prod_b_c,E22: product_prod_b_c,L12: list_P903359562653991662od_b_c,E12: product_prod_b_c,E23: product_prod_b_c,L23: list_P903359562653991662od_b_c] :
      ( ( ( cons_P4529483553340347422od_b_c @ E1 @ ( cons_P4529483553340347422od_b_c @ E22 @ nil_Product_prod_b_c ) )
        = ( append2547753245680614915od_b_c @ L12 @ ( cons_P4529483553340347422od_b_c @ E12 @ ( cons_P4529483553340347422od_b_c @ E23 @ L23 ) ) ) )
      = ( ( L12 = nil_Product_prod_b_c )
        & ( E1 = E12 )
        & ( E22 = E23 )
        & ( L23 = nil_Product_prod_b_c ) ) ) ).

% list_ee_eq_leel(1)
thf(fact_509_list__ee__eq__leel_I2_J,axiom,
    ! [L12: list_P903359562653991662od_b_c,E12: product_prod_b_c,E23: product_prod_b_c,L23: list_P903359562653991662od_b_c,E1: product_prod_b_c,E22: product_prod_b_c] :
      ( ( ( append2547753245680614915od_b_c @ L12 @ ( cons_P4529483553340347422od_b_c @ E12 @ ( cons_P4529483553340347422od_b_c @ E23 @ L23 ) ) )
        = ( cons_P4529483553340347422od_b_c @ E1 @ ( cons_P4529483553340347422od_b_c @ E22 @ nil_Product_prod_b_c ) ) )
      = ( ( L12 = nil_Product_prod_b_c )
        & ( E1 = E12 )
        & ( E22 = E23 )
        & ( L23 = nil_Product_prod_b_c ) ) ) ).

% list_ee_eq_leel(2)
thf(fact_510_list__se__match_I1_J,axiom,
    ! [L12: list_P903359562653991662od_b_c,L23: list_P903359562653991662od_b_c,A: product_prod_b_c] :
      ( ( L12 != nil_Product_prod_b_c )
     => ( ( ( append2547753245680614915od_b_c @ L12 @ L23 )
          = ( cons_P4529483553340347422od_b_c @ A @ nil_Product_prod_b_c ) )
        = ( ( L12
            = ( cons_P4529483553340347422od_b_c @ A @ nil_Product_prod_b_c ) )
          & ( L23 = nil_Product_prod_b_c ) ) ) ) ).

% list_se_match(1)
thf(fact_511_list__se__match_I2_J,axiom,
    ! [L23: list_P903359562653991662od_b_c,L12: list_P903359562653991662od_b_c,A: product_prod_b_c] :
      ( ( L23 != nil_Product_prod_b_c )
     => ( ( ( append2547753245680614915od_b_c @ L12 @ L23 )
          = ( cons_P4529483553340347422od_b_c @ A @ nil_Product_prod_b_c ) )
        = ( ( L12 = nil_Product_prod_b_c )
          & ( L23
            = ( cons_P4529483553340347422od_b_c @ A @ nil_Product_prod_b_c ) ) ) ) ) ).

% list_se_match(2)
thf(fact_512_list__se__match_I3_J,axiom,
    ! [L12: list_P903359562653991662od_b_c,A: product_prod_b_c,L23: list_P903359562653991662od_b_c] :
      ( ( L12 != nil_Product_prod_b_c )
     => ( ( ( cons_P4529483553340347422od_b_c @ A @ nil_Product_prod_b_c )
          = ( append2547753245680614915od_b_c @ L12 @ L23 ) )
        = ( ( L12
            = ( cons_P4529483553340347422od_b_c @ A @ nil_Product_prod_b_c ) )
          & ( L23 = nil_Product_prod_b_c ) ) ) ) ).

% list_se_match(3)
thf(fact_513_list__se__match_I4_J,axiom,
    ! [L23: list_P903359562653991662od_b_c,A: product_prod_b_c,L12: list_P903359562653991662od_b_c] :
      ( ( L23 != nil_Product_prod_b_c )
     => ( ( ( cons_P4529483553340347422od_b_c @ A @ nil_Product_prod_b_c )
          = ( append2547753245680614915od_b_c @ L12 @ L23 ) )
        = ( ( L12 = nil_Product_prod_b_c )
          & ( L23
            = ( cons_P4529483553340347422od_b_c @ A @ nil_Product_prod_b_c ) ) ) ) ) ).

% list_se_match(4)
thf(fact_514_list__e__eq__lel_I1_J,axiom,
    ! [E: product_prod_b_c,L12: list_P903359562653991662od_b_c,E3: product_prod_b_c,L23: list_P903359562653991662od_b_c] :
      ( ( ( cons_P4529483553340347422od_b_c @ E @ nil_Product_prod_b_c )
        = ( append2547753245680614915od_b_c @ L12 @ ( cons_P4529483553340347422od_b_c @ E3 @ L23 ) ) )
      = ( ( L12 = nil_Product_prod_b_c )
        & ( E3 = E )
        & ( L23 = nil_Product_prod_b_c ) ) ) ).

% list_e_eq_lel(1)
thf(fact_515_list__e__eq__lel_I2_J,axiom,
    ! [L12: list_P903359562653991662od_b_c,E3: product_prod_b_c,L23: list_P903359562653991662od_b_c,E: product_prod_b_c] :
      ( ( ( append2547753245680614915od_b_c @ L12 @ ( cons_P4529483553340347422od_b_c @ E3 @ L23 ) )
        = ( cons_P4529483553340347422od_b_c @ E @ nil_Product_prod_b_c ) )
      = ( ( L12 = nil_Product_prod_b_c )
        & ( E3 = E )
        & ( L23 = nil_Product_prod_b_c ) ) ) ).

% list_e_eq_lel(2)
thf(fact_516_append1__eq__conv,axiom,
    ! [Xs: list_P903359562653991662od_b_c,X2: product_prod_b_c,Ys: list_P903359562653991662od_b_c,Y2: product_prod_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Xs @ ( cons_P4529483553340347422od_b_c @ X2 @ nil_Product_prod_b_c ) )
        = ( append2547753245680614915od_b_c @ Ys @ ( cons_P4529483553340347422od_b_c @ Y2 @ nil_Product_prod_b_c ) ) )
      = ( ( Xs = Ys )
        & ( X2 = Y2 ) ) ) ).

% append1_eq_conv
thf(fact_517_append__eq__appendI,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Xs12: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Us: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Xs @ Xs12 )
        = Zs )
     => ( ( Ys
          = ( append2547753245680614915od_b_c @ Xs12 @ Us ) )
       => ( ( append2547753245680614915od_b_c @ Xs @ Ys )
          = ( append2547753245680614915od_b_c @ Zs @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_518_append__eq__append__conv2,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c,Ts: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Xs @ Ys )
        = ( append2547753245680614915od_b_c @ Zs @ Ts ) )
      = ( ? [Us2: list_P903359562653991662od_b_c] :
            ( ( ( Xs
                = ( append2547753245680614915od_b_c @ Zs @ Us2 ) )
              & ( ( append2547753245680614915od_b_c @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append2547753245680614915od_b_c @ Xs @ Us2 )
                = Zs )
              & ( Ys
                = ( append2547753245680614915od_b_c @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_519_append__Cons,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ Ys )
      = ( cons_P4529483553340347422od_b_c @ X2 @ ( append2547753245680614915od_b_c @ Xs @ Ys ) ) ) ).

% append_Cons
thf(fact_520_Cons__eq__appendI,axiom,
    ! [X2: product_prod_b_c,Xs12: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Xs: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c] :
      ( ( ( cons_P4529483553340347422od_b_c @ X2 @ Xs12 )
        = Ys )
     => ( ( Xs
          = ( append2547753245680614915od_b_c @ Xs12 @ Zs ) )
       => ( ( cons_P4529483553340347422od_b_c @ X2 @ Xs )
          = ( append2547753245680614915od_b_c @ Ys @ Zs ) ) ) ) ).

% Cons_eq_appendI
thf(fact_521_list__match__lel__lel,axiom,
    ! [C1: list_P903359562653991662od_b_c,Qs: product_prod_b_c,C22: list_P903359562653991662od_b_c,C12: list_P903359562653991662od_b_c,Qs2: product_prod_b_c,C23: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ C1 @ ( cons_P4529483553340347422od_b_c @ Qs @ C22 ) )
        = ( append2547753245680614915od_b_c @ C12 @ ( cons_P4529483553340347422od_b_c @ Qs2 @ C23 ) ) )
     => ( ! [C21: list_P903359562653991662od_b_c] :
            ( ( C1
              = ( append2547753245680614915od_b_c @ C12 @ ( cons_P4529483553340347422od_b_c @ Qs2 @ C21 ) ) )
           => ( C23
             != ( append2547753245680614915od_b_c @ C21 @ ( cons_P4529483553340347422od_b_c @ Qs @ C22 ) ) ) )
       => ( ( ( C12 = C1 )
           => ( ( Qs2 = Qs )
             => ( C23 != C22 ) ) )
         => ~ ! [C212: list_P903359562653991662od_b_c] :
                ( ( C12
                  = ( append2547753245680614915od_b_c @ C1 @ ( cons_P4529483553340347422od_b_c @ Qs @ C212 ) ) )
               => ( C22
                 != ( append2547753245680614915od_b_c @ C212 @ ( cons_P4529483553340347422od_b_c @ Qs2 @ C23 ) ) ) ) ) ) ) ).

% list_match_lel_lel
thf(fact_522_append__Nil,axiom,
    ! [Ys: list_P903359562653991662od_b_c] :
      ( ( append2547753245680614915od_b_c @ nil_Product_prod_b_c @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_523_append_Oleft__neutral,axiom,
    ! [A: list_P903359562653991662od_b_c] :
      ( ( append2547753245680614915od_b_c @ nil_Product_prod_b_c @ A )
      = A ) ).

% append.left_neutral
thf(fact_524_eq__Nil__appendI,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append2547753245680614915od_b_c @ nil_Product_prod_b_c @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_525_list__set__sym,axiom,
    ! [X2: list_P903359562653991662od_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( set_Product_prod_b_c2 @ ( append2547753245680614915od_b_c @ X2 @ Y2 ) )
      = ( set_Product_prod_b_c2 @ ( append2547753245680614915od_b_c @ Y2 @ X2 ) ) ) ).

% list_set_sym
thf(fact_526_list__prefix__elem,axiom,
    ! [X2: a,Xs: list_a,Ys: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ ( append_a @ Xs @ Ys ) ) )
     => ( ~ ( member_a @ X2 @ ( set_a2 @ Ys ) )
       => ( member_a @ X2 @ ( set_a2 @ Xs ) ) ) ) ).

% list_prefix_elem
thf(fact_527_list__prefix__elem,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ ( append2547753245680614915od_b_c @ Xs @ Ys ) ) )
     => ( ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Ys ) )
       => ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) ) ) ) ).

% list_prefix_elem
thf(fact_528_list__concat__non__elem,axiom,
    ! [X2: a,Xs: list_a,Ys: list_a] :
      ( ~ ( member_a @ X2 @ ( set_a2 @ Xs ) )
     => ( ~ ( member_a @ X2 @ ( set_a2 @ Ys ) )
       => ~ ( member_a @ X2 @ ( set_a2 @ ( append_a @ Xs @ Ys ) ) ) ) ) ).

% list_concat_non_elem
thf(fact_529_list__concat__non__elem,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
     => ( ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Ys ) )
       => ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ ( append2547753245680614915od_b_c @ Xs @ Ys ) ) ) ) ) ).

% list_concat_non_elem
thf(fact_530_list__append__eq__Cons__cases,axiom,
    ! [Ys: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c,X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Ys @ Zs )
        = ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) )
     => ( ( ( Ys = nil_Product_prod_b_c )
         => ( Zs
           != ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) ) )
       => ~ ! [Ys4: list_P903359562653991662od_b_c] :
              ( ( Ys
                = ( cons_P4529483553340347422od_b_c @ X2 @ Ys4 ) )
             => ( ( append2547753245680614915od_b_c @ Ys4 @ Zs )
               != Xs ) ) ) ) ).

% list_append_eq_Cons_cases
thf(fact_531_list__Cons__eq__append__cases,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c] :
      ( ( ( cons_P4529483553340347422od_b_c @ X2 @ Xs )
        = ( append2547753245680614915od_b_c @ Ys @ Zs ) )
     => ( ( ( Ys = nil_Product_prod_b_c )
         => ( Zs
           != ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) ) )
       => ~ ! [Ys4: list_P903359562653991662od_b_c] :
              ( ( Ys
                = ( cons_P4529483553340347422od_b_c @ X2 @ Ys4 ) )
             => ( ( append2547753245680614915od_b_c @ Ys4 @ Zs )
               != Xs ) ) ) ) ).

% list_Cons_eq_append_cases
thf(fact_532_rev__nonempty__induct2_H,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,P3: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o] :
      ( ( Xs != nil_Product_prod_b_c )
     => ( ( Ys != nil_Product_prod_b_c )
       => ( ! [X: product_prod_b_c,Y: product_prod_b_c] : ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) @ ( cons_P4529483553340347422od_b_c @ Y @ nil_Product_prod_b_c ) )
         => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c] :
                ( ( Xs3 != nil_Product_prod_b_c )
               => ( P3 @ ( append2547753245680614915od_b_c @ Xs3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) @ ( cons_P4529483553340347422od_b_c @ Y @ nil_Product_prod_b_c ) ) )
           => ( ! [X: product_prod_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
                  ( ( Ys2 != nil_Product_prod_b_c )
                 => ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) @ ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ Y @ nil_Product_prod_b_c ) ) ) )
             => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
                    ( ( P3 @ Xs3 @ Ys2 )
                   => ( ( Xs3 != nil_Product_prod_b_c )
                     => ( ( Ys2 != nil_Product_prod_b_c )
                       => ( P3 @ ( append2547753245680614915od_b_c @ Xs3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) @ ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ Y @ nil_Product_prod_b_c ) ) ) ) ) )
               => ( P3 @ Xs @ Ys ) ) ) ) ) ) ) ).

% rev_nonempty_induct2'
thf(fact_533_neq__Nil__rev__conv,axiom,
    ! [L2: list_P903359562653991662od_b_c] :
      ( ( L2 != nil_Product_prod_b_c )
      = ( ? [Xs2: list_P903359562653991662od_b_c,X4: product_prod_b_c] :
            ( L2
            = ( append2547753245680614915od_b_c @ Xs2 @ ( cons_P4529483553340347422od_b_c @ X4 @ nil_Product_prod_b_c ) ) ) ) ) ).

% neq_Nil_rev_conv
thf(fact_534_rev__induct2_H,axiom,
    ! [P3: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( P3 @ nil_Product_prod_b_c @ nil_Product_prod_b_c )
     => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] : ( P3 @ ( append2547753245680614915od_b_c @ Xs3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) @ nil_Product_prod_b_c )
       => ( ! [Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] : ( P3 @ nil_Product_prod_b_c @ ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ Y @ nil_Product_prod_b_c ) ) )
         => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
                ( ( P3 @ Xs3 @ Ys2 )
               => ( P3 @ ( append2547753245680614915od_b_c @ Xs3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) @ ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ Y @ nil_Product_prod_b_c ) ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% rev_induct2'
thf(fact_535_neq__Nil__revE,axiom,
    ! [L2: list_P903359562653991662od_b_c] :
      ( ( L2 != nil_Product_prod_b_c )
     => ~ ! [Ll: list_P903359562653991662od_b_c,E2: product_prod_b_c] :
            ( L2
           != ( append2547753245680614915od_b_c @ Ll @ ( cons_P4529483553340347422od_b_c @ E2 @ nil_Product_prod_b_c ) ) ) ) ).

% neq_Nil_revE
thf(fact_536_rev__induct,axiom,
    ! [P3: list_P903359562653991662od_b_c > $o,Xs: list_P903359562653991662od_b_c] :
      ( ( P3 @ nil_Product_prod_b_c )
     => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
            ( ( P3 @ Xs3 )
           => ( P3 @ ( append2547753245680614915od_b_c @ Xs3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) ) )
       => ( P3 @ Xs ) ) ) ).

% rev_induct
thf(fact_537_rev__exhaust,axiom,
    ! [Xs: list_P903359562653991662od_b_c] :
      ( ( Xs != nil_Product_prod_b_c )
     => ~ ! [Ys2: list_P903359562653991662od_b_c,Y: product_prod_b_c] :
            ( Xs
           != ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ Y @ nil_Product_prod_b_c ) ) ) ) ).

% rev_exhaust
thf(fact_538_Cons__eq__append__conv,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c] :
      ( ( ( cons_P4529483553340347422od_b_c @ X2 @ Xs )
        = ( append2547753245680614915od_b_c @ Ys @ Zs ) )
      = ( ( ( Ys = nil_Product_prod_b_c )
          & ( ( cons_P4529483553340347422od_b_c @ X2 @ Xs )
            = Zs ) )
        | ? [Ys5: list_P903359562653991662od_b_c] :
            ( ( ( cons_P4529483553340347422od_b_c @ X2 @ Ys5 )
              = Ys )
            & ( Xs
              = ( append2547753245680614915od_b_c @ Ys5 @ Zs ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_539_append__eq__Cons__conv,axiom,
    ! [Ys: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c,X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( ( append2547753245680614915od_b_c @ Ys @ Zs )
        = ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) )
      = ( ( ( Ys = nil_Product_prod_b_c )
          & ( Zs
            = ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) ) )
        | ? [Ys5: list_P903359562653991662od_b_c] :
            ( ( Ys
              = ( cons_P4529483553340347422od_b_c @ X2 @ Ys5 ) )
            & ( ( append2547753245680614915od_b_c @ Ys5 @ Zs )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_540_rev__nonempty__induct,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: list_P903359562653991662od_b_c > $o] :
      ( ( Xs != nil_Product_prod_b_c )
     => ( ! [X: product_prod_b_c] : ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) )
       => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( ( Xs3 != nil_Product_prod_b_c )
             => ( ( P3 @ Xs3 )
               => ( P3 @ ( append2547753245680614915od_b_c @ Xs3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_541_split__list__first__prop__iff,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: product_prod_b_c > $o] :
      ( ( ? [X4: product_prod_b_c] :
            ( ( member7862447941013992593od_b_c @ X4 @ ( set_Product_prod_b_c2 @ Xs ) )
            & ( P3 @ X4 ) ) )
      = ( ? [Ys3: list_P903359562653991662od_b_c,X4: product_prod_b_c] :
            ( ? [Zs2: list_P903359562653991662od_b_c] :
                ( Xs
                = ( append2547753245680614915od_b_c @ Ys3 @ ( cons_P4529483553340347422od_b_c @ X4 @ Zs2 ) ) )
            & ( P3 @ X4 )
            & ! [Y3: product_prod_b_c] :
                ( ( member7862447941013992593od_b_c @ Y3 @ ( set_Product_prod_b_c2 @ Ys3 ) )
               => ~ ( P3 @ Y3 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_542_split__list__last__prop__iff,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: product_prod_b_c > $o] :
      ( ( ? [X4: product_prod_b_c] :
            ( ( member7862447941013992593od_b_c @ X4 @ ( set_Product_prod_b_c2 @ Xs ) )
            & ( P3 @ X4 ) ) )
      = ( ? [Ys3: list_P903359562653991662od_b_c,X4: product_prod_b_c,Zs2: list_P903359562653991662od_b_c] :
            ( ( Xs
              = ( append2547753245680614915od_b_c @ Ys3 @ ( cons_P4529483553340347422od_b_c @ X4 @ Zs2 ) ) )
            & ( P3 @ X4 )
            & ! [Y3: product_prod_b_c] :
                ( ( member7862447941013992593od_b_c @ Y3 @ ( set_Product_prod_b_c2 @ Zs2 ) )
               => ~ ( P3 @ Y3 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_543_in__set__conv__decomp__first,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
      = ( ? [Ys3: list_a,Zs2: list_a] :
            ( ( Xs
              = ( append_a @ Ys3 @ ( cons_a @ X2 @ Zs2 ) ) )
            & ~ ( member_a @ X2 @ ( set_a2 @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_544_in__set__conv__decomp__first,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
      = ( ? [Ys3: list_P903359562653991662od_b_c,Zs2: list_P903359562653991662od_b_c] :
            ( ( Xs
              = ( append2547753245680614915od_b_c @ Ys3 @ ( cons_P4529483553340347422od_b_c @ X2 @ Zs2 ) ) )
            & ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Ys3 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_545_in__set__conv__decomp__last,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
      = ( ? [Ys3: list_a,Zs2: list_a] :
            ( ( Xs
              = ( append_a @ Ys3 @ ( cons_a @ X2 @ Zs2 ) ) )
            & ~ ( member_a @ X2 @ ( set_a2 @ Zs2 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_546_in__set__conv__decomp__last,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
      = ( ? [Ys3: list_P903359562653991662od_b_c,Zs2: list_P903359562653991662od_b_c] :
            ( ( Xs
              = ( append2547753245680614915od_b_c @ Ys3 @ ( cons_P4529483553340347422od_b_c @ X2 @ Zs2 ) ) )
            & ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Zs2 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_547_split__list__first__propE,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: product_prod_b_c > $o] :
      ( ? [X6: product_prod_b_c] :
          ( ( member7862447941013992593od_b_c @ X6 @ ( set_Product_prod_b_c2 @ Xs ) )
          & ( P3 @ X6 ) )
     => ~ ! [Ys2: list_P903359562653991662od_b_c,X: product_prod_b_c] :
            ( ? [Zs3: list_P903359562653991662od_b_c] :
                ( Xs
                = ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ X @ Zs3 ) ) )
           => ( ( P3 @ X )
             => ~ ! [Xa2: product_prod_b_c] :
                    ( ( member7862447941013992593od_b_c @ Xa2 @ ( set_Product_prod_b_c2 @ Ys2 ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_first_propE
thf(fact_548_split__list__last__propE,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: product_prod_b_c > $o] :
      ( ? [X6: product_prod_b_c] :
          ( ( member7862447941013992593od_b_c @ X6 @ ( set_Product_prod_b_c2 @ Xs ) )
          & ( P3 @ X6 ) )
     => ~ ! [Ys2: list_P903359562653991662od_b_c,X: product_prod_b_c,Zs3: list_P903359562653991662od_b_c] :
            ( ( Xs
              = ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ X @ Zs3 ) ) )
           => ( ( P3 @ X )
             => ~ ! [Xa2: product_prod_b_c] :
                    ( ( member7862447941013992593od_b_c @ Xa2 @ ( set_Product_prod_b_c2 @ Zs3 ) )
                   => ~ ( P3 @ Xa2 ) ) ) ) ) ).

% split_list_last_propE
thf(fact_549_split__list__first__prop,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: product_prod_b_c > $o] :
      ( ? [X6: product_prod_b_c] :
          ( ( member7862447941013992593od_b_c @ X6 @ ( set_Product_prod_b_c2 @ Xs ) )
          & ( P3 @ X6 ) )
     => ? [Ys2: list_P903359562653991662od_b_c,X: product_prod_b_c] :
          ( ? [Zs3: list_P903359562653991662od_b_c] :
              ( Xs
              = ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ X @ Zs3 ) ) )
          & ( P3 @ X )
          & ! [Xa2: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ Xa2 @ ( set_Product_prod_b_c2 @ Ys2 ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_first_prop
thf(fact_550_split__list__last__prop,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: product_prod_b_c > $o] :
      ( ? [X6: product_prod_b_c] :
          ( ( member7862447941013992593od_b_c @ X6 @ ( set_Product_prod_b_c2 @ Xs ) )
          & ( P3 @ X6 ) )
     => ? [Ys2: list_P903359562653991662od_b_c,X: product_prod_b_c,Zs3: list_P903359562653991662od_b_c] :
          ( ( Xs
            = ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ X @ Zs3 ) ) )
          & ( P3 @ X )
          & ! [Xa2: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ Xa2 @ ( set_Product_prod_b_c2 @ Zs3 ) )
             => ~ ( P3 @ Xa2 ) ) ) ) ).

% split_list_last_prop
thf(fact_551_in__set__conv__decomp,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
      = ( ? [Ys3: list_a,Zs2: list_a] :
            ( Xs
            = ( append_a @ Ys3 @ ( cons_a @ X2 @ Zs2 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_552_in__set__conv__decomp,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
      = ( ? [Ys3: list_P903359562653991662od_b_c,Zs2: list_P903359562653991662od_b_c] :
            ( Xs
            = ( append2547753245680614915od_b_c @ Ys3 @ ( cons_P4529483553340347422od_b_c @ X2 @ Zs2 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_553_append__Cons__eq__iff,axiom,
    ! [X2: a,Xs: list_a,Ys: list_a,Xs4: list_a,Ys6: list_a] :
      ( ~ ( member_a @ X2 @ ( set_a2 @ Xs ) )
     => ( ~ ( member_a @ X2 @ ( set_a2 @ Ys ) )
       => ( ( ( append_a @ Xs @ ( cons_a @ X2 @ Ys ) )
            = ( append_a @ Xs4 @ ( cons_a @ X2 @ Ys6 ) ) )
          = ( ( Xs = Xs4 )
            & ( Ys = Ys6 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_554_append__Cons__eq__iff,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Xs4: list_P903359562653991662od_b_c,Ys6: list_P903359562653991662od_b_c] :
      ( ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
     => ( ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Ys ) )
       => ( ( ( append2547753245680614915od_b_c @ Xs @ ( cons_P4529483553340347422od_b_c @ X2 @ Ys ) )
            = ( append2547753245680614915od_b_c @ Xs4 @ ( cons_P4529483553340347422od_b_c @ X2 @ Ys6 ) ) )
          = ( ( Xs = Xs4 )
            & ( Ys = Ys6 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_555_split__list__propE,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: product_prod_b_c > $o] :
      ( ? [X6: product_prod_b_c] :
          ( ( member7862447941013992593od_b_c @ X6 @ ( set_Product_prod_b_c2 @ Xs ) )
          & ( P3 @ X6 ) )
     => ~ ! [Ys2: list_P903359562653991662od_b_c,X: product_prod_b_c] :
            ( ? [Zs3: list_P903359562653991662od_b_c] :
                ( Xs
                = ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ X @ Zs3 ) ) )
           => ~ ( P3 @ X ) ) ) ).

% split_list_propE
thf(fact_556_split__list__first,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
     => ? [Ys2: list_a,Zs3: list_a] :
          ( ( Xs
            = ( append_a @ Ys2 @ ( cons_a @ X2 @ Zs3 ) ) )
          & ~ ( member_a @ X2 @ ( set_a2 @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_557_split__list__first,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
     => ? [Ys2: list_P903359562653991662od_b_c,Zs3: list_P903359562653991662od_b_c] :
          ( ( Xs
            = ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ X2 @ Zs3 ) ) )
          & ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Ys2 ) ) ) ) ).

% split_list_first
thf(fact_558_split__list__prop,axiom,
    ! [Xs: list_P903359562653991662od_b_c,P3: product_prod_b_c > $o] :
      ( ? [X6: product_prod_b_c] :
          ( ( member7862447941013992593od_b_c @ X6 @ ( set_Product_prod_b_c2 @ Xs ) )
          & ( P3 @ X6 ) )
     => ? [Ys2: list_P903359562653991662od_b_c,X: product_prod_b_c] :
          ( ? [Zs3: list_P903359562653991662od_b_c] :
              ( Xs
              = ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ X @ Zs3 ) ) )
          & ( P3 @ X ) ) ) ).

% split_list_prop
thf(fact_559_split__list__last,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
     => ? [Ys2: list_a,Zs3: list_a] :
          ( ( Xs
            = ( append_a @ Ys2 @ ( cons_a @ X2 @ Zs3 ) ) )
          & ~ ( member_a @ X2 @ ( set_a2 @ Zs3 ) ) ) ) ).

% split_list_last
thf(fact_560_split__list__last,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
     => ? [Ys2: list_P903359562653991662od_b_c,Zs3: list_P903359562653991662od_b_c] :
          ( ( Xs
            = ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ X2 @ Zs3 ) ) )
          & ~ ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Zs3 ) ) ) ) ).

% split_list_last
thf(fact_561_split__list,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
     => ? [Ys2: list_a,Zs3: list_a] :
          ( Xs
          = ( append_a @ Ys2 @ ( cons_a @ X2 @ Zs3 ) ) ) ) ).

% split_list
thf(fact_562_split__list,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
     => ? [Ys2: list_P903359562653991662od_b_c,Zs3: list_P903359562653991662od_b_c] :
          ( Xs
          = ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ X2 @ Zs3 ) ) ) ) ).

% split_list
thf(fact_563_in__set__list__format,axiom,
    ! [E: a,L2: list_a] :
      ( ( member_a @ E @ ( set_a2 @ L2 ) )
     => ~ ! [L1: list_a,L22: list_a] :
            ( L2
           != ( append_a @ L1 @ ( cons_a @ E @ L22 ) ) ) ) ).

% in_set_list_format
thf(fact_564_in__set__list__format,axiom,
    ! [E: product_prod_b_c,L2: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ E @ ( set_Product_prod_b_c2 @ L2 ) )
     => ~ ! [L1: list_P903359562653991662od_b_c,L22: list_P903359562653991662od_b_c] :
            ( L2
           != ( append2547753245680614915od_b_c @ L1 @ ( cons_P4529483553340347422od_b_c @ E @ L22 ) ) ) ) ).

% in_set_list_format
thf(fact_565_xy__in__set__cases,axiom,
    ! [X2: a,L2: list_a,Y2: a] :
      ( ( member_a @ X2 @ ( set_a2 @ L2 ) )
     => ( ( member_a @ Y2 @ ( set_a2 @ L2 ) )
       => ( ( ( X2 = Y2 )
           => ! [L1: list_a,L22: list_a] :
                ( L2
               != ( append_a @ L1 @ ( cons_a @ Y2 @ L22 ) ) ) )
         => ( ( ( X2 != Y2 )
             => ! [L1: list_a,L22: list_a,L3: list_a] :
                  ( L2
                 != ( append_a @ L1 @ ( cons_a @ X2 @ ( append_a @ L22 @ ( cons_a @ Y2 @ L3 ) ) ) ) ) )
           => ~ ( ( X2 != Y2 )
               => ! [L1: list_a,L22: list_a,L3: list_a] :
                    ( L2
                   != ( append_a @ L1 @ ( cons_a @ Y2 @ ( append_a @ L22 @ ( cons_a @ X2 @ L3 ) ) ) ) ) ) ) ) ) ) ).

% xy_in_set_cases
thf(fact_566_xy__in__set__cases,axiom,
    ! [X2: product_prod_b_c,L2: list_P903359562653991662od_b_c,Y2: product_prod_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ L2 ) )
     => ( ( member7862447941013992593od_b_c @ Y2 @ ( set_Product_prod_b_c2 @ L2 ) )
       => ( ( ( X2 = Y2 )
           => ! [L1: list_P903359562653991662od_b_c,L22: list_P903359562653991662od_b_c] :
                ( L2
               != ( append2547753245680614915od_b_c @ L1 @ ( cons_P4529483553340347422od_b_c @ Y2 @ L22 ) ) ) )
         => ( ( ( X2 != Y2 )
             => ! [L1: list_P903359562653991662od_b_c,L22: list_P903359562653991662od_b_c,L3: list_P903359562653991662od_b_c] :
                  ( L2
                 != ( append2547753245680614915od_b_c @ L1 @ ( cons_P4529483553340347422od_b_c @ X2 @ ( append2547753245680614915od_b_c @ L22 @ ( cons_P4529483553340347422od_b_c @ Y2 @ L3 ) ) ) ) ) )
           => ~ ( ( X2 != Y2 )
               => ! [L1: list_P903359562653991662od_b_c,L22: list_P903359562653991662od_b_c,L3: list_P903359562653991662od_b_c] :
                    ( L2
                   != ( append2547753245680614915od_b_c @ L1 @ ( cons_P4529483553340347422od_b_c @ Y2 @ ( append2547753245680614915od_b_c @ L22 @ ( cons_P4529483553340347422od_b_c @ X2 @ L3 ) ) ) ) ) ) ) ) ) ) ).

% xy_in_set_cases
thf(fact_567_observable__after__language__append,axiom,
    ! [M2: fsm_a_b_c,Io1: list_P903359562653991662od_b_c,Q4: a,Io22: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ Io1 @ ( lS_a_b_c @ M2 @ Q4 ) )
       => ( ( member6330420149250801815od_b_c @ Io22 @ ( lS_a_b_c @ M2 @ ( after_a_b_c @ M2 @ Q4 @ Io1 ) ) )
         => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io22 ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ) ).

% observable_after_language_append
thf(fact_568_observable__after__language__none,axiom,
    ! [M2: fsm_a_b_c,Io1: list_P903359562653991662od_b_c,Q4: a,Io22: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ Io1 @ ( lS_a_b_c @ M2 @ Q4 ) )
       => ( ~ ( member6330420149250801815od_b_c @ Io22 @ ( lS_a_b_c @ M2 @ ( after_a_b_c @ M2 @ Q4 @ Io1 ) ) )
         => ~ ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io22 ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ) ).

% observable_after_language_none
thf(fact_569_observable__after__eq,axiom,
    ! [M2: fsm_a_b_c,Q4: a,Io1: list_P903359562653991662od_b_c,Io22: list_P903359562653991662od_b_c,Io2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( ( after_a_b_c @ M2 @ Q4 @ Io1 )
          = ( after_a_b_c @ M2 @ Q4 @ Io22 ) )
       => ( ( member6330420149250801815od_b_c @ Io1 @ ( lS_a_b_c @ M2 @ Q4 ) )
         => ( ( member6330420149250801815od_b_c @ Io22 @ ( lS_a_b_c @ M2 @ Q4 ) )
           => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io2 ) @ ( lS_a_b_c @ M2 @ Q4 ) )
              = ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io22 @ Io2 ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ) ) ) ).

% observable_after_eq
thf(fact_570_after__language__iff,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Q4: a,Gamma: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ Alpha2 @ ( lS_a_b_c @ M2 @ Q4 ) )
       => ( ( member6330420149250801815od_b_c @ Gamma @ ( lS_a_b_c @ M2 @ ( after_a_b_c @ M2 @ Q4 @ Alpha2 ) ) )
          = ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ) ).

% after_language_iff
thf(fact_571_after__split,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( lS_a_b_c @ M2 @ Q4 ) )
       => ( ( after_a_b_c @ M2 @ ( after_a_b_c @ M2 @ Q4 @ Alpha2 ) @ Gamma )
          = ( after_a_b_c @ M2 @ Q4 @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) ) ) ) ) ).

% after_split
thf(fact_572_distinguish__prepend,axiom,
    ! [M2: fsm_Pr8946560376811747725_c_b_c,Q1: product_prod_b_c,Io2: list_P903359562653991662od_b_c,Q2: product_prod_b_c,W3: list_P903359562653991662od_b_c] :
      ( ( observ2355048066641855153_c_b_c @ M2 )
     => ( ( distin2910207492170677481_c_b_c @ M2 @ ( after_2478316435353686720_c_b_c @ M2 @ Q1 @ Io2 ) @ ( after_2478316435353686720_c_b_c @ M2 @ Q2 @ Io2 ) @ W3 )
       => ( ( member7862447941013992593od_b_c @ Q1 @ ( states8981316748681014706_c_b_c @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ Q2 @ ( states8981316748681014706_c_b_c @ M2 ) )
           => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q1 ) )
             => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q2 ) )
               => ( distin2910207492170677481_c_b_c @ M2 @ Q1 @ Q2 @ ( append2547753245680614915od_b_c @ Io2 @ W3 ) ) ) ) ) ) ) ) ).

% distinguish_prepend
thf(fact_573_distinguish__prepend,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Io2: list_P903359562653991662od_b_c,Q2: a,W3: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( distinguishes_a_b_c @ M2 @ ( after_a_b_c @ M2 @ Q1 @ Io2 ) @ ( after_a_b_c @ M2 @ Q2 @ Io2 ) @ W3 )
       => ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
         => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
           => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ Q1 ) )
             => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ Q2 ) )
               => ( distinguishes_a_b_c @ M2 @ Q1 @ Q2 @ ( append2547753245680614915od_b_c @ Io2 @ W3 ) ) ) ) ) ) ) ) ).

% distinguish_prepend
thf(fact_574_snoc_Oprems,axiom,
    ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ ( append2547753245680614915od_b_c @ ios_a @ ( cons_P4529483553340347422od_b_c @ xy @ nil_Product_prod_b_c ) ) ) @ ( set_Product_prod_b_c2 @ ios ) ).

% snoc.prems
thf(fact_575_estimate__growth__result,axiom,
    ! [M2: fsm_Pr8946560376811747725_c_b_c,Q1: product_prod_b_c,Q2: product_prod_b_c,Dist_fun2: product_prod_b_c > product_prod_b_c > list_P903359562653991662od_b_c,X2: b,Y2: c,ErrorValue: nat] :
      ( ( observ2355048066641855153_c_b_c @ M2 )
     => ( ( minima2655950506785042427_c_b_c @ M2 )
       => ( ( member7862447941013992593od_b_c @ Q1 @ ( states8981316748681014706_c_b_c @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ Q2 @ ( states8981316748681014706_c_b_c @ M2 ) )
           => ( ( ord_less_nat @ ( interm8256432892747021053_c_b_c @ M2 @ Dist_fun2 @ Q1 @ Q2 @ X2 @ Y2 @ ErrorValue ) @ ErrorValue )
             => ? [Gamma2: list_P903359562653991662od_b_c] : ( distin2910207492170677481_c_b_c @ M2 @ Q1 @ Q2 @ ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) @ Gamma2 ) ) ) ) ) ) ) ).

% estimate_growth_result
thf(fact_576_estimate__growth__result,axiom,
    ! [M2: fsm_Pr6890445380455706207at_nat,Q1: product_prod_b_c,Q2: product_prod_b_c,Dist_fun2: product_prod_b_c > product_prod_b_c > list_P3552028079716004544at_nat,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,ErrorValue: nat] :
      ( ( observ1623514629241216003at_nat @ M2 )
     => ( ( minima3665078007882909005at_nat @ M2 )
       => ( ( member7862447941013992593od_b_c @ Q1 @ ( states1078553636851199236at_nat @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ Q2 @ ( states1078553636851199236at_nat @ M2 ) )
           => ( ( ord_less_nat @ ( interm3568798503083498575at_nat @ M2 @ Dist_fun2 @ Q1 @ Q2 @ X2 @ Y2 @ ErrorValue ) @ ErrorValue )
             => ? [Gamma2: list_P3552028079716004544at_nat] : ( distin2297724292587972155at_nat @ M2 @ Q1 @ Q2 @ ( append2832415944887039701at_nat @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) @ Gamma2 ) ) ) ) ) ) ) ).

% estimate_growth_result
thf(fact_577_estimate__growth__result,axiom,
    ! [M2: fsm_Pr3844284524609415846at_nat,Q1: product_prod_b_c,Q2: product_prod_b_c,Dist_fun2: product_prod_b_c > product_prod_b_c > list_P6011104703257516679at_nat,X2: nat,Y2: nat,ErrorValue: nat] :
      ( ( observ5955862685780505618at_nat @ M2 )
     => ( ( minima3009087187144031836at_nat @ M2 )
       => ( ( member7862447941013992593od_b_c @ Q1 @ ( states7590396833291176851at_nat @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ Q2 @ ( states7590396833291176851at_nat @ M2 ) )
           => ( ( ord_less_nat @ ( interm7914045258784547422at_nat @ M2 @ Dist_fun2 @ Q1 @ Q2 @ X2 @ Y2 @ ErrorValue ) @ ErrorValue )
             => ? [Gamma2: list_P6011104703257516679at_nat] : ( distin7542011243762100810at_nat @ M2 @ Q1 @ Q2 @ ( append985823374593552924at_nat @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) @ Gamma2 ) ) ) ) ) ) ) ).

% estimate_growth_result
thf(fact_578_distinguishes__after__initial__prepend,axiom,
    ! [M2: fsm_a_b_c,Io1: list_P903359562653991662od_b_c,Io22: list_P903359562653991662od_b_c,X2: b,Y2: c,Gamma: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ Io1 @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( member6330420149250801815od_b_c @ Io22 @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
         => ( ( ( h_obs_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Io1 ) @ X2 @ Y2 )
             != none_a )
           => ( ( ( h_obs_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Io22 ) @ X2 @ Y2 )
               != none_a )
             => ( ( distinguishes_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ Io1 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) ) @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ Io22 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) ) @ Gamma )
               => ( distinguishes_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Io1 ) @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Io22 ) @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ Gamma ) ) ) ) ) ) ) ) ).

% distinguishes_after_initial_prepend
thf(fact_579_distinguishes__after__initial__prepend,axiom,
    ! [M2: fsm_Pr583765586473123763_c_b_c,Io1: list_P903359562653991662od_b_c,Io22: list_P903359562653991662od_b_c,X2: b,Y2: c,Gamma: list_P903359562653991662od_b_c] :
      ( ( observ8278588419443668823_c_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ Io1 @ ( lS_Pre2550405482641406963_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) ) )
       => ( ( member6330420149250801815od_b_c @ Io22 @ ( lS_Pre2550405482641406963_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) ) )
         => ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ ( after_7713676853120534758_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) @ Io1 ) @ X2 @ Y2 )
             != none_P1973817385574297839od_b_c )
           => ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ ( after_7713676853120534758_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) @ Io22 ) @ X2 @ Y2 )
               != none_P1973817385574297839od_b_c )
             => ( ( distin4675596619508915599_c_b_c @ M2 @ ( after_7713676853120534758_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ Io1 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) ) @ ( after_7713676853120534758_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ Io22 @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) ) @ Gamma )
               => ( distin4675596619508915599_c_b_c @ M2 @ ( after_7713676853120534758_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) @ Io1 ) @ ( after_7713676853120534758_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) @ Io22 ) @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ Gamma ) ) ) ) ) ) ) ) ).

% distinguishes_after_initial_prepend
thf(fact_580_distinguishes__after__initial__prepend,axiom,
    ! [M2: fsm_Pr4657356312157149317at_nat,Io1: list_P3552028079716004544at_nat,Io22: list_P3552028079716004544at_nat,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,Gamma: list_P3552028079716004544at_nat] :
      ( ( observ4253682487605851305at_nat @ M2 )
     => ( ( member6394667498616211049at_nat @ Io1 @ ( lS_Pre1928863027795566917at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) ) )
       => ( ( member6394667498616211049at_nat @ Io22 @ ( lS_Pre1928863027795566917at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) ) )
         => ( ( ( h_obs_6010489571262231604at_nat @ M2 @ ( after_8706860992364380216at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) @ Io1 ) @ X2 @ Y2 )
             != none_P1973817385574297839od_b_c )
           => ( ( ( h_obs_6010489571262231604at_nat @ M2 @ ( after_8706860992364380216at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) @ Io22 ) @ X2 @ Y2 )
               != none_P1973817385574297839od_b_c )
             => ( ( distin148685098255035105at_nat @ M2 @ ( after_8706860992364380216at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) @ ( append2832415944887039701at_nat @ Io1 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) ) ) @ ( after_8706860992364380216at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) @ ( append2832415944887039701at_nat @ Io22 @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) ) ) @ Gamma )
               => ( distin148685098255035105at_nat @ M2 @ ( after_8706860992364380216at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) @ Io1 ) @ ( after_8706860992364380216at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) @ Io22 ) @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ Gamma ) ) ) ) ) ) ) ) ).

% distinguishes_after_initial_prepend
thf(fact_581_distinguishes__after__initial__prepend,axiom,
    ! [M2: fsm_Pr8641708754182589388at_nat,Io1: list_P6011104703257516679at_nat,Io22: list_P6011104703257516679at_nat,X2: nat,Y2: nat,Gamma: list_P6011104703257516679at_nat] :
      ( ( observ620159373568181176at_nat @ M2 )
     => ( ( member3067507820990806192at_nat @ Io1 @ ( lS_Pre6394914239403435604at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) ) )
       => ( ( member3067507820990806192at_nat @ Io22 @ ( lS_Pre6394914239403435604at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) ) )
         => ( ( ( h_obs_9092979675626375875at_nat @ M2 @ ( after_4610990257864945863at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) @ Io1 ) @ X2 @ Y2 )
             != none_P1973817385574297839od_b_c )
           => ( ( ( h_obs_9092979675626375875at_nat @ M2 @ ( after_4610990257864945863at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) @ Io22 ) @ X2 @ Y2 )
               != none_P1973817385574297839od_b_c )
             => ( ( distin3434354141337495024at_nat @ M2 @ ( after_4610990257864945863at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) @ ( append985823374593552924at_nat @ Io1 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) ) ) @ ( after_4610990257864945863at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) @ ( append985823374593552924at_nat @ Io22 @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) ) ) @ Gamma )
               => ( distin3434354141337495024at_nat @ M2 @ ( after_4610990257864945863at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) @ Io1 ) @ ( after_4610990257864945863at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) @ Io22 ) @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ Gamma ) ) ) ) ) ) ) ) ).

% distinguishes_after_initial_prepend
thf(fact_582_h__obs__language__append,axiom,
    ! [M2: fsm_a_b_c,U: list_P903359562653991662od_b_c,X2: b,Y2: c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ U @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( ( h_obs_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ U ) @ X2 @ Y2 )
           != none_a )
         => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ U @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) ) ) ) ) ).

% h_obs_language_append
thf(fact_583_h__obs__language__append,axiom,
    ! [M2: fsm_Pr583765586473123763_c_b_c,U: list_P903359562653991662od_b_c,X2: b,Y2: c] :
      ( ( observ8278588419443668823_c_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ U @ ( lS_Pre2550405482641406963_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) ) )
       => ( ( ( h_obs_6145309630326805730_c_b_c @ M2 @ ( after_7713676853120534758_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) @ U ) @ X2 @ Y2 )
           != none_P1973817385574297839od_b_c )
         => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ U @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) @ nil_Product_prod_b_c ) ) @ ( lS_Pre2550405482641406963_c_b_c @ M2 @ ( initia1880054436020903422_c_b_c @ M2 ) ) ) ) ) ) ).

% h_obs_language_append
thf(fact_584_h__obs__language__append,axiom,
    ! [M2: fsm_Pr4657356312157149317at_nat,U: list_P3552028079716004544at_nat,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat] :
      ( ( observ4253682487605851305at_nat @ M2 )
     => ( ( member6394667498616211049at_nat @ U @ ( lS_Pre1928863027795566917at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) ) )
       => ( ( ( h_obs_6010489571262231604at_nat @ M2 @ ( after_8706860992364380216at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) @ U ) @ X2 @ Y2 )
           != none_P1973817385574297839od_b_c )
         => ( member6394667498616211049at_nat @ ( append2832415944887039701at_nat @ U @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) @ nil_Pr4949612815525651264at_nat ) ) @ ( lS_Pre1928863027795566917at_nat @ M2 @ ( initia5368535519591949648at_nat @ M2 ) ) ) ) ) ) ).

% h_obs_language_append
thf(fact_585_h__obs__language__append,axiom,
    ! [M2: fsm_Pr8641708754182589388at_nat,U: list_P6011104703257516679at_nat,X2: nat,Y2: nat] :
      ( ( observ620159373568181176at_nat @ M2 )
     => ( ( member3067507820990806192at_nat @ U @ ( lS_Pre6394914239403435604at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) ) )
       => ( ( ( h_obs_9092979675626375875at_nat @ M2 @ ( after_4610990257864945863at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) @ U ) @ X2 @ Y2 )
           != none_P1973817385574297839od_b_c )
         => ( member3067507820990806192at_nat @ ( append985823374593552924at_nat @ U @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ nil_Pr5478986624290739719at_nat ) ) @ ( lS_Pre6394914239403435604at_nat @ M2 @ ( initia4027219864356106719at_nat @ M2 ) ) ) ) ) ) ).

% h_obs_language_append
thf(fact_586_extract__SomeE,axiom,
    ! [P3: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Y2: product_prod_b_c,Zs: list_P903359562653991662od_b_c] :
      ( ( ( extrac2790361661052662384od_b_c @ P3 @ Xs )
        = ( some_P278523132111576139od_b_c @ ( produc1861375773765947862od_b_c @ Ys @ ( produc1467100693395308445od_b_c @ Y2 @ Zs ) ) ) )
     => ( ( Xs
          = ( append2547753245680614915od_b_c @ Ys @ ( cons_P4529483553340347422od_b_c @ Y2 @ Zs ) ) )
        & ( P3 @ Y2 )
        & ~ ? [X6: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ X6 @ ( set_Product_prod_b_c2 @ Ys ) )
              & ( P3 @ X6 ) ) ) ) ).

% extract_SomeE
thf(fact_587_extract__Some__iff,axiom,
    ! [P3: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Y2: product_prod_b_c,Zs: list_P903359562653991662od_b_c] :
      ( ( ( extrac2790361661052662384od_b_c @ P3 @ Xs )
        = ( some_P278523132111576139od_b_c @ ( produc1861375773765947862od_b_c @ Ys @ ( produc1467100693395308445od_b_c @ Y2 @ Zs ) ) ) )
      = ( ( Xs
          = ( append2547753245680614915od_b_c @ Ys @ ( cons_P4529483553340347422od_b_c @ Y2 @ Zs ) ) )
        & ( P3 @ Y2 )
        & ~ ? [X4: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ X4 @ ( set_Product_prod_b_c2 @ Ys ) )
              & ( P3 @ X4 ) ) ) ) ).

% extract_Some_iff
thf(fact_588_add__le__cancel__left,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

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

% add_le_cancel_right
thf(fact_590_less__eq__option__Some,axiom,
    ! [X2: set_Product_prod_b_c,Y2: set_Product_prod_b_c] :
      ( ( ord_le8165969620783861678od_b_c @ ( some_s3344026790295835053od_b_c @ X2 ) @ ( some_s3344026790295835053od_b_c @ Y2 ) )
      = ( ord_le253122037897321832od_b_c @ X2 @ Y2 ) ) ).

% less_eq_option_Some
thf(fact_591_less__eq__option__Some,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_le5914376470875661696on_nat @ ( some_nat @ X2 ) @ ( some_nat @ Y2 ) )
      = ( ord_less_eq_nat @ X2 @ Y2 ) ) ).

% less_eq_option_Some
thf(fact_592_fsm__initial,axiom,
    ! [M2: fsm_a_b_c] : ( member_a @ ( initial_a_b_c @ M2 ) @ ( states_a_b_c @ M2 ) ) ).

% fsm_initial
thf(fact_593_subset__Collect__conv,axiom,
    ! [S: set_Product_prod_b_c,P3: product_prod_b_c > $o] :
      ( ( ord_le253122037897321832od_b_c @ S @ ( collec548942224018234067od_b_c @ P3 ) )
      = ( ! [X4: product_prod_b_c] :
            ( ( member7862447941013992593od_b_c @ X4 @ S )
           => ( P3 @ X4 ) ) ) ) ).

% subset_Collect_conv
thf(fact_594_ord__eq__le__eq__trans,axiom,
    ! [A: set_Product_prod_b_c,B: set_Product_prod_b_c,C2: set_Product_prod_b_c,D2: set_Product_prod_b_c] :
      ( ( A = B )
     => ( ( ord_le253122037897321832od_b_c @ B @ C2 )
       => ( ( C2 = D2 )
         => ( ord_le253122037897321832od_b_c @ A @ D2 ) ) ) ) ).

% ord_eq_le_eq_trans
thf(fact_595_ord__eq__le__eq__trans,axiom,
    ! [A: nat,B: nat,C2: nat,D2: nat] :
      ( ( A = B )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ( C2 = D2 )
         => ( ord_less_eq_nat @ A @ D2 ) ) ) ) ).

% ord_eq_le_eq_trans
thf(fact_596_le__some__optE,axiom,
    ! [M3: set_Product_prod_b_c,X2: option970444960630425614od_b_c] :
      ( ( ord_le8165969620783861678od_b_c @ ( some_s3344026790295835053od_b_c @ M3 ) @ X2 )
     => ~ ! [M7: set_Product_prod_b_c] :
            ( ( X2
              = ( some_s3344026790295835053od_b_c @ M7 ) )
           => ~ ( ord_le253122037897321832od_b_c @ M3 @ M7 ) ) ) ).

% le_some_optE
thf(fact_597_le__some__optE,axiom,
    ! [M3: nat,X2: option_nat] :
      ( ( ord_le5914376470875661696on_nat @ ( some_nat @ M3 ) @ X2 )
     => ~ ! [M7: nat] :
            ( ( X2
              = ( some_nat @ M7 ) )
           => ~ ( ord_less_eq_nat @ M3 @ M7 ) ) ) ).

% le_some_optE
thf(fact_598_add__le__imp__le__right,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

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

% add_le_imp_le_left
thf(fact_600_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_601_add__right__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) ) ) ).

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

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

% add_left_mono
thf(fact_604_add__mono,axiom,
    ! [A: nat,B: nat,C2: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C2 @ D2 )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

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

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

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

% add_mono_thms_linordered_semiring(3)
thf(fact_608_subset__code_I1_J,axiom,
    ! [Xs: list_a,B5: set_a] :
      ( ( ord_less_eq_set_a @ ( set_a2 @ Xs ) @ B5 )
      = ( ! [X4: a] :
            ( ( member_a @ X4 @ ( set_a2 @ Xs ) )
           => ( member_a @ X4 @ B5 ) ) ) ) ).

% subset_code(1)
thf(fact_609_subset__code_I1_J,axiom,
    ! [Xs: list_P903359562653991662od_b_c,B5: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ Xs ) @ B5 )
      = ( ! [X4: product_prod_b_c] :
            ( ( member7862447941013992593od_b_c @ X4 @ ( set_Product_prod_b_c2 @ Xs ) )
           => ( member7862447941013992593od_b_c @ X4 @ B5 ) ) ) ) ).

% subset_code(1)
thf(fact_610_extract__Nil__code,axiom,
    ! [P3: product_prod_b_c > $o] :
      ( ( extrac2790361661052662384od_b_c @ P3 @ nil_Product_prod_b_c )
      = none_P8002138689083699399od_b_c ) ).

% extract_Nil_code
thf(fact_611_extract__None__iff,axiom,
    ! [P3: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c] :
      ( ( ( extrac2790361661052662384od_b_c @ P3 @ Xs )
        = none_P8002138689083699399od_b_c )
      = ( ~ ? [X4: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ X4 @ ( set_Product_prod_b_c2 @ Xs ) )
              & ( P3 @ X4 ) ) ) ) ).

% extract_None_iff
thf(fact_612_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_nat @ K @ L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_613_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_eq_nat @ K @ L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_614_add__le__less__mono,axiom,
    ! [A: nat,B: nat,C2: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ C2 @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_le_less_mono
thf(fact_615_add__less__le__mono,axiom,
    ! [A: nat,B: nat,C2: nat,D2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C2 @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_less_le_mono
thf(fact_616_set__subset__Cons,axiom,
    ! [Xs: list_P903359562653991662od_b_c,X2: product_prod_b_c] : ( ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ Xs ) @ ( set_Product_prod_b_c2 @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) ) ) ).

% set_subset_Cons
thf(fact_617_list__append__subset3,axiom,
    ! [Xs12: list_P903359562653991662od_b_c,Ys1: list_P903359562653991662od_b_c,Xs23: list_P903359562653991662od_b_c,Ys22: list_P903359562653991662od_b_c,Xs32: list_P903359562653991662od_b_c,Ys32: list_P903359562653991662od_b_c] :
      ( ( ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ Xs12 ) @ ( set_Product_prod_b_c2 @ Ys1 ) )
     => ( ( ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ Xs23 ) @ ( set_Product_prod_b_c2 @ Ys22 ) )
       => ( ( ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ Xs32 ) @ ( set_Product_prod_b_c2 @ Ys32 ) )
         => ( ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ ( append2547753245680614915od_b_c @ Xs12 @ ( append2547753245680614915od_b_c @ Xs23 @ Xs32 ) ) ) @ ( set_Product_prod_b_c2 @ ( append2547753245680614915od_b_c @ Ys1 @ ( append2547753245680614915od_b_c @ Ys22 @ Ys32 ) ) ) ) ) ) ) ).

% list_append_subset3
thf(fact_618_list__prefix__subset,axiom,
    ! [Ts: list_P903359562653991662od_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ? [Ys7: list_P903359562653991662od_b_c] :
          ( Ts
          = ( append2547753245680614915od_b_c @ Xs @ Ys7 ) )
     => ( ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ Xs ) @ ( set_Product_prod_b_c2 @ Ts ) ) ) ).

% list_prefix_subset
thf(fact_619_after__language__subset,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c,Beta2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( member6330420149250801815od_b_c @ Beta2 @ ( lS_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) ) ) )
         => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Gamma @ Beta2 ) @ ( lS_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Alpha2 ) ) ) ) ) ) ).

% after_language_subset
thf(fact_620_after__language__append__iff,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c,Beta2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( member6330420149250801815od_b_c @ Beta2 @ ( lS_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) ) ) )
          = ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Gamma @ Beta2 ) @ ( lS_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Alpha2 ) ) ) ) ) ) ).

% after_language_append_iff
thf(fact_621_distinguish__prepend__initial,axiom,
    ! [M2: fsm_a_b_c,Io1: list_P903359562653991662od_b_c,Io2: list_P903359562653991662od_b_c,Io22: list_P903359562653991662od_b_c,W3: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( distinguishes_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ Io1 @ Io2 ) ) @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ Io22 @ Io2 ) ) @ W3 )
       => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io2 ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
         => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io22 @ Io2 ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
           => ( distinguishes_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Io1 ) @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Io22 ) @ ( append2547753245680614915od_b_c @ Io2 @ W3 ) ) ) ) ) ) ).

% distinguish_prepend_initial
thf(fact_622_minimally__distinguishes__after__append__initial,axiom,
    ! [M2: fsm_a_b_c,U: list_P903359562653991662od_b_c,V: list_P903359562653991662od_b_c,W3: list_P903359562653991662od_b_c,W4: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( member6330420149250801815od_b_c @ U @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
         => ( ( member6330420149250801815od_b_c @ V @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
           => ( ( minima243535863231358885_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ U ) @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ V ) @ ( append2547753245680614915od_b_c @ W3 @ W4 ) )
             => ( ( W4 != nil_Product_prod_b_c )
               => ( minima243535863231358885_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ U @ W3 ) ) @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ V @ W3 ) ) @ W4 ) ) ) ) ) ) ) ).

% minimally_distinguishes_after_append_initial
thf(fact_623_minimally__distinguishes__no__prefix,axiom,
    ! [M2: fsm_a_b_c,U: list_P903359562653991662od_b_c,W3: list_P903359562653991662od_b_c,V: list_P903359562653991662od_b_c,W4: list_P903359562653991662od_b_c,W5: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ U @ W3 ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ V @ W3 ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
         => ( ( minima243535863231358885_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ U ) @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ V ) @ ( append2547753245680614915od_b_c @ W3 @ ( append2547753245680614915od_b_c @ W4 @ W5 ) ) )
           => ( ( W4 != nil_Product_prod_b_c )
             => ~ ( distinguishes_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ U @ W3 ) ) @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( append2547753245680614915od_b_c @ V @ W3 ) ) @ W5 ) ) ) ) ) ) ).

% minimally_distinguishes_no_prefix
thf(fact_624_less__eq__prod__simp,axiom,
    ! [X1: b,Y1: c,X23: b,Y23: c] :
      ( ( ord_le5491865407852299784od_b_c @ ( product_Pair_b_c @ X1 @ Y1 ) @ ( product_Pair_b_c @ X23 @ Y23 ) )
      = ( ( ord_less_b @ X1 @ X23 )
        | ( ( ord_less_eq_b @ X1 @ X23 )
          & ( ord_less_eq_c @ Y1 @ Y23 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_625_less__eq__prod__simp,axiom,
    ! [X1: list_P903359562653991662od_b_c,Y1: product_prod_nat_nat,X23: list_P903359562653991662od_b_c,Y23: product_prod_nat_nat] :
      ( ( ord_le6169957838352071898at_nat @ ( produc3197953233266746538at_nat @ X1 @ Y1 ) @ ( produc3197953233266746538at_nat @ X23 @ Y23 ) )
      = ( ( ord_le2870576100876692378od_b_c @ X1 @ X23 )
        | ( ( ord_le8780369363890727566od_b_c @ X1 @ X23 )
          & ( ord_le8460144461188290721at_nat @ Y1 @ Y23 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_626_less__eq__prod__simp,axiom,
    ! [X1: set_Product_prod_b_c,Y1: set_Product_prod_b_c,X23: set_Product_prod_b_c,Y23: set_Product_prod_b_c] :
      ( ( ord_le5179863987602144583od_b_c @ ( produc4033423466868034199od_b_c @ X1 @ Y1 ) @ ( produc4033423466868034199od_b_c @ X23 @ Y23 ) )
      = ( ( ord_le6326416800173614196od_b_c @ X1 @ X23 )
        | ( ( ord_le253122037897321832od_b_c @ X1 @ X23 )
          & ( ord_le253122037897321832od_b_c @ Y1 @ Y23 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_627_less__eq__prod__simp,axiom,
    ! [X1: set_Product_prod_b_c,Y1: nat,X23: set_Product_prod_b_c,Y23: nat] :
      ( ( ord_le4618043242721873575_c_nat @ ( produc1682744172754732609_c_nat @ X1 @ Y1 ) @ ( produc1682744172754732609_c_nat @ X23 @ Y23 ) )
      = ( ( ord_le6326416800173614196od_b_c @ X1 @ X23 )
        | ( ( ord_le253122037897321832od_b_c @ X1 @ X23 )
          & ( ord_less_eq_nat @ Y1 @ Y23 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_628_less__eq__prod__simp,axiom,
    ! [X1: nat,Y1: set_Product_prod_b_c,X23: nat,Y23: set_Product_prod_b_c] :
      ( ( ord_le5855653289255333837od_b_c @ ( produc8080643794648223od_b_c @ X1 @ Y1 ) @ ( produc8080643794648223od_b_c @ X23 @ Y23 ) )
      = ( ( ord_less_nat @ X1 @ X23 )
        | ( ( ord_less_eq_nat @ X1 @ X23 )
          & ( ord_le253122037897321832od_b_c @ Y1 @ Y23 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_629_less__eq__prod__simp,axiom,
    ! [X1: nat,Y1: nat,X23: nat,Y23: nat] :
      ( ( ord_le8460144461188290721at_nat @ ( product_Pair_nat_nat @ X1 @ Y1 ) @ ( product_Pair_nat_nat @ X23 @ Y23 ) )
      = ( ( ord_less_nat @ X1 @ X23 )
        | ( ( ord_less_eq_nat @ X1 @ X23 )
          & ( ord_less_eq_nat @ Y1 @ Y23 ) ) ) ) ).

% less_eq_prod_simp
thf(fact_630_less__prod__simp,axiom,
    ! [X1: b,Y1: c,X23: b,Y23: c] :
      ( ( ord_le817911927979441428od_b_c @ ( product_Pair_b_c @ X1 @ Y1 ) @ ( product_Pair_b_c @ X23 @ Y23 ) )
      = ( ( ord_less_b @ X1 @ X23 )
        | ( ( ord_less_eq_b @ X1 @ X23 )
          & ( ord_less_c @ Y1 @ Y23 ) ) ) ) ).

% less_prod_simp
thf(fact_631_less__prod__simp,axiom,
    ! [X1: list_P903359562653991662od_b_c,Y1: product_prod_nat_nat,X23: list_P903359562653991662od_b_c,Y23: product_prod_nat_nat] :
      ( ( ord_le3206528128634633190at_nat @ ( produc3197953233266746538at_nat @ X1 @ Y1 ) @ ( produc3197953233266746538at_nat @ X23 @ Y23 ) )
      = ( ( ord_le2870576100876692378od_b_c @ X1 @ X23 )
        | ( ( ord_le8780369363890727566od_b_c @ X1 @ X23 )
          & ( ord_le1203424502768444845at_nat @ Y1 @ Y23 ) ) ) ) ).

% less_prod_simp
thf(fact_632_less__prod__simp,axiom,
    ! [X1: set_Product_prod_b_c,Y1: nat,X23: set_Product_prod_b_c,Y23: nat] :
      ( ( ord_le256656934292621467_c_nat @ ( produc1682744172754732609_c_nat @ X1 @ Y1 ) @ ( produc1682744172754732609_c_nat @ X23 @ Y23 ) )
      = ( ( ord_le6326416800173614196od_b_c @ X1 @ X23 )
        | ( ( ord_le253122037897321832od_b_c @ X1 @ X23 )
          & ( ord_less_nat @ Y1 @ Y23 ) ) ) ) ).

% less_prod_simp
thf(fact_633_less__prod__simp,axiom,
    ! [X1: nat,Y1: nat,X23: nat,Y23: nat] :
      ( ( ord_le1203424502768444845at_nat @ ( product_Pair_nat_nat @ X1 @ Y1 ) @ ( product_Pair_nat_nat @ X23 @ Y23 ) )
      = ( ( ord_less_nat @ X1 @ X23 )
        | ( ( ord_less_eq_nat @ X1 @ X23 )
          & ( ord_less_nat @ Y1 @ Y23 ) ) ) ) ).

% less_prod_simp
thf(fact_634_after__distinguishes__language,axiom,
    ! [M12: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Beta2: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M12 )
     => ( ( member6330420149250801815od_b_c @ Alpha2 @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) )
       => ( ( member6330420149250801815od_b_c @ Beta2 @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) )
         => ( ( distinguishes_a_b_c @ M12 @ ( after_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) @ Alpha2 ) @ ( after_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) @ Beta2 ) @ Gamma )
           => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) )
             != ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Beta2 @ Gamma ) @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) ) ) ) ) ) ) ).

% after_distinguishes_language
thf(fact_635_nat__add__left__cancel__le,axiom,
    ! [K: nat,M3: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K @ M3 ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_eq_nat @ M3 @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_636_Cons__le__Cons,axiom,
    ! [A: product_prod_b_c,X2: list_P903359562653991662od_b_c,B: product_prod_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( ord_le8780369363890727566od_b_c @ ( cons_P4529483553340347422od_b_c @ A @ X2 ) @ ( cons_P4529483553340347422od_b_c @ B @ Y2 ) )
      = ( ( ord_le817911927979441428od_b_c @ A @ B )
        | ( ( A = B )
          & ( ord_le8780369363890727566od_b_c @ X2 @ Y2 ) ) ) ) ).

% Cons_le_Cons
thf(fact_637_Cons__le__Cons,axiom,
    ! [A: nat,X2: list_nat,B: nat,Y2: list_nat] :
      ( ( ord_less_eq_list_nat @ ( cons_nat @ A @ X2 ) @ ( cons_nat @ B @ Y2 ) )
      = ( ( ord_less_nat @ A @ B )
        | ( ( A = B )
          & ( ord_less_eq_list_nat @ X2 @ Y2 ) ) ) ) ).

% Cons_le_Cons
thf(fact_638_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I: nat,J: nat] :
      ( ! [I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ord_less_nat @ ( F @ I2 ) @ ( F @ J2 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_639_le__neq__implies__less,axiom,
    ! [M3: nat,N: nat] :
      ( ( ord_less_eq_nat @ M3 @ N )
     => ( ( M3 != N )
       => ( ord_less_nat @ M3 @ N ) ) ) ).

% le_neq_implies_less
thf(fact_640_less__or__eq__imp__le,axiom,
    ! [M3: nat,N: nat] :
      ( ( ( ord_less_nat @ M3 @ N )
        | ( M3 = N ) )
     => ( ord_less_eq_nat @ M3 @ N ) ) ).

% less_or_eq_imp_le
thf(fact_641_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M8: nat,N4: nat] :
          ( ( ord_less_nat @ M8 @ N4 )
          | ( M8 = N4 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_642_less__imp__le__nat,axiom,
    ! [M3: nat,N: nat] :
      ( ( ord_less_nat @ M3 @ N )
     => ( ord_less_eq_nat @ M3 @ N ) ) ).

% less_imp_le_nat
thf(fact_643_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M8: nat,N4: nat] :
          ( ( ord_less_eq_nat @ M8 @ N4 )
          & ( M8 != N4 ) ) ) ) ).

% nat_less_le
thf(fact_644_exists__leI,axiom,
    ! [N: nat,P3: nat > $o] :
      ( ( ! [N5: nat] :
            ( ( ord_less_nat @ N5 @ N )
           => ~ ( P3 @ N5 ) )
       => ( P3 @ N ) )
     => ? [N6: nat] :
          ( ( ord_less_eq_nat @ N6 @ N )
          & ( P3 @ N6 ) ) ) ).

% exists_leI
thf(fact_645_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M8: nat,N4: nat] :
        ? [K4: nat] :
          ( N4
          = ( plus_plus_nat @ M8 @ K4 ) ) ) ) ).

% nat_le_iff_add
thf(fact_646_trans__le__add2,axiom,
    ! [I: nat,J: nat,M3: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ M3 @ J ) ) ) ).

% trans_le_add2
thf(fact_647_trans__le__add1,axiom,
    ! [I: nat,J: nat,M3: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ J @ M3 ) ) ) ).

% trans_le_add1
thf(fact_648_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_649_add__le__mono,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ K @ L2 )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ) ).

% add_le_mono
thf(fact_650_le__Suc__ex,axiom,
    ! [K: nat,L2: nat] :
      ( ( ord_less_eq_nat @ K @ L2 )
     => ? [N3: nat] :
          ( L2
          = ( plus_plus_nat @ K @ N3 ) ) ) ).

% le_Suc_ex
thf(fact_651_add__leD2,axiom,
    ! [M3: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M3 @ K ) @ N )
     => ( ord_less_eq_nat @ K @ N ) ) ).

% add_leD2
thf(fact_652_add__leD1,axiom,
    ! [M3: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M3 @ K ) @ N )
     => ( ord_less_eq_nat @ M3 @ N ) ) ).

% add_leD1
thf(fact_653_le__add2,axiom,
    ! [N: nat,M3: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ M3 @ N ) ) ).

% le_add2
thf(fact_654_le__add1,axiom,
    ! [N: nat,M3: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M3 ) ) ).

% le_add1
thf(fact_655_add__leE,axiom,
    ! [M3: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M3 @ K ) @ N )
     => ~ ( ( ord_less_eq_nat @ M3 @ N )
         => ~ ( ord_less_eq_nat @ K @ N ) ) ) ).

% add_leE
thf(fact_656_less__eq__list__code_I3_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Y2: product_prod_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( ord_le8780369363890727566od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ ( cons_P4529483553340347422od_b_c @ Y2 @ Ys ) )
      = ( ( ord_le817911927979441428od_b_c @ X2 @ Y2 )
        | ( ( X2 = Y2 )
          & ( ord_le8780369363890727566od_b_c @ Xs @ Ys ) ) ) ) ).

% less_eq_list_code(3)
thf(fact_657_less__eq__list__code_I3_J,axiom,
    ! [X2: nat,Xs: list_nat,Y2: nat,Ys: list_nat] :
      ( ( ord_less_eq_list_nat @ ( cons_nat @ X2 @ Xs ) @ ( cons_nat @ Y2 @ Ys ) )
      = ( ( ord_less_nat @ X2 @ Y2 )
        | ( ( X2 = Y2 )
          & ( ord_less_eq_list_nat @ Xs @ Ys ) ) ) ) ).

% less_eq_list_code(3)
thf(fact_658_less__eq__list__code_I1_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ~ ( ord_le8780369363890727566od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ nil_Product_prod_b_c ) ).

% less_eq_list_code(1)
thf(fact_659_mono__nat__linear__lb,axiom,
    ! [F: nat > nat,M3: nat,K: nat] :
      ( ! [M4: nat,N3: nat] :
          ( ( ord_less_nat @ M4 @ N3 )
         => ( ord_less_nat @ ( F @ M4 ) @ ( F @ N3 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M3 ) @ K ) @ ( F @ ( plus_plus_nat @ M3 @ K ) ) ) ) ).

% mono_nat_linear_lb
thf(fact_660_measures__lesseq,axiom,
    ! [F: nat > nat,X2: nat,Y2: nat,Fs: list_nat_nat] :
      ( ( ord_less_eq_nat @ ( F @ X2 ) @ ( F @ Y2 ) )
     => ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( measures_nat @ Fs ) )
       => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) @ ( measures_nat @ ( cons_nat_nat @ F @ Fs ) ) ) ) ) ).

% measures_lesseq
thf(fact_661_psubsetI,axiom,
    ! [A4: set_Product_prod_b_c,B5: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ A4 @ B5 )
     => ( ( A4 != B5 )
       => ( ord_le6326416800173614196od_b_c @ A4 @ B5 ) ) ) ).

% psubsetI
thf(fact_662_suffixes_Oelims,axiom,
    ! [X2: list_P903359562653991662od_b_c,Y2: list_l8907847357763382004od_b_c] :
      ( ( ( suffix2151784340763841114od_b_c @ X2 )
        = Y2 )
     => ( ( ( X2 = nil_Product_prod_b_c )
         => ( Y2
           != ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ nil_li8071162985807626740od_b_c ) ) )
       => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( ( X2
                = ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) )
             => ( Y2
               != ( append6992831555715836169od_b_c @ ( suffix2151784340763841114od_b_c @ Xs3 ) @ ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ nil_li8071162985807626740od_b_c ) ) ) ) ) ) ).

% suffixes.elims
thf(fact_663_subrelI,axiom,
    ! [R4: set_Pr193325153470804378at_nat,S2: set_Pr193325153470804378at_nat] :
      ( ! [X: list_P903359562653991662od_b_c,Y: product_prod_nat_nat] :
          ( ( member4657064525606469987at_nat @ ( produc3197953233266746538at_nat @ X @ Y ) @ R4 )
         => ( member4657064525606469987at_nat @ ( produc3197953233266746538at_nat @ X @ Y ) @ S2 ) )
     => ( ord_le1185272273137199418at_nat @ R4 @ S2 ) ) ).

% subrelI
thf(fact_664_subrelI,axiom,
    ! [R4: set_Pr1261947904930325089at_nat,S2: set_Pr1261947904930325089at_nat] :
      ( ! [X: nat,Y: nat] :
          ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ R4 )
         => ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X @ Y ) @ S2 ) )
     => ( ord_le3146513528884898305at_nat @ R4 @ S2 ) ) ).

% subrelI
thf(fact_665_subrelI,axiom,
    ! [R4: set_Product_prod_b_c,S2: set_Product_prod_b_c] :
      ( ! [X: b,Y: c] :
          ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X @ Y ) @ R4 )
         => ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ X @ Y ) @ S2 ) )
     => ( ord_le253122037897321832od_b_c @ R4 @ S2 ) ) ).

% subrelI
thf(fact_666_psubsetD,axiom,
    ! [A4: set_a,B5: set_a,C2: a] :
      ( ( ord_less_set_a @ A4 @ B5 )
     => ( ( member_a @ C2 @ A4 )
       => ( member_a @ C2 @ B5 ) ) ) ).

% psubsetD
thf(fact_667_psubsetD,axiom,
    ! [A4: set_Product_prod_b_c,B5: set_Product_prod_b_c,C2: product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ A4 @ B5 )
     => ( ( member7862447941013992593od_b_c @ C2 @ A4 )
       => ( member7862447941013992593od_b_c @ C2 @ B5 ) ) ) ).

% psubsetD
thf(fact_668_psubsetE,axiom,
    ! [A4: set_Product_prod_b_c,B5: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ A4 @ B5 )
     => ~ ( ( ord_le253122037897321832od_b_c @ A4 @ B5 )
         => ( ord_le253122037897321832od_b_c @ B5 @ A4 ) ) ) ).

% psubsetE
thf(fact_669_psubset__eq,axiom,
    ( ord_le6326416800173614196od_b_c
    = ( ^ [A6: set_Product_prod_b_c,B6: set_Product_prod_b_c] :
          ( ( ord_le253122037897321832od_b_c @ A6 @ B6 )
          & ( A6 != B6 ) ) ) ) ).

% psubset_eq
thf(fact_670_psubset__imp__subset,axiom,
    ! [A4: set_Product_prod_b_c,B5: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ A4 @ B5 )
     => ( ord_le253122037897321832od_b_c @ A4 @ B5 ) ) ).

% psubset_imp_subset
thf(fact_671_psubset__subset__trans,axiom,
    ! [A4: set_Product_prod_b_c,B5: set_Product_prod_b_c,C4: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ A4 @ B5 )
     => ( ( ord_le253122037897321832od_b_c @ B5 @ C4 )
       => ( ord_le6326416800173614196od_b_c @ A4 @ C4 ) ) ) ).

% psubset_subset_trans
thf(fact_672_subset__not__subset__eq,axiom,
    ( ord_le6326416800173614196od_b_c
    = ( ^ [A6: set_Product_prod_b_c,B6: set_Product_prod_b_c] :
          ( ( ord_le253122037897321832od_b_c @ A6 @ B6 )
          & ~ ( ord_le253122037897321832od_b_c @ B6 @ A6 ) ) ) ) ).

% subset_not_subset_eq
thf(fact_673_subset__psubset__trans,axiom,
    ! [A4: set_Product_prod_b_c,B5: set_Product_prod_b_c,C4: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ A4 @ B5 )
     => ( ( ord_le6326416800173614196od_b_c @ B5 @ C4 )
       => ( ord_le6326416800173614196od_b_c @ A4 @ C4 ) ) ) ).

% subset_psubset_trans
thf(fact_674_subset__iff__psubset__eq,axiom,
    ( ord_le253122037897321832od_b_c
    = ( ^ [A6: set_Product_prod_b_c,B6: set_Product_prod_b_c] :
          ( ( ord_le6326416800173614196od_b_c @ A6 @ B6 )
          | ( A6 = B6 ) ) ) ) ).

% subset_iff_psubset_eq
thf(fact_675_Util_Osuffixes_Osimps_I2_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( suffix2151784340763841114od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) )
      = ( append6992831555715836169od_b_c @ ( suffix2151784340763841114od_b_c @ Xs ) @ ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ nil_li8071162985807626740od_b_c ) ) ) ).

% Util.suffixes.simps(2)
thf(fact_676_prefixes__snoc,axiom,
    ! [Xs: list_P903359562653991662od_b_c,X2: product_prod_b_c] :
      ( ( prefix1131979855692807669od_b_c @ ( append2547753245680614915od_b_c @ Xs @ ( cons_P4529483553340347422od_b_c @ X2 @ nil_Product_prod_b_c ) ) )
      = ( append6992831555715836169od_b_c @ ( prefix1131979855692807669od_b_c @ Xs ) @ ( cons_l342771267123639716od_b_c @ ( append2547753245680614915od_b_c @ Xs @ ( cons_P4529483553340347422od_b_c @ X2 @ nil_Product_prod_b_c ) ) @ nil_li8071162985807626740od_b_c ) ) ) ).

% prefixes_snoc
thf(fact_677_nat__descend__induct,axiom,
    ! [N: nat,P3: nat > $o,M3: nat] :
      ( ! [K2: nat] :
          ( ( ord_less_nat @ N @ K2 )
         => ( P3 @ K2 ) )
     => ( ! [K2: nat] :
            ( ( ord_less_eq_nat @ K2 @ N )
           => ( ! [I3: nat] :
                  ( ( ord_less_nat @ K2 @ I3 )
                 => ( P3 @ I3 ) )
             => ( P3 @ K2 ) ) )
       => ( P3 @ M3 ) ) ) ).

% nat_descend_induct
thf(fact_678_minf_I8_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z3 )
     => ~ ( ord_less_eq_nat @ T4 @ X6 ) ) ).

% minf(8)
thf(fact_679_minf_I6_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z3 )
     => ( ord_less_eq_nat @ X6 @ T4 ) ) ).

% minf(6)
thf(fact_680_prefixes__Cons_I1_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Y2: product_prod_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ ( set_li4480668622519654659od_b_c @ ( prefix1131979855692807669od_b_c @ ( cons_P4529483553340347422od_b_c @ Y2 @ Ys ) ) ) )
     => ( X2 = Y2 ) ) ).

% prefixes_Cons(1)
thf(fact_681_prefixes__Cons_I2_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Y2: product_prod_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ ( set_li4480668622519654659od_b_c @ ( prefix1131979855692807669od_b_c @ ( cons_P4529483553340347422od_b_c @ Y2 @ Ys ) ) ) )
     => ( member6330420149250801815od_b_c @ Xs @ ( set_li4480668622519654659od_b_c @ ( prefix1131979855692807669od_b_c @ Ys ) ) ) ) ).

% prefixes_Cons(2)
thf(fact_682_pinf_I1_J,axiom,
    ! [P3: nat > $o,P7: nat > $o,Q: nat > $o,Q9: nat > $o] :
      ( ? [Z4: nat] :
        ! [X: nat] :
          ( ( ord_less_nat @ Z4 @ X )
         => ( ( P3 @ X )
            = ( P7 @ X ) ) )
     => ( ? [Z4: nat] :
          ! [X: nat] :
            ( ( ord_less_nat @ Z4 @ X )
           => ( ( Q @ X )
              = ( Q9 @ X ) ) )
       => ? [Z3: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ Z3 @ X6 )
           => ( ( ( P3 @ X6 )
                & ( Q @ X6 ) )
              = ( ( P7 @ X6 )
                & ( Q9 @ X6 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_683_pinf_I2_J,axiom,
    ! [P3: nat > $o,P7: nat > $o,Q: nat > $o,Q9: nat > $o] :
      ( ? [Z4: nat] :
        ! [X: nat] :
          ( ( ord_less_nat @ Z4 @ X )
         => ( ( P3 @ X )
            = ( P7 @ X ) ) )
     => ( ? [Z4: nat] :
          ! [X: nat] :
            ( ( ord_less_nat @ Z4 @ X )
           => ( ( Q @ X )
              = ( Q9 @ X ) ) )
       => ? [Z3: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ Z3 @ X6 )
           => ( ( ( P3 @ X6 )
                | ( Q @ X6 ) )
              = ( ( P7 @ X6 )
                | ( Q9 @ X6 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_684_pinf_I3_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z3 @ X6 )
     => ( X6 != T4 ) ) ).

% pinf(3)
thf(fact_685_pinf_I4_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z3 @ X6 )
     => ( X6 != T4 ) ) ).

% pinf(4)
thf(fact_686_pinf_I5_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z3 @ X6 )
     => ~ ( ord_less_nat @ X6 @ T4 ) ) ).

% pinf(5)
thf(fact_687_pinf_I7_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z3 @ X6 )
     => ( ord_less_nat @ T4 @ X6 ) ) ).

% pinf(7)
thf(fact_688_minf_I1_J,axiom,
    ! [P3: nat > $o,P7: nat > $o,Q: nat > $o,Q9: nat > $o] :
      ( ? [Z4: nat] :
        ! [X: nat] :
          ( ( ord_less_nat @ X @ Z4 )
         => ( ( P3 @ X )
            = ( P7 @ X ) ) )
     => ( ? [Z4: nat] :
          ! [X: nat] :
            ( ( ord_less_nat @ X @ Z4 )
           => ( ( Q @ X )
              = ( Q9 @ X ) ) )
       => ? [Z3: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ X6 @ Z3 )
           => ( ( ( P3 @ X6 )
                & ( Q @ X6 ) )
              = ( ( P7 @ X6 )
                & ( Q9 @ X6 ) ) ) ) ) ) ).

% minf(1)
thf(fact_689_minf_I2_J,axiom,
    ! [P3: nat > $o,P7: nat > $o,Q: nat > $o,Q9: nat > $o] :
      ( ? [Z4: nat] :
        ! [X: nat] :
          ( ( ord_less_nat @ X @ Z4 )
         => ( ( P3 @ X )
            = ( P7 @ X ) ) )
     => ( ? [Z4: nat] :
          ! [X: nat] :
            ( ( ord_less_nat @ X @ Z4 )
           => ( ( Q @ X )
              = ( Q9 @ X ) ) )
       => ? [Z3: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ X6 @ Z3 )
           => ( ( ( P3 @ X6 )
                | ( Q @ X6 ) )
              = ( ( P7 @ X6 )
                | ( Q9 @ X6 ) ) ) ) ) ) ).

% minf(2)
thf(fact_690_minf_I3_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z3 )
     => ( X6 != T4 ) ) ).

% minf(3)
thf(fact_691_minf_I4_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z3 )
     => ( X6 != T4 ) ) ).

% minf(4)
thf(fact_692_minf_I5_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z3 )
     => ( ord_less_nat @ X6 @ T4 ) ) ).

% minf(5)
thf(fact_693_minf_I7_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z3 )
     => ~ ( ord_less_nat @ T4 @ X6 ) ) ).

% minf(7)
thf(fact_694_prefixes__eq__snoc,axiom,
    ! [Ys: list_P903359562653991662od_b_c,Xs: list_l8907847357763382004od_b_c,X2: list_P903359562653991662od_b_c] :
      ( ( ( prefix1131979855692807669od_b_c @ Ys )
        = ( append6992831555715836169od_b_c @ Xs @ ( cons_l342771267123639716od_b_c @ X2 @ nil_li8071162985807626740od_b_c ) ) )
      = ( ( ( ( Ys = nil_Product_prod_b_c )
            & ( Xs = nil_li8071162985807626740od_b_c ) )
          | ? [Z5: product_prod_b_c,Zs2: list_P903359562653991662od_b_c] :
              ( ( Ys
                = ( append2547753245680614915od_b_c @ Zs2 @ ( cons_P4529483553340347422od_b_c @ Z5 @ nil_Product_prod_b_c ) ) )
              & ( Xs
                = ( prefix1131979855692807669od_b_c @ Zs2 ) ) ) )
        & ( X2 = Ys ) ) ) ).

% prefixes_eq_snoc
thf(fact_695_pinf_I6_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z3 @ X6 )
     => ~ ( ord_less_eq_nat @ X6 @ T4 ) ) ).

% pinf(6)
thf(fact_696_pinf_I8_J,axiom,
    ! [T4: nat] :
    ? [Z3: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z3 @ X6 )
     => ( ord_less_eq_nat @ T4 @ X6 ) ) ).

% pinf(8)
thf(fact_697_order__le__imp__less__or__eq,axiom,
    ! [X2: set_Product_prod_b_c,Y2: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ X2 @ Y2 )
     => ( ( ord_le6326416800173614196od_b_c @ X2 @ Y2 )
        | ( X2 = Y2 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_698_order__le__imp__less__or__eq,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
     => ( ( ord_less_nat @ X2 @ Y2 )
        | ( X2 = Y2 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_699_linorder__le__less__linear,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
      | ( ord_less_nat @ Y2 @ X2 ) ) ).

% linorder_le_less_linear
thf(fact_700_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_Product_prod_b_c,C2: set_Product_prod_b_c] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_le253122037897321832od_b_c @ ( F @ B ) @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_nat @ X @ Y )
             => ( ord_le6326416800173614196od_b_c @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_le6326416800173614196od_b_c @ ( F @ A ) @ C2 ) ) ) ) ).

% order_less_le_subst2
thf(fact_701_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_nat @ X @ Y )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% order_less_le_subst2
thf(fact_702_order__less__le__subst1,axiom,
    ! [A: set_Product_prod_b_c,F: set_Product_prod_b_c > set_Product_prod_b_c,B: set_Product_prod_b_c,C2: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ A @ ( F @ B ) )
     => ( ( ord_le253122037897321832od_b_c @ B @ C2 )
       => ( ! [X: set_Product_prod_b_c,Y: set_Product_prod_b_c] :
              ( ( ord_le253122037897321832od_b_c @ X @ Y )
             => ( ord_le253122037897321832od_b_c @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_le6326416800173614196od_b_c @ A @ ( F @ C2 ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_703_order__less__le__subst1,axiom,
    ! [A: nat,F: set_Product_prod_b_c > nat,B: set_Product_prod_b_c,C2: set_Product_prod_b_c] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_le253122037897321832od_b_c @ B @ C2 )
       => ( ! [X: set_Product_prod_b_c,Y: set_Product_prod_b_c] :
              ( ( ord_le253122037897321832od_b_c @ X @ Y )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_704_order__less__le__subst1,axiom,
    ! [A: set_Product_prod_b_c,F: nat > set_Product_prod_b_c,B: nat,C2: nat] :
      ( ( ord_le6326416800173614196od_b_c @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X @ Y )
             => ( ord_le253122037897321832od_b_c @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_le6326416800173614196od_b_c @ A @ ( F @ C2 ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_705_order__less__le__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X @ Y )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_706_gt__ex,axiom,
    ! [X2: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X2 @ X_1 ) ).

% gt_ex
thf(fact_707_less__imp__neq,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( X2 != Y2 ) ) ).

% less_imp_neq
thf(fact_708_order_Oasym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order.asym
thf(fact_709_ord__eq__less__trans,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( A = B )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% ord_eq_less_trans
thf(fact_710_ord__less__eq__trans,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( B = C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% ord_less_eq_trans
thf(fact_711_less__induct,axiom,
    ! [P3: nat > $o,A: nat] :
      ( ! [X: nat] :
          ( ! [Y6: nat] :
              ( ( ord_less_nat @ Y6 @ X )
             => ( P3 @ Y6 ) )
         => ( P3 @ X ) )
     => ( P3 @ A ) ) ).

% less_induct
thf(fact_712_antisym__conv3,axiom,
    ! [Y2: nat,X2: nat] :
      ( ~ ( ord_less_nat @ Y2 @ X2 )
     => ( ( ~ ( ord_less_nat @ X2 @ Y2 ) )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv3
thf(fact_713_linorder__cases,axiom,
    ! [X2: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X2 @ Y2 )
     => ( ( X2 != Y2 )
       => ( ord_less_nat @ Y2 @ X2 ) ) ) ).

% linorder_cases
thf(fact_714_dual__order_Oasym,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ~ ( ord_less_nat @ A @ B ) ) ).

% dual_order.asym
thf(fact_715_dual__order_Oirrefl,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% dual_order.irrefl
thf(fact_716_exists__least__iff,axiom,
    ( ( ^ [P: nat > $o] :
        ? [X3: nat] : ( P @ X3 ) )
    = ( ^ [P2: nat > $o] :
        ? [N4: nat] :
          ( ( P2 @ N4 )
          & ! [M8: nat] :
              ( ( ord_less_nat @ M8 @ N4 )
             => ~ ( P2 @ M8 ) ) ) ) ) ).

% exists_least_iff
thf(fact_717_linorder__less__wlog,axiom,
    ! [P3: nat > nat > $o,A: nat,B: nat] :
      ( ! [A3: nat,B3: nat] :
          ( ( ord_less_nat @ A3 @ B3 )
         => ( P3 @ A3 @ B3 ) )
     => ( ! [A3: nat] : ( P3 @ A3 @ A3 )
       => ( ! [A3: nat,B3: nat] :
              ( ( P3 @ B3 @ A3 )
             => ( P3 @ A3 @ B3 ) )
         => ( P3 @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_718_order_Ostrict__trans,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% order.strict_trans
thf(fact_719_not__less__iff__gr__or__eq,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ~ ( ord_less_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ Y2 @ X2 )
        | ( X2 = Y2 ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_720_dual__order_Ostrict__trans,axiom,
    ! [B: nat,A: nat,C2: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_nat @ C2 @ B )
       => ( ord_less_nat @ C2 @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_721_order_Ostrict__implies__not__eq,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( A != B ) ) ).

% order.strict_implies_not_eq
thf(fact_722_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( A != B ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_723_linorder__neqE,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( X2 != Y2 )
     => ( ~ ( ord_less_nat @ X2 @ Y2 )
       => ( ord_less_nat @ Y2 @ X2 ) ) ) ).

% linorder_neqE
thf(fact_724_order__less__asym,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X2 ) ) ).

% order_less_asym
thf(fact_725_linorder__neq__iff,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( X2 != Y2 )
      = ( ( ord_less_nat @ X2 @ Y2 )
        | ( ord_less_nat @ Y2 @ X2 ) ) ) ).

% linorder_neq_iff
thf(fact_726_order__less__asym_H,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order_less_asym'
thf(fact_727_order__less__trans,axiom,
    ! [X2: nat,Y2: nat,Z: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ Z )
       => ( ord_less_nat @ X2 @ Z ) ) ) ).

% order_less_trans
thf(fact_728_ord__eq__less__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_nat @ X @ Y )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_729_ord__less__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ( F @ B )
          = C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_nat @ X @ Y )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% ord_less_eq_subst
thf(fact_730_order__less__irrefl,axiom,
    ! [X2: nat] :
      ~ ( ord_less_nat @ X2 @ X2 ) ).

% order_less_irrefl
thf(fact_731_order__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_nat @ X @ Y )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% order_less_subst1
thf(fact_732_order__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_nat @ X @ Y )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% order_less_subst2
thf(fact_733_order__less__not__sym,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X2 ) ) ).

% order_less_not_sym
thf(fact_734_order__less__imp__triv,axiom,
    ! [X2: nat,Y2: nat,P3: $o] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ X2 )
       => P3 ) ) ).

% order_less_imp_triv
thf(fact_735_linorder__less__linear,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
      | ( X2 = Y2 )
      | ( ord_less_nat @ Y2 @ X2 ) ) ).

% linorder_less_linear
thf(fact_736_order__less__imp__not__eq,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( X2 != Y2 ) ) ).

% order_less_imp_not_eq
thf(fact_737_order__less__imp__not__eq2,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( Y2 != X2 ) ) ).

% order_less_imp_not_eq2
thf(fact_738_order__less__imp__not__less,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X2 ) ) ).

% order_less_imp_not_less
thf(fact_739_leD,axiom,
    ! [Y2: set_Product_prod_b_c,X2: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ Y2 @ X2 )
     => ~ ( ord_le6326416800173614196od_b_c @ X2 @ Y2 ) ) ).

% leD
thf(fact_740_leD,axiom,
    ! [Y2: nat,X2: nat] :
      ( ( ord_less_eq_nat @ Y2 @ X2 )
     => ~ ( ord_less_nat @ X2 @ Y2 ) ) ).

% leD
thf(fact_741_leI,axiom,
    ! [X2: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X2 @ Y2 )
     => ( ord_less_eq_nat @ Y2 @ X2 ) ) ).

% leI
thf(fact_742_nless__le,axiom,
    ! [A: set_Product_prod_b_c,B: set_Product_prod_b_c] :
      ( ( ~ ( ord_le6326416800173614196od_b_c @ A @ B ) )
      = ( ~ ( ord_le253122037897321832od_b_c @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_743_nless__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_nat @ A @ B ) )
      = ( ~ ( ord_less_eq_nat @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_744_antisym__conv1,axiom,
    ! [X2: set_Product_prod_b_c,Y2: set_Product_prod_b_c] :
      ( ~ ( ord_le6326416800173614196od_b_c @ X2 @ Y2 )
     => ( ( ord_le253122037897321832od_b_c @ X2 @ Y2 )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv1
thf(fact_745_antisym__conv1,axiom,
    ! [X2: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X2 @ Y2 )
     => ( ( ord_less_eq_nat @ X2 @ Y2 )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv1
thf(fact_746_antisym__conv2,axiom,
    ! [X2: set_Product_prod_b_c,Y2: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ X2 @ Y2 )
     => ( ( ~ ( ord_le6326416800173614196od_b_c @ X2 @ Y2 ) )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv2
thf(fact_747_antisym__conv2,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
     => ( ( ~ ( ord_less_nat @ X2 @ Y2 ) )
        = ( X2 = Y2 ) ) ) ).

% antisym_conv2
thf(fact_748_less__le__not__le,axiom,
    ( ord_le6326416800173614196od_b_c
    = ( ^ [X4: set_Product_prod_b_c,Y3: set_Product_prod_b_c] :
          ( ( ord_le253122037897321832od_b_c @ X4 @ Y3 )
          & ~ ( ord_le253122037897321832od_b_c @ Y3 @ X4 ) ) ) ) ).

% less_le_not_le
thf(fact_749_less__le__not__le,axiom,
    ( ord_less_nat
    = ( ^ [X4: nat,Y3: nat] :
          ( ( ord_less_eq_nat @ X4 @ Y3 )
          & ~ ( ord_less_eq_nat @ Y3 @ X4 ) ) ) ) ).

% less_le_not_le
thf(fact_750_not__le__imp__less,axiom,
    ! [Y2: nat,X2: nat] :
      ( ~ ( ord_less_eq_nat @ Y2 @ X2 )
     => ( ord_less_nat @ X2 @ Y2 ) ) ).

% not_le_imp_less
thf(fact_751_order_Oorder__iff__strict,axiom,
    ( ord_le253122037897321832od_b_c
    = ( ^ [A5: set_Product_prod_b_c,B4: set_Product_prod_b_c] :
          ( ( ord_le6326416800173614196od_b_c @ A5 @ B4 )
          | ( A5 = B4 ) ) ) ) ).

% order.order_iff_strict
thf(fact_752_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_753_order_Ostrict__iff__order,axiom,
    ( ord_le6326416800173614196od_b_c
    = ( ^ [A5: set_Product_prod_b_c,B4: set_Product_prod_b_c] :
          ( ( ord_le253122037897321832od_b_c @ A5 @ B4 )
          & ( A5 != B4 ) ) ) ) ).

% order.strict_iff_order
thf(fact_754_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_755_order_Ostrict__trans1,axiom,
    ! [A: set_Product_prod_b_c,B: set_Product_prod_b_c,C2: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ A @ B )
     => ( ( ord_le6326416800173614196od_b_c @ B @ C2 )
       => ( ord_le6326416800173614196od_b_c @ A @ C2 ) ) ) ).

% order.strict_trans1
thf(fact_756_order_Ostrict__trans1,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% order.strict_trans1
thf(fact_757_order_Ostrict__trans2,axiom,
    ! [A: set_Product_prod_b_c,B: set_Product_prod_b_c,C2: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ A @ B )
     => ( ( ord_le253122037897321832od_b_c @ B @ C2 )
       => ( ord_le6326416800173614196od_b_c @ A @ C2 ) ) ) ).

% order.strict_trans2
thf(fact_758_order_Ostrict__trans2,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_nat @ A @ C2 ) ) ) ).

% order.strict_trans2
thf(fact_759_order_Ostrict__iff__not,axiom,
    ( ord_le6326416800173614196od_b_c
    = ( ^ [A5: set_Product_prod_b_c,B4: set_Product_prod_b_c] :
          ( ( ord_le253122037897321832od_b_c @ A5 @ B4 )
          & ~ ( ord_le253122037897321832od_b_c @ B4 @ A5 ) ) ) ) ).

% order.strict_iff_not
thf(fact_760_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_761_dual__order_Oorder__iff__strict,axiom,
    ( ord_le253122037897321832od_b_c
    = ( ^ [B4: set_Product_prod_b_c,A5: set_Product_prod_b_c] :
          ( ( ord_le6326416800173614196od_b_c @ B4 @ A5 )
          | ( A5 = B4 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_762_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_763_dual__order_Ostrict__iff__order,axiom,
    ( ord_le6326416800173614196od_b_c
    = ( ^ [B4: set_Product_prod_b_c,A5: set_Product_prod_b_c] :
          ( ( ord_le253122037897321832od_b_c @ B4 @ A5 )
          & ( A5 != B4 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_764_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_765_dual__order_Ostrict__trans1,axiom,
    ! [B: set_Product_prod_b_c,A: set_Product_prod_b_c,C2: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ B @ A )
     => ( ( ord_le6326416800173614196od_b_c @ C2 @ B )
       => ( ord_le6326416800173614196od_b_c @ C2 @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_766_dual__order_Ostrict__trans1,axiom,
    ! [B: nat,A: nat,C2: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_nat @ C2 @ B )
       => ( ord_less_nat @ C2 @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_767_dual__order_Ostrict__trans2,axiom,
    ! [B: set_Product_prod_b_c,A: set_Product_prod_b_c,C2: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ B @ A )
     => ( ( ord_le253122037897321832od_b_c @ C2 @ B )
       => ( ord_le6326416800173614196od_b_c @ C2 @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_768_dual__order_Ostrict__trans2,axiom,
    ! [B: nat,A: nat,C2: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C2 @ B )
       => ( ord_less_nat @ C2 @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_769_dual__order_Ostrict__iff__not,axiom,
    ( ord_le6326416800173614196od_b_c
    = ( ^ [B4: set_Product_prod_b_c,A5: set_Product_prod_b_c] :
          ( ( ord_le253122037897321832od_b_c @ B4 @ A5 )
          & ~ ( ord_le253122037897321832od_b_c @ A5 @ B4 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_770_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_771_order_Ostrict__implies__order,axiom,
    ! [A: set_Product_prod_b_c,B: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ A @ B )
     => ( ord_le253122037897321832od_b_c @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_772_order_Ostrict__implies__order,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_773_dual__order_Ostrict__implies__order,axiom,
    ! [B: set_Product_prod_b_c,A: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ B @ A )
     => ( ord_le253122037897321832od_b_c @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_774_dual__order_Ostrict__implies__order,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ord_less_eq_nat @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_775_order__le__less,axiom,
    ( ord_le253122037897321832od_b_c
    = ( ^ [X4: set_Product_prod_b_c,Y3: set_Product_prod_b_c] :
          ( ( ord_le6326416800173614196od_b_c @ X4 @ Y3 )
          | ( X4 = Y3 ) ) ) ) ).

% order_le_less
thf(fact_776_order__le__less,axiom,
    ( ord_less_eq_nat
    = ( ^ [X4: nat,Y3: nat] :
          ( ( ord_less_nat @ X4 @ Y3 )
          | ( X4 = Y3 ) ) ) ) ).

% order_le_less
thf(fact_777_order__less__le,axiom,
    ( ord_le6326416800173614196od_b_c
    = ( ^ [X4: set_Product_prod_b_c,Y3: set_Product_prod_b_c] :
          ( ( ord_le253122037897321832od_b_c @ X4 @ Y3 )
          & ( X4 != Y3 ) ) ) ) ).

% order_less_le
thf(fact_778_order__less__le,axiom,
    ( ord_less_nat
    = ( ^ [X4: nat,Y3: nat] :
          ( ( ord_less_eq_nat @ X4 @ Y3 )
          & ( X4 != Y3 ) ) ) ) ).

% order_less_le
thf(fact_779_linorder__not__le,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ~ ( ord_less_eq_nat @ X2 @ Y2 ) )
      = ( ord_less_nat @ Y2 @ X2 ) ) ).

% linorder_not_le
thf(fact_780_linorder__not__less,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ~ ( ord_less_nat @ X2 @ Y2 ) )
      = ( ord_less_eq_nat @ Y2 @ X2 ) ) ).

% linorder_not_less
thf(fact_781_order__less__imp__le,axiom,
    ! [X2: set_Product_prod_b_c,Y2: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ X2 @ Y2 )
     => ( ord_le253122037897321832od_b_c @ X2 @ Y2 ) ) ).

% order_less_imp_le
thf(fact_782_order__less__imp__le,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( ord_less_eq_nat @ X2 @ Y2 ) ) ).

% order_less_imp_le
thf(fact_783_order__le__neq__trans,axiom,
    ! [A: set_Product_prod_b_c,B: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ A @ B )
     => ( ( A != B )
       => ( ord_le6326416800173614196od_b_c @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_784_order__le__neq__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( A != B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_785_order__neq__le__trans,axiom,
    ! [A: set_Product_prod_b_c,B: set_Product_prod_b_c] :
      ( ( A != B )
     => ( ( ord_le253122037897321832od_b_c @ A @ B )
       => ( ord_le6326416800173614196od_b_c @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_786_order__neq__le__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( A != B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_787_order__le__less__trans,axiom,
    ! [X2: set_Product_prod_b_c,Y2: set_Product_prod_b_c,Z: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ X2 @ Y2 )
     => ( ( ord_le6326416800173614196od_b_c @ Y2 @ Z )
       => ( ord_le6326416800173614196od_b_c @ X2 @ Z ) ) ) ).

% order_le_less_trans
thf(fact_788_order__le__less__trans,axiom,
    ! [X2: nat,Y2: nat,Z: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ Z )
       => ( ord_less_nat @ X2 @ Z ) ) ) ).

% order_le_less_trans
thf(fact_789_order__less__le__trans,axiom,
    ! [X2: set_Product_prod_b_c,Y2: set_Product_prod_b_c,Z: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ X2 @ Y2 )
     => ( ( ord_le253122037897321832od_b_c @ Y2 @ Z )
       => ( ord_le6326416800173614196od_b_c @ X2 @ Z ) ) ) ).

% order_less_le_trans
thf(fact_790_order__less__le__trans,axiom,
    ! [X2: nat,Y2: nat,Z: nat] :
      ( ( ord_less_nat @ X2 @ Y2 )
     => ( ( ord_less_eq_nat @ Y2 @ Z )
       => ( ord_less_nat @ X2 @ Z ) ) ) ).

% order_less_le_trans
thf(fact_791_order__le__less__subst1,axiom,
    ! [A: set_Product_prod_b_c,F: nat > set_Product_prod_b_c,B: nat,C2: nat] :
      ( ( ord_le253122037897321832od_b_c @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_nat @ X @ Y )
             => ( ord_le6326416800173614196od_b_c @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_le6326416800173614196od_b_c @ A @ ( F @ C2 ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_792_order__le__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_nat @ X @ Y )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ A @ ( F @ C2 ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_793_order__le__less__subst2,axiom,
    ! [A: set_Product_prod_b_c,B: set_Product_prod_b_c,F: set_Product_prod_b_c > set_Product_prod_b_c,C2: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ A @ B )
     => ( ( ord_le6326416800173614196od_b_c @ ( F @ B ) @ C2 )
       => ( ! [X: set_Product_prod_b_c,Y: set_Product_prod_b_c] :
              ( ( ord_le253122037897321832od_b_c @ X @ Y )
             => ( ord_le253122037897321832od_b_c @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_le6326416800173614196od_b_c @ ( F @ A ) @ C2 ) ) ) ) ).

% order_le_less_subst2
thf(fact_794_order__le__less__subst2,axiom,
    ! [A: set_Product_prod_b_c,B: set_Product_prod_b_c,F: set_Product_prod_b_c > nat,C2: nat] :
      ( ( ord_le253122037897321832od_b_c @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C2 )
       => ( ! [X: set_Product_prod_b_c,Y: set_Product_prod_b_c] :
              ( ( ord_le253122037897321832od_b_c @ X @ Y )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% order_le_less_subst2
thf(fact_795_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_Product_prod_b_c,C2: set_Product_prod_b_c] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_le6326416800173614196od_b_c @ ( F @ B ) @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X @ Y )
             => ( ord_le253122037897321832od_b_c @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_le6326416800173614196od_b_c @ ( F @ A ) @ C2 ) ) ) ) ).

% order_le_less_subst2
thf(fact_796_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C2 )
       => ( ! [X: nat,Y: nat] :
              ( ( ord_less_eq_nat @ X @ Y )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C2 ) ) ) ) ).

% order_le_less_subst2
thf(fact_797_verit__comp__simplify1_I3_J,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ~ ( ord_less_eq_nat @ B2 @ A2 ) )
      = ( ord_less_nat @ A2 @ B2 ) ) ).

% verit_comp_simplify1(3)
thf(fact_798_complete__interval,axiom,
    ! [A: nat,B: nat,P3: nat > $o] :
      ( ( ord_less_nat @ A @ B )
     => ( ( P3 @ A )
       => ( ~ ( P3 @ B )
         => ? [C: nat] :
              ( ( ord_less_eq_nat @ A @ C )
              & ( ord_less_eq_nat @ C @ B )
              & ! [X6: nat] :
                  ( ( ( ord_less_eq_nat @ A @ X6 )
                    & ( ord_less_nat @ X6 @ C ) )
                 => ( P3 @ X6 ) )
              & ! [D3: nat] :
                  ( ! [X: nat] :
                      ( ( ( ord_less_eq_nat @ A @ X )
                        & ( ord_less_nat @ X @ D3 ) )
                     => ( P3 @ X ) )
                 => ( ord_less_eq_nat @ D3 @ C ) ) ) ) ) ) ).

% complete_interval
thf(fact_799_suffixes__eq__snoc,axiom,
    ! [Ys: list_P903359562653991662od_b_c,Xs: list_l8907847357763382004od_b_c,X2: list_P903359562653991662od_b_c] :
      ( ( ( suffix3867853578027978934od_b_c @ Ys )
        = ( append6992831555715836169od_b_c @ Xs @ ( cons_l342771267123639716od_b_c @ X2 @ nil_li8071162985807626740od_b_c ) ) )
      = ( ( ( ( Ys = nil_Product_prod_b_c )
            & ( Xs = nil_li8071162985807626740od_b_c ) )
          | ? [Z5: product_prod_b_c,Zs2: list_P903359562653991662od_b_c] :
              ( ( Ys
                = ( cons_P4529483553340347422od_b_c @ Z5 @ Zs2 ) )
              & ( Xs
                = ( suffix3867853578027978934od_b_c @ Zs2 ) ) ) )
        & ( X2 = Ys ) ) ) ).

% suffixes_eq_snoc
thf(fact_800_prefixes__in__list__helper_Oelims,axiom,
    ! [X2: product_prod_b_c,Xa3: list_l8907847357763382004od_b_c,Xb: produc8297111589761753219od_b_c,Y2: produc8297111589761753219od_b_c] :
      ( ( ( simple853729931750508955od_b_c @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( ( Xa3 = nil_li8071162985807626740od_b_c )
         => ( Y2 != Xb ) )
       => ( ! [Yss: list_l8907847357763382004od_b_c] :
              ( ( Xa3
                = ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ Yss ) )
             => ( Y2
               != ( simple853729931750508955od_b_c @ X2 @ Yss @ ( produc4690296632459589363od_b_c @ $true @ ( produc485302954201544481od_b_c @ Xb ) ) ) ) )
         => ~ ! [Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c,Yss: list_l8907847357763382004od_b_c] :
                ( ( Xa3
                  = ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) @ Yss ) )
               => ~ ( ( ( X2 = Y )
                     => ( Y2
                        = ( simple853729931750508955od_b_c @ X2 @ Yss @ ( produc4690296632459589363od_b_c @ ( produc8897711532737485535od_b_c @ Xb ) @ ( cons_l342771267123639716od_b_c @ Ys2 @ ( produc485302954201544481od_b_c @ Xb ) ) ) ) ) )
                    & ( ( X2 != Y )
                     => ( Y2
                        = ( simple853729931750508955od_b_c @ X2 @ Yss @ Xb ) ) ) ) ) ) ) ) ).

% prefixes_in_list_helper.elims
thf(fact_801_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_802_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_803_prod_Ocollapse,axiom,
    ! [Prod: produc7736452900028564794at_nat] :
      ( ( produc3197953233266746538at_nat @ ( produc6927617529171309206at_nat @ Prod ) @ ( produc5857867323167669720at_nat @ Prod ) )
      = Prod ) ).

% prod.collapse
thf(fact_804_fsm__transition__target,axiom,
    ! [T4: produc2669932201312201782od_c_a,M2: fsm_a_b_c] :
      ( ( member5502040268208861279od_c_a @ T4 @ ( transitions_a_b_c @ M2 ) )
     => ( member_a @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) @ ( states_a_b_c @ M2 ) ) ) ).

% fsm_transition_target
thf(fact_805_eq__snd__iff,axiom,
    ! [B: c,P4: product_prod_b_c] :
      ( ( B
        = ( product_snd_b_c @ P4 ) )
      = ( ? [A5: b] :
            ( P4
            = ( product_Pair_b_c @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_806_eq__snd__iff,axiom,
    ! [B: product_prod_nat_nat,P4: produc7736452900028564794at_nat] :
      ( ( B
        = ( produc5857867323167669720at_nat @ P4 ) )
      = ( ? [A5: list_P903359562653991662od_b_c] :
            ( P4
            = ( produc3197953233266746538at_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_807_eq__snd__iff,axiom,
    ! [B: nat,P4: product_prod_nat_nat] :
      ( ( B
        = ( product_snd_nat_nat @ P4 ) )
      = ( ? [A5: nat] :
            ( P4
            = ( product_Pair_nat_nat @ A5 @ B ) ) ) ) ).

% eq_snd_iff
thf(fact_808_snd__eqD,axiom,
    ! [X2: b,Y2: c,A: c] :
      ( ( ( product_snd_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) )
        = A )
     => ( Y2 = A ) ) ).

% snd_eqD
thf(fact_809_snd__eqD,axiom,
    ! [X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,A: product_prod_nat_nat] :
      ( ( ( produc5857867323167669720at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) )
        = A )
     => ( Y2 = A ) ) ).

% snd_eqD
thf(fact_810_snd__eqD,axiom,
    ! [X2: nat,Y2: nat,A: nat] :
      ( ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) )
        = A )
     => ( Y2 = A ) ) ).

% snd_eqD
thf(fact_811_snd__conv,axiom,
    ! [X1: b,X23: c] :
      ( ( product_snd_b_c @ ( product_Pair_b_c @ X1 @ X23 ) )
      = X23 ) ).

% snd_conv
thf(fact_812_snd__conv,axiom,
    ! [X1: list_P903359562653991662od_b_c,X23: product_prod_nat_nat] :
      ( ( produc5857867323167669720at_nat @ ( produc3197953233266746538at_nat @ X1 @ X23 ) )
      = X23 ) ).

% snd_conv
thf(fact_813_snd__conv,axiom,
    ! [X1: nat,X23: nat] :
      ( ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X1 @ X23 ) )
      = X23 ) ).

% snd_conv
thf(fact_814_sndE,axiom,
    ! [X2: product_prod_b_c,A: b,B: c,P3: c > $o] :
      ( ( X2
        = ( product_Pair_b_c @ A @ B ) )
     => ( ( P3 @ ( product_snd_b_c @ X2 ) )
       => ( P3 @ B ) ) ) ).

% sndE
thf(fact_815_sndE,axiom,
    ! [X2: produc7736452900028564794at_nat,A: list_P903359562653991662od_b_c,B: product_prod_nat_nat,P3: product_prod_nat_nat > $o] :
      ( ( X2
        = ( produc3197953233266746538at_nat @ A @ B ) )
     => ( ( P3 @ ( produc5857867323167669720at_nat @ X2 ) )
       => ( P3 @ B ) ) ) ).

% sndE
thf(fact_816_sndE,axiom,
    ! [X2: product_prod_nat_nat,A: nat,B: nat,P3: nat > $o] :
      ( ( X2
        = ( product_Pair_nat_nat @ A @ B ) )
     => ( ( P3 @ ( product_snd_nat_nat @ X2 ) )
       => ( P3 @ B ) ) ) ).

% sndE
thf(fact_817_sndI,axiom,
    ! [X2: product_prod_b_c,Y2: b,Z: c] :
      ( ( X2
        = ( product_Pair_b_c @ Y2 @ Z ) )
     => ( ( product_snd_b_c @ X2 )
        = Z ) ) ).

% sndI
thf(fact_818_sndI,axiom,
    ! [X2: produc7736452900028564794at_nat,Y2: list_P903359562653991662od_b_c,Z: product_prod_nat_nat] :
      ( ( X2
        = ( produc3197953233266746538at_nat @ Y2 @ Z ) )
     => ( ( produc5857867323167669720at_nat @ X2 )
        = Z ) ) ).

% sndI
thf(fact_819_sndI,axiom,
    ! [X2: product_prod_nat_nat,Y2: nat,Z: nat] :
      ( ( X2
        = ( product_Pair_nat_nat @ Y2 @ Z ) )
     => ( ( product_snd_nat_nat @ X2 )
        = Z ) ) ).

% sndI
thf(fact_820_All__prod__contract,axiom,
    ! [P3: list_P903359562653991662od_b_c > product_prod_nat_nat > $o] :
      ( ( ! [A5: list_P903359562653991662od_b_c,X7: product_prod_nat_nat] : ( P3 @ A5 @ X7 ) )
      = ( ! [Z5: produc7736452900028564794at_nat] : ( P3 @ ( produc6927617529171309206at_nat @ Z5 ) @ ( produc5857867323167669720at_nat @ Z5 ) ) ) ) ).

% All_prod_contract
thf(fact_821_Ex__prod__contract,axiom,
    ! [P3: list_P903359562653991662od_b_c > product_prod_nat_nat > $o] :
      ( ( ? [A5: list_P903359562653991662od_b_c,X7: product_prod_nat_nat] : ( P3 @ A5 @ X7 ) )
      = ( ? [Z5: produc7736452900028564794at_nat] : ( P3 @ ( produc6927617529171309206at_nat @ Z5 ) @ ( produc5857867323167669720at_nat @ Z5 ) ) ) ) ).

% Ex_prod_contract
thf(fact_822_prod__eq__iff,axiom,
    ( ( ^ [Y7: produc7736452900028564794at_nat,Z6: produc7736452900028564794at_nat] : ( Y7 = Z6 ) )
    = ( ^ [S3: produc7736452900028564794at_nat,T5: produc7736452900028564794at_nat] :
          ( ( ( produc6927617529171309206at_nat @ S3 )
            = ( produc6927617529171309206at_nat @ T5 ) )
          & ( ( produc5857867323167669720at_nat @ S3 )
            = ( produc5857867323167669720at_nat @ T5 ) ) ) ) ) ).

% prod_eq_iff
thf(fact_823_prod__eqI,axiom,
    ! [P4: produc7736452900028564794at_nat,Q4: produc7736452900028564794at_nat] :
      ( ( ( produc6927617529171309206at_nat @ P4 )
        = ( produc6927617529171309206at_nat @ Q4 ) )
     => ( ( ( produc5857867323167669720at_nat @ P4 )
          = ( produc5857867323167669720at_nat @ Q4 ) )
       => ( P4 = Q4 ) ) ) ).

% prod_eqI
thf(fact_824_prod_Oexpand,axiom,
    ! [Prod: produc7736452900028564794at_nat,Prod2: produc7736452900028564794at_nat] :
      ( ( ( ( produc6927617529171309206at_nat @ Prod )
          = ( produc6927617529171309206at_nat @ Prod2 ) )
        & ( ( produc5857867323167669720at_nat @ Prod )
          = ( produc5857867323167669720at_nat @ Prod2 ) ) )
     => ( Prod = Prod2 ) ) ).

% prod.expand
thf(fact_825_observable_Osimps,axiom,
    ( observable_a_b_c
    = ( ^ [M6: fsm_a_b_c] :
        ! [X4: produc2669932201312201782od_c_a] :
          ( ( member5502040268208861279od_c_a @ X4 @ ( transitions_a_b_c @ M6 ) )
         => ! [Y3: produc2669932201312201782od_c_a] :
              ( ( member5502040268208861279od_c_a @ Y3 @ ( transitions_a_b_c @ M6 ) )
             => ( ( ( ( produc4225943634317630866od_c_a @ X4 )
                    = ( produc4225943634317630866od_c_a @ Y3 ) )
                  & ( ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ X4 ) )
                    = ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ Y3 ) ) )
                  & ( ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ X4 ) ) )
                    = ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ Y3 ) ) ) ) )
               => ( ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ X4 ) ) )
                  = ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ Y3 ) ) ) ) ) ) ) ) ) ).

% observable.simps
thf(fact_826_observable_Osimps,axiom,
    ( observ4908692499119641462_c_nat
    = ( ^ [M6: fsm_na8507942939833465170_c_nat] :
        ! [X4: produc1672623652726061535at_nat] :
          ( ( member8141203938919614070at_nat @ X4 @ ( transi6702335687894639939_c_nat @ M6 ) )
         => ! [Y3: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ Y3 @ ( transi6702335687894639939_c_nat @ M6 ) )
             => ( ( ( ( produc573278823996734757at_nat @ X4 )
                    = ( produc573278823996734757at_nat @ Y3 ) )
                  & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X4 ) )
                    = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) )
                  & ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X4 ) ) )
                    = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) ) )
               => ( ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X4 ) ) )
                  = ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) ) ) ) ) ) ) ).

% observable.simps
thf(fact_827_observable_Oelims_I1_J,axiom,
    ! [X2: fsm_a_b_c,Y2: $o] :
      ( ( ( observable_a_b_c @ X2 )
        = Y2 )
     => ( Y2
        = ( ! [X4: produc2669932201312201782od_c_a] :
              ( ( member5502040268208861279od_c_a @ X4 @ ( transitions_a_b_c @ X2 ) )
             => ! [Y3: produc2669932201312201782od_c_a] :
                  ( ( member5502040268208861279od_c_a @ Y3 @ ( transitions_a_b_c @ X2 ) )
                 => ( ( ( ( produc4225943634317630866od_c_a @ X4 )
                        = ( produc4225943634317630866od_c_a @ Y3 ) )
                      & ( ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ X4 ) )
                        = ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ Y3 ) ) )
                      & ( ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ X4 ) ) )
                        = ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ Y3 ) ) ) ) )
                   => ( ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ X4 ) ) )
                      = ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ Y3 ) ) ) ) ) ) ) ) ) ) ).

% observable.elims(1)
thf(fact_828_observable_Oelims_I1_J,axiom,
    ! [X2: fsm_na8507942939833465170_c_nat,Y2: $o] :
      ( ( ( observ4908692499119641462_c_nat @ X2 )
        = Y2 )
     => ( Y2
        = ( ! [X4: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ X4 @ ( transi6702335687894639939_c_nat @ X2 ) )
             => ! [Y3: produc1672623652726061535at_nat] :
                  ( ( member8141203938919614070at_nat @ Y3 @ ( transi6702335687894639939_c_nat @ X2 ) )
                 => ( ( ( ( produc573278823996734757at_nat @ X4 )
                        = ( produc573278823996734757at_nat @ Y3 ) )
                      & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X4 ) )
                        = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) )
                      & ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X4 ) ) )
                        = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) ) )
                   => ( ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X4 ) ) )
                      = ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) ) ) ) ) ) ) ) ).

% observable.elims(1)
thf(fact_829_observable_Oelims_I2_J,axiom,
    ! [X2: fsm_a_b_c] :
      ( ( observable_a_b_c @ X2 )
     => ! [X6: produc2669932201312201782od_c_a] :
          ( ( member5502040268208861279od_c_a @ X6 @ ( transitions_a_b_c @ X2 ) )
         => ! [Xa2: produc2669932201312201782od_c_a] :
              ( ( member5502040268208861279od_c_a @ Xa2 @ ( transitions_a_b_c @ X2 ) )
             => ( ( ( ( produc4225943634317630866od_c_a @ X6 )
                    = ( produc4225943634317630866od_c_a @ Xa2 ) )
                  & ( ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ X6 ) )
                    = ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ Xa2 ) ) )
                  & ( ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ X6 ) ) )
                    = ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ Xa2 ) ) ) ) )
               => ( ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ X6 ) ) )
                  = ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ Xa2 ) ) ) ) ) ) ) ) ).

% observable.elims(2)
thf(fact_830_observable_Oelims_I2_J,axiom,
    ! [X2: fsm_na8507942939833465170_c_nat] :
      ( ( observ4908692499119641462_c_nat @ X2 )
     => ! [X6: produc1672623652726061535at_nat] :
          ( ( member8141203938919614070at_nat @ X6 @ ( transi6702335687894639939_c_nat @ X2 ) )
         => ! [Xa2: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ Xa2 @ ( transi6702335687894639939_c_nat @ X2 ) )
             => ( ( ( ( produc573278823996734757at_nat @ X6 )
                    = ( produc573278823996734757at_nat @ Xa2 ) )
                  & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X6 ) )
                    = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Xa2 ) ) )
                  & ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X6 ) ) )
                    = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Xa2 ) ) ) ) )
               => ( ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X6 ) ) )
                  = ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Xa2 ) ) ) ) ) ) ) ) ).

% observable.elims(2)
thf(fact_831_observable_Oelims_I3_J,axiom,
    ! [X2: fsm_a_b_c] :
      ( ~ ( observable_a_b_c @ X2 )
     => ~ ! [X: produc2669932201312201782od_c_a] :
            ( ( member5502040268208861279od_c_a @ X @ ( transitions_a_b_c @ X2 ) )
           => ! [Xa: produc2669932201312201782od_c_a] :
                ( ( member5502040268208861279od_c_a @ Xa @ ( transitions_a_b_c @ X2 ) )
               => ( ( ( ( produc4225943634317630866od_c_a @ X )
                      = ( produc4225943634317630866od_c_a @ Xa ) )
                    & ( ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ X ) )
                      = ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ Xa ) ) )
                    & ( ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ X ) ) )
                      = ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ Xa ) ) ) ) )
                 => ( ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ X ) ) )
                    = ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ Xa ) ) ) ) ) ) ) ) ).

% observable.elims(3)
thf(fact_832_observable_Oelims_I3_J,axiom,
    ! [X2: fsm_na8507942939833465170_c_nat] :
      ( ~ ( observ4908692499119641462_c_nat @ X2 )
     => ~ ! [X: produc1672623652726061535at_nat] :
            ( ( member8141203938919614070at_nat @ X @ ( transi6702335687894639939_c_nat @ X2 ) )
           => ! [Xa: produc1672623652726061535at_nat] :
                ( ( member8141203938919614070at_nat @ Xa @ ( transi6702335687894639939_c_nat @ X2 ) )
               => ( ( ( ( produc573278823996734757at_nat @ X )
                      = ( produc573278823996734757at_nat @ Xa ) )
                    & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X ) )
                      = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Xa ) ) )
                    & ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X ) ) )
                      = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Xa ) ) ) ) )
                 => ( ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X ) ) )
                    = ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Xa ) ) ) ) ) ) ) ) ).

% observable.elims(3)
thf(fact_833_deterministic_Osimps,axiom,
    ( determ3896246135393395087_c_nat
    = ( ^ [M6: fsm_na8507942939833465170_c_nat] :
        ! [X4: produc1672623652726061535at_nat] :
          ( ( member8141203938919614070at_nat @ X4 @ ( transi6702335687894639939_c_nat @ M6 ) )
         => ! [Y3: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ Y3 @ ( transi6702335687894639939_c_nat @ M6 ) )
             => ( ( ( ( produc573278823996734757at_nat @ X4 )
                    = ( produc573278823996734757at_nat @ Y3 ) )
                  & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X4 ) )
                    = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) )
               => ( ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X4 ) ) )
                    = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) )
                  & ( ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X4 ) ) )
                    = ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) ) ) ) ) ) ) ) ).

% deterministic.simps
thf(fact_834_deterministic_Oelims_I1_J,axiom,
    ! [X2: fsm_na8507942939833465170_c_nat,Y2: $o] :
      ( ( ( determ3896246135393395087_c_nat @ X2 )
        = Y2 )
     => ( Y2
        = ( ! [X4: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ X4 @ ( transi6702335687894639939_c_nat @ X2 ) )
             => ! [Y3: produc1672623652726061535at_nat] :
                  ( ( member8141203938919614070at_nat @ Y3 @ ( transi6702335687894639939_c_nat @ X2 ) )
                 => ( ( ( ( produc573278823996734757at_nat @ X4 )
                        = ( produc573278823996734757at_nat @ Y3 ) )
                      & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X4 ) )
                        = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) )
                   => ( ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X4 ) ) )
                        = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) )
                      & ( ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X4 ) ) )
                        = ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) ) ) ) ) ) ) ) ) ).

% deterministic.elims(1)
thf(fact_835_deterministic_Oelims_I2_J,axiom,
    ! [X2: fsm_na8507942939833465170_c_nat] :
      ( ( determ3896246135393395087_c_nat @ X2 )
     => ! [X6: produc1672623652726061535at_nat] :
          ( ( member8141203938919614070at_nat @ X6 @ ( transi6702335687894639939_c_nat @ X2 ) )
         => ! [Xa2: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ Xa2 @ ( transi6702335687894639939_c_nat @ X2 ) )
             => ( ( ( ( produc573278823996734757at_nat @ X6 )
                    = ( produc573278823996734757at_nat @ Xa2 ) )
                  & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X6 ) )
                    = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Xa2 ) ) ) )
               => ( ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X6 ) ) )
                    = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Xa2 ) ) ) )
                  & ( ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X6 ) ) )
                    = ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Xa2 ) ) ) ) ) ) ) ) ) ).

% deterministic.elims(2)
thf(fact_836_deterministic_Oelims_I3_J,axiom,
    ! [X2: fsm_na8507942939833465170_c_nat] :
      ( ~ ( determ3896246135393395087_c_nat @ X2 )
     => ~ ! [X: produc1672623652726061535at_nat] :
            ( ( member8141203938919614070at_nat @ X @ ( transi6702335687894639939_c_nat @ X2 ) )
           => ! [Xa: produc1672623652726061535at_nat] :
                ( ( member8141203938919614070at_nat @ Xa @ ( transi6702335687894639939_c_nat @ X2 ) )
               => ( ( ( ( produc573278823996734757at_nat @ X )
                      = ( produc573278823996734757at_nat @ Xa ) )
                    & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X ) )
                      = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Xa ) ) ) )
                 => ( ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X ) ) )
                      = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Xa ) ) ) )
                    & ( ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X ) ) )
                      = ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Xa ) ) ) ) ) ) ) ) ) ).

% deterministic.elims(3)
thf(fact_837_observable__transition__target__language__subset,axiom,
    ! [M2: fsm_a_b_c,T1: produc2669932201312201782od_c_a,T2: produc2669932201312201782od_c_a] :
      ( ( ord_le282488521294790766od_b_c @ ( lS_a_b_c @ M2 @ ( produc4225943634317630866od_c_a @ T1 ) ) @ ( lS_a_b_c @ M2 @ ( produc4225943634317630866od_c_a @ T2 ) ) )
     => ( ( member5502040268208861279od_c_a @ T1 @ ( transitions_a_b_c @ M2 ) )
       => ( ( member5502040268208861279od_c_a @ T2 @ ( transitions_a_b_c @ M2 ) )
         => ( ( ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T1 ) )
              = ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T2 ) ) )
           => ( ( ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T1 ) ) )
                = ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T2 ) ) ) )
             => ( ( observable_a_b_c @ M2 )
               => ( ord_le282488521294790766od_b_c @ ( lS_a_b_c @ M2 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T1 ) ) ) ) @ ( lS_a_b_c @ M2 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T2 ) ) ) ) ) ) ) ) ) ) ) ).

% observable_transition_target_language_subset
thf(fact_838_observable__transition__target__language__subset,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,T1: produc1672623652726061535at_nat,T2: produc1672623652726061535at_nat] :
      ( ( ord_le1407570443398850707_c_nat @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( produc573278823996734757at_nat @ T1 ) ) @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( produc573278823996734757at_nat @ T2 ) ) )
     => ( ( member8141203938919614070at_nat @ T1 @ ( transi6702335687894639939_c_nat @ M2 ) )
       => ( ( member8141203938919614070at_nat @ T2 @ ( transi6702335687894639939_c_nat @ M2 ) )
         => ( ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T1 ) )
              = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T2 ) ) )
           => ( ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T1 ) ) )
                = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T2 ) ) ) )
             => ( ( observ4908692499119641462_c_nat @ M2 )
               => ( ord_le1407570443398850707_c_nat @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T1 ) ) ) ) @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T2 ) ) ) ) ) ) ) ) ) ) ) ).

% observable_transition_target_language_subset
thf(fact_839_observable__transition__target__language__eq,axiom,
    ! [M2: fsm_a_b_c,T1: produc2669932201312201782od_c_a,T2: produc2669932201312201782od_c_a] :
      ( ( ( lS_a_b_c @ M2 @ ( produc4225943634317630866od_c_a @ T1 ) )
        = ( lS_a_b_c @ M2 @ ( produc4225943634317630866od_c_a @ T2 ) ) )
     => ( ( member5502040268208861279od_c_a @ T1 @ ( transitions_a_b_c @ M2 ) )
       => ( ( member5502040268208861279od_c_a @ T2 @ ( transitions_a_b_c @ M2 ) )
         => ( ( ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T1 ) )
              = ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T2 ) ) )
           => ( ( ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T1 ) ) )
                = ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T2 ) ) ) )
             => ( ( observable_a_b_c @ M2 )
               => ( ( lS_a_b_c @ M2 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T1 ) ) ) )
                  = ( lS_a_b_c @ M2 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T2 ) ) ) ) ) ) ) ) ) ) ) ).

% observable_transition_target_language_eq
thf(fact_840_observable__transition__target__language__eq,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,T1: produc1672623652726061535at_nat,T2: produc1672623652726061535at_nat] :
      ( ( ( lS_nat3398479149073220114_c_nat @ M2 @ ( produc573278823996734757at_nat @ T1 ) )
        = ( lS_nat3398479149073220114_c_nat @ M2 @ ( produc573278823996734757at_nat @ T2 ) ) )
     => ( ( member8141203938919614070at_nat @ T1 @ ( transi6702335687894639939_c_nat @ M2 ) )
       => ( ( member8141203938919614070at_nat @ T2 @ ( transi6702335687894639939_c_nat @ M2 ) )
         => ( ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T1 ) )
              = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T2 ) ) )
           => ( ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T1 ) ) )
                = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T2 ) ) ) )
             => ( ( observ4908692499119641462_c_nat @ M2 )
               => ( ( lS_nat3398479149073220114_c_nat @ M2 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T1 ) ) ) )
                  = ( lS_nat3398479149073220114_c_nat @ M2 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T2 ) ) ) ) ) ) ) ) ) ) ) ).

% observable_transition_target_language_eq
thf(fact_841_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_842_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_843_prod_Oexhaust__sel,axiom,
    ! [Prod: produc7736452900028564794at_nat] :
      ( Prod
      = ( produc3197953233266746538at_nat @ ( produc6927617529171309206at_nat @ Prod ) @ ( produc5857867323167669720at_nat @ Prod ) ) ) ).

% prod.exhaust_sel
thf(fact_844_surjective__pairing,axiom,
    ! [T4: product_prod_b_c] :
      ( T4
      = ( product_Pair_b_c @ ( product_fst_b_c @ T4 ) @ ( product_snd_b_c @ T4 ) ) ) ).

% surjective_pairing
thf(fact_845_surjective__pairing,axiom,
    ! [T4: product_prod_nat_nat] :
      ( T4
      = ( product_Pair_nat_nat @ ( product_fst_nat_nat @ T4 ) @ ( product_snd_nat_nat @ T4 ) ) ) ).

% surjective_pairing
thf(fact_846_surjective__pairing,axiom,
    ! [T4: produc7736452900028564794at_nat] :
      ( T4
      = ( produc3197953233266746538at_nat @ ( produc6927617529171309206at_nat @ T4 ) @ ( produc5857867323167669720at_nat @ T4 ) ) ) ).

% surjective_pairing
thf(fact_847_LS__prepend__transition,axiom,
    ! [T4: produc1672623652726061535at_nat,M2: fsm_na8507942939833465170_c_nat,Io2: list_P5698226596436487165_c_nat] :
      ( ( member8141203938919614070at_nat @ T4 @ ( transi6702335687894639939_c_nat @ M2 ) )
     => ( ( member2782619610658070420_c_nat @ Io2 @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) )
       => ( member2782619610658070420_c_nat @ ( cons_P6914938610007962039_c_nat @ ( produc1142203413938751335_c_nat @ ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) @ ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) @ Io2 ) @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( produc573278823996734757at_nat @ T4 ) ) ) ) ) ).

% LS_prepend_transition
thf(fact_848_language__next__transition__ob,axiom,
    ! [X2: list_P903359562653991662od_b_c,Y2: nat,Ios: list_P5698226596436487165_c_nat,M2: fsm_na8507942939833465170_c_nat,Q4: nat] :
      ( ( member2782619610658070420_c_nat @ ( cons_P6914938610007962039_c_nat @ ( produc1142203413938751335_c_nat @ X2 @ Y2 ) @ Ios ) @ ( lS_nat3398479149073220114_c_nat @ M2 @ Q4 ) )
     => ~ ! [T: produc1672623652726061535at_nat] :
            ( ( ( produc573278823996734757at_nat @ T )
              = Q4 )
           => ( ( member8141203938919614070at_nat @ T @ ( transi6702335687894639939_c_nat @ M2 ) )
             => ( ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T ) )
                  = X2 )
               => ( ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T ) ) )
                    = Y2 )
                 => ~ ( member2782619610658070420_c_nat @ Ios @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T ) ) ) ) ) ) ) ) ) ) ).

% language_next_transition_ob
thf(fact_849_observable__language__transition__target,axiom,
    ! [M2: fsm_a_b_c,T4: produc2669932201312201782od_c_a,Io2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member5502040268208861279od_c_a @ T4 @ ( transitions_a_b_c @ M2 ) )
       => ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) @ ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) ) @ Io2 ) @ ( lS_a_b_c @ M2 @ ( produc4225943634317630866od_c_a @ T4 ) ) )
         => ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) ) ) ) ) ) ).

% observable_language_transition_target
thf(fact_850_observable__language__transition__target,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,T4: produc1672623652726061535at_nat,Io2: list_P5698226596436487165_c_nat] :
      ( ( observ4908692499119641462_c_nat @ M2 )
     => ( ( member8141203938919614070at_nat @ T4 @ ( transi6702335687894639939_c_nat @ M2 ) )
       => ( ( member2782619610658070420_c_nat @ ( cons_P6914938610007962039_c_nat @ ( produc1142203413938751335_c_nat @ ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) @ ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) @ Io2 ) @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( produc573278823996734757at_nat @ T4 ) ) )
         => ( member2782619610658070420_c_nat @ Io2 @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) ) ) ) ) ).

% observable_language_transition_target
thf(fact_851_after__transition__exhaust,axiom,
    ! [M2: fsm_a_b_c,T4: produc2669932201312201782od_c_a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member5502040268208861279od_c_a @ T4 @ ( transitions_a_b_c @ M2 ) )
       => ( ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) )
          = ( after_a_b_c @ M2 @ ( produc4225943634317630866od_c_a @ T4 ) @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) @ ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) ) @ nil_Product_prod_b_c ) ) ) ) ) ).

% after_transition_exhaust
thf(fact_852_after__transition__exhaust,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,T4: produc1672623652726061535at_nat] :
      ( ( observ4908692499119641462_c_nat @ M2 )
     => ( ( member8141203938919614070at_nat @ T4 @ ( transi6702335687894639939_c_nat @ M2 ) )
       => ( ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) )
          = ( after_9065927338414533509_c_nat @ M2 @ ( produc573278823996734757at_nat @ T4 ) @ ( cons_P6914938610007962039_c_nat @ ( produc1142203413938751335_c_nat @ ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) @ ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) @ nil_Pr8683500363154653543_c_nat ) ) ) ) ) ).

% after_transition_exhaust
thf(fact_853_verit__comp__simplify1_I1_J,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_854_less__prod__def_H,axiom,
    ( ord_le3206528128634633190at_nat
    = ( ^ [X4: produc7736452900028564794at_nat,Y3: produc7736452900028564794at_nat] :
          ( ( ord_le2870576100876692378od_b_c @ ( produc6927617529171309206at_nat @ X4 ) @ ( produc6927617529171309206at_nat @ Y3 ) )
          | ( ( ( produc6927617529171309206at_nat @ X4 )
              = ( produc6927617529171309206at_nat @ Y3 ) )
            & ( ord_le1203424502768444845at_nat @ ( produc5857867323167669720at_nat @ X4 ) @ ( produc5857867323167669720at_nat @ Y3 ) ) ) ) ) ) ).

% less_prod_def'
thf(fact_855_less__prod__def_H,axiom,
    ( ord_le1203424502768444845at_nat
    = ( ^ [X4: product_prod_nat_nat,Y3: product_prod_nat_nat] :
          ( ( ord_less_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y3 ) )
          | ( ( ( product_fst_nat_nat @ X4 )
              = ( product_fst_nat_nat @ Y3 ) )
            & ( ord_less_nat @ ( product_snd_nat_nat @ X4 ) @ ( product_snd_nat_nat @ Y3 ) ) ) ) ) ) ).

% less_prod_def'
thf(fact_856_update__with__aux_Osimps_I2_J,axiom,
    ! [P4: product_prod_b_c,K: b,V: c,F: c > c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P4 )
          = K )
       => ( ( update_with_aux_c_b @ V @ K @ F @ ( cons_P4529483553340347422od_b_c @ P4 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ ( product_snd_b_c @ P4 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P4 )
         != K )
       => ( ( update_with_aux_c_b @ V @ K @ F @ ( cons_P4529483553340347422od_b_c @ P4 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P4 @ ( update_with_aux_c_b @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_857_update__with__aux_Osimps_I2_J,axiom,
    ! [P4: product_prod_nat_nat,K: nat,V: nat,F: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P4 )
          = K )
       => ( ( update528237659335440164at_nat @ V @ K @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ ( product_snd_nat_nat @ P4 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P4 )
         != K )
       => ( ( update528237659335440164at_nat @ V @ K @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P4 @ ( update528237659335440164at_nat @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_858_update__with__aux_Osimps_I2_J,axiom,
    ! [P4: produc7736452900028564794at_nat,K: list_P903359562653991662od_b_c,V: product_prod_nat_nat,F: product_prod_nat_nat > product_prod_nat_nat,Ps2: list_P3552028079716004544at_nat] :
      ( ( ( ( produc6927617529171309206at_nat @ P4 )
          = K )
       => ( ( update3836831102904268847od_b_c @ V @ K @ F @ ( cons_P7526108220621557488at_nat @ P4 @ Ps2 ) )
          = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ K @ ( F @ ( produc5857867323167669720at_nat @ P4 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc6927617529171309206at_nat @ P4 )
         != K )
       => ( ( update3836831102904268847od_b_c @ V @ K @ F @ ( cons_P7526108220621557488at_nat @ P4 @ Ps2 ) )
          = ( cons_P7526108220621557488at_nat @ P4 @ ( update3836831102904268847od_b_c @ V @ K @ F @ Ps2 ) ) ) ) ) ).

% update_with_aux.simps(2)
thf(fact_859_prefixes__in__list__helper_Osimps_I3_J,axiom,
    ! [X2: product_prod_b_c,Y2: product_prod_b_c,Ys: list_P903359562653991662od_b_c,Yss2: list_l8907847357763382004od_b_c,Res2: produc8297111589761753219od_b_c] :
      ( ( ( X2 = Y2 )
       => ( ( simple853729931750508955od_b_c @ X2 @ ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ Y2 @ Ys ) @ Yss2 ) @ Res2 )
          = ( simple853729931750508955od_b_c @ X2 @ Yss2 @ ( produc4690296632459589363od_b_c @ ( produc8897711532737485535od_b_c @ Res2 ) @ ( cons_l342771267123639716od_b_c @ Ys @ ( produc485302954201544481od_b_c @ Res2 ) ) ) ) ) )
      & ( ( X2 != Y2 )
       => ( ( simple853729931750508955od_b_c @ X2 @ ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ Y2 @ Ys ) @ Yss2 ) @ Res2 )
          = ( simple853729931750508955od_b_c @ X2 @ Yss2 @ Res2 ) ) ) ) ).

% prefixes_in_list_helper.simps(3)
thf(fact_860_prefixes__in__list__helper_Osimps_I2_J,axiom,
    ! [X2: product_prod_b_c,Yss2: list_l8907847357763382004od_b_c,Res2: produc8297111589761753219od_b_c] :
      ( ( simple853729931750508955od_b_c @ X2 @ ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ Yss2 ) @ Res2 )
      = ( simple853729931750508955od_b_c @ X2 @ Yss2 @ ( produc4690296632459589363od_b_c @ $true @ ( produc485302954201544481od_b_c @ Res2 ) ) ) ) ).

% prefixes_in_list_helper.simps(2)
thf(fact_861_prod__less__def,axiom,
    ( ord_le3206528128634633190at_nat
    = ( ^ [X4: produc7736452900028564794at_nat,Y3: produc7736452900028564794at_nat] :
          ( ( ord_le2870576100876692378od_b_c @ ( produc6927617529171309206at_nat @ X4 ) @ ( produc6927617529171309206at_nat @ Y3 ) )
          | ( ( ord_le8780369363890727566od_b_c @ ( produc6927617529171309206at_nat @ X4 ) @ ( produc6927617529171309206at_nat @ Y3 ) )
            & ( ord_le1203424502768444845at_nat @ ( produc5857867323167669720at_nat @ X4 ) @ ( produc5857867323167669720at_nat @ Y3 ) ) ) ) ) ) ).

% prod_less_def
thf(fact_862_prod__less__def,axiom,
    ( ord_le256656934292621467_c_nat
    = ( ^ [X4: produc7751835376537488967_c_nat,Y3: produc7751835376537488967_c_nat] :
          ( ( ord_le6326416800173614196od_b_c @ ( produc3937548304262584661_c_nat @ X4 ) @ ( produc3937548304262584661_c_nat @ Y3 ) )
          | ( ( ord_le253122037897321832od_b_c @ ( produc3937548304262584661_c_nat @ X4 ) @ ( produc3937548304262584661_c_nat @ Y3 ) )
            & ( ord_less_nat @ ( produc3693606702777943955_c_nat @ X4 ) @ ( produc3693606702777943955_c_nat @ Y3 ) ) ) ) ) ) ).

% prod_less_def
thf(fact_863_prod__less__def,axiom,
    ( ord_le1203424502768444845at_nat
    = ( ^ [X4: product_prod_nat_nat,Y3: product_prod_nat_nat] :
          ( ( ord_less_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y3 ) )
          | ( ( ord_less_eq_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y3 ) )
            & ( ord_less_nat @ ( product_snd_nat_nat @ X4 ) @ ( product_snd_nat_nat @ Y3 ) ) ) ) ) ) ).

% prod_less_def
thf(fact_864_less__eq__prod__def,axiom,
    ( ord_le6169957838352071898at_nat
    = ( ^ [X4: produc7736452900028564794at_nat,Y3: produc7736452900028564794at_nat] :
          ( ( ord_le2870576100876692378od_b_c @ ( produc6927617529171309206at_nat @ X4 ) @ ( produc6927617529171309206at_nat @ Y3 ) )
          | ( ( ord_le8780369363890727566od_b_c @ ( produc6927617529171309206at_nat @ X4 ) @ ( produc6927617529171309206at_nat @ Y3 ) )
            & ( ord_le8460144461188290721at_nat @ ( produc5857867323167669720at_nat @ X4 ) @ ( produc5857867323167669720at_nat @ Y3 ) ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_865_less__eq__prod__def,axiom,
    ( ord_le5179863987602144583od_b_c
    = ( ^ [X4: produc6746359049278637479od_b_c,Y3: produc6746359049278637479od_b_c] :
          ( ( ord_le6326416800173614196od_b_c @ ( produc7763087762772596867od_b_c @ X4 ) @ ( produc7763087762772596867od_b_c @ Y3 ) )
          | ( ( ord_le253122037897321832od_b_c @ ( produc7763087762772596867od_b_c @ X4 ) @ ( produc7763087762772596867od_b_c @ Y3 ) )
            & ( ord_le253122037897321832od_b_c @ ( produc6693337556768957381od_b_c @ X4 ) @ ( produc6693337556768957381od_b_c @ Y3 ) ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_866_less__eq__prod__def,axiom,
    ( ord_le4618043242721873575_c_nat
    = ( ^ [X4: produc7751835376537488967_c_nat,Y3: produc7751835376537488967_c_nat] :
          ( ( ord_le6326416800173614196od_b_c @ ( produc3937548304262584661_c_nat @ X4 ) @ ( produc3937548304262584661_c_nat @ Y3 ) )
          | ( ( ord_le253122037897321832od_b_c @ ( produc3937548304262584661_c_nat @ X4 ) @ ( produc3937548304262584661_c_nat @ Y3 ) )
            & ( ord_less_eq_nat @ ( produc3693606702777943955_c_nat @ X4 ) @ ( produc3693606702777943955_c_nat @ Y3 ) ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_867_less__eq__prod__def,axiom,
    ( ord_le5855653289255333837od_b_c
    = ( ^ [X4: produc8989445423070949229od_b_c,Y3: produc8989445423070949229od_b_c] :
          ( ( ord_less_nat @ ( produc2262884775302500275od_b_c @ X4 ) @ ( produc2262884775302500275od_b_c @ Y3 ) )
          | ( ( ord_less_eq_nat @ ( produc2262884775302500275od_b_c @ X4 ) @ ( produc2262884775302500275od_b_c @ Y3 ) )
            & ( ord_le253122037897321832od_b_c @ ( produc2018943173817859569od_b_c @ X4 ) @ ( produc2018943173817859569od_b_c @ Y3 ) ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_868_less__eq__prod__def,axiom,
    ( ord_le8460144461188290721at_nat
    = ( ^ [X4: product_prod_nat_nat,Y3: product_prod_nat_nat] :
          ( ( ord_less_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y3 ) )
          | ( ( ord_less_eq_nat @ ( product_fst_nat_nat @ X4 ) @ ( product_fst_nat_nat @ Y3 ) )
            & ( ord_less_eq_nat @ ( product_snd_nat_nat @ X4 ) @ ( product_snd_nat_nat @ Y3 ) ) ) ) ) ) ).

% less_eq_prod_def
thf(fact_869_Sublist_Osuffixes_Osimps_I2_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( suffix3867853578027978934od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) )
      = ( append6992831555715836169od_b_c @ ( suffix3867853578027978934od_b_c @ Xs ) @ ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ nil_li8071162985807626740od_b_c ) ) ) ).

% Sublist.suffixes.simps(2)
thf(fact_870_observable__language__next,axiom,
    ! [Io2: product_prod_b_c,Ios: list_P903359562653991662od_b_c,M2: fsm_a_b_c,T4: produc2669932201312201782od_c_a] :
      ( ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ Io2 @ Ios ) @ ( lS_a_b_c @ M2 @ ( produc4225943634317630866od_c_a @ T4 ) ) )
     => ( ( observable_a_b_c @ M2 )
       => ( ( member5502040268208861279od_c_a @ T4 @ ( transitions_a_b_c @ M2 ) )
         => ( ( ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) )
              = ( product_fst_b_c @ Io2 ) )
           => ( ( ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) )
                = ( product_snd_b_c @ Io2 ) )
             => ( member6330420149250801815od_b_c @ Ios @ ( lS_a_b_c @ ( from_FSM_a_b_c @ M2 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) ) @ ( initial_a_b_c @ ( from_FSM_a_b_c @ M2 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) ) ) ) ) ) ) ) ) ) ).

% observable_language_next
thf(fact_871_observable__language__next,axiom,
    ! [Io2: produc2027191494478716909_c_nat,Ios: list_P5698226596436487165_c_nat,M2: fsm_na8507942939833465170_c_nat,T4: produc1672623652726061535at_nat] :
      ( ( member2782619610658070420_c_nat @ ( cons_P6914938610007962039_c_nat @ Io2 @ Ios ) @ ( lS_nat3398479149073220114_c_nat @ M2 @ ( produc573278823996734757at_nat @ T4 ) ) )
     => ( ( observ4908692499119641462_c_nat @ M2 )
       => ( ( member8141203938919614070at_nat @ T4 @ ( transi6702335687894639939_c_nat @ M2 ) )
         => ( ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T4 ) )
              = ( produc5836268797367570555_c_nat @ Io2 ) )
           => ( ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) )
                = ( produc4696302694293077945_c_nat @ Io2 ) )
             => ( member2782619610658070420_c_nat @ Ios @ ( lS_nat3398479149073220114_c_nat @ ( from_F4410087886414761163_c_nat @ M2 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) @ ( initia1096823736712553629_c_nat @ ( from_F4410087886414761163_c_nat @ M2 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) ) ) ) ) ) ) ) ) ).

% observable_language_next
thf(fact_872_exI__realizer,axiom,
    ! [P3: c > b > $o,Y2: c,X2: b] :
      ( ( P3 @ Y2 @ X2 )
     => ( P3 @ ( product_snd_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) ) @ ( product_fst_b_c @ ( product_Pair_b_c @ X2 @ Y2 ) ) ) ) ).

% exI_realizer
thf(fact_873_exI__realizer,axiom,
    ! [P3: nat > nat > $o,Y2: nat,X2: nat] :
      ( ( P3 @ Y2 @ X2 )
     => ( P3 @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) ) @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ X2 @ Y2 ) ) ) ) ).

% exI_realizer
thf(fact_874_exI__realizer,axiom,
    ! [P3: product_prod_nat_nat > list_P903359562653991662od_b_c > $o,Y2: product_prod_nat_nat,X2: list_P903359562653991662od_b_c] :
      ( ( P3 @ Y2 @ X2 )
     => ( P3 @ ( produc5857867323167669720at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) ) @ ( produc6927617529171309206at_nat @ ( produc3197953233266746538at_nat @ X2 @ Y2 ) ) ) ) ).

% exI_realizer
thf(fact_875_conjI__realizer,axiom,
    ! [P3: b > $o,P4: b,Q: c > $o,Q4: c] :
      ( ( P3 @ P4 )
     => ( ( Q @ Q4 )
       => ( ( P3 @ ( product_fst_b_c @ ( product_Pair_b_c @ P4 @ Q4 ) ) )
          & ( Q @ ( product_snd_b_c @ ( product_Pair_b_c @ P4 @ Q4 ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_876_conjI__realizer,axiom,
    ! [P3: nat > $o,P4: nat,Q: nat > $o,Q4: nat] :
      ( ( P3 @ P4 )
     => ( ( Q @ Q4 )
       => ( ( P3 @ ( product_fst_nat_nat @ ( product_Pair_nat_nat @ P4 @ Q4 ) ) )
          & ( Q @ ( product_snd_nat_nat @ ( product_Pair_nat_nat @ P4 @ Q4 ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_877_conjI__realizer,axiom,
    ! [P3: list_P903359562653991662od_b_c > $o,P4: list_P903359562653991662od_b_c,Q: product_prod_nat_nat > $o,Q4: product_prod_nat_nat] :
      ( ( P3 @ P4 )
     => ( ( Q @ Q4 )
       => ( ( P3 @ ( produc6927617529171309206at_nat @ ( produc3197953233266746538at_nat @ P4 @ Q4 ) ) )
          & ( Q @ ( produc5857867323167669720at_nat @ ( produc3197953233266746538at_nat @ P4 @ Q4 ) ) ) ) ) ) ).

% conjI_realizer
thf(fact_878_from__FSM__simps_I5_J,axiom,
    ! [Q4: a,M2: fsm_a_b_c] :
      ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
     => ( ( states_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q4 ) )
        = ( states_a_b_c @ M2 ) ) ) ).

% from_FSM_simps(5)
thf(fact_879_from__from,axiom,
    ! [Q1: a,M2: fsm_a_b_c,Q16: a] :
      ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
     => ( ( member_a @ Q16 @ ( states_a_b_c @ M2 ) )
       => ( ( from_FSM_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q1 ) @ Q16 )
          = ( from_FSM_a_b_c @ M2 @ Q16 ) ) ) ) ).

% from_from
thf(fact_880_from__FSM__simps_I1_J,axiom,
    ! [Q4: a,M2: fsm_a_b_c] :
      ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
     => ( ( initial_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q4 ) )
        = Q4 ) ) ).

% from_FSM_simps(1)
thf(fact_881_from__FSM__simps_I4_J,axiom,
    ! [Q4: a,M2: fsm_a_b_c] :
      ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
     => ( ( transitions_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q4 ) )
        = ( transitions_a_b_c @ M2 ) ) ) ).

% from_FSM_simps(4)
thf(fact_882_from__FSM__observable,axiom,
    ! [M2: fsm_a_b_c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( observable_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q4 ) ) ) ).

% from_FSM_observable
thf(fact_883_observable__transition__unique,axiom,
    ! [M2: fsm_a_b_c,T4: produc2669932201312201782od_c_a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member5502040268208861279od_c_a @ T4 @ ( transitions_a_b_c @ M2 ) )
       => ? [X: produc2669932201312201782od_c_a] :
            ( ( member5502040268208861279od_c_a @ X @ ( transitions_a_b_c @ M2 ) )
            & ( ( produc4225943634317630866od_c_a @ X )
              = ( produc4225943634317630866od_c_a @ T4 ) )
            & ( ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ X ) )
              = ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) )
            & ( ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ X ) ) )
              = ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) )
            & ! [Y6: produc2669932201312201782od_c_a] :
                ( ( ( member5502040268208861279od_c_a @ Y6 @ ( transitions_a_b_c @ M2 ) )
                  & ( ( produc4225943634317630866od_c_a @ Y6 )
                    = ( produc4225943634317630866od_c_a @ T4 ) )
                  & ( ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ Y6 ) )
                    = ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) )
                  & ( ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ Y6 ) ) )
                    = ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) ) )
               => ( Y6 = X ) ) ) ) ) ).

% observable_transition_unique
thf(fact_884_observable__transition__unique,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,T4: produc1672623652726061535at_nat] :
      ( ( observ4908692499119641462_c_nat @ M2 )
     => ( ( member8141203938919614070at_nat @ T4 @ ( transi6702335687894639939_c_nat @ M2 ) )
       => ? [X: produc1672623652726061535at_nat] :
            ( ( member8141203938919614070at_nat @ X @ ( transi6702335687894639939_c_nat @ M2 ) )
            & ( ( produc573278823996734757at_nat @ X )
              = ( produc573278823996734757at_nat @ T4 ) )
            & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X ) )
              = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) )
            & ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X ) ) )
              = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) )
            & ! [Y6: produc1672623652726061535at_nat] :
                ( ( ( member8141203938919614070at_nat @ Y6 @ ( transi6702335687894639939_c_nat @ M2 ) )
                  & ( ( produc573278823996734757at_nat @ Y6 )
                    = ( produc573278823996734757at_nat @ T4 ) )
                  & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Y6 ) )
                    = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) )
                  & ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ Y6 ) ) )
                    = ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) )
               => ( Y6 = X ) ) ) ) ) ).

% observable_transition_unique
thf(fact_885_from__FSM__language,axiom,
    ! [Q4: a,M2: fsm_a_b_c] :
      ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
     => ( ( lS_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q4 ) @ ( initial_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q4 ) ) )
        = ( lS_a_b_c @ M2 @ Q4 ) ) ) ).

% from_FSM_language
thf(fact_886_LS__single__transition,axiom,
    ! [X2: list_P903359562653991662od_b_c,Y2: nat,M2: fsm_na8507942939833465170_c_nat,Q4: nat] :
      ( ( member2782619610658070420_c_nat @ ( cons_P6914938610007962039_c_nat @ ( produc1142203413938751335_c_nat @ X2 @ Y2 ) @ nil_Pr8683500363154653543_c_nat ) @ ( lS_nat3398479149073220114_c_nat @ M2 @ Q4 ) )
      = ( ? [X4: produc1672623652726061535at_nat] :
            ( ( member8141203938919614070at_nat @ X4 @ ( transi6702335687894639939_c_nat @ M2 ) )
            & ( ( produc573278823996734757at_nat @ X4 )
              = Q4 )
            & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X4 ) )
              = X2 )
            & ( ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ X4 ) ) )
              = Y2 ) ) ) ) ).

% LS_single_transition
thf(fact_887_single__input_Oelims_I3_J,axiom,
    ! [X2: fsm_na8507942939833465170_c_nat] :
      ( ~ ( single5973854069967192191_c_nat @ X2 )
     => ~ ! [X: produc1672623652726061535at_nat] :
            ( ( member8141203938919614070at_nat @ X @ ( transi6702335687894639939_c_nat @ X2 ) )
           => ! [Xa: produc1672623652726061535at_nat] :
                ( ( member8141203938919614070at_nat @ Xa @ ( transi6702335687894639939_c_nat @ X2 ) )
               => ( ( ( produc573278823996734757at_nat @ X )
                    = ( produc573278823996734757at_nat @ Xa ) )
                 => ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X ) )
                    = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Xa ) ) ) ) ) ) ) ).

% single_input.elims(3)
thf(fact_888_single__input_Oelims_I2_J,axiom,
    ! [X2: fsm_na8507942939833465170_c_nat] :
      ( ( single5973854069967192191_c_nat @ X2 )
     => ! [X6: produc1672623652726061535at_nat] :
          ( ( member8141203938919614070at_nat @ X6 @ ( transi6702335687894639939_c_nat @ X2 ) )
         => ! [Xa2: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ Xa2 @ ( transi6702335687894639939_c_nat @ X2 ) )
             => ( ( ( produc573278823996734757at_nat @ X6 )
                  = ( produc573278823996734757at_nat @ Xa2 ) )
               => ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X6 ) )
                  = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Xa2 ) ) ) ) ) ) ) ).

% single_input.elims(2)
thf(fact_889_single__input_Oelims_I1_J,axiom,
    ! [X2: fsm_na8507942939833465170_c_nat,Y2: $o] :
      ( ( ( single5973854069967192191_c_nat @ X2 )
        = Y2 )
     => ( Y2
        = ( ! [X4: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ X4 @ ( transi6702335687894639939_c_nat @ X2 ) )
             => ! [Y3: produc1672623652726061535at_nat] :
                  ( ( member8141203938919614070at_nat @ Y3 @ ( transi6702335687894639939_c_nat @ X2 ) )
                 => ( ( ( produc573278823996734757at_nat @ X4 )
                      = ( produc573278823996734757at_nat @ Y3 ) )
                   => ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X4 ) )
                      = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) ) ) ) ) ) ) ).

% single_input.elims(1)
thf(fact_890_single__input_Osimps,axiom,
    ( single5973854069967192191_c_nat
    = ( ^ [M6: fsm_na8507942939833465170_c_nat] :
        ! [X4: produc1672623652726061535at_nat] :
          ( ( member8141203938919614070at_nat @ X4 @ ( transi6702335687894639939_c_nat @ M6 ) )
         => ! [Y3: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ Y3 @ ( transi6702335687894639939_c_nat @ M6 ) )
             => ( ( ( produc573278823996734757at_nat @ X4 )
                  = ( produc573278823996734757at_nat @ Y3 ) )
               => ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X4 ) )
                  = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) ) ) ) ) ) ).

% single_input.simps
thf(fact_891_exE__realizer_H,axiom,
    ! [P3: product_prod_nat_nat > list_P903359562653991662od_b_c > $o,P4: produc7736452900028564794at_nat] :
      ( ( P3 @ ( produc5857867323167669720at_nat @ P4 ) @ ( produc6927617529171309206at_nat @ P4 ) )
     => ~ ! [X: list_P903359562653991662od_b_c,Y: product_prod_nat_nat] :
            ~ ( P3 @ Y @ X ) ) ).

% exE_realizer'
thf(fact_892_retains__outputs__for__states__and__inputs__def,axiom,
    ( retain8594860428893221344_c_nat
    = ( ^ [M6: fsm_na8507942939833465170_c_nat,S4: fsm_na8507942939833465170_c_nat] :
        ! [X4: produc1672623652726061535at_nat] :
          ( ( member8141203938919614070at_nat @ X4 @ ( transi6702335687894639939_c_nat @ S4 ) )
         => ! [Y3: produc1672623652726061535at_nat] :
              ( ( member8141203938919614070at_nat @ Y3 @ ( transi6702335687894639939_c_nat @ M6 ) )
             => ( ( ( ( produc573278823996734757at_nat @ X4 )
                    = ( produc573278823996734757at_nat @ Y3 ) )
                  & ( ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ X4 ) )
                    = ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ Y3 ) ) ) )
               => ( member8141203938919614070at_nat @ Y3 @ ( transi6702335687894639939_c_nat @ S4 ) ) ) ) ) ) ) ).

% retains_outputs_for_states_and_inputs_def
thf(fact_893_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P3: b > c > $o,X2: b,Y2: c,A: product_prod_b_c] :
      ( ( P3 @ X2 @ Y2 )
     => ( ( A
          = ( product_Pair_b_c @ X2 @ Y2 ) )
       => ( P3 @ ( product_fst_b_c @ A ) @ ( product_snd_b_c @ A ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_894_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P3: nat > nat > $o,X2: nat,Y2: nat,A: product_prod_nat_nat] :
      ( ( P3 @ X2 @ Y2 )
     => ( ( A
          = ( product_Pair_nat_nat @ X2 @ Y2 ) )
       => ( P3 @ ( product_fst_nat_nat @ A ) @ ( product_snd_nat_nat @ A ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_895_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
    ! [P3: list_P903359562653991662od_b_c > product_prod_nat_nat > $o,X2: list_P903359562653991662od_b_c,Y2: product_prod_nat_nat,A: produc7736452900028564794at_nat] :
      ( ( P3 @ X2 @ Y2 )
     => ( ( A
          = ( produc3197953233266746538at_nat @ X2 @ Y2 ) )
       => ( P3 @ ( produc6927617529171309206at_nat @ A ) @ ( produc5857867323167669720at_nat @ A ) ) ) ) ).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_896_prefixes__in__list__helper_Opelims,axiom,
    ! [X2: product_prod_b_c,Xa3: list_l8907847357763382004od_b_c,Xb: produc8297111589761753219od_b_c,Y2: produc8297111589761753219od_b_c] :
      ( ( ( simple853729931750508955od_b_c @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( accp_P8962932651428525694od_b_c @ simple1154826095472830906od_b_c @ ( produc3672100452475562085od_b_c @ X2 @ ( produc119014353569595046od_b_c @ Xa3 @ Xb ) ) )
       => ( ( ( Xa3 = nil_li8071162985807626740od_b_c )
           => ( ( Y2 = Xb )
             => ~ ( accp_P8962932651428525694od_b_c @ simple1154826095472830906od_b_c @ ( produc3672100452475562085od_b_c @ X2 @ ( produc119014353569595046od_b_c @ nil_li8071162985807626740od_b_c @ Xb ) ) ) ) )
         => ( ! [Yss: list_l8907847357763382004od_b_c] :
                ( ( Xa3
                  = ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ Yss ) )
               => ( ( Y2
                    = ( simple853729931750508955od_b_c @ X2 @ Yss @ ( produc4690296632459589363od_b_c @ $true @ ( produc485302954201544481od_b_c @ Xb ) ) ) )
                 => ~ ( accp_P8962932651428525694od_b_c @ simple1154826095472830906od_b_c @ ( produc3672100452475562085od_b_c @ X2 @ ( produc119014353569595046od_b_c @ ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ Yss ) @ Xb ) ) ) ) )
           => ~ ! [Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c,Yss: list_l8907847357763382004od_b_c] :
                  ( ( Xa3
                    = ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) @ Yss ) )
                 => ( ( ( ( X2 = Y )
                       => ( Y2
                          = ( simple853729931750508955od_b_c @ X2 @ Yss @ ( produc4690296632459589363od_b_c @ ( produc8897711532737485535od_b_c @ Xb ) @ ( cons_l342771267123639716od_b_c @ Ys2 @ ( produc485302954201544481od_b_c @ Xb ) ) ) ) ) )
                      & ( ( X2 != Y )
                       => ( Y2
                          = ( simple853729931750508955od_b_c @ X2 @ Yss @ Xb ) ) ) )
                   => ~ ( accp_P8962932651428525694od_b_c @ simple1154826095472830906od_b_c @ ( produc3672100452475562085od_b_c @ X2 @ ( produc119014353569595046od_b_c @ ( cons_l342771267123639716od_b_c @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) @ Yss ) @ Xb ) ) ) ) ) ) ) ) ) ).

% prefixes_in_list_helper.pelims
thf(fact_897_map__entry_Oelims,axiom,
    ! [X2: b,Xa3: c > c,Xb: list_P903359562653991662od_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( ( map_entry_b_c @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( ( Xb = nil_Product_prod_b_c )
         => ( Y2 != 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 )
                      = X2 )
                   => ( Y2
                      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ ( Xa3 @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_b_c @ P6 )
                     != X2 )
                   => ( Y2
                      = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_entry_b_c @ X2 @ Xa3 @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_898_map__entry_Oelims,axiom,
    ! [X2: nat,Xa3: nat > nat,Xb: list_P6011104703257516679at_nat,Y2: list_P6011104703257516679at_nat] :
      ( ( ( map_entry_nat_nat @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( ( Xb = nil_Pr5478986624290739719at_nat )
         => ( Y2 != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
              ( ( Xb
                = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_nat_nat @ P6 )
                      = X2 )
                   => ( Y2
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ ( Xa3 @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_nat_nat @ P6 )
                     != X2 )
                   => ( Y2
                      = ( cons_P6512896166579812791at_nat @ P6 @ ( map_entry_nat_nat @ X2 @ Xa3 @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_899_map__entry_Oelims,axiom,
    ! [X2: list_P903359562653991662od_b_c,Xa3: product_prod_nat_nat > product_prod_nat_nat,Xb: list_P3552028079716004544at_nat,Y2: list_P3552028079716004544at_nat] :
      ( ( ( map_en8749968004893045596at_nat @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( ( Xb = nil_Pr4949612815525651264at_nat )
         => ( Y2 != nil_Pr4949612815525651264at_nat ) )
       => ~ ! [P6: produc7736452900028564794at_nat,Ps: list_P3552028079716004544at_nat] :
              ( ( Xb
                = ( cons_P7526108220621557488at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc6927617529171309206at_nat @ P6 )
                      = X2 )
                   => ( Y2
                      = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ ( Xa3 @ ( produc5857867323167669720at_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc6927617529171309206at_nat @ P6 )
                     != X2 )
                   => ( Y2
                      = ( cons_P7526108220621557488at_nat @ P6 @ ( map_en8749968004893045596at_nat @ X2 @ Xa3 @ Ps ) ) ) ) ) ) ) ) ).

% map_entry.elims
thf(fact_900_map__default_Oelims,axiom,
    ! [X2: b,Xa3: c,Xb: c > c,Xc: list_P903359562653991662od_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( ( map_default_b_c @ X2 @ Xa3 @ Xb @ Xc )
        = Y2 )
     => ( ( ( Xc = nil_Product_prod_b_c )
         => ( Y2
           != ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Xa3 ) @ 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 )
                      = X2 )
                   => ( Y2
                      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ ( Xb @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_b_c @ P6 )
                     != X2 )
                   => ( Y2
                      = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_default_b_c @ X2 @ Xa3 @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_901_map__default_Oelims,axiom,
    ! [X2: nat,Xa3: nat,Xb: nat > nat,Xc: list_P6011104703257516679at_nat,Y2: list_P6011104703257516679at_nat] :
      ( ( ( map_default_nat_nat @ X2 @ Xa3 @ Xb @ Xc )
        = Y2 )
     => ( ( ( Xc = nil_Pr5478986624290739719at_nat )
         => ( Y2
           != ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Xa3 ) @ nil_Pr5478986624290739719at_nat ) ) )
       => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
              ( ( Xc
                = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( product_fst_nat_nat @ P6 )
                      = X2 )
                   => ( Y2
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ ( Xb @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( product_fst_nat_nat @ P6 )
                     != X2 )
                   => ( Y2
                      = ( cons_P6512896166579812791at_nat @ P6 @ ( map_default_nat_nat @ X2 @ Xa3 @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_902_map__default_Oelims,axiom,
    ! [X2: list_P903359562653991662od_b_c,Xa3: product_prod_nat_nat,Xb: product_prod_nat_nat > product_prod_nat_nat,Xc: list_P3552028079716004544at_nat,Y2: list_P3552028079716004544at_nat] :
      ( ( ( map_de5424046155440413163at_nat @ X2 @ Xa3 @ Xb @ Xc )
        = Y2 )
     => ( ( ( Xc = nil_Pr4949612815525651264at_nat )
         => ( Y2
           != ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Xa3 ) @ nil_Pr4949612815525651264at_nat ) ) )
       => ~ ! [P6: produc7736452900028564794at_nat,Ps: list_P3552028079716004544at_nat] :
              ( ( Xc
                = ( cons_P7526108220621557488at_nat @ P6 @ Ps ) )
             => ~ ( ( ( ( produc6927617529171309206at_nat @ P6 )
                      = X2 )
                   => ( Y2
                      = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ ( Xb @ ( produc5857867323167669720at_nat @ P6 ) ) ) @ Ps ) ) )
                  & ( ( ( produc6927617529171309206at_nat @ P6 )
                     != X2 )
                   => ( Y2
                      = ( cons_P7526108220621557488at_nat @ P6 @ ( map_de5424046155440413163at_nat @ X2 @ Xa3 @ Xb @ Ps ) ) ) ) ) ) ) ) ).

% map_default.elims
thf(fact_903_path__begin__state,axiom,
    ! [M2: fsm_a_b_c,Q4: a,P4: list_P6327159017948738492od_c_a] :
      ( ( path_a_b_c @ M2 @ Q4 @ P4 )
     => ( member_a @ Q4 @ ( states_a_b_c @ M2 ) ) ) ).

% path_begin_state
thf(fact_904_transition__subset__path,axiom,
    ! [A4: fsm_a_b_c,B5: fsm_a_b_c,Q4: a,P4: list_P6327159017948738492od_c_a] :
      ( ( ord_le3226338165915859510od_c_a @ ( transitions_a_b_c @ A4 ) @ ( transitions_a_b_c @ B5 ) )
     => ( ( path_a_b_c @ A4 @ Q4 @ P4 )
       => ( ( member_a @ Q4 @ ( states_a_b_c @ B5 ) )
         => ( path_a_b_c @ B5 @ Q4 @ P4 ) ) ) ) ).

% transition_subset_path
thf(fact_905_nil,axiom,
    ! [Q4: a,M2: fsm_a_b_c] :
      ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
     => ( path_a_b_c @ M2 @ Q4 @ nil_Pr1342775757158464060od_c_a ) ) ).

% nil
thf(fact_906_path__nil__elim,axiom,
    ! [M2: fsm_a_b_c,Q4: a] :
      ( ( path_a_b_c @ M2 @ Q4 @ nil_Pr1342775757158464060od_c_a )
     => ( member_a @ Q4 @ ( states_a_b_c @ M2 ) ) ) ).

% path_nil_elim
thf(fact_907_from__FSM__path,axiom,
    ! [Q4: a,M2: fsm_a_b_c,Q5: a,P4: list_P6327159017948738492od_c_a] :
      ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
     => ( ( path_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q4 ) @ Q5 @ P4 )
       => ( path_a_b_c @ M2 @ Q5 @ P4 ) ) ) ).

% from_FSM_path
thf(fact_908_from__FSM__path__initial,axiom,
    ! [Q4: a,M2: fsm_a_b_c,P4: list_P6327159017948738492od_c_a] :
      ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
     => ( ( path_a_b_c @ M2 @ Q4 @ P4 )
        = ( path_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q4 ) @ ( initial_a_b_c @ ( from_FSM_a_b_c @ M2 @ Q4 ) ) @ P4 ) ) ) ).

% from_FSM_path_initial
thf(fact_909_path__prepend__t,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,Q5: nat,P4: list_P1512727335290020207at_nat,Q4: nat,X2: list_P903359562653991662od_b_c,Y2: nat] :
      ( ( path_n6906771771478333236_c_nat @ M2 @ Q5 @ P4 )
     => ( ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q4 @ ( produc3197953233266746538at_nat @ X2 @ ( product_Pair_nat_nat @ Y2 @ Q5 ) ) ) @ ( transi6702335687894639939_c_nat @ M2 ) )
       => ( path_n6906771771478333236_c_nat @ M2 @ Q4 @ ( cons_P7448923191728977065at_nat @ ( produc1267817526181175825at_nat @ Q4 @ ( produc3197953233266746538at_nat @ X2 @ ( product_Pair_nat_nat @ Y2 @ Q5 ) ) ) @ P4 ) ) ) ) ).

% path_prepend_t
thf(fact_910_map__default_Osimps_I1_J,axiom,
    ! [K: b,V: c,F: c > c] :
      ( ( map_default_b_c @ K @ V @ F @ nil_Product_prod_b_c )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ V ) @ nil_Product_prod_b_c ) ) ).

% map_default.simps(1)
thf(fact_911_map__default_Osimps_I1_J,axiom,
    ! [K: list_P903359562653991662od_b_c,V: product_prod_nat_nat,F: product_prod_nat_nat > product_prod_nat_nat] :
      ( ( map_de5424046155440413163at_nat @ K @ V @ F @ nil_Pr4949612815525651264at_nat )
      = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ K @ V ) @ nil_Pr4949612815525651264at_nat ) ) ).

% map_default.simps(1)
thf(fact_912_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_913_map__default_Osimps_I2_J,axiom,
    ! [P4: product_prod_b_c,K: b,V: c,F: c > c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P4 )
          = K )
       => ( ( map_default_b_c @ K @ V @ F @ ( cons_P4529483553340347422od_b_c @ P4 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ ( product_snd_b_c @ P4 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P4 )
         != K )
       => ( ( map_default_b_c @ K @ V @ F @ ( cons_P4529483553340347422od_b_c @ P4 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P4 @ ( map_default_b_c @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_914_map__default_Osimps_I2_J,axiom,
    ! [P4: product_prod_nat_nat,K: nat,V: nat,F: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P4 )
          = K )
       => ( ( map_default_nat_nat @ K @ V @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ ( product_snd_nat_nat @ P4 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P4 )
         != K )
       => ( ( map_default_nat_nat @ K @ V @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P4 @ ( map_default_nat_nat @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_915_map__default_Osimps_I2_J,axiom,
    ! [P4: produc7736452900028564794at_nat,K: list_P903359562653991662od_b_c,V: product_prod_nat_nat,F: product_prod_nat_nat > product_prod_nat_nat,Ps2: list_P3552028079716004544at_nat] :
      ( ( ( ( produc6927617529171309206at_nat @ P4 )
          = K )
       => ( ( map_de5424046155440413163at_nat @ K @ V @ F @ ( cons_P7526108220621557488at_nat @ P4 @ Ps2 ) )
          = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ K @ ( F @ ( produc5857867323167669720at_nat @ P4 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc6927617529171309206at_nat @ P4 )
         != K )
       => ( ( map_de5424046155440413163at_nat @ K @ V @ F @ ( cons_P7526108220621557488at_nat @ P4 @ Ps2 ) )
          = ( cons_P7526108220621557488at_nat @ P4 @ ( map_de5424046155440413163at_nat @ K @ V @ F @ Ps2 ) ) ) ) ) ).

% map_default.simps(2)
thf(fact_916_map__entry_Osimps_I2_J,axiom,
    ! [P4: product_prod_b_c,K: b,F: c > c,Ps2: list_P903359562653991662od_b_c] :
      ( ( ( ( product_fst_b_c @ P4 )
          = K )
       => ( ( map_entry_b_c @ K @ F @ ( cons_P4529483553340347422od_b_c @ P4 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ ( product_snd_b_c @ P4 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_b_c @ P4 )
         != K )
       => ( ( map_entry_b_c @ K @ F @ ( cons_P4529483553340347422od_b_c @ P4 @ Ps2 ) )
          = ( cons_P4529483553340347422od_b_c @ P4 @ ( map_entry_b_c @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_917_map__entry_Osimps_I2_J,axiom,
    ! [P4: product_prod_nat_nat,K: nat,F: nat > nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( ( ( product_fst_nat_nat @ P4 )
          = K )
       => ( ( map_entry_nat_nat @ K @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ ( product_snd_nat_nat @ P4 ) ) ) @ Ps2 ) ) )
      & ( ( ( product_fst_nat_nat @ P4 )
         != K )
       => ( ( map_entry_nat_nat @ K @ F @ ( cons_P6512896166579812791at_nat @ P4 @ Ps2 ) )
          = ( cons_P6512896166579812791at_nat @ P4 @ ( map_entry_nat_nat @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_918_map__entry_Osimps_I2_J,axiom,
    ! [P4: produc7736452900028564794at_nat,K: list_P903359562653991662od_b_c,F: product_prod_nat_nat > product_prod_nat_nat,Ps2: list_P3552028079716004544at_nat] :
      ( ( ( ( produc6927617529171309206at_nat @ P4 )
          = K )
       => ( ( map_en8749968004893045596at_nat @ K @ F @ ( cons_P7526108220621557488at_nat @ P4 @ Ps2 ) )
          = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ K @ ( F @ ( produc5857867323167669720at_nat @ P4 ) ) ) @ Ps2 ) ) )
      & ( ( ( produc6927617529171309206at_nat @ P4 )
         != K )
       => ( ( map_en8749968004893045596at_nat @ K @ F @ ( cons_P7526108220621557488at_nat @ P4 @ Ps2 ) )
          = ( cons_P7526108220621557488at_nat @ P4 @ ( map_en8749968004893045596at_nat @ K @ F @ Ps2 ) ) ) ) ) ).

% map_entry.simps(2)
thf(fact_919_path_Ocases,axiom,
    ! [A1: fsm_a_b_c,A22: a,A32: list_P6327159017948738492od_c_a] :
      ( ( path_a_b_c @ A1 @ A22 @ A32 )
     => ( ( ( A32 = nil_Pr1342775757158464060od_c_a )
         => ~ ( member_a @ A22 @ ( states_a_b_c @ A1 ) ) )
       => ~ ! [T: produc2669932201312201782od_c_a] :
              ( ( A22
                = ( produc4225943634317630866od_c_a @ T ) )
             => ! [Ts2: list_P6327159017948738492od_c_a] :
                  ( ( A32
                    = ( cons_P8659537020926305772od_c_a @ T @ Ts2 ) )
                 => ( ( member5502040268208861279od_c_a @ T @ ( transitions_a_b_c @ A1 ) )
                   => ~ ( path_a_b_c @ A1 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T ) ) ) @ Ts2 ) ) ) ) ) ) ).

% path.cases
thf(fact_920_path_Osimps,axiom,
    ( path_a_b_c
    = ( ^ [A12: fsm_a_b_c,A23: a,A33: list_P6327159017948738492od_c_a] :
          ( ? [Q7: a,M6: fsm_a_b_c] :
              ( ( A12 = M6 )
              & ( A23 = Q7 )
              & ( A33 = nil_Pr1342775757158464060od_c_a )
              & ( member_a @ Q7 @ ( states_a_b_c @ M6 ) ) )
          | ? [T5: produc2669932201312201782od_c_a,M6: fsm_a_b_c,Ts3: list_P6327159017948738492od_c_a] :
              ( ( A12 = M6 )
              & ( A23
                = ( produc4225943634317630866od_c_a @ T5 ) )
              & ( A33
                = ( cons_P8659537020926305772od_c_a @ T5 @ Ts3 ) )
              & ( member5502040268208861279od_c_a @ T5 @ ( transitions_a_b_c @ M6 ) )
              & ( path_a_b_c @ M6 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T5 ) ) ) @ Ts3 ) ) ) ) ) ).

% path.simps
thf(fact_921_map__default_Opelims,axiom,
    ! [X2: b,Xa3: c,Xb: c > c,Xc: list_P903359562653991662od_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( ( map_default_b_c @ X2 @ Xa3 @ Xb @ Xc )
        = Y2 )
     => ( ( accp_P2383248136236608210od_b_c @ map_default_rel_b_c @ ( produc1384939585547926677od_b_c @ X2 @ ( produc3590379597927054951od_b_c @ Xa3 @ ( produc1101678828523717360od_b_c @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Product_prod_b_c )
           => ( ( Y2
                = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ Xa3 ) @ nil_Product_prod_b_c ) )
             => ~ ( accp_P2383248136236608210od_b_c @ map_default_rel_b_c @ ( produc1384939585547926677od_b_c @ X2 @ ( produc3590379597927054951od_b_c @ Xa3 @ ( 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 )
                        = X2 )
                     => ( Y2
                        = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ ( Xb @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_b_c @ P6 )
                       != X2 )
                     => ( Y2
                        = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_default_b_c @ X2 @ Xa3 @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P2383248136236608210od_b_c @ map_default_rel_b_c @ ( produc1384939585547926677od_b_c @ X2 @ ( produc3590379597927054951od_b_c @ Xa3 @ ( produc1101678828523717360od_b_c @ Xb @ ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_922_map__default_Opelims,axiom,
    ! [X2: nat,Xa3: nat,Xb: nat > nat,Xc: list_P6011104703257516679at_nat,Y2: list_P6011104703257516679at_nat] :
      ( ( ( map_default_nat_nat @ X2 @ Xa3 @ Xb @ Xc )
        = Y2 )
     => ( ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X2 @ ( produc1709345877921393766at_nat @ Xa3 @ ( produc1236331799044183215at_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr5478986624290739719at_nat )
           => ( ( Y2
                = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ Xa3 ) @ nil_Pr5478986624290739719at_nat ) )
             => ~ ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X2 @ ( produc1709345877921393766at_nat @ Xa3 @ ( 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 )
                        = X2 )
                     => ( Y2
                        = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ ( Xb @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_nat_nat @ P6 )
                       != X2 )
                     => ( Y2
                        = ( cons_P6512896166579812791at_nat @ P6 @ ( map_default_nat_nat @ X2 @ Xa3 @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P8262604802235901066at_nat @ map_de1546328871509799619at_nat @ ( produc2291548248119593221at_nat @ X2 @ ( produc1709345877921393766at_nat @ Xa3 @ ( produc1236331799044183215at_nat @ Xb @ ( cons_P6512896166579812791at_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_923_map__default_Opelims,axiom,
    ! [X2: list_P903359562653991662od_b_c,Xa3: product_prod_nat_nat,Xb: product_prod_nat_nat > product_prod_nat_nat,Xc: list_P3552028079716004544at_nat,Y2: list_P3552028079716004544at_nat] :
      ( ( ( map_de5424046155440413163at_nat @ X2 @ Xa3 @ Xb @ Xc )
        = Y2 )
     => ( ( accp_P8406484684035832916at_nat @ map_de2534013423998049332at_nat @ ( produc3697027122926671767at_nat @ X2 @ ( produc8555897131303356922at_nat @ Xa3 @ ( produc2317266376569507074at_nat @ Xb @ Xc ) ) ) )
       => ( ( ( Xc = nil_Pr4949612815525651264at_nat )
           => ( ( Y2
                = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ Xa3 ) @ nil_Pr4949612815525651264at_nat ) )
             => ~ ( accp_P8406484684035832916at_nat @ map_de2534013423998049332at_nat @ ( produc3697027122926671767at_nat @ X2 @ ( produc8555897131303356922at_nat @ Xa3 @ ( produc2317266376569507074at_nat @ Xb @ nil_Pr4949612815525651264at_nat ) ) ) ) ) )
         => ~ ! [P6: produc7736452900028564794at_nat,Ps: list_P3552028079716004544at_nat] :
                ( ( Xc
                  = ( cons_P7526108220621557488at_nat @ P6 @ Ps ) )
               => ( ( ( ( ( produc6927617529171309206at_nat @ P6 )
                        = X2 )
                     => ( Y2
                        = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ ( Xb @ ( produc5857867323167669720at_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc6927617529171309206at_nat @ P6 )
                       != X2 )
                     => ( Y2
                        = ( cons_P7526108220621557488at_nat @ P6 @ ( map_de5424046155440413163at_nat @ X2 @ Xa3 @ Xb @ Ps ) ) ) ) )
                 => ~ ( accp_P8406484684035832916at_nat @ map_de2534013423998049332at_nat @ ( produc3697027122926671767at_nat @ X2 @ ( produc8555897131303356922at_nat @ Xa3 @ ( produc2317266376569507074at_nat @ Xb @ ( cons_P7526108220621557488at_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ) ).

% map_default.pelims
thf(fact_924_language__equivalence__from__isomorphism__helper,axiom,
    ! [F: a > a,M12: fsm_a_b_c,M23: fsm_a_b_c,Q4: a] :
      ( ( bij_betw_a_a @ F @ ( states_a_b_c @ M12 ) @ ( states_a_b_c @ M23 ) )
     => ( ( ( F @ ( initial_a_b_c @ M12 ) )
          = ( initial_a_b_c @ M23 ) )
       => ( ! [Q3: a,X: b,Y: c,Q8: a] :
              ( ( member_a @ Q3 @ ( states_a_b_c @ M12 ) )
             => ( ( member_a @ Q8 @ ( states_a_b_c @ M12 ) )
               => ( ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ Q3 @ ( produc3440865914000881661od_c_a @ X @ ( product_Pair_c_a @ Y @ Q8 ) ) ) @ ( transitions_a_b_c @ M12 ) )
                  = ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ ( F @ Q3 ) @ ( produc3440865914000881661od_c_a @ X @ ( product_Pair_c_a @ Y @ ( F @ Q8 ) ) ) ) @ ( transitions_a_b_c @ M23 ) ) ) ) )
         => ( ( member_a @ Q4 @ ( states_a_b_c @ M12 ) )
           => ( ord_le282488521294790766od_b_c @ ( lS_a_b_c @ M12 @ Q4 ) @ ( lS_a_b_c @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_helper
thf(fact_925_language__equivalence__from__isomorphism__helper,axiom,
    ! [F: product_prod_b_c > a,M12: fsm_Pr8946560376811747725_c_b_c,M23: fsm_a_b_c,Q4: product_prod_b_c] :
      ( ( bij_be289686627630903564_b_c_a @ F @ ( states8981316748681014706_c_b_c @ M12 ) @ ( states_a_b_c @ M23 ) )
     => ( ( ( F @ ( initia72520619621223384_c_b_c @ M12 ) )
          = ( initial_a_b_c @ M23 ) )
       => ( ! [Q3: product_prod_b_c,X: b,Y: c,Q8: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ Q3 @ ( states8981316748681014706_c_b_c @ M12 ) )
             => ( ( member7862447941013992593od_b_c @ Q8 @ ( states8981316748681014706_c_b_c @ M12 ) )
               => ( ( member8506456009372400607od_b_c @ ( produc2905726516730939430od_b_c @ Q3 @ ( produc1849760930018728551od_b_c @ X @ ( produc5588881204248199167od_b_c @ Y @ Q8 ) ) ) @ ( transi2332305075331890302_c_b_c @ M12 ) )
                  = ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ ( F @ Q3 ) @ ( produc3440865914000881661od_c_a @ X @ ( product_Pair_c_a @ Y @ ( F @ Q8 ) ) ) ) @ ( transitions_a_b_c @ M23 ) ) ) ) )
         => ( ( member7862447941013992593od_b_c @ Q4 @ ( states8981316748681014706_c_b_c @ M12 ) )
           => ( ord_le282488521294790766od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ M12 @ Q4 ) @ ( lS_a_b_c @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_helper
thf(fact_926_language__equivalence__from__isomorphism__helper,axiom,
    ! [F: a > nat,M12: fsm_a_5171288443196988146_c_nat,M23: fsm_na8507942939833465170_c_nat,Q4: a] :
      ( ( bij_betw_a_nat @ F @ ( states3435123301748008055_c_nat @ M12 ) @ ( states1391264133215352439_c_nat @ M23 ) )
     => ( ( ( F @ ( initia587061581274231761_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: a,X: list_P903359562653991662od_b_c,Y: nat,Q8: a] :
              ( ( member_a @ Q3 @ ( states3435123301748008055_c_nat @ M12 ) )
             => ( ( member_a @ Q8 @ ( states3435123301748008055_c_nat @ M12 ) )
               => ( ( member8865540938691003652_nat_a @ ( produc2159433139309999975_nat_a @ Q3 @ ( produc5352094778760718394_nat_a @ X @ ( product_Pair_nat_a @ Y @ Q8 ) ) ) @ ( transi7182660866489798827_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ( member_a @ Q4 @ ( states3435123301748008055_c_nat @ M12 ) )
           => ( ord_le1407570443398850707_c_nat @ ( lS_a_l8828352379401341340_c_nat @ M12 @ Q4 ) @ ( lS_nat3398479149073220114_c_nat @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_helper
thf(fact_927_language__equivalence__from__isomorphism__helper,axiom,
    ! [F: product_prod_b_c > nat,M12: fsm_Pr8818233010731550984_c_nat,M23: fsm_na8507942939833465170_c_nat,Q4: product_prod_b_c] :
      ( ( bij_be1943335818205691458_c_nat @ F @ ( states2229215650083125133_c_nat @ M12 ) @ ( states1391264133215352439_c_nat @ M23 ) )
     => ( ( ( F @ ( initia8159569244499844327_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: product_prod_b_c,X: list_P903359562653991662od_b_c,Y: nat,Q8: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ Q3 @ ( states2229215650083125133_c_nat @ M12 ) )
             => ( ( member7862447941013992593od_b_c @ Q8 @ ( states2229215650083125133_c_nat @ M12 ) )
               => ( ( member7824782946368861400od_b_c @ ( produc5188412484225467451od_b_c @ Q3 @ ( produc3547070619725137316od_b_c @ X @ ( produc4238952992575422783od_b_c @ Y @ Q8 ) ) ) @ ( transi9101465668568600513_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ( member7862447941013992593od_b_c @ Q4 @ ( states2229215650083125133_c_nat @ M12 ) )
           => ( ord_le1407570443398850707_c_nat @ ( lS_Pro5343607510786273202_c_nat @ M12 @ Q4 ) @ ( lS_nat3398479149073220114_c_nat @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_helper
thf(fact_928_language__equivalence__from__isomorphism__helper,axiom,
    ! [F: nat > nat,M12: fsm_na8507942939833465170_c_nat,M23: fsm_na8507942939833465170_c_nat,Q4: nat] :
      ( ( bij_betw_nat_nat @ F @ ( states1391264133215352439_c_nat @ M12 ) @ ( states1391264133215352439_c_nat @ M23 ) )
     => ( ( ( F @ ( initia1096823736712553629_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: nat,X: list_P903359562653991662od_b_c,Y: nat,Q8: nat] :
              ( ( member_nat @ Q3 @ ( states1391264133215352439_c_nat @ M12 ) )
             => ( ( member_nat @ Q8 @ ( states1391264133215352439_c_nat @ M12 ) )
               => ( ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q3 @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ Q8 ) ) ) @ ( transi6702335687894639939_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ( member_nat @ Q4 @ ( states1391264133215352439_c_nat @ M12 ) )
           => ( ord_le1407570443398850707_c_nat @ ( lS_nat3398479149073220114_c_nat @ M12 @ Q4 ) @ ( lS_nat3398479149073220114_c_nat @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_helper
thf(fact_929_language__equivalence__from__isomorphism,axiom,
    ! [F: a > a,M12: fsm_a_b_c,M23: fsm_a_b_c,Q4: a] :
      ( ( bij_betw_a_a @ F @ ( states_a_b_c @ M12 ) @ ( states_a_b_c @ M23 ) )
     => ( ( ( F @ ( initial_a_b_c @ M12 ) )
          = ( initial_a_b_c @ M23 ) )
       => ( ! [Q3: a,X: b,Y: c,Q8: a] :
              ( ( member_a @ Q3 @ ( states_a_b_c @ M12 ) )
             => ( ( member_a @ Q8 @ ( states_a_b_c @ M12 ) )
               => ( ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ Q3 @ ( produc3440865914000881661od_c_a @ X @ ( product_Pair_c_a @ Y @ Q8 ) ) ) @ ( transitions_a_b_c @ M12 ) )
                  = ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ ( F @ Q3 ) @ ( produc3440865914000881661od_c_a @ X @ ( product_Pair_c_a @ Y @ ( F @ Q8 ) ) ) ) @ ( transitions_a_b_c @ M23 ) ) ) ) )
         => ( ( member_a @ Q4 @ ( states_a_b_c @ M12 ) )
           => ( ( lS_a_b_c @ M12 @ Q4 )
              = ( lS_a_b_c @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism
thf(fact_930_language__equivalence__from__isomorphism,axiom,
    ! [F: product_prod_b_c > a,M12: fsm_Pr8946560376811747725_c_b_c,M23: fsm_a_b_c,Q4: product_prod_b_c] :
      ( ( bij_be289686627630903564_b_c_a @ F @ ( states8981316748681014706_c_b_c @ M12 ) @ ( states_a_b_c @ M23 ) )
     => ( ( ( F @ ( initia72520619621223384_c_b_c @ M12 ) )
          = ( initial_a_b_c @ M23 ) )
       => ( ! [Q3: product_prod_b_c,X: b,Y: c,Q8: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ Q3 @ ( states8981316748681014706_c_b_c @ M12 ) )
             => ( ( member7862447941013992593od_b_c @ Q8 @ ( states8981316748681014706_c_b_c @ M12 ) )
               => ( ( member8506456009372400607od_b_c @ ( produc2905726516730939430od_b_c @ Q3 @ ( produc1849760930018728551od_b_c @ X @ ( produc5588881204248199167od_b_c @ Y @ Q8 ) ) ) @ ( transi2332305075331890302_c_b_c @ M12 ) )
                  = ( member5502040268208861279od_c_a @ ( produc5762801557034676134od_c_a @ ( F @ Q3 ) @ ( produc3440865914000881661od_c_a @ X @ ( product_Pair_c_a @ Y @ ( F @ Q8 ) ) ) ) @ ( transitions_a_b_c @ M23 ) ) ) ) )
         => ( ( member7862447941013992593od_b_c @ Q4 @ ( states8981316748681014706_c_b_c @ M12 ) )
           => ( ( lS_Pro4505222411400483149_c_b_c @ M12 @ Q4 )
              = ( lS_a_b_c @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism
thf(fact_931_language__equivalence__from__isomorphism,axiom,
    ! [F: a > nat,M12: fsm_a_5171288443196988146_c_nat,M23: fsm_na8507942939833465170_c_nat,Q4: a] :
      ( ( bij_betw_a_nat @ F @ ( states3435123301748008055_c_nat @ M12 ) @ ( states1391264133215352439_c_nat @ M23 ) )
     => ( ( ( F @ ( initia587061581274231761_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: a,X: list_P903359562653991662od_b_c,Y: nat,Q8: a] :
              ( ( member_a @ Q3 @ ( states3435123301748008055_c_nat @ M12 ) )
             => ( ( member_a @ Q8 @ ( states3435123301748008055_c_nat @ M12 ) )
               => ( ( member8865540938691003652_nat_a @ ( produc2159433139309999975_nat_a @ Q3 @ ( produc5352094778760718394_nat_a @ X @ ( product_Pair_nat_a @ Y @ Q8 ) ) ) @ ( transi7182660866489798827_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ( member_a @ Q4 @ ( states3435123301748008055_c_nat @ M12 ) )
           => ( ( lS_a_l8828352379401341340_c_nat @ M12 @ Q4 )
              = ( lS_nat3398479149073220114_c_nat @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism
thf(fact_932_language__equivalence__from__isomorphism,axiom,
    ! [F: product_prod_b_c > nat,M12: fsm_Pr8818233010731550984_c_nat,M23: fsm_na8507942939833465170_c_nat,Q4: product_prod_b_c] :
      ( ( bij_be1943335818205691458_c_nat @ F @ ( states2229215650083125133_c_nat @ M12 ) @ ( states1391264133215352439_c_nat @ M23 ) )
     => ( ( ( F @ ( initia8159569244499844327_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: product_prod_b_c,X: list_P903359562653991662od_b_c,Y: nat,Q8: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ Q3 @ ( states2229215650083125133_c_nat @ M12 ) )
             => ( ( member7862447941013992593od_b_c @ Q8 @ ( states2229215650083125133_c_nat @ M12 ) )
               => ( ( member7824782946368861400od_b_c @ ( produc5188412484225467451od_b_c @ Q3 @ ( produc3547070619725137316od_b_c @ X @ ( produc4238952992575422783od_b_c @ Y @ Q8 ) ) ) @ ( transi9101465668568600513_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ( member7862447941013992593od_b_c @ Q4 @ ( states2229215650083125133_c_nat @ M12 ) )
           => ( ( lS_Pro5343607510786273202_c_nat @ M12 @ Q4 )
              = ( lS_nat3398479149073220114_c_nat @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism
thf(fact_933_language__equivalence__from__isomorphism,axiom,
    ! [F: nat > nat,M12: fsm_na8507942939833465170_c_nat,M23: fsm_na8507942939833465170_c_nat,Q4: nat] :
      ( ( bij_betw_nat_nat @ F @ ( states1391264133215352439_c_nat @ M12 ) @ ( states1391264133215352439_c_nat @ M23 ) )
     => ( ( ( F @ ( initia1096823736712553629_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: nat,X: list_P903359562653991662od_b_c,Y: nat,Q8: nat] :
              ( ( member_nat @ Q3 @ ( states1391264133215352439_c_nat @ M12 ) )
             => ( ( member_nat @ Q8 @ ( states1391264133215352439_c_nat @ M12 ) )
               => ( ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q3 @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ Q8 ) ) ) @ ( transi6702335687894639939_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ( member_nat @ Q4 @ ( states1391264133215352439_c_nat @ M12 ) )
           => ( ( lS_nat3398479149073220114_c_nat @ M12 @ Q4 )
              = ( lS_nat3398479149073220114_c_nat @ M23 @ ( F @ Q4 ) ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism
thf(fact_934_language__equivalence__from__isomorphism__helper__reachable,axiom,
    ! [F: a > nat,M12: fsm_a_5171288443196988146_c_nat,M23: fsm_na8507942939833465170_c_nat] :
      ( ( bij_betw_a_nat @ F @ ( reacha4011880786591943036_c_nat @ M12 ) @ ( reacha2289518591307450930_c_nat @ M23 ) )
     => ( ( ( F @ ( initia587061581274231761_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: a,X: list_P903359562653991662od_b_c,Y: nat,Q8: a] :
              ( ( member_a @ Q3 @ ( reacha4011880786591943036_c_nat @ M12 ) )
             => ( ( member_a @ Q8 @ ( reacha4011880786591943036_c_nat @ M12 ) )
               => ( ( member8865540938691003652_nat_a @ ( produc2159433139309999975_nat_a @ Q3 @ ( produc5352094778760718394_nat_a @ X @ ( product_Pair_nat_a @ Y @ Q8 ) ) ) @ ( transi7182660866489798827_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ord_le1407570443398850707_c_nat @ ( lS_a_l8828352379401341340_c_nat @ M12 @ ( initia587061581274231761_c_nat @ M12 ) ) @ ( lS_nat3398479149073220114_c_nat @ M23 @ ( initia1096823736712553629_c_nat @ M23 ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_helper_reachable
thf(fact_935_language__equivalence__from__isomorphism__helper__reachable,axiom,
    ! [F: product_prod_b_c > nat,M12: fsm_Pr8818233010731550984_c_nat,M23: fsm_na8507942939833465170_c_nat] :
      ( ( bij_be1943335818205691458_c_nat @ F @ ( reacha2329473688404070290_c_nat @ M12 ) @ ( reacha2289518591307450930_c_nat @ M23 ) )
     => ( ( ( F @ ( initia8159569244499844327_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: product_prod_b_c,X: list_P903359562653991662od_b_c,Y: nat,Q8: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ Q3 @ ( reacha2329473688404070290_c_nat @ M12 ) )
             => ( ( member7862447941013992593od_b_c @ Q8 @ ( reacha2329473688404070290_c_nat @ M12 ) )
               => ( ( member7824782946368861400od_b_c @ ( produc5188412484225467451od_b_c @ Q3 @ ( produc3547070619725137316od_b_c @ X @ ( produc4238952992575422783od_b_c @ Y @ Q8 ) ) ) @ ( transi9101465668568600513_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ord_le1407570443398850707_c_nat @ ( lS_Pro5343607510786273202_c_nat @ M12 @ ( initia8159569244499844327_c_nat @ M12 ) ) @ ( lS_nat3398479149073220114_c_nat @ M23 @ ( initia1096823736712553629_c_nat @ M23 ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_helper_reachable
thf(fact_936_language__equivalence__from__isomorphism__helper__reachable,axiom,
    ! [F: nat > nat,M12: fsm_na8507942939833465170_c_nat,M23: fsm_na8507942939833465170_c_nat] :
      ( ( bij_betw_nat_nat @ F @ ( reacha2289518591307450930_c_nat @ M12 ) @ ( reacha2289518591307450930_c_nat @ M23 ) )
     => ( ( ( F @ ( initia1096823736712553629_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: nat,X: list_P903359562653991662od_b_c,Y: nat,Q8: nat] :
              ( ( member_nat @ Q3 @ ( reacha2289518591307450930_c_nat @ M12 ) )
             => ( ( member_nat @ Q8 @ ( reacha2289518591307450930_c_nat @ M12 ) )
               => ( ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q3 @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ Q8 ) ) ) @ ( transi6702335687894639939_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ord_le1407570443398850707_c_nat @ ( lS_nat3398479149073220114_c_nat @ M12 @ ( initia1096823736712553629_c_nat @ M12 ) ) @ ( lS_nat3398479149073220114_c_nat @ M23 @ ( initia1096823736712553629_c_nat @ M23 ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_helper_reachable
thf(fact_937_map__entry_Opelims,axiom,
    ! [X2: b,Xa3: c > c,Xb: list_P903359562653991662od_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( ( map_entry_b_c @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( accp_P4462124054252585635od_b_c @ map_entry_rel_b_c @ ( produc7015427828931889894od_b_c @ X2 @ ( produc1101678828523717360od_b_c @ Xa3 @ Xb ) ) )
       => ( ( ( Xb = nil_Product_prod_b_c )
           => ( ( Y2 = nil_Product_prod_b_c )
             => ~ ( accp_P4462124054252585635od_b_c @ map_entry_rel_b_c @ ( produc7015427828931889894od_b_c @ X2 @ ( produc1101678828523717360od_b_c @ Xa3 @ 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 )
                        = X2 )
                     => ( Y2
                        = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ X2 @ ( Xa3 @ ( product_snd_b_c @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_b_c @ P6 )
                       != X2 )
                     => ( Y2
                        = ( cons_P4529483553340347422od_b_c @ P6 @ ( map_entry_b_c @ X2 @ Xa3 @ Ps ) ) ) ) )
                 => ~ ( accp_P4462124054252585635od_b_c @ map_entry_rel_b_c @ ( produc7015427828931889894od_b_c @ X2 @ ( produc1101678828523717360od_b_c @ Xa3 @ ( cons_P4529483553340347422od_b_c @ P6 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_938_map__entry_Opelims,axiom,
    ! [X2: nat,Xa3: nat > nat,Xb: list_P6011104703257516679at_nat,Y2: list_P6011104703257516679at_nat] :
      ( ( ( map_entry_nat_nat @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( accp_P9053349721105380151at_nat @ map_en6292189407319230482at_nat @ ( produc1709345877921393766at_nat @ X2 @ ( produc1236331799044183215at_nat @ Xa3 @ Xb ) ) )
       => ( ( ( Xb = nil_Pr5478986624290739719at_nat )
           => ( ( Y2 = nil_Pr5478986624290739719at_nat )
             => ~ ( accp_P9053349721105380151at_nat @ map_en6292189407319230482at_nat @ ( produc1709345877921393766at_nat @ X2 @ ( produc1236331799044183215at_nat @ Xa3 @ nil_Pr5478986624290739719at_nat ) ) ) ) )
         => ~ ! [P6: product_prod_nat_nat,Ps: list_P6011104703257516679at_nat] :
                ( ( Xb
                  = ( cons_P6512896166579812791at_nat @ P6 @ Ps ) )
               => ( ( ( ( ( product_fst_nat_nat @ P6 )
                        = X2 )
                     => ( Y2
                        = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ X2 @ ( Xa3 @ ( product_snd_nat_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( product_fst_nat_nat @ P6 )
                       != X2 )
                     => ( Y2
                        = ( cons_P6512896166579812791at_nat @ P6 @ ( map_entry_nat_nat @ X2 @ Xa3 @ Ps ) ) ) ) )
                 => ~ ( accp_P9053349721105380151at_nat @ map_en6292189407319230482at_nat @ ( produc1709345877921393766at_nat @ X2 @ ( produc1236331799044183215at_nat @ Xa3 @ ( cons_P6512896166579812791at_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_939_map__entry_Opelims,axiom,
    ! [X2: list_P903359562653991662od_b_c,Xa3: product_prod_nat_nat > product_prod_nat_nat,Xb: list_P3552028079716004544at_nat,Y2: list_P3552028079716004544at_nat] :
      ( ( ( map_en8749968004893045596at_nat @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( accp_P220796505601190436at_nat @ map_en5891098063436132355at_nat @ ( produc8434012991907744359at_nat @ X2 @ ( produc2317266376569507074at_nat @ Xa3 @ Xb ) ) )
       => ( ( ( Xb = nil_Pr4949612815525651264at_nat )
           => ( ( Y2 = nil_Pr4949612815525651264at_nat )
             => ~ ( accp_P220796505601190436at_nat @ map_en5891098063436132355at_nat @ ( produc8434012991907744359at_nat @ X2 @ ( produc2317266376569507074at_nat @ Xa3 @ nil_Pr4949612815525651264at_nat ) ) ) ) )
         => ~ ! [P6: produc7736452900028564794at_nat,Ps: list_P3552028079716004544at_nat] :
                ( ( Xb
                  = ( cons_P7526108220621557488at_nat @ P6 @ Ps ) )
               => ( ( ( ( ( produc6927617529171309206at_nat @ P6 )
                        = X2 )
                     => ( Y2
                        = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ X2 @ ( Xa3 @ ( produc5857867323167669720at_nat @ P6 ) ) ) @ Ps ) ) )
                    & ( ( ( produc6927617529171309206at_nat @ P6 )
                       != X2 )
                     => ( Y2
                        = ( cons_P7526108220621557488at_nat @ P6 @ ( map_en8749968004893045596at_nat @ X2 @ Xa3 @ Ps ) ) ) ) )
                 => ~ ( accp_P220796505601190436at_nat @ map_en5891098063436132355at_nat @ ( produc8434012991907744359at_nat @ X2 @ ( produc2317266376569507074at_nat @ Xa3 @ ( cons_P7526108220621557488at_nat @ P6 @ Ps ) ) ) ) ) ) ) ) ) ).

% map_entry.pelims
thf(fact_940_reachable__state__is__state,axiom,
    ! [Q4: a,M2: fsm_a_b_c] :
      ( ( member_a @ Q4 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
     => ( member_a @ Q4 @ ( states_a_b_c @ M2 ) ) ) ).

% reachable_state_is_state
thf(fact_941_path__target__is__state,axiom,
    ! [M2: fsm_a_b_c,Q4: a,P4: list_P6327159017948738492od_c_a] :
      ( ( path_a_b_c @ M2 @ Q4 @ P4 )
     => ( member_a @ ( target_a_b_c @ Q4 @ P4 ) @ ( states_a_b_c @ M2 ) ) ) ).

% path_target_is_state
thf(fact_942_after__reachable,axiom,
    ! [M2: fsm_a_b_c,Io2: list_P903359562653991662od_b_c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ Q4 ) )
       => ( ( member_a @ Q4 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
         => ( member_a @ ( after_a_b_c @ M2 @ Q4 @ Io2 ) @ ( reacha1620305530751930115_a_b_c @ M2 ) ) ) ) ) ).

% after_reachable
thf(fact_943_after__reachable__initial,axiom,
    ! [M2: fsm_a_b_c,Io2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
       => ( member_a @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Io2 ) @ ( reacha1620305530751930115_a_b_c @ M2 ) ) ) ) ).

% after_reachable_initial
thf(fact_944_language__equivalence__from__isomorphism__reachable,axiom,
    ! [F: a > nat,M12: fsm_a_5171288443196988146_c_nat,M23: fsm_na8507942939833465170_c_nat] :
      ( ( bij_betw_a_nat @ F @ ( reacha4011880786591943036_c_nat @ M12 ) @ ( reacha2289518591307450930_c_nat @ M23 ) )
     => ( ( ( F @ ( initia587061581274231761_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: a,X: list_P903359562653991662od_b_c,Y: nat,Q8: a] :
              ( ( member_a @ Q3 @ ( reacha4011880786591943036_c_nat @ M12 ) )
             => ( ( member_a @ Q8 @ ( reacha4011880786591943036_c_nat @ M12 ) )
               => ( ( member8865540938691003652_nat_a @ ( produc2159433139309999975_nat_a @ Q3 @ ( produc5352094778760718394_nat_a @ X @ ( product_Pair_nat_a @ Y @ Q8 ) ) ) @ ( transi7182660866489798827_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ( lS_a_l8828352379401341340_c_nat @ M12 @ ( initia587061581274231761_c_nat @ M12 ) )
            = ( lS_nat3398479149073220114_c_nat @ M23 @ ( initia1096823736712553629_c_nat @ M23 ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_reachable
thf(fact_945_language__equivalence__from__isomorphism__reachable,axiom,
    ! [F: product_prod_b_c > nat,M12: fsm_Pr8818233010731550984_c_nat,M23: fsm_na8507942939833465170_c_nat] :
      ( ( bij_be1943335818205691458_c_nat @ F @ ( reacha2329473688404070290_c_nat @ M12 ) @ ( reacha2289518591307450930_c_nat @ M23 ) )
     => ( ( ( F @ ( initia8159569244499844327_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: product_prod_b_c,X: list_P903359562653991662od_b_c,Y: nat,Q8: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ Q3 @ ( reacha2329473688404070290_c_nat @ M12 ) )
             => ( ( member7862447941013992593od_b_c @ Q8 @ ( reacha2329473688404070290_c_nat @ M12 ) )
               => ( ( member7824782946368861400od_b_c @ ( produc5188412484225467451od_b_c @ Q3 @ ( produc3547070619725137316od_b_c @ X @ ( produc4238952992575422783od_b_c @ Y @ Q8 ) ) ) @ ( transi9101465668568600513_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ( lS_Pro5343607510786273202_c_nat @ M12 @ ( initia8159569244499844327_c_nat @ M12 ) )
            = ( lS_nat3398479149073220114_c_nat @ M23 @ ( initia1096823736712553629_c_nat @ M23 ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_reachable
thf(fact_946_language__equivalence__from__isomorphism__reachable,axiom,
    ! [F: nat > nat,M12: fsm_na8507942939833465170_c_nat,M23: fsm_na8507942939833465170_c_nat] :
      ( ( bij_betw_nat_nat @ F @ ( reacha2289518591307450930_c_nat @ M12 ) @ ( reacha2289518591307450930_c_nat @ M23 ) )
     => ( ( ( F @ ( initia1096823736712553629_c_nat @ M12 ) )
          = ( initia1096823736712553629_c_nat @ M23 ) )
       => ( ! [Q3: nat,X: list_P903359562653991662od_b_c,Y: nat,Q8: nat] :
              ( ( member_nat @ Q3 @ ( reacha2289518591307450930_c_nat @ M12 ) )
             => ( ( member_nat @ Q8 @ ( reacha2289518591307450930_c_nat @ M12 ) )
               => ( ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q3 @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ Q8 ) ) ) @ ( transi6702335687894639939_c_nat @ M12 ) )
                  = ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ ( F @ Q3 ) @ ( produc3197953233266746538at_nat @ X @ ( product_Pair_nat_nat @ Y @ ( F @ Q8 ) ) ) ) @ ( transi6702335687894639939_c_nat @ M23 ) ) ) ) )
         => ( ( lS_nat3398479149073220114_c_nat @ M12 @ ( initia1096823736712553629_c_nat @ M12 ) )
            = ( lS_nat3398479149073220114_c_nat @ M23 @ ( initia1096823736712553629_c_nat @ M23 ) ) ) ) ) ) ).

% language_equivalence_from_isomorphism_reachable
thf(fact_947_acyclic__no__self__loop,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,Q4: nat] :
      ( ( acycli6170610019825052935_c_nat @ M2 )
     => ( ( member_nat @ Q4 @ ( reacha2289518591307450930_c_nat @ M2 ) )
       => ~ ? [X6: list_P903359562653991662od_b_c,Y6: nat] : ( member8141203938919614070at_nat @ ( produc1267817526181175825at_nat @ Q4 @ ( produc3197953233266746538at_nat @ X6 @ ( product_Pair_nat_nat @ Y6 @ Q4 ) ) ) @ ( transi6702335687894639939_c_nat @ M2 ) ) ) ) ).

% acyclic_no_self_loop
thf(fact_948_SuccI,axiom,
    ! [Kl: list_a,K: a,Kl2: set_list_a] :
      ( ( member_list_a @ ( append_a @ Kl @ ( cons_a @ K @ nil_a ) ) @ Kl2 )
     => ( member_a @ K @ ( bNF_Greatest_Succ_a @ Kl2 @ Kl ) ) ) ).

% SuccI
thf(fact_949_SuccI,axiom,
    ! [Kl: list_P903359562653991662od_b_c,K: product_prod_b_c,Kl2: set_li6436108459499378894od_b_c] :
      ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Kl @ ( cons_P4529483553340347422od_b_c @ K @ nil_Product_prod_b_c ) ) @ Kl2 )
     => ( member7862447941013992593od_b_c @ K @ ( bNF_Gr8135241567188112771od_b_c @ Kl2 @ Kl ) ) ) ).

% SuccI
thf(fact_950_SuccD,axiom,
    ! [K: a,Kl2: set_list_a,Kl: list_a] :
      ( ( member_a @ K @ ( bNF_Greatest_Succ_a @ Kl2 @ Kl ) )
     => ( member_list_a @ ( append_a @ Kl @ ( cons_a @ K @ nil_a ) ) @ Kl2 ) ) ).

% SuccD
thf(fact_951_SuccD,axiom,
    ! [K: product_prod_b_c,Kl2: set_li6436108459499378894od_b_c,Kl: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ K @ ( bNF_Gr8135241567188112771od_b_c @ Kl2 @ Kl ) )
     => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Kl @ ( cons_P4529483553340347422od_b_c @ K @ nil_Product_prod_b_c ) ) @ Kl2 ) ) ).

% SuccD
thf(fact_952_Succ__Shift,axiom,
    ! [Kl2: set_li6436108459499378894od_b_c,K: product_prod_b_c,Kl: list_P903359562653991662od_b_c] :
      ( ( bNF_Gr8135241567188112771od_b_c @ ( bNF_Gr3217147008067810311od_b_c @ Kl2 @ K ) @ Kl )
      = ( bNF_Gr8135241567188112771od_b_c @ Kl2 @ ( cons_P4529483553340347422od_b_c @ K @ Kl ) ) ) ).

% Succ_Shift
thf(fact_953_bind__simps_I2_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,F: product_prod_b_c > list_P903359562653991662od_b_c] :
      ( ( bind_P6820369299258290311od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ F )
      = ( append2547753245680614915od_b_c @ ( F @ X2 ) @ ( bind_P6820369299258290311od_b_c @ Xs @ F ) ) ) ).

% bind_simps(2)
thf(fact_954_bind__simps_I1_J,axiom,
    ! [F: product_prod_b_c > list_P903359562653991662od_b_c] :
      ( ( bind_P6820369299258290311od_b_c @ nil_Product_prod_b_c @ F )
      = nil_Product_prod_b_c ) ).

% bind_simps(1)
thf(fact_955_ShiftD,axiom,
    ! [Kl: list_P903359562653991662od_b_c,Kl2: set_li6436108459499378894od_b_c,K: product_prod_b_c] :
      ( ( member6330420149250801815od_b_c @ Kl @ ( bNF_Gr3217147008067810311od_b_c @ Kl2 @ K ) )
     => ( member6330420149250801815od_b_c @ ( cons_P4529483553340347422od_b_c @ K @ Kl ) @ Kl2 ) ) ).

% ShiftD
thf(fact_956_state__cover__transition__converges,axiom,
    ! [M2: fsm_Pr8946560376811747725_c_b_c,V3: product_prod_b_c > list_P903359562653991662od_b_c,T4: produc5203083735093303734od_b_c] :
      ( ( observ2355048066641855153_c_b_c @ M2 )
     => ( ( state_6639374281360973625_c_b_c @ M2 @ V3 )
       => ( ( member8506456009372400607od_b_c @ T4 @ ( transi2332305075331890302_c_b_c @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ ( produc3166087477384273426od_b_c @ T4 ) @ ( reacha4426148913841199469_c_b_c @ M2 ) )
           => ( conver960278975083682628_c_b_c @ M2 @ ( append2547753245680614915od_b_c @ ( V3 @ ( produc3166087477384273426od_b_c @ T4 ) ) @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ ( produc312903007301683283od_b_c @ ( produc8861379877570270548od_b_c @ T4 ) ) @ ( produc2449964364993903083od_b_c @ ( produc4175089762366579605od_b_c @ ( produc8861379877570270548od_b_c @ T4 ) ) ) ) @ nil_Product_prod_b_c ) ) @ ( V3 @ ( produc7369461614407903021od_b_c @ ( produc4175089762366579605od_b_c @ ( produc8861379877570270548od_b_c @ T4 ) ) ) ) ) ) ) ) ) ).

% state_cover_transition_converges
thf(fact_957_state__cover__transition__converges,axiom,
    ! [M2: fsm_a_b_c,V3: a > list_P903359562653991662od_b_c,T4: produc2669932201312201782od_c_a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( state_7672330573471793359_a_b_c @ M2 @ V3 )
       => ( ( member5502040268208861279od_c_a @ T4 @ ( transitions_a_b_c @ M2 ) )
         => ( ( member_a @ ( produc4225943634317630866od_c_a @ T4 ) @ ( reacha1620305530751930115_a_b_c @ M2 ) )
           => ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ ( V3 @ ( produc4225943634317630866od_c_a @ T4 ) ) @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ ( produc301949074746585577od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) @ ( product_fst_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) ) @ nil_Product_prod_b_c ) ) @ ( V3 @ ( product_snd_c_a @ ( produc5221446324160585515od_c_a @ ( produc8088130389382527188od_c_a @ T4 ) ) ) ) ) ) ) ) ) ).

% state_cover_transition_converges
thf(fact_958_state__cover__transition__converges,axiom,
    ! [M2: fsm_a_4604537545892270069at_nat,V3: a > list_P3552028079716004544at_nat,T4: produc5171416974914315462_nat_a] :
      ( ( observ2018583120679614873at_nat @ M2 )
     => ( ( state_7882959082201370145at_nat @ M2 @ V3 )
       => ( ( member7402809339548712687_nat_a @ T4 @ ( transi6200356103467071078at_nat @ M2 ) )
         => ( ( member_a @ ( produc64678959867521058_nat_a @ T4 ) @ ( reacha3919535797373834325at_nat @ M2 ) )
           => ( conver1259893425882509100at_nat @ M2 @ ( append2832415944887039701at_nat @ ( V3 @ ( produc64678959867521058_nat_a @ T4 ) ) @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ ( produc7577271768370459129_nat_a @ ( produc7511161323643588452_nat_a @ T4 ) ) @ ( produc8624833686855449536_nat_a @ ( produc847048292851985211_nat_a @ ( produc7511161323643588452_nat_a @ T4 ) ) ) ) @ nil_Pr4949612815525651264at_nat ) ) @ ( V3 @ ( produc3884337997826073090_nat_a @ ( produc847048292851985211_nat_a @ ( produc7511161323643588452_nat_a @ T4 ) ) ) ) ) ) ) ) ) ).

% state_cover_transition_converges
thf(fact_959_state__cover__transition__converges,axiom,
    ! [M2: fsm_Pr6890445380455706207at_nat,V3: product_prod_b_c > list_P3552028079716004544at_nat,T4: produc3683905536577685062od_b_c] :
      ( ( observ1623514629241216003at_nat @ M2 )
     => ( ( state_917392132266584203at_nat @ M2 @ V3 )
       => ( ( member7537141079249976943od_b_c @ T4 @ ( transi7778654752609567696at_nat @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ ( produc7888381068575349922od_b_c @ T4 ) @ ( reacha5590776333862722239at_nat @ M2 ) )
           => ( conver973345680224355990at_nat @ M2 @ ( append2832415944887039701at_nat @ ( V3 @ ( produc7888381068575349922od_b_c @ T4 ) ) @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ ( produc8862360536749029475od_b_c @ ( produc3206243294502445028od_b_c @ T4 ) ) @ ( produc2937411793196274986od_b_c @ ( produc7085470863670321061od_b_c @ ( produc3206243294502445028od_b_c @ T4 ) ) ) ) @ nil_Pr4949612815525651264at_nat ) ) @ ( V3 @ ( produc3519330270212417900od_b_c @ ( produc7085470863670321061od_b_c @ ( produc3206243294502445028od_b_c @ T4 ) ) ) ) ) ) ) ) ) ).

% state_cover_transition_converges
thf(fact_960_state__cover__transition__converges,axiom,
    ! [M2: fsm_a_nat_nat,V3: a > list_P6011104703257516679at_nat,T4: produc5553150636051250045_nat_a] :
      ( ( observable_a_nat_nat @ M2 )
     => ( ( state_5027387486374979888at_nat @ M2 @ V3 )
       => ( ( member683619483927126054_nat_a @ T4 @ ( transi2049965133351801333at_nat @ M2 ) )
         => ( ( member_a @ ( produc1324566900800903129_nat_a @ T4 ) @ ( reacha579679483465302372at_nat @ M2 ) )
           => ( converge_a_nat_nat @ M2 @ ( append985823374593552924at_nat @ ( V3 @ ( produc1324566900800903129_nat_a @ T4 ) ) @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ ( produc2075135355190196472_nat_a @ ( produc1906485377817046043_nat_a @ T4 ) ) @ ( product_fst_nat_a @ ( produc6558011703015595834_nat_a @ ( produc1906485377817046043_nat_a @ T4 ) ) ) ) @ nil_Pr5478986624290739719at_nat ) ) @ ( V3 @ ( product_snd_nat_a @ ( produc6558011703015595834_nat_a @ ( produc1906485377817046043_nat_a @ T4 ) ) ) ) ) ) ) ) ) ).

% state_cover_transition_converges
thf(fact_961_state__cover__transition__converges,axiom,
    ! [M2: fsm_Pr3844284524609415846at_nat,V3: product_prod_b_c > list_P6011104703257516679at_nat,T4: produc7430354563094994173od_b_c] :
      ( ( observ5955862685780505618at_nat @ M2 )
     => ( ( state_4422174931607827610at_nat @ M2 @ V3 )
       => ( ( member6361794941339180966od_b_c @ T4 @ ( transi1658547993851727967at_nat @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ ( produc1163266597333421145od_b_c @ T4 ) @ ( reacha5589741892265638094at_nat @ M2 ) )
           => ( conver3465954697284852261at_nat @ M2 @ ( append985823374593552924at_nat @ ( V3 @ ( produc1163266597333421145od_b_c @ T4 ) ) @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ ( produc5902114676022536290od_b_c @ ( produc3726537413256690843od_b_c @ T4 ) ) @ ( produc3139729886782661715od_b_c @ ( produc6484033153038679204od_b_c @ ( produc3726537413256690843od_b_c @ T4 ) ) ) ) @ nil_Pr5478986624290739719at_nat ) ) @ ( V3 @ ( produc3692712045789383313od_b_c @ ( produc6484033153038679204od_b_c @ ( produc3726537413256690843od_b_c @ T4 ) ) ) ) ) ) ) ) ) ).

% state_cover_transition_converges
thf(fact_962_state__cover__transition__converges,axiom,
    ! [M2: fsm_na8507942939833465170_c_nat,V3: nat > list_P5698226596436487165_c_nat,T4: produc1672623652726061535at_nat] :
      ( ( observ4908692499119641462_c_nat @ M2 )
     => ( ( state_4424925123676762110_c_nat @ M2 @ V3 )
       => ( ( member8141203938919614070at_nat @ T4 @ ( transi6702335687894639939_c_nat @ M2 ) )
         => ( ( member_nat @ ( produc573278823996734757at_nat @ T4 ) @ ( reacha2289518591307450930_c_nat @ M2 ) )
           => ( conver5466876295256871945_c_nat @ M2 @ ( append91169638789909522_c_nat @ ( V3 @ ( produc573278823996734757at_nat @ T4 ) ) @ ( cons_P6914938610007962039_c_nat @ ( produc1142203413938751335_c_nat @ ( produc6927617529171309206at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) @ ( product_fst_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) @ nil_Pr8683500363154653543_c_nat ) ) @ ( V3 @ ( product_snd_nat_nat @ ( produc5857867323167669720at_nat @ ( produc6953295816740951907at_nat @ T4 ) ) ) ) ) ) ) ) ) ).

% state_cover_transition_converges
thf(fact_963_converge__append__iff,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Beta2: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c,Omega: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( converge_a_b_c @ M2 @ Alpha2 @ Beta2 )
       => ( ( converge_a_b_c @ M2 @ Gamma @ ( append2547753245680614915od_b_c @ Alpha2 @ Omega ) )
          = ( converge_a_b_c @ M2 @ Gamma @ ( append2547753245680614915od_b_c @ Beta2 @ Omega ) ) ) ) ) ).

% converge_append_iff
thf(fact_964_state__cover__assignment__diverges,axiom,
    ! [M2: fsm_a_b_c,F: a > list_P903359562653991662od_b_c,Q1: a,Q2: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( state_7672330573471793359_a_b_c @ M2 @ F )
         => ( ( member_a @ Q1 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
           => ( ( member_a @ Q2 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
             => ( ( Q1 != Q2 )
               => ~ ( converge_a_b_c @ M2 @ ( F @ Q1 ) @ ( F @ Q2 ) ) ) ) ) ) ) ) ).

% state_cover_assignment_diverges
thf(fact_965_converge__trans__2_I1_J,axiom,
    ! [M2: fsm_a_b_c,U: list_P903359562653991662od_b_c,V: list_P903359562653991662od_b_c,W1: list_P903359562653991662od_b_c,W2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( converge_a_b_c @ M2 @ U @ V )
         => ( ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ U @ W1 ) @ ( append2547753245680614915od_b_c @ U @ W2 ) )
            = ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ V @ W1 ) @ ( append2547753245680614915od_b_c @ V @ W2 ) ) ) ) ) ) ).

% converge_trans_2(1)
thf(fact_966_converge__trans__2_I2_J,axiom,
    ! [M2: fsm_a_b_c,U: list_P903359562653991662od_b_c,V: list_P903359562653991662od_b_c,W1: list_P903359562653991662od_b_c,W2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( converge_a_b_c @ M2 @ U @ V )
         => ( ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ U @ W1 ) @ ( append2547753245680614915od_b_c @ U @ W2 ) )
            = ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ U @ W1 ) @ ( append2547753245680614915od_b_c @ V @ W2 ) ) ) ) ) ) ).

% converge_trans_2(2)
thf(fact_967_converge__trans__2_I3_J,axiom,
    ! [M2: fsm_a_b_c,U: list_P903359562653991662od_b_c,V: list_P903359562653991662od_b_c,W1: list_P903359562653991662od_b_c,W2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( converge_a_b_c @ M2 @ U @ V )
         => ( ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ U @ W1 ) @ ( append2547753245680614915od_b_c @ U @ W2 ) )
            = ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ V @ W1 ) @ ( append2547753245680614915od_b_c @ U @ W2 ) ) ) ) ) ) ).

% converge_trans_2(3)
thf(fact_968_find__remove__2__None__iff,axiom,
    ! [P3: a > a > $o,Xs: list_a,Ys: list_a] :
      ( ( ( find_remove_2_a_a @ P3 @ Xs @ Ys )
        = none_P7310308508618416183list_a )
      = ( ~ ? [X4: a,Y3: a] :
              ( ( member_a @ X4 @ ( set_a2 @ Xs ) )
              & ( member_a @ Y3 @ ( set_a2 @ Ys ) )
              & ( P3 @ X4 @ Y3 ) ) ) ) ).

% find_remove_2_None_iff
thf(fact_969_find__remove__2__None__iff,axiom,
    ! [P3: a > product_prod_b_c > $o,Xs: list_a,Ys: list_P903359562653991662od_b_c] :
      ( ( ( find_r809046651300966129od_b_c @ P3 @ Xs @ Ys )
        = none_P7740950825577307469list_a )
      = ( ~ ? [X4: a,Y3: product_prod_b_c] :
              ( ( member_a @ X4 @ ( set_a2 @ Xs ) )
              & ( member7862447941013992593od_b_c @ Y3 @ ( set_Product_prod_b_c2 @ Ys ) )
              & ( P3 @ X4 @ Y3 ) ) ) ) ).

% find_remove_2_None_iff
thf(fact_970_find__remove__2__None__iff,axiom,
    ! [P3: product_prod_b_c > a > $o,Xs: list_P903359562653991662od_b_c,Ys: list_a] :
      ( ( ( find_r3958742308954804125_b_c_a @ P3 @ Xs @ Ys )
        = none_P3250744521719733943od_b_c )
      = ( ~ ? [X4: product_prod_b_c,Y3: a] :
              ( ( member7862447941013992593od_b_c @ X4 @ ( set_Product_prod_b_c2 @ Xs ) )
              & ( member_a @ Y3 @ ( set_a2 @ Ys ) )
              & ( P3 @ X4 @ Y3 ) ) ) ) ).

% find_remove_2_None_iff
thf(fact_971_find__remove__2__None__iff,axiom,
    ! [P3: product_prod_b_c > product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( ( find_r4529371622355829767od_b_c @ P3 @ Xs @ Ys )
        = none_P3943699275752460237od_b_c )
      = ( ~ ? [X4: product_prod_b_c,Y3: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ X4 @ ( set_Product_prod_b_c2 @ Xs ) )
              & ( member7862447941013992593od_b_c @ Y3 @ ( set_Product_prod_b_c2 @ Ys ) )
              & ( P3 @ X4 @ Y3 ) ) ) ) ).

% find_remove_2_None_iff
thf(fact_972_converge__append__language__iff,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Beta2: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( converge_a_b_c @ M2 @ Alpha2 @ Beta2 )
       => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
          = ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Beta2 @ Gamma ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) ) ) ) ) ).

% converge_append_language_iff
thf(fact_973_converge__extend,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Beta2: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( converge_a_b_c @ M2 @ Alpha2 @ Beta2 )
       => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
         => ( ( member6330420149250801815od_b_c @ Beta2 @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
           => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Beta2 @ Gamma ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) ) ) ) ) ) ).

% converge_extend
thf(fact_974_converge__append,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Beta2: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( converge_a_b_c @ M2 @ Alpha2 @ Beta2 )
       => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
         => ( ( member6330420149250801815od_b_c @ Beta2 @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
           => ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( append2547753245680614915od_b_c @ Beta2 @ Gamma ) ) ) ) ) ) ).

% converge_append
thf(fact_975_diverge__prefix,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c,Beta2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Beta2 @ Gamma ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
         => ( ~ ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ Alpha2 @ Gamma ) @ ( append2547753245680614915od_b_c @ Beta2 @ Gamma ) )
           => ~ ( converge_a_b_c @ M2 @ Alpha2 @ Beta2 ) ) ) ) ) ).

% diverge_prefix
thf(fact_976_convergence__minimal,axiom,
    ! [M2: fsm_a_b_c,Alpha2: list_P903359562653991662od_b_c,Beta2: list_P903359562653991662od_b_c] :
      ( ( minimal_a_b_c @ M2 )
     => ( ( observable_a_b_c @ M2 )
       => ( ( member6330420149250801815od_b_c @ Alpha2 @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
         => ( ( member6330420149250801815od_b_c @ Beta2 @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
           => ( ( converge_a_b_c @ M2 @ Alpha2 @ Beta2 )
              = ( ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Alpha2 )
                = ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ Beta2 ) ) ) ) ) ) ) ).

% convergence_minimal
thf(fact_977_distinguishes__diverge__prefix,axiom,
    ! [M2: fsm_a_b_c,U: list_P903359562653991662od_b_c,V: list_P903359562653991662od_b_c,W3: list_P903359562653991662od_b_c,W4: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( distinguishes_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ U ) @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ V ) @ W3 )
       => ( ( member6330420149250801815od_b_c @ U @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
         => ( ( member6330420149250801815od_b_c @ V @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
           => ( ( member6330420149250801815od_b_c @ W4 @ ( set_li4480668622519654659od_b_c @ ( prefix1131979855692807669od_b_c @ W3 ) ) )
             => ( ( member6330420149250801815od_b_c @ W4 @ ( lS_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ U ) ) )
               => ( ( member6330420149250801815od_b_c @ W4 @ ( lS_a_b_c @ M2 @ ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ V ) ) )
                 => ~ ( converge_a_b_c @ M2 @ ( append2547753245680614915od_b_c @ U @ W4 ) @ ( append2547753245680614915od_b_c @ V @ W4 ) ) ) ) ) ) ) ) ) ).

% distinguishes_diverge_prefix
thf(fact_978_is__state__cover__assignment__observable__after,axiom,
    ! [M2: fsm_a_b_c,V3: a > list_P903359562653991662od_b_c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( state_7672330573471793359_a_b_c @ M2 @ V3 )
       => ( ( member_a @ Q4 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
         => ( ( after_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) @ ( V3 @ Q4 ) )
            = Q4 ) ) ) ) ).

% is_state_cover_assignment_observable_after
thf(fact_979_state__cover__assignment__after_I1_J,axiom,
    ! [M2: fsm_a_b_c,V3: a > list_P903359562653991662od_b_c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( state_7672330573471793359_a_b_c @ M2 @ V3 )
       => ( ( member_a @ Q4 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
         => ( member6330420149250801815od_b_c @ ( V3 @ Q4 ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) ) ) ) ) ).

% state_cover_assignment_after(1)
thf(fact_980_get__pairs__H__set_I2_J,axiom,
    ! [M2: fsm_Pr1214345408167043238at_b_c,V3: product_prod_nat_nat > list_P903359562653991662od_b_c,Alpha2: list_P903359562653991662od_b_c,Q5: product_prod_nat_nat,Beta2: list_P903359562653991662od_b_c,Q10: product_prod_nat_nat,M3: nat] :
      ( ( observ3635879396514621642at_b_c @ M2 )
     => ( ( state_2102191642341943634at_b_c @ M2 @ V3 )
       => ( ( member6262659814537336144at_nat @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha2 @ Q5 ) @ ( produc3197953233266746538at_nat @ Beta2 @ Q10 ) ) @ ( set_Pr4035061249888635836at_nat @ ( interm4007767201833479544at_b_c @ V3 @ M2 @ M3 ) ) )
         => ( ( member6330420149250801815od_b_c @ Alpha2 @ ( lS_Pro6631750835225597286at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) ) )
            & ( member6330420149250801815od_b_c @ Beta2 @ ( lS_Pro6631750835225597286at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) ) )
            & ( ( after_3796124412128908377at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) @ Alpha2 )
             != ( after_3796124412128908377at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) @ Beta2 ) )
            & ( Q5
              = ( after_3796124412128908377at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) @ Alpha2 ) )
            & ( Q10
              = ( after_3796124412128908377at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) @ Beta2 ) ) ) ) ) ) ).

% get_pairs_H_set(2)
thf(fact_981_state__cover__assignment__inj,axiom,
    ! [M2: fsm_a_b_c,V3: a > list_P903359562653991662od_b_c,Q1: a,Q2: a] :
      ( ( state_7672330573471793359_a_b_c @ M2 @ V3 )
     => ( ( observable_a_b_c @ M2 )
       => ( ( member_a @ Q1 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
         => ( ( member_a @ Q2 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( ( V3 @ Q1 )
               != ( V3 @ Q2 ) ) ) ) ) ) ) ).

% state_cover_assignment_inj
thf(fact_982_distinguish__converge__diverge,axiom,
    ! [M12: fsm_a_b_c,M23: fsm_a_b_c,U2: list_P903359562653991662od_b_c,V4: list_P903359562653991662od_b_c,U: list_P903359562653991662od_b_c,V: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c,T6: set_li6436108459499378894od_b_c] :
      ( ( observable_a_b_c @ M12 )
     => ( ( observable_a_b_c @ M23 )
       => ( ( minimal_a_b_c @ M12 )
         => ( ( member6330420149250801815od_b_c @ U2 @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) )
           => ( ( member6330420149250801815od_b_c @ V4 @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) )
             => ( ( converge_a_b_c @ M12 @ U @ U2 )
               => ( ( converge_a_b_c @ M12 @ V @ V4 )
                 => ( ( converge_a_b_c @ M23 @ U @ U2 )
                   => ( ( converge_a_b_c @ M23 @ V @ V4 )
                     => ( ( distinguishes_a_b_c @ M12 @ ( after_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) @ U ) @ ( after_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) @ V ) @ Gamma )
                       => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ U2 @ Gamma ) @ T6 )
                         => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ V4 @ Gamma ) @ T6 )
                           => ( ( ( inf_in4978071631833541052od_b_c @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) @ T6 )
                                = ( inf_in4978071631833541052od_b_c @ ( lS_a_b_c @ M23 @ ( initial_a_b_c @ M23 ) ) @ T6 ) )
                             => ~ ( converge_a_b_c @ M23 @ U @ V ) ) ) ) ) ) ) ) ) ) ) ) ) ) ).

% distinguish_converge_diverge
thf(fact_983_distinguish__diverge,axiom,
    ! [M12: fsm_a_b_c,M23: fsm_a_b_c,U: list_P903359562653991662od_b_c,V: list_P903359562653991662od_b_c,Gamma: list_P903359562653991662od_b_c,T6: set_li6436108459499378894od_b_c] :
      ( ( observable_a_b_c @ M12 )
     => ( ( observable_a_b_c @ M23 )
       => ( ( distinguishes_a_b_c @ M12 @ ( after_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) @ U ) @ ( after_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) @ V ) @ Gamma )
         => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ U @ Gamma ) @ T6 )
           => ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ V @ Gamma ) @ T6 )
             => ( ( member6330420149250801815od_b_c @ U @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) )
               => ( ( member6330420149250801815od_b_c @ V @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) )
                 => ( ( ( inf_in4978071631833541052od_b_c @ ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) ) @ T6 )
                      = ( inf_in4978071631833541052od_b_c @ ( lS_a_b_c @ M23 @ ( initial_a_b_c @ M23 ) ) @ T6 ) )
                   => ~ ( converge_a_b_c @ M23 @ U @ V ) ) ) ) ) ) ) ) ) ).

% distinguish_diverge
thf(fact_984_maximal__prefix__in__language__properties_I2_J,axiom,
    ! [M2: fsm_a_b_c,Q4: a,Io2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
       => ( member6330420149250801815od_b_c @ ( maxima1559550560783484624_a_b_c @ M2 @ Q4 @ Io2 ) @ ( set_li4480668622519654659od_b_c @ ( prefix1131979855692807669od_b_c @ Io2 ) ) ) ) ) ).

% maximal_prefix_in_language_properties(2)
thf(fact_985_inter__eq__subsetI,axiom,
    ! [S: set_Product_prod_b_c,S5: set_Product_prod_b_c,A4: set_Product_prod_b_c,B5: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ S @ S5 )
     => ( ( ( inf_in8411426679332095414od_b_c @ A4 @ S5 )
          = ( inf_in8411426679332095414od_b_c @ B5 @ S5 ) )
       => ( ( inf_in8411426679332095414od_b_c @ A4 @ S )
          = ( inf_in8411426679332095414od_b_c @ B5 @ S ) ) ) ) ).

% inter_eq_subsetI
thf(fact_986_maximal__prefix__in__language__properties_I1_J,axiom,
    ! [M2: fsm_a_b_c,Q4: a,Io2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member_a @ Q4 @ ( states_a_b_c @ M2 ) )
       => ( member6330420149250801815od_b_c @ ( maxima1559550560783484624_a_b_c @ M2 @ Q4 @ Io2 ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ).

% maximal_prefix_in_language_properties(1)
thf(fact_987_get__distinguishing__sequence__from__ofsm__tables__is__distinguishing__trace_I2_J,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Q2: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
         => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
           => ( ( Q1 != Q2 )
             => ~ ( member6330420149250801815od_b_c @ ( get_di2280862616223094331_a_b_c @ M2 @ Q1 @ Q2 ) @ ( inf_in4978071631833541052od_b_c @ ( lS_a_b_c @ M2 @ Q1 ) @ ( lS_a_b_c @ M2 @ Q2 ) ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_is_distinguishing_trace(2)
thf(fact_988_non__initialized__state__cover__assignment__diverges,axiom,
    ! [M2: fsm_a_b_c,F: a > list_P903359562653991662od_b_c,SC: set_li6436108459499378894od_b_c,Q1: a,Q2: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ! [Q3: a] :
              ( ( member_a @ Q3 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
             => ( member_a @ Q3 @ ( io_targets_a_b_c @ M2 @ ( F @ Q3 ) @ ( initial_a_b_c @ M2 ) ) ) )
         => ( ! [Q3: a] :
                ( ( member_a @ Q3 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
               => ( member6330420149250801815od_b_c @ ( F @ Q3 ) @ ( inf_in4978071631833541052od_b_c @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) @ SC ) ) )
           => ( ( member_a @ Q1 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
             => ( ( member_a @ Q2 @ ( reacha1620305530751930115_a_b_c @ M2 ) )
               => ( ( Q1 != Q2 )
                 => ~ ( converge_a_b_c @ M2 @ ( F @ Q1 ) @ ( F @ Q2 ) ) ) ) ) ) ) ) ) ).

% non_initialized_state_cover_assignment_diverges
thf(fact_989_minimal__failure__prefix__ob,axiom,
    ! [M2: fsm_Pr8946560376811747725_c_b_c,I4: fsm_Pr8946560376811747725_c_b_c,QM: product_prod_b_c,QI: product_prod_b_c,Io2: list_P903359562653991662od_b_c] :
      ( ( observ2355048066641855153_c_b_c @ M2 )
     => ( ( observ2355048066641855153_c_b_c @ I4 )
       => ( ( member7862447941013992593od_b_c @ QM @ ( states8981316748681014706_c_b_c @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ QI @ ( states8981316748681014706_c_b_c @ I4 ) )
           => ( ( member6330420149250801815od_b_c @ Io2 @ ( minus_5375846548645262261od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ I4 @ QI ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ QM ) ) )
             => ~ ! [Io3: list_P903359562653991662od_b_c,Xy: product_prod_b_c] :
                    ( ? [Io4: list_P903359562653991662od_b_c] :
                        ( Io2
                        = ( append2547753245680614915od_b_c @ Io3 @ ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ Xy @ nil_Product_prod_b_c ) @ Io4 ) ) )
                   => ( ( member6330420149250801815od_b_c @ Io3 @ ( inf_in4978071631833541052od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ I4 @ QI ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ QM ) ) )
                     => ~ ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io3 @ ( cons_P4529483553340347422od_b_c @ Xy @ nil_Product_prod_b_c ) ) @ ( minus_5375846548645262261od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ I4 @ QI ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ QM ) ) ) ) ) ) ) ) ) ) ).

% minimal_failure_prefix_ob
thf(fact_990_minimal__failure__prefix__ob,axiom,
    ! [M2: fsm_Pr8946560376811747725_c_b_c,I4: fsm_a_b_c,QM: product_prod_b_c,QI: a,Io2: list_P903359562653991662od_b_c] :
      ( ( observ2355048066641855153_c_b_c @ M2 )
     => ( ( observable_a_b_c @ I4 )
       => ( ( member7862447941013992593od_b_c @ QM @ ( states8981316748681014706_c_b_c @ M2 ) )
         => ( ( member_a @ QI @ ( states_a_b_c @ I4 ) )
           => ( ( member6330420149250801815od_b_c @ Io2 @ ( minus_5375846548645262261od_b_c @ ( lS_a_b_c @ I4 @ QI ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ QM ) ) )
             => ~ ! [Io3: list_P903359562653991662od_b_c,Xy: product_prod_b_c] :
                    ( ? [Io4: list_P903359562653991662od_b_c] :
                        ( Io2
                        = ( append2547753245680614915od_b_c @ Io3 @ ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ Xy @ nil_Product_prod_b_c ) @ Io4 ) ) )
                   => ( ( member6330420149250801815od_b_c @ Io3 @ ( inf_in4978071631833541052od_b_c @ ( lS_a_b_c @ I4 @ QI ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ QM ) ) )
                     => ~ ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io3 @ ( cons_P4529483553340347422od_b_c @ Xy @ nil_Product_prod_b_c ) ) @ ( minus_5375846548645262261od_b_c @ ( lS_a_b_c @ I4 @ QI ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ QM ) ) ) ) ) ) ) ) ) ) ).

% minimal_failure_prefix_ob
thf(fact_991_minimal__failure__prefix__ob,axiom,
    ! [M2: fsm_a_b_c,I4: fsm_Pr8946560376811747725_c_b_c,QM: a,QI: product_prod_b_c,Io2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( observ2355048066641855153_c_b_c @ I4 )
       => ( ( member_a @ QM @ ( states_a_b_c @ M2 ) )
         => ( ( member7862447941013992593od_b_c @ QI @ ( states8981316748681014706_c_b_c @ I4 ) )
           => ( ( member6330420149250801815od_b_c @ Io2 @ ( minus_5375846548645262261od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ I4 @ QI ) @ ( lS_a_b_c @ M2 @ QM ) ) )
             => ~ ! [Io3: list_P903359562653991662od_b_c,Xy: product_prod_b_c] :
                    ( ? [Io4: list_P903359562653991662od_b_c] :
                        ( Io2
                        = ( append2547753245680614915od_b_c @ Io3 @ ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ Xy @ nil_Product_prod_b_c ) @ Io4 ) ) )
                   => ( ( member6330420149250801815od_b_c @ Io3 @ ( inf_in4978071631833541052od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ I4 @ QI ) @ ( lS_a_b_c @ M2 @ QM ) ) )
                     => ~ ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io3 @ ( cons_P4529483553340347422od_b_c @ Xy @ nil_Product_prod_b_c ) ) @ ( minus_5375846548645262261od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ I4 @ QI ) @ ( lS_a_b_c @ M2 @ QM ) ) ) ) ) ) ) ) ) ) ).

% minimal_failure_prefix_ob
thf(fact_992_minimal__failure__prefix__ob,axiom,
    ! [M2: fsm_a_b_c,I4: fsm_a_b_c,QM: a,QI: a,Io2: list_P903359562653991662od_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( observable_a_b_c @ I4 )
       => ( ( member_a @ QM @ ( states_a_b_c @ M2 ) )
         => ( ( member_a @ QI @ ( states_a_b_c @ I4 ) )
           => ( ( member6330420149250801815od_b_c @ Io2 @ ( minus_5375846548645262261od_b_c @ ( lS_a_b_c @ I4 @ QI ) @ ( lS_a_b_c @ M2 @ QM ) ) )
             => ~ ! [Io3: list_P903359562653991662od_b_c,Xy: product_prod_b_c] :
                    ( ? [Io4: list_P903359562653991662od_b_c] :
                        ( Io2
                        = ( append2547753245680614915od_b_c @ Io3 @ ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ Xy @ nil_Product_prod_b_c ) @ Io4 ) ) )
                   => ( ( member6330420149250801815od_b_c @ Io3 @ ( inf_in4978071631833541052od_b_c @ ( lS_a_b_c @ I4 @ QI ) @ ( lS_a_b_c @ M2 @ QM ) ) )
                     => ~ ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io3 @ ( cons_P4529483553340347422od_b_c @ Xy @ nil_Product_prod_b_c ) ) @ ( minus_5375846548645262261od_b_c @ ( lS_a_b_c @ I4 @ QI ) @ ( lS_a_b_c @ M2 @ QM ) ) ) ) ) ) ) ) ) ) ).

% minimal_failure_prefix_ob
thf(fact_993_less__infI1,axiom,
    ! [A: nat,X2: nat,B: nat] :
      ( ( ord_less_nat @ A @ X2 )
     => ( ord_less_nat @ ( inf_inf_nat @ A @ B ) @ X2 ) ) ).

% less_infI1
thf(fact_994_add__diff__cancel__left,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ C2 @ A ) @ ( plus_plus_nat @ C2 @ B ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_left
thf(fact_995_add__diff__cancel__left_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ A )
      = B ) ).

% add_diff_cancel_left'
thf(fact_996_add__diff__cancel__right,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ C2 ) @ ( plus_plus_nat @ B @ C2 ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_right
thf(fact_997_add__diff__cancel__right_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel_right'
thf(fact_998_ordered__cancel__comm__monoid__diff__class_Odiff__add,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ A )
        = B ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add
thf(fact_999_le__add__diff,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ C2 @ ( minus_minus_nat @ ( plus_plus_nat @ B @ C2 ) @ A ) ) ) ).

% le_add_diff
thf(fact_1000_ordered__cancel__comm__monoid__diff__class_Ole__diff__conv2,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C2 @ ( minus_minus_nat @ B @ A ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ C2 @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_diff_conv2
thf(fact_1001_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ C2 @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C2 @ B ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc
thf(fact_1002_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ C2 @ B ) @ A )
        = ( plus_plus_nat @ C2 @ ( minus_minus_nat @ B @ A ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc
thf(fact_1003_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc2,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C2 )
        = ( minus_minus_nat @ ( plus_plus_nat @ B @ C2 ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc2
thf(fact_1004_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc2,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ B @ C2 ) @ A )
        = ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C2 ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc2
thf(fact_1005_ordered__cancel__comm__monoid__diff__class_Odiff__diff__right,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ C2 @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C2 @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_diff_right
thf(fact_1006_ordered__cancel__comm__monoid__diff__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ A @ ( minus_minus_nat @ B @ A ) )
        = B ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_inverse
thf(fact_1007_ordered__cancel__comm__monoid__diff__class_Ole__imp__diff__is__add,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ( ( minus_minus_nat @ B @ A )
            = C2 )
          = ( B
            = ( plus_plus_nat @ C2 @ A ) ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_imp_diff_is_add
thf(fact_1008_psubset__imp__ex__mem,axiom,
    ! [A4: set_a,B5: set_a] :
      ( ( ord_less_set_a @ A4 @ B5 )
     => ? [B3: a] : ( member_a @ B3 @ ( minus_minus_set_a @ B5 @ A4 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_1009_psubset__imp__ex__mem,axiom,
    ! [A4: set_Product_prod_b_c,B5: set_Product_prod_b_c] :
      ( ( ord_le6326416800173614196od_b_c @ A4 @ B5 )
     => ? [B3: product_prod_b_c] : ( member7862447941013992593od_b_c @ B3 @ ( minus_6323455999294890031od_b_c @ B5 @ A4 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_1010_diff__diff__eq,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C2 )
      = ( minus_minus_nat @ A @ ( plus_plus_nat @ B @ C2 ) ) ) ).

% diff_diff_eq
thf(fact_1011_add__implies__diff,axiom,
    ! [C2: nat,B: nat,A: nat] :
      ( ( ( plus_plus_nat @ C2 @ B )
        = A )
     => ( C2
        = ( minus_minus_nat @ A @ B ) ) ) ).

% add_implies_diff
thf(fact_1012_io__targets__states,axiom,
    ! [M2: fsm_a_b_c,Io2: list_P903359562653991662od_b_c,Q4: a] : ( ord_less_eq_set_a @ ( io_targets_a_b_c @ M2 @ Io2 @ Q4 ) @ ( states_a_b_c @ M2 ) ) ).

% io_targets_states
thf(fact_1013_io__targets__language__append,axiom,
    ! [Q1: a,M2: fsm_a_b_c,Io1: list_P903359562653991662od_b_c,Q4: a,Io22: list_P903359562653991662od_b_c] :
      ( ( member_a @ Q1 @ ( io_targets_a_b_c @ M2 @ Io1 @ Q4 ) )
     => ( ( member6330420149250801815od_b_c @ Io22 @ ( lS_a_b_c @ M2 @ Q1 ) )
       => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io22 ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ).

% io_targets_language_append
thf(fact_1014_io__targets__language__append,axiom,
    ! [Q1: product_prod_b_c,M2: fsm_Pr8946560376811747725_c_b_c,Io1: list_P903359562653991662od_b_c,Q4: product_prod_b_c,Io22: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ Q1 @ ( io_tar8438363832524083968_c_b_c @ M2 @ Io1 @ Q4 ) )
     => ( ( member6330420149250801815od_b_c @ Io22 @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q1 ) )
       => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io22 ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q4 ) ) ) ) ).

% io_targets_language_append
thf(fact_1015_language__io__target__append,axiom,
    ! [Q5: a,M2: fsm_a_b_c,Io1: list_P903359562653991662od_b_c,Q4: a,Io22: list_P903359562653991662od_b_c] :
      ( ( member_a @ Q5 @ ( io_targets_a_b_c @ M2 @ Io1 @ Q4 ) )
     => ( ( member6330420149250801815od_b_c @ Io22 @ ( lS_a_b_c @ M2 @ Q5 ) )
       => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io22 ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ).

% language_io_target_append
thf(fact_1016_language__io__target__append,axiom,
    ! [Q5: product_prod_b_c,M2: fsm_Pr8946560376811747725_c_b_c,Io1: list_P903359562653991662od_b_c,Q4: product_prod_b_c,Io22: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ Q5 @ ( io_tar8438363832524083968_c_b_c @ M2 @ Io1 @ Q4 ) )
     => ( ( member6330420149250801815od_b_c @ Io22 @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q5 ) )
       => ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io22 ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q4 ) ) ) ) ).

% language_io_target_append
thf(fact_1017_observable__io__targets__language,axiom,
    ! [Io1: list_P903359562653991662od_b_c,Io22: list_P903359562653991662od_b_c,M2: fsm_Pr8946560376811747725_c_b_c,Q1: product_prod_b_c,Q2: product_prod_b_c] :
      ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io22 ) @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q1 ) )
     => ( ( observ2355048066641855153_c_b_c @ M2 )
       => ( ( member7862447941013992593od_b_c @ Q2 @ ( io_tar8438363832524083968_c_b_c @ M2 @ Io1 @ Q1 ) )
         => ( member6330420149250801815od_b_c @ Io22 @ ( lS_Pro4505222411400483149_c_b_c @ M2 @ Q2 ) ) ) ) ) ).

% observable_io_targets_language
thf(fact_1018_observable__io__targets__language,axiom,
    ! [Io1: list_P903359562653991662od_b_c,Io22: list_P903359562653991662od_b_c,M2: fsm_a_b_c,Q1: a,Q2: a] :
      ( ( member6330420149250801815od_b_c @ ( append2547753245680614915od_b_c @ Io1 @ Io22 ) @ ( lS_a_b_c @ M2 @ Q1 ) )
     => ( ( observable_a_b_c @ M2 )
       => ( ( member_a @ Q2 @ ( io_targets_a_b_c @ M2 @ Io1 @ Q1 ) )
         => ( member6330420149250801815od_b_c @ Io22 @ ( lS_a_b_c @ M2 @ Q2 ) ) ) ) ) ).

% observable_io_targets_language
thf(fact_1019_observable__language__target,axiom,
    ! [M2: fsm_a_b_c,Q4: a,Io1: list_P903359562653991662od_b_c,T4: a,T6: fsm_a_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member_a @ Q4 @ ( io_targets_a_b_c @ M2 @ Io1 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( member_a @ T4 @ ( io_targets_a_b_c @ T6 @ Io1 @ ( initial_a_b_c @ T6 ) ) )
         => ( ( ord_le282488521294790766od_b_c @ ( lS_a_b_c @ T6 @ ( initial_a_b_c @ T6 ) ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
           => ( ord_le282488521294790766od_b_c @ ( lS_a_b_c @ T6 @ T4 ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ) ) ).

% observable_language_target
thf(fact_1020_observable__language__target,axiom,
    ! [M2: fsm_a_b_c,Q4: a,Io1: list_P903359562653991662od_b_c,T4: product_prod_b_c,T6: fsm_Pr8946560376811747725_c_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member_a @ Q4 @ ( io_targets_a_b_c @ M2 @ Io1 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( member7862447941013992593od_b_c @ T4 @ ( io_tar8438363832524083968_c_b_c @ T6 @ Io1 @ ( initia72520619621223384_c_b_c @ T6 ) ) )
         => ( ( ord_le282488521294790766od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ T6 @ ( initia72520619621223384_c_b_c @ T6 ) ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) )
           => ( ord_le282488521294790766od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ T6 @ T4 ) @ ( lS_a_b_c @ M2 @ Q4 ) ) ) ) ) ) ).

% observable_language_target
thf(fact_1021_observable__language__target__failure,axiom,
    ! [M2: fsm_a_b_c,Q4: a,Io1: list_P903359562653991662od_b_c,T4: a,T6: fsm_a_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member_a @ Q4 @ ( io_targets_a_b_c @ M2 @ Io1 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( member_a @ T4 @ ( io_targets_a_b_c @ T6 @ Io1 @ ( initial_a_b_c @ T6 ) ) )
         => ( ~ ( ord_le282488521294790766od_b_c @ ( lS_a_b_c @ T6 @ T4 ) @ ( lS_a_b_c @ M2 @ Q4 ) )
           => ~ ( ord_le282488521294790766od_b_c @ ( lS_a_b_c @ T6 @ ( initial_a_b_c @ T6 ) ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) ) ) ) ) ) ).

% observable_language_target_failure
thf(fact_1022_observable__language__target__failure,axiom,
    ! [M2: fsm_a_b_c,Q4: a,Io1: list_P903359562653991662od_b_c,T4: product_prod_b_c,T6: fsm_Pr8946560376811747725_c_b_c] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member_a @ Q4 @ ( io_targets_a_b_c @ M2 @ Io1 @ ( initial_a_b_c @ M2 ) ) )
       => ( ( member7862447941013992593od_b_c @ T4 @ ( io_tar8438363832524083968_c_b_c @ T6 @ Io1 @ ( initia72520619621223384_c_b_c @ T6 ) ) )
         => ( ~ ( ord_le282488521294790766od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ T6 @ T4 ) @ ( lS_a_b_c @ M2 @ Q4 ) )
           => ~ ( ord_le282488521294790766od_b_c @ ( lS_Pro4505222411400483149_c_b_c @ T6 @ ( initia72520619621223384_c_b_c @ T6 ) ) @ ( lS_a_b_c @ M2 @ ( initial_a_b_c @ M2 ) ) ) ) ) ) ) ).

% observable_language_target_failure
thf(fact_1023_inf_Ostrict__coboundedI2,axiom,
    ! [B: nat,C2: nat,A: nat] :
      ( ( ord_less_nat @ B @ C2 )
     => ( ord_less_nat @ ( inf_inf_nat @ A @ B ) @ C2 ) ) ).

% inf.strict_coboundedI2
thf(fact_1024_inf_Ostrict__coboundedI1,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_nat @ A @ C2 )
     => ( ord_less_nat @ ( inf_inf_nat @ A @ B ) @ C2 ) ) ).

% inf.strict_coboundedI1
thf(fact_1025_inf_Ostrict__order__iff,axiom,
    ( ord_less_nat
    = ( ^ [A5: nat,B4: nat] :
          ( ( A5
            = ( inf_inf_nat @ A5 @ B4 ) )
          & ( A5 != B4 ) ) ) ) ).

% inf.strict_order_iff
thf(fact_1026_inf_Ostrict__boundedE,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ ( inf_inf_nat @ B @ C2 ) )
     => ~ ( ( ord_less_nat @ A @ B )
         => ~ ( ord_less_nat @ A @ C2 ) ) ) ).

% inf.strict_boundedE
thf(fact_1027_inf_Oabsorb4,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( inf_inf_nat @ A @ B )
        = B ) ) ).

% inf.absorb4
thf(fact_1028_inf_Oabsorb3,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( inf_inf_nat @ A @ B )
        = A ) ) ).

% inf.absorb3
thf(fact_1029_less__infI2,axiom,
    ! [B: nat,X2: nat,A: nat] :
      ( ( ord_less_nat @ B @ X2 )
     => ( ord_less_nat @ ( inf_inf_nat @ A @ B ) @ X2 ) ) ).

% less_infI2
thf(fact_1030_le__add__diff__inverse,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% le_add_diff_inverse
thf(fact_1031_le__add__diff__inverse2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ A @ B ) @ B )
        = A ) ) ).

% le_add_diff_inverse2
thf(fact_1032_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_1033_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_1034_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_1035_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_1036_less__diff__iff,axiom,
    ! [K: nat,M3: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M3 )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M3 @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_nat @ M3 @ N ) ) ) ) ).

% less_diff_iff
thf(fact_1037_diff__less__mono,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C2 @ A )
       => ( ord_less_nat @ ( minus_minus_nat @ A @ C2 ) @ ( minus_minus_nat @ B @ C2 ) ) ) ) ).

% diff_less_mono
thf(fact_1038_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_1039_diff__less__mono2,axiom,
    ! [M3: nat,N: nat,L2: nat] :
      ( ( ord_less_nat @ M3 @ N )
     => ( ( ord_less_nat @ M3 @ L2 )
       => ( ord_less_nat @ ( minus_minus_nat @ L2 @ N ) @ ( minus_minus_nat @ L2 @ M3 ) ) ) ) ).

% diff_less_mono2
thf(fact_1040_diff__add__inverse2,axiom,
    ! [M3: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M3 @ N ) @ N )
      = M3 ) ).

% diff_add_inverse2
thf(fact_1041_diff__add__inverse,axiom,
    ! [N: nat,M3: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ N @ M3 ) @ N )
      = M3 ) ).

% diff_add_inverse
thf(fact_1042_diff__cancel2,axiom,
    ! [M3: nat,K: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M3 @ K ) @ ( plus_plus_nat @ N @ K ) )
      = ( minus_minus_nat @ M3 @ N ) ) ).

% diff_cancel2
thf(fact_1043_Nat_Odiff__cancel,axiom,
    ! [K: nat,M3: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ K @ M3 ) @ ( plus_plus_nat @ K @ N ) )
      = ( minus_minus_nat @ M3 @ N ) ) ).

% Nat.diff_cancel
thf(fact_1044_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_1045_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_1046_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_1047_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_1048_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_1049_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_1050_add__diff__inverse__nat,axiom,
    ! [M3: nat,N: nat] :
      ( ~ ( ord_less_nat @ M3 @ N )
     => ( ( plus_plus_nat @ N @ ( minus_minus_nat @ M3 @ N ) )
        = M3 ) ) ).

% add_diff_inverse_nat
thf(fact_1051_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_1052_add__le__imp__le__diff,axiom,
    ! [I: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
     => ( ord_less_eq_nat @ I @ ( minus_minus_nat @ N @ K ) ) ) ).

% add_le_imp_le_diff
thf(fact_1053_add__le__add__imp__diff__le,axiom,
    ! [I: nat,K: nat,N: nat,J: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
     => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K ) )
       => ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
         => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K ) )
           => ( ord_less_eq_nat @ ( minus_minus_nat @ N @ K ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_1054_linordered__semidom__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ~ ( ord_less_nat @ A @ B )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% linordered_semidom_class.add_diff_inverse
thf(fact_1055_get__distinguishing__sequence__from__ofsm__tables__is__distinguishing__trace_I3_J,axiom,
    ! [M2: fsm_a_b_c,Q1: a,Q2: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( minimal_a_b_c @ M2 )
       => ( ( member_a @ Q1 @ ( states_a_b_c @ M2 ) )
         => ( ( member_a @ Q2 @ ( states_a_b_c @ M2 ) )
           => ( ( Q1 != Q2 )
             => ( member6330420149250801815od_b_c @ ( butlas5354910156707045818od_b_c @ ( get_di2280862616223094331_a_b_c @ M2 @ Q1 @ Q2 ) ) @ ( inf_in4978071631833541052od_b_c @ ( lS_a_b_c @ M2 @ Q1 ) @ ( lS_a_b_c @ M2 @ Q2 ) ) ) ) ) ) ) ) ).

% get_distinguishing_sequence_from_ofsm_tables_is_distinguishing_trace(3)
thf(fact_1056_butlast__snoc,axiom,
    ! [Xs: list_P903359562653991662od_b_c,X2: product_prod_b_c] :
      ( ( butlas5354910156707045818od_b_c @ ( append2547753245680614915od_b_c @ Xs @ ( cons_P4529483553340347422od_b_c @ X2 @ nil_Product_prod_b_c ) ) )
      = Xs ) ).

% butlast_snoc
thf(fact_1057_butlast__append,axiom,
    ! [Ys: list_P903359562653991662od_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( ( Ys = nil_Product_prod_b_c )
       => ( ( butlas5354910156707045818od_b_c @ ( append2547753245680614915od_b_c @ Xs @ Ys ) )
          = ( butlas5354910156707045818od_b_c @ Xs ) ) )
      & ( ( Ys != nil_Product_prod_b_c )
       => ( ( butlas5354910156707045818od_b_c @ ( append2547753245680614915od_b_c @ Xs @ Ys ) )
          = ( append2547753245680614915od_b_c @ Xs @ ( butlas5354910156707045818od_b_c @ Ys ) ) ) ) ) ).

% butlast_append
thf(fact_1058_butlast_Osimps_I2_J,axiom,
    ! [Xs: list_P903359562653991662od_b_c,X2: product_prod_b_c] :
      ( ( ( Xs = nil_Product_prod_b_c )
       => ( ( butlas5354910156707045818od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) )
          = nil_Product_prod_b_c ) )
      & ( ( Xs != nil_Product_prod_b_c )
       => ( ( butlas5354910156707045818od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) )
          = ( cons_P4529483553340347422od_b_c @ X2 @ ( butlas5354910156707045818od_b_c @ Xs ) ) ) ) ) ).

% butlast.simps(2)
thf(fact_1059_butlast_Osimps_I1_J,axiom,
    ( ( butlas5354910156707045818od_b_c @ nil_Product_prod_b_c )
    = nil_Product_prod_b_c ) ).

% butlast.simps(1)
thf(fact_1060_in__set__butlastD,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ ( butlast_a @ Xs ) ) )
     => ( member_a @ X2 @ ( set_a2 @ Xs ) ) ) ).

% in_set_butlastD
thf(fact_1061_in__set__butlastD,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ ( butlas5354910156707045818od_b_c @ Xs ) ) )
     => ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) ) ) ).

% in_set_butlastD
thf(fact_1062_in__set__butlast__appendI,axiom,
    ! [X2: a,Xs: list_a,Ys: list_a] :
      ( ( ( member_a @ X2 @ ( set_a2 @ ( butlast_a @ Xs ) ) )
        | ( member_a @ X2 @ ( set_a2 @ ( butlast_a @ Ys ) ) ) )
     => ( member_a @ X2 @ ( set_a2 @ ( butlast_a @ ( append_a @ Xs @ Ys ) ) ) ) ) ).

% in_set_butlast_appendI
thf(fact_1063_in__set__butlast__appendI,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ ( butlas5354910156707045818od_b_c @ Xs ) ) )
        | ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ ( butlas5354910156707045818od_b_c @ Ys ) ) ) )
     => ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ ( butlas5354910156707045818od_b_c @ ( append2547753245680614915od_b_c @ Xs @ Ys ) ) ) ) ) ).

% in_set_butlast_appendI
thf(fact_1064_butlast__eq__consE,axiom,
    ! [L2: list_P903359562653991662od_b_c,X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( ( butlas5354910156707045818od_b_c @ L2 )
        = ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) )
     => ~ ! [Xl: product_prod_b_c] :
            ( L2
           != ( cons_P4529483553340347422od_b_c @ X2 @ ( append2547753245680614915od_b_c @ Xs @ ( cons_P4529483553340347422od_b_c @ Xl @ nil_Product_prod_b_c ) ) ) ) ) ).

% butlast_eq_consE
thf(fact_1065_butlast__eq__cons__conv,axiom,
    ! [L2: list_P903359562653991662od_b_c,X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( ( butlas5354910156707045818od_b_c @ L2 )
        = ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) )
      = ( ? [Xl2: product_prod_b_c] :
            ( L2
            = ( cons_P4529483553340347422od_b_c @ X2 @ ( append2547753245680614915od_b_c @ Xs @ ( cons_P4529483553340347422od_b_c @ Xl2 @ nil_Product_prod_b_c ) ) ) ) ) ) ).

% butlast_eq_cons_conv
thf(fact_1066_butlast__subset,axiom,
    ! [Xs: list_P903359562653991662od_b_c,A4: set_Product_prod_b_c] :
      ( ( Xs != nil_Product_prod_b_c )
     => ( ( ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ Xs ) @ A4 )
       => ( ord_le253122037897321832od_b_c @ ( set_Product_prod_b_c2 @ ( butlas5354910156707045818od_b_c @ Xs ) ) @ A4 ) ) ) ).

% butlast_subset
thf(fact_1067_after__io__targets,axiom,
    ! [M2: fsm_a_b_c,Io2: list_P903359562653991662od_b_c,Q4: a] :
      ( ( observable_a_b_c @ M2 )
     => ( ( member6330420149250801815od_b_c @ Io2 @ ( lS_a_b_c @ M2 @ Q4 ) )
       => ( ( after_a_b_c @ M2 @ Q4 @ Io2 )
          = ( the_elem_a @ ( io_targets_a_b_c @ M2 @ Io2 @ Q4 ) ) ) ) ) ).

% after_io_targets
thf(fact_1068_the__elem__set,axiom,
    ! [X2: product_prod_b_c] :
      ( ( the_el5801713635627447133od_b_c @ ( set_Product_prod_b_c2 @ ( cons_P4529483553340347422od_b_c @ X2 @ nil_Product_prod_b_c ) ) )
      = X2 ) ).

% the_elem_set
thf(fact_1069_is__prefix_Osimps_I3_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Y2: product_prod_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( is_pre2928372374095682525od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ ( cons_P4529483553340347422od_b_c @ Y2 @ Ys ) )
      = ( ( X2 = Y2 )
        & ( is_pre2928372374095682525od_b_c @ Xs @ Ys ) ) ) ).

% is_prefix.simps(3)
thf(fact_1070_is__prefix_Oelims_I3_J,axiom,
    ! [X2: list_P903359562653991662od_b_c,Xa3: list_P903359562653991662od_b_c] :
      ( ~ ( is_pre2928372374095682525od_b_c @ X2 @ Xa3 )
     => ( ( ? [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( X2
              = ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) )
         => ( Xa3 != nil_Product_prod_b_c ) )
       => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( ( X2
                = ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) )
             => ! [Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
                  ( ( Xa3
                    = ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) )
                 => ( ( X = Y )
                    & ( is_pre2928372374095682525od_b_c @ Xs3 @ Ys2 ) ) ) ) ) ) ).

% is_prefix.elims(3)
thf(fact_1071_is__prefix_Oelims_I2_J,axiom,
    ! [X2: list_P903359562653991662od_b_c,Xa3: list_P903359562653991662od_b_c] :
      ( ( is_pre2928372374095682525od_b_c @ X2 @ Xa3 )
     => ( ( X2 != nil_Product_prod_b_c )
       => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( ( X2
                = ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) )
             => ! [Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
                  ( ( Xa3
                    = ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) )
                 => ~ ( ( X = Y )
                      & ( is_pre2928372374095682525od_b_c @ Xs3 @ Ys2 ) ) ) ) ) ) ).

% is_prefix.elims(2)
thf(fact_1072_is__prefix_Oelims_I1_J,axiom,
    ! [X2: list_P903359562653991662od_b_c,Xa3: list_P903359562653991662od_b_c,Y2: $o] :
      ( ( ( is_pre2928372374095682525od_b_c @ X2 @ Xa3 )
        = Y2 )
     => ( ( ( X2 = nil_Product_prod_b_c )
         => ~ Y2 )
       => ( ( ? [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
                ( X2
                = ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) )
           => ( ( Xa3 = nil_Product_prod_b_c )
             => Y2 ) )
         => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
                ( ( X2
                  = ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) )
               => ! [Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
                    ( ( Xa3
                      = ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) )
                   => ( Y2
                      = ( ~ ( ( X = Y )
                            & ( is_pre2928372374095682525od_b_c @ Xs3 @ Ys2 ) ) ) ) ) ) ) ) ) ).

% is_prefix.elims(1)
thf(fact_1073_is__prefix_Osimps_I2_J,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ~ ( is_pre2928372374095682525od_b_c @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ nil_Product_prod_b_c ) ).

% is_prefix.simps(2)
thf(fact_1074_observable__minimal__size__r__language__distinct,axiom,
    ! [M12: fsm_a_b_c,M23: fsm_a_b_c] :
      ( ( minimal_a_b_c @ M12 )
     => ( ( minimal_a_b_c @ M23 )
       => ( ( observable_a_b_c @ M12 )
         => ( ( observable_a_b_c @ M23 )
           => ( ( ord_less_nat @ ( finite_card_a @ ( reacha1620305530751930115_a_b_c @ M12 ) ) @ ( finite_card_a @ ( reacha1620305530751930115_a_b_c @ M23 ) ) )
             => ( ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) )
               != ( lS_a_b_c @ M23 @ ( initial_a_b_c @ M23 ) ) ) ) ) ) ) ) ).

% observable_minimal_size_r_language_distinct
thf(fact_1075_find__remove_H_Oelims,axiom,
    ! [X2: product_prod_b_c > $o,Xa3: list_P903359562653991662od_b_c,Xb: list_P903359562653991662od_b_c,Y2: option1643449060076316019od_b_c] :
      ( ( ( find_r3073053696315353587od_b_c @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( ( Xa3 = nil_Product_prod_b_c )
         => ( Y2 != none_P5298055089671475982od_b_c ) )
       => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
              ( ( Xa3
                = ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) )
             => ~ ( ( ( X2 @ X )
                   => ( Y2
                      = ( some_P1625066591076178066od_b_c @ ( produc1467100693395308445od_b_c @ X @ ( append2547753245680614915od_b_c @ Xb @ Xs3 ) ) ) ) )
                  & ( ~ ( X2 @ X )
                   => ( Y2
                      = ( find_r3073053696315353587od_b_c @ X2 @ Xs3 @ ( append2547753245680614915od_b_c @ Xb @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) ) ) ) ) ) ) ) ).

% find_remove'.elims
thf(fact_1076_find__remove_H__set__rev,axiom,
    ! [X2: a,Xs: list_a,P3: a > $o,Prev2: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
     => ( ( P3 @ X2 )
       => ( ( find_remove_a2 @ P3 @ Xs @ Prev2 )
         != none_P9027680122973965198list_a ) ) ) ).

% find_remove'_set_rev
thf(fact_1077_find__remove_H__set__rev,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,P3: product_prod_b_c > $o,Prev2: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
     => ( ( P3 @ X2 )
       => ( ( find_r3073053696315353587od_b_c @ P3 @ Xs @ Prev2 )
         != none_P5298055089671475982od_b_c ) ) ) ).

% find_remove'_set_rev
thf(fact_1078_find__remove_H__set_I2_J,axiom,
    ! [P3: a > $o,Xs: list_a,Prev2: list_a,X2: a,Xs4: list_a] :
      ( ( ( find_remove_a2 @ P3 @ Xs @ Prev2 )
        = ( some_P8471903096582035730list_a @ ( produc6670463072477821725list_a @ X2 @ Xs4 ) ) )
     => ( member_a @ X2 @ ( set_a2 @ Xs ) ) ) ).

% find_remove'_set(2)
thf(fact_1079_find__remove_H__set_I2_J,axiom,
    ! [P3: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c,Prev2: list_P903359562653991662od_b_c,X2: product_prod_b_c,Xs4: list_P903359562653991662od_b_c] :
      ( ( ( find_r3073053696315353587od_b_c @ P3 @ Xs @ Prev2 )
        = ( some_P1625066591076178066od_b_c @ ( produc1467100693395308445od_b_c @ X2 @ Xs4 ) ) )
     => ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) ) ) ).

% find_remove'_set(2)
thf(fact_1080_minimal__equivalence__size__r,axiom,
    ! [M12: fsm_a_b_c,M23: fsm_a_b_c] :
      ( ( minimal_a_b_c @ M12 )
     => ( ( minimal_a_b_c @ M23 )
       => ( ( observable_a_b_c @ M12 )
         => ( ( observable_a_b_c @ M23 )
           => ( ( ( lS_a_b_c @ M12 @ ( initial_a_b_c @ M12 ) )
                = ( lS_a_b_c @ M23 @ ( initial_a_b_c @ M23 ) ) )
             => ( ( finite_card_a @ ( reacha1620305530751930115_a_b_c @ M12 ) )
                = ( finite_card_a @ ( reacha1620305530751930115_a_b_c @ M23 ) ) ) ) ) ) ) ) ).

% minimal_equivalence_size_r
thf(fact_1081_find__remove_H_Osimps_I2_J,axiom,
    ! [P3: product_prod_b_c > $o,X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c,Prev2: list_P903359562653991662od_b_c] :
      ( ( ( P3 @ X2 )
       => ( ( find_r3073053696315353587od_b_c @ P3 @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ Prev2 )
          = ( some_P1625066591076178066od_b_c @ ( produc1467100693395308445od_b_c @ X2 @ ( append2547753245680614915od_b_c @ Prev2 @ Xs ) ) ) ) )
      & ( ~ ( P3 @ X2 )
       => ( ( find_r3073053696315353587od_b_c @ P3 @ ( cons_P4529483553340347422od_b_c @ X2 @ Xs ) @ Prev2 )
          = ( find_r3073053696315353587od_b_c @ P3 @ Xs @ ( append2547753245680614915od_b_c @ Prev2 @ ( cons_P4529483553340347422od_b_c @ X2 @ nil_Product_prod_b_c ) ) ) ) ) ) ).

% find_remove'.simps(2)
thf(fact_1082_find__remove_H_Opelims,axiom,
    ! [X2: product_prod_b_c > $o,Xa3: list_P903359562653991662od_b_c,Xb: list_P903359562653991662od_b_c,Y2: option1643449060076316019od_b_c] :
      ( ( ( find_r3073053696315353587od_b_c @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( accp_P1924572328958296190od_b_c @ find_r5358976936226027362od_b_c @ ( produc1005531610559690873od_b_c @ X2 @ ( produc3076307724246486423od_b_c @ Xa3 @ Xb ) ) )
       => ( ( ( Xa3 = nil_Product_prod_b_c )
           => ( ( Y2 = none_P5298055089671475982od_b_c )
             => ~ ( accp_P1924572328958296190od_b_c @ find_r5358976936226027362od_b_c @ ( produc1005531610559690873od_b_c @ X2 @ ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ Xb ) ) ) ) )
         => ~ ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c] :
                ( ( Xa3
                  = ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) )
               => ( ( ( ( X2 @ X )
                     => ( Y2
                        = ( some_P1625066591076178066od_b_c @ ( produc1467100693395308445od_b_c @ X @ ( append2547753245680614915od_b_c @ Xb @ Xs3 ) ) ) ) )
                    & ( ~ ( X2 @ X )
                     => ( Y2
                        = ( find_r3073053696315353587od_b_c @ X2 @ Xs3 @ ( append2547753245680614915od_b_c @ Xb @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) ) ) ) )
                 => ~ ( accp_P1924572328958296190od_b_c @ find_r5358976936226027362od_b_c @ ( produc1005531610559690873od_b_c @ X2 @ ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ Xb ) ) ) ) ) ) ) ) ).

% find_remove'.pelims
thf(fact_1083_find__remove__set_I2_J,axiom,
    ! [P3: a > $o,Xs: list_a,X2: a,Xs4: list_a] :
      ( ( ( find_remove_a @ P3 @ Xs )
        = ( some_P8471903096582035730list_a @ ( produc6670463072477821725list_a @ X2 @ Xs4 ) ) )
     => ( member_a @ X2 @ ( set_a2 @ Xs ) ) ) ).

% find_remove_set(2)
thf(fact_1084_find__remove__set_I2_J,axiom,
    ! [P3: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c,X2: product_prod_b_c,Xs4: list_P903359562653991662od_b_c] :
      ( ( ( find_r398788227580841692od_b_c @ P3 @ Xs )
        = ( some_P1625066591076178066od_b_c @ ( produc1467100693395308445od_b_c @ X2 @ Xs4 ) ) )
     => ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) ) ) ).

% find_remove_set(2)
thf(fact_1085_find__remove__None__iff,axiom,
    ! [P3: a > $o,Xs: list_a] :
      ( ( ( find_remove_a @ P3 @ Xs )
        = none_P9027680122973965198list_a )
      = ( ~ ? [X4: a] :
              ( ( member_a @ X4 @ ( set_a2 @ Xs ) )
              & ( P3 @ X4 ) ) ) ) ).

% find_remove_None_iff
thf(fact_1086_find__remove__None__iff,axiom,
    ! [P3: product_prod_b_c > $o,Xs: list_P903359562653991662od_b_c] :
      ( ( ( find_r398788227580841692od_b_c @ P3 @ Xs )
        = none_P5298055089671475982od_b_c )
      = ( ~ ? [X4: product_prod_b_c] :
              ( ( member7862447941013992593od_b_c @ X4 @ ( set_Product_prod_b_c2 @ Xs ) )
              & ( P3 @ X4 ) ) ) ) ).

% find_remove_None_iff
thf(fact_1087_map__ran__Cons__sel,axiom,
    ! [F: b > c > c,P4: product_prod_b_c,Ps2: list_P903359562653991662od_b_c] :
      ( ( map_ran_b_c_c @ F @ ( cons_P4529483553340347422od_b_c @ P4 @ Ps2 ) )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ ( product_fst_b_c @ P4 ) @ ( F @ ( product_fst_b_c @ P4 ) @ ( product_snd_b_c @ P4 ) ) ) @ ( map_ran_b_c_c @ F @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_1088_map__ran__Cons__sel,axiom,
    ! [F: list_P903359562653991662od_b_c > product_prod_nat_nat > product_prod_nat_nat,P4: produc7736452900028564794at_nat,Ps2: list_P3552028079716004544at_nat] :
      ( ( map_ra8878016659559072311at_nat @ F @ ( cons_P7526108220621557488at_nat @ P4 @ Ps2 ) )
      = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ ( produc6927617529171309206at_nat @ P4 ) @ ( F @ ( produc6927617529171309206at_nat @ P4 ) @ ( produc5857867323167669720at_nat @ P4 ) ) ) @ ( map_ra8878016659559072311at_nat @ F @ Ps2 ) ) ) ).

% map_ran_Cons_sel
thf(fact_1089_inter__list__set,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( set_Product_prod_b_c2 @ ( inter_7622914835359071963od_b_c @ Xs @ Ys ) )
      = ( inf_in8411426679332095414od_b_c @ ( set_Product_prod_b_c2 @ Xs ) @ ( set_Product_prod_b_c2 @ Ys ) ) ) ).

% inter_list_set
thf(fact_1090_map__ran__simps_I2_J,axiom,
    ! [F: b > c > c,K: b,V: c,Ps2: list_P903359562653991662od_b_c] :
      ( ( map_ran_b_c_c @ F @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ V ) @ Ps2 ) )
      = ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ K @ ( F @ K @ V ) ) @ ( map_ran_b_c_c @ F @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_1091_map__ran__simps_I2_J,axiom,
    ! [F: list_P903359562653991662od_b_c > product_prod_nat_nat > product_prod_nat_nat,K: list_P903359562653991662od_b_c,V: product_prod_nat_nat,Ps2: list_P3552028079716004544at_nat] :
      ( ( map_ra8878016659559072311at_nat @ F @ ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ K @ V ) @ Ps2 ) )
      = ( cons_P7526108220621557488at_nat @ ( produc3197953233266746538at_nat @ K @ ( F @ K @ V ) ) @ ( map_ra8878016659559072311at_nat @ F @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_1092_map__ran__simps_I2_J,axiom,
    ! [F: nat > nat > nat,K: nat,V: nat,Ps2: list_P6011104703257516679at_nat] :
      ( ( map_ran_nat_nat_nat @ F @ ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ V ) @ Ps2 ) )
      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ K @ ( F @ K @ V ) ) @ ( map_ran_nat_nat_nat @ F @ Ps2 ) ) ) ).

% map_ran_simps(2)
thf(fact_1093_map__tailrec__rev_Opelims,axiom,
    ! [X2: product_prod_b_c > product_prod_b_c,Xa3: list_P903359562653991662od_b_c,Xb: list_P903359562653991662od_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( ( map_ta2658900722513622261od_b_c @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( accp_P7655262136047134638od_b_c @ map_ta3552191613423382852od_b_c @ ( produc5829777284606927017od_b_c @ X2 @ ( produc3076307724246486423od_b_c @ Xa3 @ Xb ) ) )
       => ( ( ( Xa3 = nil_Product_prod_b_c )
           => ( ( Y2 = Xb )
             => ~ ( accp_P7655262136047134638od_b_c @ map_ta3552191613423382852od_b_c @ ( produc5829777284606927017od_b_c @ X2 @ ( produc3076307724246486423od_b_c @ nil_Product_prod_b_c @ Xb ) ) ) ) )
         => ~ ! [A3: product_prod_b_c,As: list_P903359562653991662od_b_c] :
                ( ( Xa3
                  = ( cons_P4529483553340347422od_b_c @ A3 @ As ) )
               => ( ( Y2
                    = ( map_ta2658900722513622261od_b_c @ X2 @ As @ ( cons_P4529483553340347422od_b_c @ ( X2 @ A3 ) @ Xb ) ) )
                 => ~ ( accp_P7655262136047134638od_b_c @ map_ta3552191613423382852od_b_c @ ( produc5829777284606927017od_b_c @ X2 @ ( produc3076307724246486423od_b_c @ ( cons_P4529483553340347422od_b_c @ A3 @ As ) @ Xb ) ) ) ) ) ) ) ) ).

% map_tailrec_rev.pelims
thf(fact_1094_pairs__to__distinguish__elems_I6_J,axiom,
    ! [M2: fsm_Pr1214345408167043238at_b_c,V3: product_prod_nat_nat > list_P903359562653991662od_b_c,Rstates: list_P6011104703257516679at_nat,X8: product_prod_nat_nat > list_P1054463921365547186at_nat,M3: nat,N: nat,Alpha2: list_P903359562653991662od_b_c,Q1: product_prod_nat_nat,Beta2: list_P903359562653991662od_b_c,Q2: product_prod_nat_nat] :
      ( ( observ3635879396514621642at_b_c @ M2 )
     => ( ( state_2102191642341943634at_b_c @ M2 @ V3 )
       => ( ( ( set_Pr5648618587558075414at_nat @ Rstates )
            = ( reacha3269758602999754118at_b_c @ M2 ) )
         => ( ! [Q3: product_prod_nat_nat,P6: list_P4391763663960888956at_nat,Q8: product_prod_nat_nat] :
                ( ( member8440522571783428010at_nat @ Q3 @ ( reacha3269758602999754118at_b_c @ M2 ) )
               => ( ( member5014811436121802325at_nat @ ( produc5463623628917503900at_nat @ P6 @ Q8 ) @ ( set_Pr9099416908204533953at_nat @ ( X8 @ Q3 ) ) )
                  = ( ( path_P5635501874096939912at_b_c @ M2 @ Q3 @ P6 )
                    & ( ( target6927326653867305404at_b_c @ Q3 @ P6 )
                      = Q8 )
                    & ( ord_less_eq_nat @ ( size_s6429106377413512424at_nat @ P6 ) @ ( plus_plus_nat @ ( minus_minus_nat @ M3 @ N ) @ one_one_nat ) ) ) ) )
           => ( ( member6262659814537336144at_nat @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha2 @ Q1 ) @ ( produc3197953233266746538at_nat @ Beta2 @ Q2 ) ) @ ( set_Pr4035061249888635836at_nat @ ( pair_p9102166633979816344at_b_c @ M2 @ V3 @ X8 @ Rstates ) ) )
             => ( Q1
                = ( after_3796124412128908377at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) @ Alpha2 ) ) ) ) ) ) ) ).

% pairs_to_distinguish_elems(6)
thf(fact_1095_append__eq__append__conv,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Us: list_P903359562653991662od_b_c,Vs: list_P903359562653991662od_b_c] :
      ( ( ( ( size_s3392097710323735898od_b_c @ Xs )
          = ( size_s3392097710323735898od_b_c @ Ys ) )
        | ( ( size_s3392097710323735898od_b_c @ Us )
          = ( size_s3392097710323735898od_b_c @ Vs ) ) )
     => ( ( ( append2547753245680614915od_b_c @ Xs @ Us )
          = ( append2547753245680614915od_b_c @ Ys @ Vs ) )
        = ( ( Xs = Ys )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_1096_length__append,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( size_s3392097710323735898od_b_c @ ( append2547753245680614915od_b_c @ Xs @ Ys ) )
      = ( plus_plus_nat @ ( size_s3392097710323735898od_b_c @ Xs ) @ ( size_s3392097710323735898od_b_c @ Ys ) ) ) ).

% length_append
thf(fact_1097_height__over__empty,axiom,
    ! [Xs: list_P903359562653991662od_b_c] :
      ( ( prefix1689370350404964080od_b_c @ Xs @ prefix3615735424982389462od_b_c )
      = one_one_nat ) ).

% height_over_empty
thf(fact_1098_add__mono1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ one_one_nat ) @ ( plus_plus_nat @ B @ one_one_nat ) ) ) ).

% add_mono1
thf(fact_1099_less__add__one,axiom,
    ! [A: nat] : ( ord_less_nat @ A @ ( plus_plus_nat @ A @ one_one_nat ) ) ).

% less_add_one
thf(fact_1100_list__rest__coinc,axiom,
    ! [S22: list_P903359562653991662od_b_c,S1: list_P903359562653991662od_b_c,R1: list_P903359562653991662od_b_c,R2: list_P903359562653991662od_b_c] :
      ( ( ord_less_eq_nat @ ( size_s3392097710323735898od_b_c @ S22 ) @ ( size_s3392097710323735898od_b_c @ S1 ) )
     => ( ( ( append2547753245680614915od_b_c @ S1 @ R1 )
          = ( append2547753245680614915od_b_c @ S22 @ R2 ) )
       => ? [R1p: list_P903359562653991662od_b_c] :
            ( R2
            = ( append2547753245680614915od_b_c @ R1p @ R1 ) ) ) ) ).

% list_rest_coinc
thf(fact_1101_list__decomp__1,axiom,
    ! [L2: list_P903359562653991662od_b_c] :
      ( ( ( size_s3392097710323735898od_b_c @ L2 )
        = one_one_nat )
     => ? [A3: product_prod_b_c] :
          ( L2
          = ( cons_P4529483553340347422od_b_c @ A3 @ nil_Product_prod_b_c ) ) ) ).

% list_decomp_1
thf(fact_1102_impossible__Cons,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,X2: product_prod_b_c] :
      ( ( ord_less_eq_nat @ ( size_s3392097710323735898od_b_c @ Xs ) @ ( size_s3392097710323735898od_b_c @ Ys ) )
     => ( Xs
       != ( cons_P4529483553340347422od_b_c @ X2 @ Ys ) ) ) ).

% impossible_Cons
thf(fact_1103_len__greater__imp__nonempty,axiom,
    ! [X2: nat,L2: list_P903359562653991662od_b_c] :
      ( ( ord_less_nat @ X2 @ ( size_s3392097710323735898od_b_c @ L2 ) )
     => ( L2 != nil_Product_prod_b_c ) ) ).

% len_greater_imp_nonempty
thf(fact_1104_map__tailrec__rev_Osimps_I2_J,axiom,
    ! [F: product_prod_b_c > product_prod_b_c,A: product_prod_b_c,As2: list_P903359562653991662od_b_c,Bs2: list_P903359562653991662od_b_c] :
      ( ( map_ta2658900722513622261od_b_c @ F @ ( cons_P4529483553340347422od_b_c @ A @ As2 ) @ Bs2 )
      = ( map_ta2658900722513622261od_b_c @ F @ As2 @ ( cons_P4529483553340347422od_b_c @ ( F @ A ) @ Bs2 ) ) ) ).

% map_tailrec_rev.simps(2)
thf(fact_1105_list__induct4,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c,Ws: list_P903359562653991662od_b_c,P3: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o] :
      ( ( ( size_s3392097710323735898od_b_c @ Xs )
        = ( size_s3392097710323735898od_b_c @ Ys ) )
     => ( ( ( size_s3392097710323735898od_b_c @ Ys )
          = ( size_s3392097710323735898od_b_c @ Zs ) )
       => ( ( ( size_s3392097710323735898od_b_c @ Zs )
            = ( size_s3392097710323735898od_b_c @ Ws ) )
         => ( ( P3 @ nil_Product_prod_b_c @ nil_Product_prod_b_c @ nil_Product_prod_b_c @ nil_Product_prod_b_c )
           => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c,Z3: product_prod_b_c,Zs3: list_P903359562653991662od_b_c,W6: product_prod_b_c,Ws2: list_P903359562653991662od_b_c] :
                  ( ( ( size_s3392097710323735898od_b_c @ Xs3 )
                    = ( size_s3392097710323735898od_b_c @ Ys2 ) )
                 => ( ( ( size_s3392097710323735898od_b_c @ Ys2 )
                      = ( size_s3392097710323735898od_b_c @ Zs3 ) )
                   => ( ( ( size_s3392097710323735898od_b_c @ Zs3 )
                        = ( size_s3392097710323735898od_b_c @ Ws2 ) )
                     => ( ( P3 @ Xs3 @ Ys2 @ Zs3 @ Ws2 )
                       => ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) @ ( cons_P4529483553340347422od_b_c @ Z3 @ Zs3 ) @ ( cons_P4529483553340347422od_b_c @ W6 @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_1106_list__induct3,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,Zs: list_P903359562653991662od_b_c,P3: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o] :
      ( ( ( size_s3392097710323735898od_b_c @ Xs )
        = ( size_s3392097710323735898od_b_c @ Ys ) )
     => ( ( ( size_s3392097710323735898od_b_c @ Ys )
          = ( size_s3392097710323735898od_b_c @ Zs ) )
       => ( ( P3 @ nil_Product_prod_b_c @ nil_Product_prod_b_c @ nil_Product_prod_b_c )
         => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c,Z3: product_prod_b_c,Zs3: list_P903359562653991662od_b_c] :
                ( ( ( size_s3392097710323735898od_b_c @ Xs3 )
                  = ( size_s3392097710323735898od_b_c @ Ys2 ) )
               => ( ( ( size_s3392097710323735898od_b_c @ Ys2 )
                    = ( size_s3392097710323735898od_b_c @ Zs3 ) )
                 => ( ( P3 @ Xs3 @ Ys2 @ Zs3 )
                   => ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) @ ( cons_P4529483553340347422od_b_c @ Z3 @ Zs3 ) ) ) ) )
           => ( P3 @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_1107_list__induct2,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,P3: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o] :
      ( ( ( size_s3392097710323735898od_b_c @ Xs )
        = ( size_s3392097710323735898od_b_c @ Ys ) )
     => ( ( P3 @ nil_Product_prod_b_c @ nil_Product_prod_b_c )
       => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
              ( ( ( size_s3392097710323735898od_b_c @ Xs3 )
                = ( size_s3392097710323735898od_b_c @ Ys2 ) )
             => ( ( P3 @ Xs3 @ Ys2 )
               => ( P3 @ ( cons_P4529483553340347422od_b_c @ X @ Xs3 ) @ ( cons_P4529483553340347422od_b_c @ Y @ Ys2 ) ) ) )
         => ( P3 @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_1108_same__length__different,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c] :
      ( ( Xs != Ys )
     => ( ( ( size_s3392097710323735898od_b_c @ Xs )
          = ( size_s3392097710323735898od_b_c @ Ys ) )
       => ? [Pre: list_P903359562653991662od_b_c,X: product_prod_b_c,Xs5: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys4: list_P903359562653991662od_b_c] :
            ( ( X != Y )
            & ( Xs
              = ( append2547753245680614915od_b_c @ Pre @ ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) @ Xs5 ) ) )
            & ( Ys
              = ( append2547753245680614915od_b_c @ Pre @ ( append2547753245680614915od_b_c @ ( cons_P4529483553340347422od_b_c @ Y @ nil_Product_prod_b_c ) @ Ys4 ) ) ) ) ) ) ).

% same_length_different
thf(fact_1109_rev__induct2,axiom,
    ! [Xs: list_P903359562653991662od_b_c,Ys: list_P903359562653991662od_b_c,P3: list_P903359562653991662od_b_c > list_P903359562653991662od_b_c > $o] :
      ( ( ( size_s3392097710323735898od_b_c @ Xs )
        = ( size_s3392097710323735898od_b_c @ Ys ) )
     => ( ( P3 @ nil_Product_prod_b_c @ nil_Product_prod_b_c )
       => ( ! [X: product_prod_b_c,Xs3: list_P903359562653991662od_b_c,Y: product_prod_b_c,Ys2: list_P903359562653991662od_b_c] :
              ( ( ( size_s3392097710323735898od_b_c @ Xs3 )
                = ( size_s3392097710323735898od_b_c @ Ys2 ) )
             => ( ( P3 @ Xs3 @ Ys2 )
               => ( P3 @ ( append2547753245680614915od_b_c @ Xs3 @ ( cons_P4529483553340347422od_b_c @ X @ nil_Product_prod_b_c ) ) @ ( append2547753245680614915od_b_c @ Ys2 @ ( cons_P4529483553340347422od_b_c @ Y @ nil_Product_prod_b_c ) ) ) ) )
         => ( P3 @ Xs @ Ys ) ) ) ) ).

% rev_induct2
thf(fact_1110_length__compl__induct,axiom,
    ! [P3: list_P903359562653991662od_b_c > $o,L2: list_P903359562653991662od_b_c] :
      ( ( P3 @ nil_Product_prod_b_c )
     => ( ! [E2: product_prod_b_c,L4: list_P903359562653991662od_b_c] :
            ( ! [Ll2: list_P903359562653991662od_b_c] :
                ( ( ord_less_eq_nat @ ( size_s3392097710323735898od_b_c @ Ll2 ) @ ( size_s3392097710323735898od_b_c @ L4 ) )
               => ( P3 @ Ll2 ) )
           => ( P3 @ ( cons_P4529483553340347422od_b_c @ E2 @ L4 ) ) )
       => ( P3 @ L2 ) ) ) ).

% length_compl_induct
thf(fact_1111_card__length,axiom,
    ! [Xs: list_P903359562653991662od_b_c] : ( ord_less_eq_nat @ ( finite2007600076630979216od_b_c @ ( set_Product_prod_b_c2 @ Xs ) ) @ ( size_s3392097710323735898od_b_c @ Xs ) ) ).

% card_length
thf(fact_1112_minimally__distinguishes__def,axiom,
    ( minima243535863231358885_a_b_c
    = ( ^ [M6: fsm_a_b_c,Q13: a,Q23: a,Io5: list_P903359562653991662od_b_c] :
          ( ( distinguishes_a_b_c @ M6 @ Q13 @ Q23 @ Io5 )
          & ! [Io6: list_P903359562653991662od_b_c] :
              ( ( distinguishes_a_b_c @ M6 @ Q13 @ Q23 @ Io6 )
             => ( ord_less_eq_nat @ ( size_s3392097710323735898od_b_c @ Io5 ) @ ( size_s3392097710323735898od_b_c @ Io6 ) ) ) ) ) ) ).

% minimally_distinguishes_def
thf(fact_1113_map__tailrec__rev_Oelims,axiom,
    ! [X2: product_prod_b_c > product_prod_b_c,Xa3: list_P903359562653991662od_b_c,Xb: list_P903359562653991662od_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( ( map_ta2658900722513622261od_b_c @ X2 @ Xa3 @ Xb )
        = Y2 )
     => ( ( ( Xa3 = nil_Product_prod_b_c )
         => ( Y2 != Xb ) )
       => ~ ! [A3: product_prod_b_c,As: list_P903359562653991662od_b_c] :
              ( ( Xa3
                = ( cons_P4529483553340347422od_b_c @ A3 @ As ) )
             => ( Y2
               != ( map_ta2658900722513622261od_b_c @ X2 @ As @ ( cons_P4529483553340347422od_b_c @ ( X2 @ A3 ) @ Xb ) ) ) ) ) ) ).

% map_tailrec_rev.elims
thf(fact_1114_length__compl__rev__induct,axiom,
    ! [P3: list_P903359562653991662od_b_c > $o,L2: list_P903359562653991662od_b_c] :
      ( ( P3 @ nil_Product_prod_b_c )
     => ( ! [L4: list_P903359562653991662od_b_c,E2: product_prod_b_c] :
            ( ! [Ll2: list_P903359562653991662od_b_c] :
                ( ( ord_less_eq_nat @ ( size_s3392097710323735898od_b_c @ Ll2 ) @ ( size_s3392097710323735898od_b_c @ L4 ) )
               => ( P3 @ Ll2 ) )
           => ( P3 @ ( append2547753245680614915od_b_c @ L4 @ ( cons_P4529483553340347422od_b_c @ E2 @ nil_Product_prod_b_c ) ) ) )
       => ( P3 @ L2 ) ) ) ).

% length_compl_rev_induct
thf(fact_1115_pairs__to__distinguish__elems_I3_J,axiom,
    ! [M2: fsm_Pr1214345408167043238at_b_c,V3: product_prod_nat_nat > list_P903359562653991662od_b_c,Rstates: list_P6011104703257516679at_nat,X8: product_prod_nat_nat > list_P1054463921365547186at_nat,M3: nat,N: nat,Alpha2: list_P903359562653991662od_b_c,Q1: product_prod_nat_nat,Beta2: list_P903359562653991662od_b_c,Q2: product_prod_nat_nat] :
      ( ( observ3635879396514621642at_b_c @ M2 )
     => ( ( state_2102191642341943634at_b_c @ M2 @ V3 )
       => ( ( ( set_Pr5648618587558075414at_nat @ Rstates )
            = ( reacha3269758602999754118at_b_c @ M2 ) )
         => ( ! [Q3: product_prod_nat_nat,P6: list_P4391763663960888956at_nat,Q8: product_prod_nat_nat] :
                ( ( member8440522571783428010at_nat @ Q3 @ ( reacha3269758602999754118at_b_c @ M2 ) )
               => ( ( member5014811436121802325at_nat @ ( produc5463623628917503900at_nat @ P6 @ Q8 ) @ ( set_Pr9099416908204533953at_nat @ ( X8 @ Q3 ) ) )
                  = ( ( path_P5635501874096939912at_b_c @ M2 @ Q3 @ P6 )
                    & ( ( target6927326653867305404at_b_c @ Q3 @ P6 )
                      = Q8 )
                    & ( ord_less_eq_nat @ ( size_s6429106377413512424at_nat @ P6 ) @ ( plus_plus_nat @ ( minus_minus_nat @ M3 @ N ) @ one_one_nat ) ) ) ) )
           => ( ( member6262659814537336144at_nat @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha2 @ Q1 ) @ ( produc3197953233266746538at_nat @ Beta2 @ Q2 ) ) @ ( set_Pr4035061249888635836at_nat @ ( pair_p9102166633979816344at_b_c @ M2 @ V3 @ X8 @ Rstates ) ) )
             => ( Q1 != Q2 ) ) ) ) ) ) ).

% pairs_to_distinguish_elems(3)
thf(fact_1116_pairs__to__distinguish__elems_I1_J,axiom,
    ! [M2: fsm_Pr1214345408167043238at_b_c,V3: product_prod_nat_nat > list_P903359562653991662od_b_c,Rstates: list_P6011104703257516679at_nat,X8: product_prod_nat_nat > list_P1054463921365547186at_nat,M3: nat,N: nat,Alpha2: list_P903359562653991662od_b_c,Q1: product_prod_nat_nat,Beta2: list_P903359562653991662od_b_c,Q2: product_prod_nat_nat] :
      ( ( observ3635879396514621642at_b_c @ M2 )
     => ( ( state_2102191642341943634at_b_c @ M2 @ V3 )
       => ( ( ( set_Pr5648618587558075414at_nat @ Rstates )
            = ( reacha3269758602999754118at_b_c @ M2 ) )
         => ( ! [Q3: product_prod_nat_nat,P6: list_P4391763663960888956at_nat,Q8: product_prod_nat_nat] :
                ( ( member8440522571783428010at_nat @ Q3 @ ( reacha3269758602999754118at_b_c @ M2 ) )
               => ( ( member5014811436121802325at_nat @ ( produc5463623628917503900at_nat @ P6 @ Q8 ) @ ( set_Pr9099416908204533953at_nat @ ( X8 @ Q3 ) ) )
                  = ( ( path_P5635501874096939912at_b_c @ M2 @ Q3 @ P6 )
                    & ( ( target6927326653867305404at_b_c @ Q3 @ P6 )
                      = Q8 )
                    & ( ord_less_eq_nat @ ( size_s6429106377413512424at_nat @ P6 ) @ ( plus_plus_nat @ ( minus_minus_nat @ M3 @ N ) @ one_one_nat ) ) ) ) )
           => ( ( member6262659814537336144at_nat @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha2 @ Q1 ) @ ( produc3197953233266746538at_nat @ Beta2 @ Q2 ) ) @ ( set_Pr4035061249888635836at_nat @ ( pair_p9102166633979816344at_b_c @ M2 @ V3 @ X8 @ Rstates ) ) )
             => ( member8440522571783428010at_nat @ Q1 @ ( states5270413544025292875at_b_c @ M2 ) ) ) ) ) ) ) ).

% pairs_to_distinguish_elems(1)
thf(fact_1117_pairs__to__distinguish__elems_I2_J,axiom,
    ! [M2: fsm_Pr1214345408167043238at_b_c,V3: product_prod_nat_nat > list_P903359562653991662od_b_c,Rstates: list_P6011104703257516679at_nat,X8: product_prod_nat_nat > list_P1054463921365547186at_nat,M3: nat,N: nat,Alpha2: list_P903359562653991662od_b_c,Q1: product_prod_nat_nat,Beta2: list_P903359562653991662od_b_c,Q2: product_prod_nat_nat] :
      ( ( observ3635879396514621642at_b_c @ M2 )
     => ( ( state_2102191642341943634at_b_c @ M2 @ V3 )
       => ( ( ( set_Pr5648618587558075414at_nat @ Rstates )
            = ( reacha3269758602999754118at_b_c @ M2 ) )
         => ( ! [Q3: product_prod_nat_nat,P6: list_P4391763663960888956at_nat,Q8: product_prod_nat_nat] :
                ( ( member8440522571783428010at_nat @ Q3 @ ( reacha3269758602999754118at_b_c @ M2 ) )
               => ( ( member5014811436121802325at_nat @ ( produc5463623628917503900at_nat @ P6 @ Q8 ) @ ( set_Pr9099416908204533953at_nat @ ( X8 @ Q3 ) ) )
                  = ( ( path_P5635501874096939912at_b_c @ M2 @ Q3 @ P6 )
                    & ( ( target6927326653867305404at_b_c @ Q3 @ P6 )
                      = Q8 )
                    & ( ord_less_eq_nat @ ( size_s6429106377413512424at_nat @ P6 ) @ ( plus_plus_nat @ ( minus_minus_nat @ M3 @ N ) @ one_one_nat ) ) ) ) )
           => ( ( member6262659814537336144at_nat @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha2 @ Q1 ) @ ( produc3197953233266746538at_nat @ Beta2 @ Q2 ) ) @ ( set_Pr4035061249888635836at_nat @ ( pair_p9102166633979816344at_b_c @ M2 @ V3 @ X8 @ Rstates ) ) )
             => ( member8440522571783428010at_nat @ Q2 @ ( states5270413544025292875at_b_c @ M2 ) ) ) ) ) ) ) ).

% pairs_to_distinguish_elems(2)
thf(fact_1118_pairs__to__distinguish__elems_I5_J,axiom,
    ! [M2: fsm_Pr1214345408167043238at_b_c,V3: product_prod_nat_nat > list_P903359562653991662od_b_c,Rstates: list_P6011104703257516679at_nat,X8: product_prod_nat_nat > list_P1054463921365547186at_nat,M3: nat,N: nat,Alpha2: list_P903359562653991662od_b_c,Q1: product_prod_nat_nat,Beta2: list_P903359562653991662od_b_c,Q2: product_prod_nat_nat] :
      ( ( observ3635879396514621642at_b_c @ M2 )
     => ( ( state_2102191642341943634at_b_c @ M2 @ V3 )
       => ( ( ( set_Pr5648618587558075414at_nat @ Rstates )
            = ( reacha3269758602999754118at_b_c @ M2 ) )
         => ( ! [Q3: product_prod_nat_nat,P6: list_P4391763663960888956at_nat,Q8: product_prod_nat_nat] :
                ( ( member8440522571783428010at_nat @ Q3 @ ( reacha3269758602999754118at_b_c @ M2 ) )
               => ( ( member5014811436121802325at_nat @ ( produc5463623628917503900at_nat @ P6 @ Q8 ) @ ( set_Pr9099416908204533953at_nat @ ( X8 @ Q3 ) ) )
                  = ( ( path_P5635501874096939912at_b_c @ M2 @ Q3 @ P6 )
                    & ( ( target6927326653867305404at_b_c @ Q3 @ P6 )
                      = Q8 )
                    & ( ord_less_eq_nat @ ( size_s6429106377413512424at_nat @ P6 ) @ ( plus_plus_nat @ ( minus_minus_nat @ M3 @ N ) @ one_one_nat ) ) ) ) )
           => ( ( member6262659814537336144at_nat @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha2 @ Q1 ) @ ( produc3197953233266746538at_nat @ Beta2 @ Q2 ) ) @ ( set_Pr4035061249888635836at_nat @ ( pair_p9102166633979816344at_b_c @ M2 @ V3 @ X8 @ Rstates ) ) )
             => ( member6330420149250801815od_b_c @ Beta2 @ ( lS_Pro6631750835225597286at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) ) ) ) ) ) ) ) ).

% pairs_to_distinguish_elems(5)
thf(fact_1119_pairs__to__distinguish__elems_I4_J,axiom,
    ! [M2: fsm_Pr1214345408167043238at_b_c,V3: product_prod_nat_nat > list_P903359562653991662od_b_c,Rstates: list_P6011104703257516679at_nat,X8: product_prod_nat_nat > list_P1054463921365547186at_nat,M3: nat,N: nat,Alpha2: list_P903359562653991662od_b_c,Q1: product_prod_nat_nat,Beta2: list_P903359562653991662od_b_c,Q2: product_prod_nat_nat] :
      ( ( observ3635879396514621642at_b_c @ M2 )
     => ( ( state_2102191642341943634at_b_c @ M2 @ V3 )
       => ( ( ( set_Pr5648618587558075414at_nat @ Rstates )
            = ( reacha3269758602999754118at_b_c @ M2 ) )
         => ( ! [Q3: product_prod_nat_nat,P6: list_P4391763663960888956at_nat,Q8: product_prod_nat_nat] :
                ( ( member8440522571783428010at_nat @ Q3 @ ( reacha3269758602999754118at_b_c @ M2 ) )
               => ( ( member5014811436121802325at_nat @ ( produc5463623628917503900at_nat @ P6 @ Q8 ) @ ( set_Pr9099416908204533953at_nat @ ( X8 @ Q3 ) ) )
                  = ( ( path_P5635501874096939912at_b_c @ M2 @ Q3 @ P6 )
                    & ( ( target6927326653867305404at_b_c @ Q3 @ P6 )
                      = Q8 )
                    & ( ord_less_eq_nat @ ( size_s6429106377413512424at_nat @ P6 ) @ ( plus_plus_nat @ ( minus_minus_nat @ M3 @ N ) @ one_one_nat ) ) ) ) )
           => ( ( member6262659814537336144at_nat @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha2 @ Q1 ) @ ( produc3197953233266746538at_nat @ Beta2 @ Q2 ) ) @ ( set_Pr4035061249888635836at_nat @ ( pair_p9102166633979816344at_b_c @ M2 @ V3 @ X8 @ Rstates ) ) )
             => ( member6330420149250801815od_b_c @ Alpha2 @ ( lS_Pro6631750835225597286at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) ) ) ) ) ) ) ) ).

% pairs_to_distinguish_elems(4)
thf(fact_1120_pairs__to__distinguish__elems_I7_J,axiom,
    ! [M2: fsm_Pr1214345408167043238at_b_c,V3: product_prod_nat_nat > list_P903359562653991662od_b_c,Rstates: list_P6011104703257516679at_nat,X8: product_prod_nat_nat > list_P1054463921365547186at_nat,M3: nat,N: nat,Alpha2: list_P903359562653991662od_b_c,Q1: product_prod_nat_nat,Beta2: list_P903359562653991662od_b_c,Q2: product_prod_nat_nat] :
      ( ( observ3635879396514621642at_b_c @ M2 )
     => ( ( state_2102191642341943634at_b_c @ M2 @ V3 )
       => ( ( ( set_Pr5648618587558075414at_nat @ Rstates )
            = ( reacha3269758602999754118at_b_c @ M2 ) )
         => ( ! [Q3: product_prod_nat_nat,P6: list_P4391763663960888956at_nat,Q8: product_prod_nat_nat] :
                ( ( member8440522571783428010at_nat @ Q3 @ ( reacha3269758602999754118at_b_c @ M2 ) )
               => ( ( member5014811436121802325at_nat @ ( produc5463623628917503900at_nat @ P6 @ Q8 ) @ ( set_Pr9099416908204533953at_nat @ ( X8 @ Q3 ) ) )
                  = ( ( path_P5635501874096939912at_b_c @ M2 @ Q3 @ P6 )
                    & ( ( target6927326653867305404at_b_c @ Q3 @ P6 )
                      = Q8 )
                    & ( ord_less_eq_nat @ ( size_s6429106377413512424at_nat @ P6 ) @ ( plus_plus_nat @ ( minus_minus_nat @ M3 @ N ) @ one_one_nat ) ) ) ) )
           => ( ( member6262659814537336144at_nat @ ( produc9153370297335777047at_nat @ ( produc3197953233266746538at_nat @ Alpha2 @ Q1 ) @ ( produc3197953233266746538at_nat @ Beta2 @ Q2 ) ) @ ( set_Pr4035061249888635836at_nat @ ( pair_p9102166633979816344at_b_c @ M2 @ V3 @ X8 @ Rstates ) ) )
             => ( Q2
                = ( after_3796124412128908377at_b_c @ M2 @ ( initia2459933063210580337at_b_c @ M2 ) @ Beta2 ) ) ) ) ) ) ) ).

% pairs_to_distinguish_elems(7)
thf(fact_1121_w1L__def,axiom,
    ( ( ( ( prefix1158171450275386503od_b_c @ m1 )
        = prefix3615735424982389462od_b_c )
     => ( w1L = zero_zero_nat ) )
    & ( ( ( prefix1158171450275386503od_b_c @ m1 )
       != prefix3615735424982389462od_b_c )
     => ( w1L = one_one_nat ) ) ) ).

% w1L_def
thf(fact_1122_not__gr__zero,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr_zero
thf(fact_1123_add__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% add_0
thf(fact_1124_zero__eq__add__iff__both__eq__0,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X2 @ Y2 ) )
      = ( ( X2 = zero_zero_nat )
        & ( Y2 = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_1125_add__eq__0__iff__both__eq__0,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( plus_plus_nat @ X2 @ Y2 )
        = zero_zero_nat )
      = ( ( X2 = zero_zero_nat )
        & ( Y2 = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_1126_add__cancel__right__right,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ A @ B ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_right
thf(fact_1127_add__cancel__right__left,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( plus_plus_nat @ B @ A ) )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_right_left
thf(fact_1128_add__cancel__left__right,axiom,
    ! [A: nat,B: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_right
thf(fact_1129_add__cancel__left__left,axiom,
    ! [B: nat,A: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = A )
      = ( B = zero_zero_nat ) ) ).

% add_cancel_left_left
thf(fact_1130_add_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.right_neutral
thf(fact_1131_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_1132_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_1133_bot__nat__0_Onot__eq__extremum,axiom,
    ! [A: nat] :
      ( ( A != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ A ) ) ).

% bot_nat_0.not_eq_extremum
thf(fact_1134_Nat_Oadd__0__right,axiom,
    ! [M3: nat] :
      ( ( plus_plus_nat @ M3 @ zero_zero_nat )
      = M3 ) ).

% Nat.add_0_right
thf(fact_1135_add__is__0,axiom,
    ! [M3: nat,N: nat] :
      ( ( ( plus_plus_nat @ M3 @ N )
        = zero_zero_nat )
      = ( ( M3 = zero_zero_nat )
        & ( N = zero_zero_nat ) ) ) ).

% add_is_0
thf(fact_1136_le__add__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel2
thf(fact_1137_le__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel1
thf(fact_1138_add__le__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel2
thf(fact_1139_add__le__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel1
thf(fact_1140_less__add__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( ord_less_nat @ zero_zero_nat @ B ) ) ).

% less_add_same_cancel2
thf(fact_1141_less__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_nat @ zero_zero_nat @ B ) ) ).

% less_add_same_cancel1
thf(fact_1142_add__less__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_nat @ A @ zero_zero_nat ) ) ).

% add_less_same_cancel2
thf(fact_1143_add__less__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_nat @ A @ zero_zero_nat ) ) ).

% add_less_same_cancel1
thf(fact_1144_diff__add__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = zero_zero_nat ) ).

% diff_add_zero
thf(fact_1145_length__0__conv,axiom,
    ! [Xs: list_P903359562653991662od_b_c] :
      ( ( ( size_s3392097710323735898od_b_c @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_Product_prod_b_c ) ) ).

% length_0_conv
thf(fact_1146_add__gr__0,axiom,
    ! [M3: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ M3 @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M3 )
        | ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% add_gr_0
thf(fact_1147_zero__less__diff,axiom,
    ! [N: nat,M3: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N @ M3 ) )
      = ( ord_less_nat @ M3 @ N ) ) ).

% zero_less_diff
thf(fact_1148_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_1149_length__greater__0__conv,axiom,
    ! [Xs: list_P903359562653991662od_b_c] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_s3392097710323735898od_b_c @ Xs ) )
      = ( Xs != nil_Product_prod_b_c ) ) ).

% length_greater_0_conv
thf(fact_1150_w2L__def,axiom,
    ( ( ( ( prefix1158171450275386503od_b_c @ m2 )
        = prefix3615735424982389462od_b_c )
     => ( w2L = zero_zero_nat ) )
    & ( ( ( prefix1158171450275386503od_b_c @ m2 )
       != prefix3615735424982389462od_b_c )
     => ( w2L = one_one_nat ) ) ) ).

% w2L_def
thf(fact_1151_zero__less__one,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one
thf(fact_1152_not__one__less__zero,axiom,
    ~ ( ord_less_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_less_zero
thf(fact_1153_list_Osize_I3_J,axiom,
    ( ( size_s3392097710323735898od_b_c @ nil_Product_prod_b_c )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_1154_nat__geq__1__eq__neqz,axiom,
    ! [X2: nat] :
      ( ( ord_less_eq_nat @ one_one_nat @ X2 )
      = ( X2 != zero_zero_nat ) ) ).

% nat_geq_1_eq_neqz
thf(fact_1155_diff__less,axiom,
    ! [N: nat,M3: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M3 )
       => ( ord_less_nat @ ( minus_minus_nat @ M3 @ N ) @ M3 ) ) ) ).

% diff_less
thf(fact_1156_diff__add__0,axiom,
    ! [N: nat,M3: nat] :
      ( ( minus_minus_nat @ N @ ( plus_plus_nat @ N @ M3 ) )
      = zero_zero_nat ) ).

% diff_add_0
thf(fact_1157_add__nonpos__eq__0__iff,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X2 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ Y2 @ zero_zero_nat )
       => ( ( ( plus_plus_nat @ X2 @ Y2 )
            = zero_zero_nat )
          = ( ( X2 = zero_zero_nat )
            & ( Y2 = zero_zero_nat ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_1158_add__nonneg__eq__0__iff,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X2 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y2 )
       => ( ( ( plus_plus_nat @ X2 @ Y2 )
            = zero_zero_nat )
          = ( ( X2 = zero_zero_nat )
            & ( Y2 = zero_zero_nat ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_1159_add__nonpos__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_nonpos
thf(fact_1160_add__nonneg__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_eq_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_1161_add__increasing2,axiom,
    ! [C2: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ C2 )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% add_increasing2
thf(fact_1162_add__decreasing2,axiom,
    ! [C2: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ C2 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ B ) ) ) ).

% add_decreasing2
thf(fact_1163_add__increasing,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% add_increasing
thf(fact_1164_add__decreasing,axiom,
    ! [A: nat,C2: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ C2 @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C2 ) @ B ) ) ) ).

% add_decreasing
thf(fact_1165_pos__add__strict,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% pos_add_strict
thf(fact_1166_canonically__ordered__monoid__add__class_OlessE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ! [C: nat] :
            ( ( B
              = ( plus_plus_nat @ A @ C ) )
           => ( C = zero_zero_nat ) ) ) ).

% canonically_ordered_monoid_add_class.lessE
thf(fact_1167_add__pos__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_pos
thf(fact_1168_add__neg__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_neg
thf(fact_1169_verit__sum__simplify,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% verit_sum_simplify
thf(fact_1170_add_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.comm_neutral
thf(fact_1171_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_1172_add__eq__self__zero,axiom,
    ! [M3: nat,N: nat] :
      ( ( ( plus_plus_nat @ M3 @ N )
        = M3 )
     => ( N = zero_zero_nat ) ) ).

% add_eq_self_zero
thf(fact_1173_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_1174_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_1175_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_1176_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_1177_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_1178_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_1179_gr__implies__not0,axiom,
    ! [M3: nat,N: nat] :
      ( ( ord_less_nat @ M3 @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_1180_infinite__descent0,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ( P3 @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ~ ( P3 @ N3 )
             => ? [M5: nat] :
                  ( ( ord_less_nat @ M5 @ N3 )
                  & ~ ( P3 @ M5 ) ) ) )
       => ( P3 @ N ) ) ) ).

% infinite_descent0
thf(fact_1181_gr__zeroI,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr_zeroI
thf(fact_1182_not__less__zero,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less_zero
thf(fact_1183_gr__implies__not__zero,axiom,
    ! [M3: nat,N: nat] :
      ( ( ord_less_nat @ M3 @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not_zero
thf(fact_1184_zero__less__iff__neq__zero,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( N != zero_zero_nat ) ) ).

% zero_less_iff_neq_zero
thf(fact_1185_less__imp__add__positive,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_nat @ I @ J )
     => ? [K2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K2 )
          & ( ( plus_plus_nat @ I @ K2 )
            = J ) ) ) ).

% less_imp_add_positive
thf(fact_1186_ex__least__nat__le,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ( P3 @ N )
     => ( ~ ( P3 @ zero_zero_nat )
       => ? [K2: nat] :
            ( ( ord_less_eq_nat @ K2 @ N )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K2 )
               => ~ ( P3 @ I3 ) )
            & ( P3 @ K2 ) ) ) ) ).

% ex_least_nat_le
thf(fact_1187_add__strict__increasing2,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C2 )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% add_strict_increasing2
thf(fact_1188_add__strict__increasing,axiom,
    ! [A: nat,B: nat,C2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C2 )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C2 ) ) ) ) ).

% add_strict_increasing
thf(fact_1189_add__pos__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_nonneg
thf(fact_1190_add__nonpos__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_neg
thf(fact_1191_add__nonneg__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_pos
thf(fact_1192_add__neg__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_nonpos
thf(fact_1193_zero__less__two,axiom,
    ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ one_one_nat @ one_one_nat ) ).

% zero_less_two
thf(fact_1194_length__pos__if__in__set,axiom,
    ! [X2: a,Xs: list_a] :
      ( ( member_a @ X2 @ ( set_a2 @ Xs ) )
     => ( ord_less_nat @ zero_zero_nat @ ( size_size_list_a @ Xs ) ) ) ).

% length_pos_if_in_set
thf(fact_1195_length__pos__if__in__set,axiom,
    ! [X2: product_prod_b_c,Xs: list_P903359562653991662od_b_c] :
      ( ( member7862447941013992593od_b_c @ X2 @ ( set_Product_prod_b_c2 @ Xs ) )
     => ( ord_less_nat @ zero_zero_nat @ ( size_s3392097710323735898od_b_c @ Xs ) ) ) ).

% length_pos_if_in_set
thf(fact_1196_nat__diff__split__asm,axiom,
    ! [P3: nat > $o,A: nat,B: nat] :
      ( ( P3 @ ( minus_minus_nat @ A @ B ) )
      = ( ~ ( ( ( ord_less_nat @ A @ B )
              & ~ ( P3 @ zero_zero_nat ) )
            | ? [D4: nat] :
                ( ( A
                  = ( plus_plus_nat @ B @ D4 ) )
                & ~ ( P3 @ D4 ) ) ) ) ) ).

% nat_diff_split_asm
thf(fact_1197_nat__diff__split,axiom,
    ! [P3: nat > $o,A: nat,B: nat] :
      ( ( P3 @ ( minus_minus_nat @ A @ B ) )
      = ( ( ( ord_less_nat @ A @ B )
         => ( P3 @ zero_zero_nat ) )
        & ! [D4: nat] :
            ( ( A
              = ( plus_plus_nat @ B @ D4 ) )
           => ( P3 @ D4 ) ) ) ) ).

% nat_diff_split
thf(fact_1198_fold__atLeastAtMost__nat_Ocases,axiom,
    ! [X2: produc4471711990508489141at_nat] :
      ~ ! [F2: nat > nat > nat,A3: nat,B3: nat,Acc: nat] :
          ( X2
         != ( produc3209952032786966637at_nat @ F2 @ ( produc487386426758144856at_nat @ A3 @ ( product_Pair_nat_nat @ B3 @ Acc ) ) ) ) ).

% fold_atLeastAtMost_nat.cases
thf(fact_1199_prefix__tree_Osize__gen,axiom,
    ! [Xa3: product_prod_b_c > nat,X2: product_prod_b_c > option4860840611552367828od_b_c] :
      ( ( prefix3756303487539838298od_b_c @ Xa3 @ ( prefix1158171450275386503od_b_c @ X2 ) )
      = zero_zero_nat ) ).

% prefix_tree.size_gen
thf(fact_1200_n__lists__Nil,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( n_list5224936925692304502od_b_c @ N @ nil_Product_prod_b_c )
          = ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ nil_li8071162985807626740od_b_c ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( n_list5224936925692304502od_b_c @ N @ nil_Product_prod_b_c )
          = nil_li8071162985807626740od_b_c ) ) ) ).

% n_lists_Nil
thf(fact_1201_n__lists_Osimps_I1_J,axiom,
    ! [Xs: list_P903359562653991662od_b_c] :
      ( ( n_list5224936925692304502od_b_c @ zero_zero_nat @ Xs )
      = ( cons_l342771267123639716od_b_c @ nil_Product_prod_b_c @ nil_li8071162985807626740od_b_c ) ) ).

% n_lists.simps(1)
thf(fact_1202_less__numeral__extra_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% less_numeral_extra(1)
thf(fact_1203_w1C__def,axiom,
    ( ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ x @ y ) @ ( dom_Pr2939219480646643320od_b_c @ m1 ) )
     => ( w1C = zero_zero_nat ) )
    & ( ~ ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ x @ y ) @ ( dom_Pr2939219480646643320od_b_c @ m1 ) )
     => ( w1C = one_one_nat ) ) ) ).

% w1C_def
thf(fact_1204_w2C__def,axiom,
    ( ( ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ x @ y ) @ ( dom_Pr2939219480646643320od_b_c @ m2 ) )
     => ( w2C = zero_zero_nat ) )
    & ( ~ ( member7862447941013992593od_b_c @ ( product_Pair_b_c @ x @ y ) @ ( dom_Pr2939219480646643320od_b_c @ m2 ) )
     => ( w2C = one_one_nat ) ) ) ).

% w2C_def
thf(fact_1205_nempty__dom,axiom,
    ! [E: a > option4860840611552367828od_b_c] :
      ( ( E
       != ( ^ [X4: a] : none_P1973817385574297839od_b_c ) )
     => ~ ! [M4: a] :
            ~ ( member_a @ M4 @ ( dom_a_7211307088325086562od_b_c @ E ) ) ) ).

% nempty_dom
thf(fact_1206_nempty__dom,axiom,
    ! [E: product_prod_b_c > option4860840611552367828od_b_c] :
      ( ( E
       != ( ^ [X4: product_prod_b_c] : none_P1973817385574297839od_b_c ) )
     => ~ ! [M4: product_prod_b_c] :
            ~ ( member7862447941013992593od_b_c @ M4 @ ( dom_Pr2939219480646643320od_b_c @ E ) ) ) ).

% nempty_dom
thf(fact_1207_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% less_numeral_extra(3)
thf(fact_1208_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

% less_numeral_extra(4)
thf(fact_1209_Suc__less__eq,axiom,
    ! [M3: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M3 ) @ ( suc @ N ) )
      = ( ord_less_nat @ M3 @ N ) ) ).

% Suc_less_eq
thf(fact_1210_Suc__mono,axiom,
    ! [M3: nat,N: nat] :
      ( ( ord_less_nat @ M3 @ N )
     => ( ord_less_nat @ ( suc @ M3 ) @ ( suc @ N ) ) ) ).

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

% lessI
thf(fact_1212_add__Suc__right,axiom,
    ! [M3: nat,N: nat] :
      ( ( plus_plus_nat @ M3 @ ( suc @ N ) )
      = ( suc @ ( plus_plus_nat @ M3 @ N ) ) ) ).

% add_Suc_right
thf(fact_1213_min__eq__arg_I1_J,axiom,
    ! [M3: nat,N: nat] :
      ( ( ( ord_min_nat @ M3 @ N )
        = M3 )
      = ( ord_less_eq_nat @ M3 @ N ) ) ).

% min_eq_arg(1)
thf(fact_1214_min__eq__arg_I2_J,axiom,
    ! [M3: nat,N: nat] :
      ( ( ( ord_min_nat @ M3 @ N )
        = N )
      = ( ord_less_eq_nat @ N @ M3 ) ) ).

% min_eq_arg(2)
thf(fact_1215_min__arg__le_I1_J,axiom,
    ! [N: set_Product_prod_b_c,M3: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ N @ ( ord_mi9136407146173387567od_b_c @ M3 @ N ) )
      = ( ( ord_mi9136407146173387567od_b_c @ M3 @ N )
        = N ) ) ).

% min_arg_le(1)
thf(fact_1216_min__arg__le_I1_J,axiom,
    ! [N: nat,M3: nat] :
      ( ( ord_less_eq_nat @ N @ ( ord_min_nat @ M3 @ N ) )
      = ( ( ord_min_nat @ M3 @ N )
        = N ) ) ).

% min_arg_le(1)
thf(fact_1217_min__arg__le_I2_J,axiom,
    ! [M3: set_Product_prod_b_c,N: set_Product_prod_b_c] :
      ( ( ord_le253122037897321832od_b_c @ M3 @ ( ord_mi9136407146173387567od_b_c @ M3 @ N ) )
      = ( ( ord_mi9136407146173387567od_b_c @ M3 @ N )
        = M3 ) ) ).

% min_arg_le(2)
thf(fact_1218_min__arg__le_I2_J,axiom,
    ! [M3: nat,N: nat] :
      ( ( ord_less_eq_nat @ M3 @ ( ord_min_nat @ M3 @ N ) )
      = ( ( ord_min_nat @ M3 @ N )
        = M3 ) ) ).

% min_arg_le(2)
thf(fact_1219_min_Oabsorb3,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_min_nat @ A @ B )
        = A ) ) ).

% min.absorb3
thf(fact_1220_min_Oabsorb4,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_min_nat @ A @ B )
        = B ) ) ).

% min.absorb4
thf(fact_1221_min__less__iff__conj,axiom,
    ! [Z: nat,X2: nat,Y2: nat] :
      ( ( ord_less_nat @ Z @ ( ord_min_nat @ X2 @ Y2 ) )
      = ( ( ord_less_nat @ Z @ X2 )
        & ( ord_less_nat @ Z @ Y2 ) ) ) ).

% min_less_iff_conj
thf(fact_1222_min__arg__not__ge_I1_J,axiom,
    ! [M3: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ ( ord_min_nat @ M3 @ N ) @ M3 ) )
      = ( ( ord_min_nat @ M3 @ N )
        = M3 ) ) ).

% min_arg_not_ge(1)
thf(fact_1223_min__arg__not__ge_I2_J,axiom,
    ! [M3: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ ( ord_min_nat @ M3 @ N ) @ N ) )
      = ( ( ord_min_nat @ M3 @ N )
        = N ) ) ).

% min_arg_not_ge(2)
thf(fact_1224_min__less__self__conv_I1_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ ( ord_min_nat @ A @ B ) @ A )
      = ( ord_less_nat @ B @ A ) ) ).

% min_less_self_conv(1)
thf(fact_1225_min__less__self__conv_I2_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ ( ord_min_nat @ A @ B ) @ B )
      = ( ord_less_nat @ A @ B ) ) ).

% min_less_self_conv(2)
thf(fact_1226_min__simps_I1_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_min_nat @ A @ B )
        = A ) ) ).

% min_simps(1)
thf(fact_1227_min__simps_I2_J,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_min_nat @ A @ B )
        = B ) ) ).

% min_simps(2)
thf(fact_1228_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_1229_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_1230_min__Suc__gt_I1_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_min_nat @ ( suc @ A ) @ B )
        = ( suc @ A ) ) ) ).

% min_Suc_gt(1)
thf(fact_1231_min__Suc__gt_I2_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_min_nat @ B @ ( suc @ A ) )
        = ( suc @ A ) ) ) ).

% min_Suc_gt(2)

% Helper facts (5)
thf(help_If_2_1_If_001t__List__Olist_Itf__a_J_T,axiom,
    ! [X2: list_a,Y2: list_a] :
      ( ( if_list_a @ $false @ X2 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__List__Olist_Itf__a_J_T,axiom,
    ! [X2: list_a,Y2: list_a] :
      ( ( if_list_a @ $true @ X2 @ Y2 )
      = X2 ) ).

thf(help_If_3_1_If_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_T,axiom,
    ! [P3: $o] :
      ( ( P3 = $true )
      | ( P3 = $false ) ) ).

thf(help_If_2_1_If_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_T,axiom,
    ! [X2: list_P903359562653991662od_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( if_lis437861846949295796od_b_c @ $false @ X2 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__List__Olist_It__Product____Type__Oprod_Itf__b_Mtf__c_J_J_T,axiom,
    ! [X2: list_P903359562653991662od_b_c,Y2: list_P903359562653991662od_b_c] :
      ( ( if_lis437861846949295796od_b_c @ $true @ X2 @ Y2 )
      = X2 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    distinguishes_a_b_c @ m @ q1a @ q2a @ ( cons_P4529483553340347422od_b_c @ ( product_Pair_b_c @ x @ y ) @ ( produc6927617529171309206at_nat @ ( h_Meth2690202499653945482_a_b_c @ m @ distFun @ ios @ prefix3615735424982389462od_b_c @ q12 @ t2 @ q22 ) ) ) ).

%------------------------------------------------------------------------------