↑ Up

Vampire-SAT---5.0.1.CSA-FMo.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Vampire-SAT---5.0.1
% Problem  : ITP385_1 : TPTP v9.3.1. Released v8.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_vampire /export/starexec/sandbox2/benchmark/theBenchmark.p 300 SAT

% Computer : n016.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8046.5625MB
% OS       : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Tue Sep 29 11:39:30 AM UTC 2026

% Result   : CounterSatisfiable 29.27s 4.69s
% Output   : FiniteModel 30.25s
% Verified : 
% SZS Type : ERROR: Analysing output (MakeTreeStats fails)

% Comments : 
%------------------------------------------------------------------------------
tff('declare_$i1',type,
    'fmb_$i_1': $i ).

tff('finite_domain_$i',axiom,
    ! [X: $i] : ( X = 'fmb_$i_1' ) ).

tff('declare_B_b_option_fun_b_option_fun$',type,
    'B_b_option_fun_b_option_fun$': $tType ).

tff('declare_B_b_option_fun_b_option_fun$1',type,
    'fmb_B_b_option_fun_b_option_fun$_1': 'B_b_option_fun_b_option_fun$' ).

tff('declare_B_b_option_fun_b_option_fun$2',type,
    'fmb_B_b_option_fun_b_option_fun$_2': 'B_b_option_fun_b_option_fun$' ).

tff('declare_B_b_option_fun_b_option_fun$3',type,
    'fmb_B_b_option_fun_b_option_fun$_3': 'B_b_option_fun_b_option_fun$' ).

tff('declare_B_b_option_fun_b_option_fun$4',type,
    'fmb_B_b_option_fun_b_option_fun$_4': 'B_b_option_fun_b_option_fun$' ).

tff('finite_domain_B_b_option_fun_b_option_fun$',axiom,
    ! [X: 'B_b_option_fun_b_option_fun$'] :
      ( ( X = 'fmb_B_b_option_fun_b_option_fun$_1' )
      | ( X = 'fmb_B_b_option_fun_b_option_fun$_2' )
      | ( X = 'fmb_B_b_option_fun_b_option_fun$_3' )
      | ( X = 'fmb_B_b_option_fun_b_option_fun$_4' ) ) ).

tff('distinct_domain_B_b_option_fun_b_option_fun$',axiom,
    ( ( 'fmb_B_b_option_fun_b_option_fun$_1' != 'fmb_B_b_option_fun_b_option_fun$_2' )
    & ( 'fmb_B_b_option_fun_b_option_fun$_1' != 'fmb_B_b_option_fun_b_option_fun$_3' )
    & ( 'fmb_B_b_option_fun_b_option_fun$_1' != 'fmb_B_b_option_fun_b_option_fun$_4' )
    & ( 'fmb_B_b_option_fun_b_option_fun$_2' != 'fmb_B_b_option_fun_b_option_fun$_3' )
    & ( 'fmb_B_b_option_fun_b_option_fun$_2' != 'fmb_B_b_option_fun_b_option_fun$_4' )
    & ( 'fmb_B_b_option_fun_b_option_fun$_3' != 'fmb_B_b_option_fun_b_option_fun$_4' ) ) ).

tff('declare_A_a_prod_set$',type,
    'A_a_prod_set$': $tType ).

tff('declare_A_a_prod_set$1',type,
    'fmb_A_a_prod_set$_1': 'A_a_prod_set$' ).

tff('declare_A_a_prod_set$2',type,
    'fmb_A_a_prod_set$_2': 'A_a_prod_set$' ).

tff('declare_A_a_prod_set$3',type,
    'fmb_A_a_prod_set$_3': 'A_a_prod_set$' ).

tff('declare_A_a_prod_set$4',type,
    'fmb_A_a_prod_set$_4': 'A_a_prod_set$' ).

tff('finite_domain_A_a_prod_set$',axiom,
    ! [X: 'A_a_prod_set$'] :
      ( ( X = 'fmb_A_a_prod_set$_1' )
      | ( X = 'fmb_A_a_prod_set$_2' )
      | ( X = 'fmb_A_a_prod_set$_3' )
      | ( X = 'fmb_A_a_prod_set$_4' ) ) ).

tff('distinct_domain_A_a_prod_set$',axiom,
    ( ( 'fmb_A_a_prod_set$_1' != 'fmb_A_a_prod_set$_2' )
    & ( 'fmb_A_a_prod_set$_1' != 'fmb_A_a_prod_set$_3' )
    & ( 'fmb_A_a_prod_set$_1' != 'fmb_A_a_prod_set$_4' )
    & ( 'fmb_A_a_prod_set$_2' != 'fmb_A_a_prod_set$_3' )
    & ( 'fmb_A_a_prod_set$_2' != 'fmb_A_a_prod_set$_4' )
    & ( 'fmb_A_a_prod_set$_3' != 'fmb_A_a_prod_set$_4' ) ) ).

tff('declare_B_d_prod$',type,
    'B_d_prod$': $tType ).

tff('declare_B_d_prod$1',type,
    'fmb_B_d_prod$_1': 'B_d_prod$' ).

tff('declare_B_d_prod$2',type,
    'fmb_B_d_prod$_2': 'B_d_prod$' ).

tff('declare_B_d_prod$3',type,
    'fmb_B_d_prod$_3': 'B_d_prod$' ).

tff('declare_B_d_prod$4',type,
    'fmb_B_d_prod$_4': 'B_d_prod$' ).

tff('finite_domain_B_d_prod$',axiom,
    ! [X: 'B_d_prod$'] :
      ( ( X = 'fmb_B_d_prod$_1' )
      | ( X = 'fmb_B_d_prod$_2' )
      | ( X = 'fmb_B_d_prod$_3' )
      | ( X = 'fmb_B_d_prod$_4' ) ) ).

tff('distinct_domain_B_d_prod$',axiom,
    ( ( 'fmb_B_d_prod$_1' != 'fmb_B_d_prod$_2' )
    & ( 'fmb_B_d_prod$_1' != 'fmb_B_d_prod$_3' )
    & ( 'fmb_B_d_prod$_1' != 'fmb_B_d_prod$_4' )
    & ( 'fmb_B_d_prod$_2' != 'fmb_B_d_prod$_3' )
    & ( 'fmb_B_d_prod$_2' != 'fmb_B_d_prod$_4' )
    & ( 'fmb_B_d_prod$_3' != 'fmb_B_d_prod$_4' ) ) ).

tff('declare_D_bool_fun$',type,
    'D_bool_fun$': $tType ).

tff('declare_D_bool_fun$1',type,
    'fmb_D_bool_fun$_1': 'D_bool_fun$' ).

tff('declare_D_bool_fun$2',type,
    'fmb_D_bool_fun$_2': 'D_bool_fun$' ).

tff('declare_D_bool_fun$3',type,
    'fmb_D_bool_fun$_3': 'D_bool_fun$' ).

tff('declare_D_bool_fun$4',type,
    'fmb_D_bool_fun$_4': 'D_bool_fun$' ).

tff('finite_domain_D_bool_fun$',axiom,
    ! [X: 'D_bool_fun$'] :
      ( ( X = 'fmb_D_bool_fun$_1' )
      | ( X = 'fmb_D_bool_fun$_2' )
      | ( X = 'fmb_D_bool_fun$_3' )
      | ( X = 'fmb_D_bool_fun$_4' ) ) ).

tff('distinct_domain_D_bool_fun$',axiom,
    ( ( 'fmb_D_bool_fun$_1' != 'fmb_D_bool_fun$_2' )
    & ( 'fmb_D_bool_fun$_1' != 'fmb_D_bool_fun$_3' )
    & ( 'fmb_D_bool_fun$_1' != 'fmb_D_bool_fun$_4' )
    & ( 'fmb_D_bool_fun$_2' != 'fmb_D_bool_fun$_3' )
    & ( 'fmb_D_bool_fun$_2' != 'fmb_D_bool_fun$_4' )
    & ( 'fmb_D_bool_fun$_3' != 'fmb_D_bool_fun$_4' ) ) ).

tff('declare_D_d_prod_set$',type,
    'D_d_prod_set$': $tType ).

tff('declare_D_d_prod_set$1',type,
    'fmb_D_d_prod_set$_1': 'D_d_prod_set$' ).

tff('declare_D_d_prod_set$2',type,
    'fmb_D_d_prod_set$_2': 'D_d_prod_set$' ).

tff('declare_D_d_prod_set$3',type,
    'fmb_D_d_prod_set$_3': 'D_d_prod_set$' ).

tff('declare_D_d_prod_set$4',type,
    'fmb_D_d_prod_set$_4': 'D_d_prod_set$' ).

tff('finite_domain_D_d_prod_set$',axiom,
    ! [X: 'D_d_prod_set$'] :
      ( ( X = 'fmb_D_d_prod_set$_1' )
      | ( X = 'fmb_D_d_prod_set$_2' )
      | ( X = 'fmb_D_d_prod_set$_3' )
      | ( X = 'fmb_D_d_prod_set$_4' ) ) ).

tff('distinct_domain_D_d_prod_set$',axiom,
    ( ( 'fmb_D_d_prod_set$_1' != 'fmb_D_d_prod_set$_2' )
    & ( 'fmb_D_d_prod_set$_1' != 'fmb_D_d_prod_set$_3' )
    & ( 'fmb_D_d_prod_set$_1' != 'fmb_D_d_prod_set$_4' )
    & ( 'fmb_D_d_prod_set$_2' != 'fmb_D_d_prod_set$_3' )
    & ( 'fmb_D_d_prod_set$_2' != 'fmb_D_d_prod_set$_4' )
    & ( 'fmb_D_d_prod_set$_3' != 'fmb_D_d_prod_set$_4' ) ) ).

tff('declare_B_c_prod$',type,
    'B_c_prod$': $tType ).

tff('declare_B_c_prod$1',type,
    'fmb_B_c_prod$_1': 'B_c_prod$' ).

tff('declare_B_c_prod$2',type,
    'fmb_B_c_prod$_2': 'B_c_prod$' ).

tff('declare_B_c_prod$3',type,
    'fmb_B_c_prod$_3': 'B_c_prod$' ).

tff('declare_B_c_prod$4',type,
    'fmb_B_c_prod$_4': 'B_c_prod$' ).

tff('finite_domain_B_c_prod$',axiom,
    ! [X: 'B_c_prod$'] :
      ( ( X = 'fmb_B_c_prod$_1' )
      | ( X = 'fmb_B_c_prod$_2' )
      | ( X = 'fmb_B_c_prod$_3' )
      | ( X = 'fmb_B_c_prod$_4' ) ) ).

tff('distinct_domain_B_c_prod$',axiom,
    ( ( 'fmb_B_c_prod$_1' != 'fmb_B_c_prod$_2' )
    & ( 'fmb_B_c_prod$_1' != 'fmb_B_c_prod$_3' )
    & ( 'fmb_B_c_prod$_1' != 'fmb_B_c_prod$_4' )
    & ( 'fmb_B_c_prod$_2' != 'fmb_B_c_prod$_3' )
    & ( 'fmb_B_c_prod$_2' != 'fmb_B_c_prod$_4' )
    & ( 'fmb_B_c_prod$_3' != 'fmb_B_c_prod$_4' ) ) ).

tff('declare_A_a_prod$',type,
    'A_a_prod$': $tType ).

tff('declare_A_a_prod$1',type,
    'fmb_A_a_prod$_1': 'A_a_prod$' ).

tff('declare_A_a_prod$2',type,
    'fmb_A_a_prod$_2': 'A_a_prod$' ).

tff('declare_A_a_prod$3',type,
    'fmb_A_a_prod$_3': 'A_a_prod$' ).

tff('declare_A_a_prod$4',type,
    'fmb_A_a_prod$_4': 'A_a_prod$' ).

tff('finite_domain_A_a_prod$',axiom,
    ! [X: 'A_a_prod$'] :
      ( ( X = 'fmb_A_a_prod$_1' )
      | ( X = 'fmb_A_a_prod$_2' )
      | ( X = 'fmb_A_a_prod$_3' )
      | ( X = 'fmb_A_a_prod$_4' ) ) ).

tff('distinct_domain_A_a_prod$',axiom,
    ( ( 'fmb_A_a_prod$_1' != 'fmb_A_a_prod$_2' )
    & ( 'fmb_A_a_prod$_1' != 'fmb_A_a_prod$_3' )
    & ( 'fmb_A_a_prod$_1' != 'fmb_A_a_prod$_4' )
    & ( 'fmb_A_a_prod$_2' != 'fmb_A_a_prod$_3' )
    & ( 'fmb_A_a_prod$_2' != 'fmb_A_a_prod$_4' )
    & ( 'fmb_A_a_prod$_3' != 'fmb_A_a_prod$_4' ) ) ).

tff('declare_C_c_option_fun$',type,
    'C_c_option_fun$': $tType ).

tff('declare_C_c_option_fun$1',type,
    'fmb_C_c_option_fun$_1': 'C_c_option_fun$' ).

tff('declare_C_c_option_fun$2',type,
    'fmb_C_c_option_fun$_2': 'C_c_option_fun$' ).

tff('declare_C_c_option_fun$3',type,
    'fmb_C_c_option_fun$_3': 'C_c_option_fun$' ).

tff('declare_C_c_option_fun$4',type,
    'fmb_C_c_option_fun$_4': 'C_c_option_fun$' ).

tff('finite_domain_C_c_option_fun$',axiom,
    ! [X: 'C_c_option_fun$'] :
      ( ( X = 'fmb_C_c_option_fun$_1' )
      | ( X = 'fmb_C_c_option_fun$_2' )
      | ( X = 'fmb_C_c_option_fun$_3' )
      | ( X = 'fmb_C_c_option_fun$_4' ) ) ).

tff('distinct_domain_C_c_option_fun$',axiom,
    ( ( 'fmb_C_c_option_fun$_1' != 'fmb_C_c_option_fun$_2' )
    & ( 'fmb_C_c_option_fun$_1' != 'fmb_C_c_option_fun$_3' )
    & ( 'fmb_C_c_option_fun$_1' != 'fmb_C_c_option_fun$_4' )
    & ( 'fmb_C_c_option_fun$_2' != 'fmb_C_c_option_fun$_3' )
    & ( 'fmb_C_c_option_fun$_2' != 'fmb_C_c_option_fun$_4' )
    & ( 'fmb_C_c_option_fun$_3' != 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_C_option$',type,
    'C_option$': $tType ).

tff('declare_C_option$1',type,
    'fmb_C_option$_1': 'C_option$' ).

tff('declare_C_option$2',type,
    'fmb_C_option$_2': 'C_option$' ).

tff('finite_domain_C_option$',axiom,
    ! [X: 'C_option$'] :
      ( ( X = 'fmb_C_option$_1' )
      | ( X = 'fmb_C_option$_2' ) ) ).

tff('distinct_domain_C_option$',axiom,
    'fmb_C_option$_1' != 'fmb_C_option$_2' ).

tff('declare_B_option$',type,
    'B_option$': $tType ).

tff('declare_B_option$1',type,
    'fmb_B_option$_1': 'B_option$' ).

tff('declare_B_option$2',type,
    'fmb_B_option$_2': 'B_option$' ).

tff('finite_domain_B_option$',axiom,
    ! [X: 'B_option$'] :
      ( ( X = 'fmb_B_option$_1' )
      | ( X = 'fmb_B_option$_2' ) ) ).

tff('distinct_domain_B_option$',axiom,
    'fmb_B_option$_1' != 'fmb_B_option$_2' ).

tff('declare_D_d_fun$',type,
    'D_d_fun$': $tType ).

tff('declare_D_d_fun$1',type,
    'fmb_D_d_fun$_1': 'D_d_fun$' ).

tff('declare_D_d_fun$2',type,
    'fmb_D_d_fun$_2': 'D_d_fun$' ).

tff('declare_D_d_fun$3',type,
    'fmb_D_d_fun$_3': 'D_d_fun$' ).

tff('declare_D_d_fun$4',type,
    'fmb_D_d_fun$_4': 'D_d_fun$' ).

tff('finite_domain_D_d_fun$',axiom,
    ! [X: 'D_d_fun$'] :
      ( ( X = 'fmb_D_d_fun$_1' )
      | ( X = 'fmb_D_d_fun$_2' )
      | ( X = 'fmb_D_d_fun$_3' )
      | ( X = 'fmb_D_d_fun$_4' ) ) ).

tff('distinct_domain_D_d_fun$',axiom,
    ( ( 'fmb_D_d_fun$_1' != 'fmb_D_d_fun$_2' )
    & ( 'fmb_D_d_fun$_1' != 'fmb_D_d_fun$_3' )
    & ( 'fmb_D_d_fun$_1' != 'fmb_D_d_fun$_4' )
    & ( 'fmb_D_d_fun$_2' != 'fmb_D_d_fun$_3' )
    & ( 'fmb_D_d_fun$_2' != 'fmb_D_d_fun$_4' )
    & ( 'fmb_D_d_fun$_3' != 'fmb_D_d_fun$_4' ) ) ).

tff('declare_B_option_c_option_bool_fun_fun$',type,
    'B_option_c_option_bool_fun_fun$': $tType ).

tff('declare_B_option_c_option_bool_fun_fun$1',type,
    'fmb_B_option_c_option_bool_fun_fun$_1': 'B_option_c_option_bool_fun_fun$' ).

tff('declare_B_option_c_option_bool_fun_fun$2',type,
    'fmb_B_option_c_option_bool_fun_fun$_2': 'B_option_c_option_bool_fun_fun$' ).

tff('declare_B_option_c_option_bool_fun_fun$3',type,
    'fmb_B_option_c_option_bool_fun_fun$_3': 'B_option_c_option_bool_fun_fun$' ).

tff('declare_B_option_c_option_bool_fun_fun$4',type,
    'fmb_B_option_c_option_bool_fun_fun$_4': 'B_option_c_option_bool_fun_fun$' ).

tff('finite_domain_B_option_c_option_bool_fun_fun$',axiom,
    ! [X: 'B_option_c_option_bool_fun_fun$'] :
      ( ( X = 'fmb_B_option_c_option_bool_fun_fun$_1' )
      | ( X = 'fmb_B_option_c_option_bool_fun_fun$_2' )
      | ( X = 'fmb_B_option_c_option_bool_fun_fun$_3' )
      | ( X = 'fmb_B_option_c_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_B_option_c_option_bool_fun_fun$',axiom,
    ( ( 'fmb_B_option_c_option_bool_fun_fun$_1' != 'fmb_B_option_c_option_bool_fun_fun$_2' )
    & ( 'fmb_B_option_c_option_bool_fun_fun$_1' != 'fmb_B_option_c_option_bool_fun_fun$_3' )
    & ( 'fmb_B_option_c_option_bool_fun_fun$_1' != 'fmb_B_option_c_option_bool_fun_fun$_4' )
    & ( 'fmb_B_option_c_option_bool_fun_fun$_2' != 'fmb_B_option_c_option_bool_fun_fun$_3' )
    & ( 'fmb_B_option_c_option_bool_fun_fun$_2' != 'fmb_B_option_c_option_bool_fun_fun$_4' )
    & ( 'fmb_B_option_c_option_bool_fun_fun$_3' != 'fmb_B_option_c_option_bool_fun_fun$_4' ) ) ).

tff('declare_B_d_option_fun$',type,
    'B_d_option_fun$': $tType ).

tff('declare_B_d_option_fun$1',type,
    'fmb_B_d_option_fun$_1': 'B_d_option_fun$' ).

tff('declare_B_d_option_fun$2',type,
    'fmb_B_d_option_fun$_2': 'B_d_option_fun$' ).

tff('declare_B_d_option_fun$3',type,
    'fmb_B_d_option_fun$_3': 'B_d_option_fun$' ).

tff('declare_B_d_option_fun$4',type,
    'fmb_B_d_option_fun$_4': 'B_d_option_fun$' ).

tff('finite_domain_B_d_option_fun$',axiom,
    ! [X: 'B_d_option_fun$'] :
      ( ( X = 'fmb_B_d_option_fun$_1' )
      | ( X = 'fmb_B_d_option_fun$_2' )
      | ( X = 'fmb_B_d_option_fun$_3' )
      | ( X = 'fmb_B_d_option_fun$_4' ) ) ).

tff('distinct_domain_B_d_option_fun$',axiom,
    ( ( 'fmb_B_d_option_fun$_1' != 'fmb_B_d_option_fun$_2' )
    & ( 'fmb_B_d_option_fun$_1' != 'fmb_B_d_option_fun$_3' )
    & ( 'fmb_B_d_option_fun$_1' != 'fmb_B_d_option_fun$_4' )
    & ( 'fmb_B_d_option_fun$_2' != 'fmb_B_d_option_fun$_3' )
    & ( 'fmb_B_d_option_fun$_2' != 'fmb_B_d_option_fun$_4' )
    & ( 'fmb_B_d_option_fun$_3' != 'fmb_B_d_option_fun$_4' ) ) ).

tff('declare_C_c_prod$',type,
    'C_c_prod$': $tType ).

tff('declare_C_c_prod$1',type,
    'fmb_C_c_prod$_1': 'C_c_prod$' ).

tff('declare_C_c_prod$2',type,
    'fmb_C_c_prod$_2': 'C_c_prod$' ).

tff('declare_C_c_prod$3',type,
    'fmb_C_c_prod$_3': 'C_c_prod$' ).

tff('declare_C_c_prod$4',type,
    'fmb_C_c_prod$_4': 'C_c_prod$' ).

tff('finite_domain_C_c_prod$',axiom,
    ! [X: 'C_c_prod$'] :
      ( ( X = 'fmb_C_c_prod$_1' )
      | ( X = 'fmb_C_c_prod$_2' )
      | ( X = 'fmb_C_c_prod$_3' )
      | ( X = 'fmb_C_c_prod$_4' ) ) ).

tff('distinct_domain_C_c_prod$',axiom,
    ( ( 'fmb_C_c_prod$_1' != 'fmb_C_c_prod$_2' )
    & ( 'fmb_C_c_prod$_1' != 'fmb_C_c_prod$_3' )
    & ( 'fmb_C_c_prod$_1' != 'fmb_C_c_prod$_4' )
    & ( 'fmb_C_c_prod$_2' != 'fmb_C_c_prod$_3' )
    & ( 'fmb_C_c_prod$_2' != 'fmb_C_c_prod$_4' )
    & ( 'fmb_C_c_prod$_3' != 'fmb_C_c_prod$_4' ) ) ).

tff('declare_A_d_prod_set$',type,
    'A_d_prod_set$': $tType ).

tff('declare_A_d_prod_set$1',type,
    'fmb_A_d_prod_set$_1': 'A_d_prod_set$' ).

tff('finite_domain_A_d_prod_set$',axiom,
    ! [X: 'A_d_prod_set$'] : ( X = 'fmb_A_d_prod_set$_1' ) ).

tff('declare_C_a_prod_set$',type,
    'C_a_prod_set$': $tType ).

tff('declare_C_a_prod_set$1',type,
    'fmb_C_a_prod_set$_1': 'C_a_prod_set$' ).

tff('declare_C_a_prod_set$2',type,
    'fmb_C_a_prod_set$_2': 'C_a_prod_set$' ).

tff('declare_C_a_prod_set$3',type,
    'fmb_C_a_prod_set$_3': 'C_a_prod_set$' ).

tff('declare_C_a_prod_set$4',type,
    'fmb_C_a_prod_set$_4': 'C_a_prod_set$' ).

tff('finite_domain_C_a_prod_set$',axiom,
    ! [X: 'C_a_prod_set$'] :
      ( ( X = 'fmb_C_a_prod_set$_1' )
      | ( X = 'fmb_C_a_prod_set$_2' )
      | ( X = 'fmb_C_a_prod_set$_3' )
      | ( X = 'fmb_C_a_prod_set$_4' ) ) ).

tff('distinct_domain_C_a_prod_set$',axiom,
    ( ( 'fmb_C_a_prod_set$_1' != 'fmb_C_a_prod_set$_2' )
    & ( 'fmb_C_a_prod_set$_1' != 'fmb_C_a_prod_set$_3' )
    & ( 'fmb_C_a_prod_set$_1' != 'fmb_C_a_prod_set$_4' )
    & ( 'fmb_C_a_prod_set$_2' != 'fmb_C_a_prod_set$_3' )
    & ( 'fmb_C_a_prod_set$_2' != 'fmb_C_a_prod_set$_4' )
    & ( 'fmb_C_a_prod_set$_3' != 'fmb_C_a_prod_set$_4' ) ) ).

tff('declare_B_b_fun$',type,
    'B_b_fun$': $tType ).

tff('declare_B_b_fun$1',type,
    'fmb_B_b_fun$_1': 'B_b_fun$' ).

tff('declare_B_b_fun$2',type,
    'fmb_B_b_fun$_2': 'B_b_fun$' ).

tff('declare_B_b_fun$3',type,
    'fmb_B_b_fun$_3': 'B_b_fun$' ).

tff('declare_B_b_fun$4',type,
    'fmb_B_b_fun$_4': 'B_b_fun$' ).

tff('finite_domain_B_b_fun$',axiom,
    ! [X: 'B_b_fun$'] :
      ( ( X = 'fmb_B_b_fun$_1' )
      | ( X = 'fmb_B_b_fun$_2' )
      | ( X = 'fmb_B_b_fun$_3' )
      | ( X = 'fmb_B_b_fun$_4' ) ) ).

tff('distinct_domain_B_b_fun$',axiom,
    ( ( 'fmb_B_b_fun$_1' != 'fmb_B_b_fun$_2' )
    & ( 'fmb_B_b_fun$_1' != 'fmb_B_b_fun$_3' )
    & ( 'fmb_B_b_fun$_1' != 'fmb_B_b_fun$_4' )
    & ( 'fmb_B_b_fun$_2' != 'fmb_B_b_fun$_3' )
    & ( 'fmb_B_b_fun$_2' != 'fmb_B_b_fun$_4' )
    & ( 'fmb_B_b_fun$_3' != 'fmb_B_b_fun$_4' ) ) ).

tff('declare_C_c_c_fun_fun$',type,
    'C_c_c_fun_fun$': $tType ).

tff('declare_C_c_c_fun_fun$1',type,
    'fmb_C_c_c_fun_fun$_1': 'C_c_c_fun_fun$' ).

tff('declare_C_c_c_fun_fun$2',type,
    'fmb_C_c_c_fun_fun$_2': 'C_c_c_fun_fun$' ).

tff('declare_C_c_c_fun_fun$3',type,
    'fmb_C_c_c_fun_fun$_3': 'C_c_c_fun_fun$' ).

tff('declare_C_c_c_fun_fun$4',type,
    'fmb_C_c_c_fun_fun$_4': 'C_c_c_fun_fun$' ).

tff('finite_domain_C_c_c_fun_fun$',axiom,
    ! [X: 'C_c_c_fun_fun$'] :
      ( ( X = 'fmb_C_c_c_fun_fun$_1' )
      | ( X = 'fmb_C_c_c_fun_fun$_2' )
      | ( X = 'fmb_C_c_c_fun_fun$_3' )
      | ( X = 'fmb_C_c_c_fun_fun$_4' ) ) ).

tff('distinct_domain_C_c_c_fun_fun$',axiom,
    ( ( 'fmb_C_c_c_fun_fun$_1' != 'fmb_C_c_c_fun_fun$_2' )
    & ( 'fmb_C_c_c_fun_fun$_1' != 'fmb_C_c_c_fun_fun$_3' )
    & ( 'fmb_C_c_c_fun_fun$_1' != 'fmb_C_c_c_fun_fun$_4' )
    & ( 'fmb_C_c_c_fun_fun$_2' != 'fmb_C_c_c_fun_fun$_3' )
    & ( 'fmb_C_c_c_fun_fun$_2' != 'fmb_C_c_c_fun_fun$_4' )
    & ( 'fmb_C_c_c_fun_fun$_3' != 'fmb_C_c_c_fun_fun$_4' ) ) ).

tff('declare_C_c_fun$',type,
    'C_c_fun$': $tType ).

tff('declare_C_c_fun$1',type,
    'fmb_C_c_fun$_1': 'C_c_fun$' ).

tff('declare_C_c_fun$2',type,
    'fmb_C_c_fun$_2': 'C_c_fun$' ).

tff('declare_C_c_fun$3',type,
    'fmb_C_c_fun$_3': 'C_c_fun$' ).

tff('declare_C_c_fun$4',type,
    'fmb_C_c_fun$_4': 'C_c_fun$' ).

tff('finite_domain_C_c_fun$',axiom,
    ! [X: 'C_c_fun$'] :
      ( ( X = 'fmb_C_c_fun$_1' )
      | ( X = 'fmb_C_c_fun$_2' )
      | ( X = 'fmb_C_c_fun$_3' )
      | ( X = 'fmb_C_c_fun$_4' ) ) ).

tff('distinct_domain_C_c_fun$',axiom,
    ( ( 'fmb_C_c_fun$_1' != 'fmb_C_c_fun$_2' )
    & ( 'fmb_C_c_fun$_1' != 'fmb_C_c_fun$_3' )
    & ( 'fmb_C_c_fun$_1' != 'fmb_C_c_fun$_4' )
    & ( 'fmb_C_c_fun$_2' != 'fmb_C_c_fun$_3' )
    & ( 'fmb_C_c_fun$_2' != 'fmb_C_c_fun$_4' )
    & ( 'fmb_C_c_fun$_3' != 'fmb_C_c_fun$_4' ) ) ).

tff('declare_B_option_b_option_fun$',type,
    'B_option_b_option_fun$': $tType ).

tff('declare_B_option_b_option_fun$1',type,
    'fmb_B_option_b_option_fun$_1': 'B_option_b_option_fun$' ).

tff('declare_B_option_b_option_fun$2',type,
    'fmb_B_option_b_option_fun$_2': 'B_option_b_option_fun$' ).

tff('declare_B_option_b_option_fun$3',type,
    'fmb_B_option_b_option_fun$_3': 'B_option_b_option_fun$' ).

tff('declare_B_option_b_option_fun$4',type,
    'fmb_B_option_b_option_fun$_4': 'B_option_b_option_fun$' ).

tff('finite_domain_B_option_b_option_fun$',axiom,
    ! [X: 'B_option_b_option_fun$'] :
      ( ( X = 'fmb_B_option_b_option_fun$_1' )
      | ( X = 'fmb_B_option_b_option_fun$_2' )
      | ( X = 'fmb_B_option_b_option_fun$_3' )
      | ( X = 'fmb_B_option_b_option_fun$_4' ) ) ).

tff('distinct_domain_B_option_b_option_fun$',axiom,
    ( ( 'fmb_B_option_b_option_fun$_1' != 'fmb_B_option_b_option_fun$_2' )
    & ( 'fmb_B_option_b_option_fun$_1' != 'fmb_B_option_b_option_fun$_3' )
    & ( 'fmb_B_option_b_option_fun$_1' != 'fmb_B_option_b_option_fun$_4' )
    & ( 'fmb_B_option_b_option_fun$_2' != 'fmb_B_option_b_option_fun$_3' )
    & ( 'fmb_B_option_b_option_fun$_2' != 'fmb_B_option_b_option_fun$_4' )
    & ( 'fmb_B_option_b_option_fun$_3' != 'fmb_B_option_b_option_fun$_4' ) ) ).

tff('declare_B_c_option_fun$',type,
    'B_c_option_fun$': $tType ).

tff('declare_B_c_option_fun$1',type,
    'fmb_B_c_option_fun$_1': 'B_c_option_fun$' ).

tff('declare_B_c_option_fun$2',type,
    'fmb_B_c_option_fun$_2': 'B_c_option_fun$' ).

tff('declare_B_c_option_fun$3',type,
    'fmb_B_c_option_fun$_3': 'B_c_option_fun$' ).

tff('declare_B_c_option_fun$4',type,
    'fmb_B_c_option_fun$_4': 'B_c_option_fun$' ).

tff('finite_domain_B_c_option_fun$',axiom,
    ! [X: 'B_c_option_fun$'] :
      ( ( X = 'fmb_B_c_option_fun$_1' )
      | ( X = 'fmb_B_c_option_fun$_2' )
      | ( X = 'fmb_B_c_option_fun$_3' )
      | ( X = 'fmb_B_c_option_fun$_4' ) ) ).

tff('distinct_domain_B_c_option_fun$',axiom,
    ( ( 'fmb_B_c_option_fun$_1' != 'fmb_B_c_option_fun$_2' )
    & ( 'fmb_B_c_option_fun$_1' != 'fmb_B_c_option_fun$_3' )
    & ( 'fmb_B_c_option_fun$_1' != 'fmb_B_c_option_fun$_4' )
    & ( 'fmb_B_c_option_fun$_2' != 'fmb_B_c_option_fun$_3' )
    & ( 'fmb_B_c_option_fun$_2' != 'fmb_B_c_option_fun$_4' )
    & ( 'fmb_B_c_option_fun$_3' != 'fmb_B_c_option_fun$_4' ) ) ).

tff('declare_C_a_option_fun$',type,
    'C_a_option_fun$': $tType ).

tff('declare_C_a_option_fun$1',type,
    'fmb_C_a_option_fun$_1': 'C_a_option_fun$' ).

tff('declare_C_a_option_fun$2',type,
    'fmb_C_a_option_fun$_2': 'C_a_option_fun$' ).

tff('declare_C_a_option_fun$3',type,
    'fmb_C_a_option_fun$_3': 'C_a_option_fun$' ).

tff('declare_C_a_option_fun$4',type,
    'fmb_C_a_option_fun$_4': 'C_a_option_fun$' ).

tff('finite_domain_C_a_option_fun$',axiom,
    ! [X: 'C_a_option_fun$'] :
      ( ( X = 'fmb_C_a_option_fun$_1' )
      | ( X = 'fmb_C_a_option_fun$_2' )
      | ( X = 'fmb_C_a_option_fun$_3' )
      | ( X = 'fmb_C_a_option_fun$_4' ) ) ).

tff('distinct_domain_C_a_option_fun$',axiom,
    ( ( 'fmb_C_a_option_fun$_1' != 'fmb_C_a_option_fun$_2' )
    & ( 'fmb_C_a_option_fun$_1' != 'fmb_C_a_option_fun$_3' )
    & ( 'fmb_C_a_option_fun$_1' != 'fmb_C_a_option_fun$_4' )
    & ( 'fmb_C_a_option_fun$_2' != 'fmb_C_a_option_fun$_3' )
    & ( 'fmb_C_a_option_fun$_2' != 'fmb_C_a_option_fun$_4' )
    & ( 'fmb_C_a_option_fun$_3' != 'fmb_C_a_option_fun$_4' ) ) ).

tff('declare_C_a_prod$',type,
    'C_a_prod$': $tType ).

tff('declare_C_a_prod$1',type,
    'fmb_C_a_prod$_1': 'C_a_prod$' ).

tff('declare_C_a_prod$2',type,
    'fmb_C_a_prod$_2': 'C_a_prod$' ).

tff('declare_C_a_prod$3',type,
    'fmb_C_a_prod$_3': 'C_a_prod$' ).

tff('declare_C_a_prod$4',type,
    'fmb_C_a_prod$_4': 'C_a_prod$' ).

tff('finite_domain_C_a_prod$',axiom,
    ! [X: 'C_a_prod$'] :
      ( ( X = 'fmb_C_a_prod$_1' )
      | ( X = 'fmb_C_a_prod$_2' )
      | ( X = 'fmb_C_a_prod$_3' )
      | ( X = 'fmb_C_a_prod$_4' ) ) ).

tff('distinct_domain_C_a_prod$',axiom,
    ( ( 'fmb_C_a_prod$_1' != 'fmb_C_a_prod$_2' )
    & ( 'fmb_C_a_prod$_1' != 'fmb_C_a_prod$_3' )
    & ( 'fmb_C_a_prod$_1' != 'fmb_C_a_prod$_4' )
    & ( 'fmb_C_a_prod$_2' != 'fmb_C_a_prod$_3' )
    & ( 'fmb_C_a_prod$_2' != 'fmb_C_a_prod$_4' )
    & ( 'fmb_C_a_prod$_3' != 'fmb_C_a_prod$_4' ) ) ).

tff('declare_C_option_set$',type,
    'C_option_set$': $tType ).

tff('declare_C_option_set$1',type,
    'fmb_C_option_set$_1': 'C_option_set$' ).

tff('declare_C_option_set$2',type,
    'fmb_C_option_set$_2': 'C_option_set$' ).

tff('declare_C_option_set$3',type,
    'fmb_C_option_set$_3': 'C_option_set$' ).

tff('declare_C_option_set$4',type,
    'fmb_C_option_set$_4': 'C_option_set$' ).

tff('finite_domain_C_option_set$',axiom,
    ! [X: 'C_option_set$'] :
      ( ( X = 'fmb_C_option_set$_1' )
      | ( X = 'fmb_C_option_set$_2' )
      | ( X = 'fmb_C_option_set$_3' )
      | ( X = 'fmb_C_option_set$_4' ) ) ).

tff('distinct_domain_C_option_set$',axiom,
    ( ( 'fmb_C_option_set$_1' != 'fmb_C_option_set$_2' )
    & ( 'fmb_C_option_set$_1' != 'fmb_C_option_set$_3' )
    & ( 'fmb_C_option_set$_1' != 'fmb_C_option_set$_4' )
    & ( 'fmb_C_option_set$_2' != 'fmb_C_option_set$_3' )
    & ( 'fmb_C_option_set$_2' != 'fmb_C_option_set$_4' )
    & ( 'fmb_C_option_set$_3' != 'fmb_C_option_set$_4' ) ) ).

tff('declare_D_b_prod_set$',type,
    'D_b_prod_set$': $tType ).

tff('declare_D_b_prod_set$1',type,
    'fmb_D_b_prod_set$_1': 'D_b_prod_set$' ).

tff('declare_D_b_prod_set$2',type,
    'fmb_D_b_prod_set$_2': 'D_b_prod_set$' ).

tff('declare_D_b_prod_set$3',type,
    'fmb_D_b_prod_set$_3': 'D_b_prod_set$' ).

tff('declare_D_b_prod_set$4',type,
    'fmb_D_b_prod_set$_4': 'D_b_prod_set$' ).

tff('finite_domain_D_b_prod_set$',axiom,
    ! [X: 'D_b_prod_set$'] :
      ( ( X = 'fmb_D_b_prod_set$_1' )
      | ( X = 'fmb_D_b_prod_set$_2' )
      | ( X = 'fmb_D_b_prod_set$_3' )
      | ( X = 'fmb_D_b_prod_set$_4' ) ) ).

tff('distinct_domain_D_b_prod_set$',axiom,
    ( ( 'fmb_D_b_prod_set$_1' != 'fmb_D_b_prod_set$_2' )
    & ( 'fmb_D_b_prod_set$_1' != 'fmb_D_b_prod_set$_3' )
    & ( 'fmb_D_b_prod_set$_1' != 'fmb_D_b_prod_set$_4' )
    & ( 'fmb_D_b_prod_set$_2' != 'fmb_D_b_prod_set$_3' )
    & ( 'fmb_D_b_prod_set$_2' != 'fmb_D_b_prod_set$_4' )
    & ( 'fmb_D_b_prod_set$_3' != 'fmb_D_b_prod_set$_4' ) ) ).

tff('declare_D$',type,
    'D$': $tType ).

tff('declare_D$1',type,
    'fmb_D$_1': 'D$' ).

tff('finite_domain_D$',axiom,
    ! [X: 'D$'] : ( X = 'fmb_D$_1' ) ).

tff('declare_D_b_option_fun$',type,
    'D_b_option_fun$': $tType ).

tff('declare_D_b_option_fun$1',type,
    'fmb_D_b_option_fun$_1': 'D_b_option_fun$' ).

tff('declare_D_b_option_fun$2',type,
    'fmb_D_b_option_fun$_2': 'D_b_option_fun$' ).

tff('declare_D_b_option_fun$3',type,
    'fmb_D_b_option_fun$_3': 'D_b_option_fun$' ).

tff('declare_D_b_option_fun$4',type,
    'fmb_D_b_option_fun$_4': 'D_b_option_fun$' ).

tff('finite_domain_D_b_option_fun$',axiom,
    ! [X: 'D_b_option_fun$'] :
      ( ( X = 'fmb_D_b_option_fun$_1' )
      | ( X = 'fmb_D_b_option_fun$_2' )
      | ( X = 'fmb_D_b_option_fun$_3' )
      | ( X = 'fmb_D_b_option_fun$_4' ) ) ).

tff('distinct_domain_D_b_option_fun$',axiom,
    ( ( 'fmb_D_b_option_fun$_1' != 'fmb_D_b_option_fun$_2' )
    & ( 'fmb_D_b_option_fun$_1' != 'fmb_D_b_option_fun$_3' )
    & ( 'fmb_D_b_option_fun$_1' != 'fmb_D_b_option_fun$_4' )
    & ( 'fmb_D_b_option_fun$_2' != 'fmb_D_b_option_fun$_3' )
    & ( 'fmb_D_b_option_fun$_2' != 'fmb_D_b_option_fun$_4' )
    & ( 'fmb_D_b_option_fun$_3' != 'fmb_D_b_option_fun$_4' ) ) ).

tff('declare_D_d_d_fun_fun$',type,
    'D_d_d_fun_fun$': $tType ).

tff('declare_D_d_d_fun_fun$1',type,
    'fmb_D_d_d_fun_fun$_1': 'D_d_d_fun_fun$' ).

tff('declare_D_d_d_fun_fun$2',type,
    'fmb_D_d_d_fun_fun$_2': 'D_d_d_fun_fun$' ).

tff('declare_D_d_d_fun_fun$3',type,
    'fmb_D_d_d_fun_fun$_3': 'D_d_d_fun_fun$' ).

tff('declare_D_d_d_fun_fun$4',type,
    'fmb_D_d_d_fun_fun$_4': 'D_d_d_fun_fun$' ).

tff('finite_domain_D_d_d_fun_fun$',axiom,
    ! [X: 'D_d_d_fun_fun$'] :
      ( ( X = 'fmb_D_d_d_fun_fun$_1' )
      | ( X = 'fmb_D_d_d_fun_fun$_2' )
      | ( X = 'fmb_D_d_d_fun_fun$_3' )
      | ( X = 'fmb_D_d_d_fun_fun$_4' ) ) ).

tff('distinct_domain_D_d_d_fun_fun$',axiom,
    ( ( 'fmb_D_d_d_fun_fun$_1' != 'fmb_D_d_d_fun_fun$_2' )
    & ( 'fmb_D_d_d_fun_fun$_1' != 'fmb_D_d_d_fun_fun$_3' )
    & ( 'fmb_D_d_d_fun_fun$_1' != 'fmb_D_d_d_fun_fun$_4' )
    & ( 'fmb_D_d_d_fun_fun$_2' != 'fmb_D_d_d_fun_fun$_3' )
    & ( 'fmb_D_d_d_fun_fun$_2' != 'fmb_D_d_d_fun_fun$_4' )
    & ( 'fmb_D_d_d_fun_fun$_3' != 'fmb_D_d_d_fun_fun$_4' ) ) ).

tff('declare_B_d_prod_set$',type,
    'B_d_prod_set$': $tType ).

tff('declare_B_d_prod_set$1',type,
    'fmb_B_d_prod_set$_1': 'B_d_prod_set$' ).

tff('declare_B_d_prod_set$2',type,
    'fmb_B_d_prod_set$_2': 'B_d_prod_set$' ).

tff('declare_B_d_prod_set$3',type,
    'fmb_B_d_prod_set$_3': 'B_d_prod_set$' ).

tff('declare_B_d_prod_set$4',type,
    'fmb_B_d_prod_set$_4': 'B_d_prod_set$' ).

tff('finite_domain_B_d_prod_set$',axiom,
    ! [X: 'B_d_prod_set$'] :
      ( ( X = 'fmb_B_d_prod_set$_1' )
      | ( X = 'fmb_B_d_prod_set$_2' )
      | ( X = 'fmb_B_d_prod_set$_3' )
      | ( X = 'fmb_B_d_prod_set$_4' ) ) ).

tff('distinct_domain_B_d_prod_set$',axiom,
    ( ( 'fmb_B_d_prod_set$_1' != 'fmb_B_d_prod_set$_2' )
    & ( 'fmb_B_d_prod_set$_1' != 'fmb_B_d_prod_set$_3' )
    & ( 'fmb_B_d_prod_set$_1' != 'fmb_B_d_prod_set$_4' )
    & ( 'fmb_B_d_prod_set$_2' != 'fmb_B_d_prod_set$_3' )
    & ( 'fmb_B_d_prod_set$_2' != 'fmb_B_d_prod_set$_4' )
    & ( 'fmb_B_d_prod_set$_3' != 'fmb_B_d_prod_set$_4' ) ) ).

tff('declare_C_option_c_option_bool_fun_fun$',type,
    'C_option_c_option_bool_fun_fun$': $tType ).

tff('declare_C_option_c_option_bool_fun_fun$1',type,
    'fmb_C_option_c_option_bool_fun_fun$_1': 'C_option_c_option_bool_fun_fun$' ).

tff('declare_C_option_c_option_bool_fun_fun$2',type,
    'fmb_C_option_c_option_bool_fun_fun$_2': 'C_option_c_option_bool_fun_fun$' ).

tff('declare_C_option_c_option_bool_fun_fun$3',type,
    'fmb_C_option_c_option_bool_fun_fun$_3': 'C_option_c_option_bool_fun_fun$' ).

tff('declare_C_option_c_option_bool_fun_fun$4',type,
    'fmb_C_option_c_option_bool_fun_fun$_4': 'C_option_c_option_bool_fun_fun$' ).

tff('finite_domain_C_option_c_option_bool_fun_fun$',axiom,
    ! [X: 'C_option_c_option_bool_fun_fun$'] :
      ( ( X = 'fmb_C_option_c_option_bool_fun_fun$_1' )
      | ( X = 'fmb_C_option_c_option_bool_fun_fun$_2' )
      | ( X = 'fmb_C_option_c_option_bool_fun_fun$_3' )
      | ( X = 'fmb_C_option_c_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_C_option_c_option_bool_fun_fun$',axiom,
    ( ( 'fmb_C_option_c_option_bool_fun_fun$_1' != 'fmb_C_option_c_option_bool_fun_fun$_2' )
    & ( 'fmb_C_option_c_option_bool_fun_fun$_1' != 'fmb_C_option_c_option_bool_fun_fun$_3' )
    & ( 'fmb_C_option_c_option_bool_fun_fun$_1' != 'fmb_C_option_c_option_bool_fun_fun$_4' )
    & ( 'fmb_C_option_c_option_bool_fun_fun$_2' != 'fmb_C_option_c_option_bool_fun_fun$_3' )
    & ( 'fmb_C_option_c_option_bool_fun_fun$_2' != 'fmb_C_option_c_option_bool_fun_fun$_4' )
    & ( 'fmb_C_option_c_option_bool_fun_fun$_3' != 'fmb_C_option_c_option_bool_fun_fun$_4' ) ) ).

tff('declare_D_b_prod$',type,
    'D_b_prod$': $tType ).

tff('declare_D_b_prod$1',type,
    'fmb_D_b_prod$_1': 'D_b_prod$' ).

tff('declare_D_b_prod$2',type,
    'fmb_D_b_prod$_2': 'D_b_prod$' ).

tff('declare_D_b_prod$3',type,
    'fmb_D_b_prod$_3': 'D_b_prod$' ).

tff('declare_D_b_prod$4',type,
    'fmb_D_b_prod$_4': 'D_b_prod$' ).

tff('finite_domain_D_b_prod$',axiom,
    ! [X: 'D_b_prod$'] :
      ( ( X = 'fmb_D_b_prod$_1' )
      | ( X = 'fmb_D_b_prod$_2' )
      | ( X = 'fmb_D_b_prod$_3' )
      | ( X = 'fmb_D_b_prod$_4' ) ) ).

tff('distinct_domain_D_b_prod$',axiom,
    ( ( 'fmb_D_b_prod$_1' != 'fmb_D_b_prod$_2' )
    & ( 'fmb_D_b_prod$_1' != 'fmb_D_b_prod$_3' )
    & ( 'fmb_D_b_prod$_1' != 'fmb_D_b_prod$_4' )
    & ( 'fmb_D_b_prod$_2' != 'fmb_D_b_prod$_3' )
    & ( 'fmb_D_b_prod$_2' != 'fmb_D_b_prod$_4' )
    & ( 'fmb_D_b_prod$_3' != 'fmb_D_b_prod$_4' ) ) ).

tff('declare_A_b_prod_set$',type,
    'A_b_prod_set$': $tType ).

tff('declare_A_b_prod_set$1',type,
    'fmb_A_b_prod_set$_1': 'A_b_prod_set$' ).

tff('finite_domain_A_b_prod_set$',axiom,
    ! [X: 'A_b_prod_set$'] : ( X = 'fmb_A_b_prod_set$_1' ) ).

tff('declare_B_b_prod_set$',type,
    'B_b_prod_set$': $tType ).

tff('declare_B_b_prod_set$1',type,
    'fmb_B_b_prod_set$_1': 'B_b_prod_set$' ).

tff('declare_B_b_prod_set$2',type,
    'fmb_B_b_prod_set$_2': 'B_b_prod_set$' ).

tff('declare_B_b_prod_set$3',type,
    'fmb_B_b_prod_set$_3': 'B_b_prod_set$' ).

tff('declare_B_b_prod_set$4',type,
    'fmb_B_b_prod_set$_4': 'B_b_prod_set$' ).

tff('finite_domain_B_b_prod_set$',axiom,
    ! [X: 'B_b_prod_set$'] :
      ( ( X = 'fmb_B_b_prod_set$_1' )
      | ( X = 'fmb_B_b_prod_set$_2' )
      | ( X = 'fmb_B_b_prod_set$_3' )
      | ( X = 'fmb_B_b_prod_set$_4' ) ) ).

tff('distinct_domain_B_b_prod_set$',axiom,
    ( ( 'fmb_B_b_prod_set$_1' != 'fmb_B_b_prod_set$_2' )
    & ( 'fmb_B_b_prod_set$_1' != 'fmb_B_b_prod_set$_3' )
    & ( 'fmb_B_b_prod_set$_1' != 'fmb_B_b_prod_set$_4' )
    & ( 'fmb_B_b_prod_set$_2' != 'fmb_B_b_prod_set$_3' )
    & ( 'fmb_B_b_prod_set$_2' != 'fmb_B_b_prod_set$_4' )
    & ( 'fmb_B_b_prod_set$_3' != 'fmb_B_b_prod_set$_4' ) ) ).

tff('declare_C_b_option_fun$',type,
    'C_b_option_fun$': $tType ).

tff('declare_C_b_option_fun$1',type,
    'fmb_C_b_option_fun$_1': 'C_b_option_fun$' ).

tff('declare_C_b_option_fun$2',type,
    'fmb_C_b_option_fun$_2': 'C_b_option_fun$' ).

tff('declare_C_b_option_fun$3',type,
    'fmb_C_b_option_fun$_3': 'C_b_option_fun$' ).

tff('declare_C_b_option_fun$4',type,
    'fmb_C_b_option_fun$_4': 'C_b_option_fun$' ).

tff('finite_domain_C_b_option_fun$',axiom,
    ! [X: 'C_b_option_fun$'] :
      ( ( X = 'fmb_C_b_option_fun$_1' )
      | ( X = 'fmb_C_b_option_fun$_2' )
      | ( X = 'fmb_C_b_option_fun$_3' )
      | ( X = 'fmb_C_b_option_fun$_4' ) ) ).

tff('distinct_domain_C_b_option_fun$',axiom,
    ( ( 'fmb_C_b_option_fun$_1' != 'fmb_C_b_option_fun$_2' )
    & ( 'fmb_C_b_option_fun$_1' != 'fmb_C_b_option_fun$_3' )
    & ( 'fmb_C_b_option_fun$_1' != 'fmb_C_b_option_fun$_4' )
    & ( 'fmb_C_b_option_fun$_2' != 'fmb_C_b_option_fun$_3' )
    & ( 'fmb_C_b_option_fun$_2' != 'fmb_C_b_option_fun$_4' )
    & ( 'fmb_C_b_option_fun$_3' != 'fmb_C_b_option_fun$_4' ) ) ).

tff('declare_B$',type,
    'B$': $tType ).

tff('declare_B$1',type,
    'fmb_B$_1': 'B$' ).

tff('finite_domain_B$',axiom,
    ! [X: 'B$'] : ( X = 'fmb_B$_1' ) ).

tff('declare_C_option_b_option_bool_fun_fun$',type,
    'C_option_b_option_bool_fun_fun$': $tType ).

tff('declare_C_option_b_option_bool_fun_fun$1',type,
    'fmb_C_option_b_option_bool_fun_fun$_1': 'C_option_b_option_bool_fun_fun$' ).

tff('declare_C_option_b_option_bool_fun_fun$2',type,
    'fmb_C_option_b_option_bool_fun_fun$_2': 'C_option_b_option_bool_fun_fun$' ).

tff('declare_C_option_b_option_bool_fun_fun$3',type,
    'fmb_C_option_b_option_bool_fun_fun$_3': 'C_option_b_option_bool_fun_fun$' ).

tff('declare_C_option_b_option_bool_fun_fun$4',type,
    'fmb_C_option_b_option_bool_fun_fun$_4': 'C_option_b_option_bool_fun_fun$' ).

tff('finite_domain_C_option_b_option_bool_fun_fun$',axiom,
    ! [X: 'C_option_b_option_bool_fun_fun$'] :
      ( ( X = 'fmb_C_option_b_option_bool_fun_fun$_1' )
      | ( X = 'fmb_C_option_b_option_bool_fun_fun$_2' )
      | ( X = 'fmb_C_option_b_option_bool_fun_fun$_3' )
      | ( X = 'fmb_C_option_b_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_C_option_b_option_bool_fun_fun$',axiom,
    ( ( 'fmb_C_option_b_option_bool_fun_fun$_1' != 'fmb_C_option_b_option_bool_fun_fun$_2' )
    & ( 'fmb_C_option_b_option_bool_fun_fun$_1' != 'fmb_C_option_b_option_bool_fun_fun$_3' )
    & ( 'fmb_C_option_b_option_bool_fun_fun$_1' != 'fmb_C_option_b_option_bool_fun_fun$_4' )
    & ( 'fmb_C_option_b_option_bool_fun_fun$_2' != 'fmb_C_option_b_option_bool_fun_fun$_3' )
    & ( 'fmb_C_option_b_option_bool_fun_fun$_2' != 'fmb_C_option_b_option_bool_fun_fun$_4' )
    & ( 'fmb_C_option_b_option_bool_fun_fun$_3' != 'fmb_C_option_b_option_bool_fun_fun$_4' ) ) ).

tff('declare_C_b_prod_bool_fun$',type,
    'C_b_prod_bool_fun$': $tType ).

tff('declare_C_b_prod_bool_fun$1',type,
    'fmb_C_b_prod_bool_fun$_1': 'C_b_prod_bool_fun$' ).

tff('declare_C_b_prod_bool_fun$2',type,
    'fmb_C_b_prod_bool_fun$_2': 'C_b_prod_bool_fun$' ).

tff('declare_C_b_prod_bool_fun$3',type,
    'fmb_C_b_prod_bool_fun$_3': 'C_b_prod_bool_fun$' ).

tff('declare_C_b_prod_bool_fun$4',type,
    'fmb_C_b_prod_bool_fun$_4': 'C_b_prod_bool_fun$' ).

tff('finite_domain_C_b_prod_bool_fun$',axiom,
    ! [X: 'C_b_prod_bool_fun$'] :
      ( ( X = 'fmb_C_b_prod_bool_fun$_1' )
      | ( X = 'fmb_C_b_prod_bool_fun$_2' )
      | ( X = 'fmb_C_b_prod_bool_fun$_3' )
      | ( X = 'fmb_C_b_prod_bool_fun$_4' ) ) ).

tff('distinct_domain_C_b_prod_bool_fun$',axiom,
    ( ( 'fmb_C_b_prod_bool_fun$_1' != 'fmb_C_b_prod_bool_fun$_2' )
    & ( 'fmb_C_b_prod_bool_fun$_1' != 'fmb_C_b_prod_bool_fun$_3' )
    & ( 'fmb_C_b_prod_bool_fun$_1' != 'fmb_C_b_prod_bool_fun$_4' )
    & ( 'fmb_C_b_prod_bool_fun$_2' != 'fmb_C_b_prod_bool_fun$_3' )
    & ( 'fmb_C_b_prod_bool_fun$_2' != 'fmb_C_b_prod_bool_fun$_4' )
    & ( 'fmb_C_b_prod_bool_fun$_3' != 'fmb_C_b_prod_bool_fun$_4' ) ) ).

tff('declare_C$',type,
    'C$': $tType ).

tff('declare_C$1',type,
    'fmb_C$_1': 'C$' ).

tff('finite_domain_C$',axiom,
    ! [X: 'C$'] : ( X = 'fmb_C$_1' ) ).

tff('declare_D_option_bool_fun$',type,
    'D_option_bool_fun$': $tType ).

tff('declare_D_option_bool_fun$1',type,
    'fmb_D_option_bool_fun$_1': 'D_option_bool_fun$' ).

tff('declare_D_option_bool_fun$2',type,
    'fmb_D_option_bool_fun$_2': 'D_option_bool_fun$' ).

tff('declare_D_option_bool_fun$3',type,
    'fmb_D_option_bool_fun$_3': 'D_option_bool_fun$' ).

tff('declare_D_option_bool_fun$4',type,
    'fmb_D_option_bool_fun$_4': 'D_option_bool_fun$' ).

tff('finite_domain_D_option_bool_fun$',axiom,
    ! [X: 'D_option_bool_fun$'] :
      ( ( X = 'fmb_D_option_bool_fun$_1' )
      | ( X = 'fmb_D_option_bool_fun$_2' )
      | ( X = 'fmb_D_option_bool_fun$_3' )
      | ( X = 'fmb_D_option_bool_fun$_4' ) ) ).

tff('distinct_domain_D_option_bool_fun$',axiom,
    ( ( 'fmb_D_option_bool_fun$_1' != 'fmb_D_option_bool_fun$_2' )
    & ( 'fmb_D_option_bool_fun$_1' != 'fmb_D_option_bool_fun$_3' )
    & ( 'fmb_D_option_bool_fun$_1' != 'fmb_D_option_bool_fun$_4' )
    & ( 'fmb_D_option_bool_fun$_2' != 'fmb_D_option_bool_fun$_3' )
    & ( 'fmb_D_option_bool_fun$_2' != 'fmb_D_option_bool_fun$_4' )
    & ( 'fmb_D_option_bool_fun$_3' != 'fmb_D_option_bool_fun$_4' ) ) ).

tff('declare_C_c_prod_set$',type,
    'C_c_prod_set$': $tType ).

tff('declare_C_c_prod_set$1',type,
    'fmb_C_c_prod_set$_1': 'C_c_prod_set$' ).

tff('declare_C_c_prod_set$2',type,
    'fmb_C_c_prod_set$_2': 'C_c_prod_set$' ).

tff('declare_C_c_prod_set$3',type,
    'fmb_C_c_prod_set$_3': 'C_c_prod_set$' ).

tff('declare_C_c_prod_set$4',type,
    'fmb_C_c_prod_set$_4': 'C_c_prod_set$' ).

tff('finite_domain_C_c_prod_set$',axiom,
    ! [X: 'C_c_prod_set$'] :
      ( ( X = 'fmb_C_c_prod_set$_1' )
      | ( X = 'fmb_C_c_prod_set$_2' )
      | ( X = 'fmb_C_c_prod_set$_3' )
      | ( X = 'fmb_C_c_prod_set$_4' ) ) ).

tff('distinct_domain_C_c_prod_set$',axiom,
    ( ( 'fmb_C_c_prod_set$_1' != 'fmb_C_c_prod_set$_2' )
    & ( 'fmb_C_c_prod_set$_1' != 'fmb_C_c_prod_set$_3' )
    & ( 'fmb_C_c_prod_set$_1' != 'fmb_C_c_prod_set$_4' )
    & ( 'fmb_C_c_prod_set$_2' != 'fmb_C_c_prod_set$_3' )
    & ( 'fmb_C_c_prod_set$_2' != 'fmb_C_c_prod_set$_4' )
    & ( 'fmb_C_c_prod_set$_3' != 'fmb_C_c_prod_set$_4' ) ) ).

tff('declare_A_c_prod_bool_fun$',type,
    'A_c_prod_bool_fun$': $tType ).

tff('declare_A_c_prod_bool_fun$1',type,
    'fmb_A_c_prod_bool_fun$_1': 'A_c_prod_bool_fun$' ).

tff('declare_A_c_prod_bool_fun$2',type,
    'fmb_A_c_prod_bool_fun$_2': 'A_c_prod_bool_fun$' ).

tff('declare_A_c_prod_bool_fun$3',type,
    'fmb_A_c_prod_bool_fun$_3': 'A_c_prod_bool_fun$' ).

tff('declare_A_c_prod_bool_fun$4',type,
    'fmb_A_c_prod_bool_fun$_4': 'A_c_prod_bool_fun$' ).

tff('finite_domain_A_c_prod_bool_fun$',axiom,
    ! [X: 'A_c_prod_bool_fun$'] :
      ( ( X = 'fmb_A_c_prod_bool_fun$_1' )
      | ( X = 'fmb_A_c_prod_bool_fun$_2' )
      | ( X = 'fmb_A_c_prod_bool_fun$_3' )
      | ( X = 'fmb_A_c_prod_bool_fun$_4' ) ) ).

tff('distinct_domain_A_c_prod_bool_fun$',axiom,
    ( ( 'fmb_A_c_prod_bool_fun$_1' != 'fmb_A_c_prod_bool_fun$_2' )
    & ( 'fmb_A_c_prod_bool_fun$_1' != 'fmb_A_c_prod_bool_fun$_3' )
    & ( 'fmb_A_c_prod_bool_fun$_1' != 'fmb_A_c_prod_bool_fun$_4' )
    & ( 'fmb_A_c_prod_bool_fun$_2' != 'fmb_A_c_prod_bool_fun$_3' )
    & ( 'fmb_A_c_prod_bool_fun$_2' != 'fmb_A_c_prod_bool_fun$_4' )
    & ( 'fmb_A_c_prod_bool_fun$_3' != 'fmb_A_c_prod_bool_fun$_4' ) ) ).

tff('declare_D_option_d_option_bool_fun_fun$',type,
    'D_option_d_option_bool_fun_fun$': $tType ).

tff('declare_D_option_d_option_bool_fun_fun$1',type,
    'fmb_D_option_d_option_bool_fun_fun$_1': 'D_option_d_option_bool_fun_fun$' ).

tff('declare_D_option_d_option_bool_fun_fun$2',type,
    'fmb_D_option_d_option_bool_fun_fun$_2': 'D_option_d_option_bool_fun_fun$' ).

tff('declare_D_option_d_option_bool_fun_fun$3',type,
    'fmb_D_option_d_option_bool_fun_fun$_3': 'D_option_d_option_bool_fun_fun$' ).

tff('declare_D_option_d_option_bool_fun_fun$4',type,
    'fmb_D_option_d_option_bool_fun_fun$_4': 'D_option_d_option_bool_fun_fun$' ).

tff('finite_domain_D_option_d_option_bool_fun_fun$',axiom,
    ! [X: 'D_option_d_option_bool_fun_fun$'] :
      ( ( X = 'fmb_D_option_d_option_bool_fun_fun$_1' )
      | ( X = 'fmb_D_option_d_option_bool_fun_fun$_2' )
      | ( X = 'fmb_D_option_d_option_bool_fun_fun$_3' )
      | ( X = 'fmb_D_option_d_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_D_option_d_option_bool_fun_fun$',axiom,
    ( ( 'fmb_D_option_d_option_bool_fun_fun$_1' != 'fmb_D_option_d_option_bool_fun_fun$_2' )
    & ( 'fmb_D_option_d_option_bool_fun_fun$_1' != 'fmb_D_option_d_option_bool_fun_fun$_3' )
    & ( 'fmb_D_option_d_option_bool_fun_fun$_1' != 'fmb_D_option_d_option_bool_fun_fun$_4' )
    & ( 'fmb_D_option_d_option_bool_fun_fun$_2' != 'fmb_D_option_d_option_bool_fun_fun$_3' )
    & ( 'fmb_D_option_d_option_bool_fun_fun$_2' != 'fmb_D_option_d_option_bool_fun_fun$_4' )
    & ( 'fmb_D_option_d_option_bool_fun_fun$_3' != 'fmb_D_option_d_option_bool_fun_fun$_4' ) ) ).

tff('declare_A_option$',type,
    'A_option$': $tType ).

tff('declare_A_option$1',type,
    'fmb_A_option$_1': 'A_option$' ).

tff('declare_A_option$2',type,
    'fmb_A_option$_2': 'A_option$' ).

tff('finite_domain_A_option$',axiom,
    ! [X: 'A_option$'] :
      ( ( X = 'fmb_A_option$_1' )
      | ( X = 'fmb_A_option$_2' ) ) ).

tff('distinct_domain_A_option$',axiom,
    'fmb_A_option$_1' != 'fmb_A_option$_2' ).

tff('declare_D_a_option_fun$',type,
    'D_a_option_fun$': $tType ).

tff('declare_D_a_option_fun$1',type,
    'fmb_D_a_option_fun$_1': 'D_a_option_fun$' ).

tff('declare_D_a_option_fun$2',type,
    'fmb_D_a_option_fun$_2': 'D_a_option_fun$' ).

tff('declare_D_a_option_fun$3',type,
    'fmb_D_a_option_fun$_3': 'D_a_option_fun$' ).

tff('declare_D_a_option_fun$4',type,
    'fmb_D_a_option_fun$_4': 'D_a_option_fun$' ).

tff('finite_domain_D_a_option_fun$',axiom,
    ! [X: 'D_a_option_fun$'] :
      ( ( X = 'fmb_D_a_option_fun$_1' )
      | ( X = 'fmb_D_a_option_fun$_2' )
      | ( X = 'fmb_D_a_option_fun$_3' )
      | ( X = 'fmb_D_a_option_fun$_4' ) ) ).

tff('distinct_domain_D_a_option_fun$',axiom,
    ( ( 'fmb_D_a_option_fun$_1' != 'fmb_D_a_option_fun$_2' )
    & ( 'fmb_D_a_option_fun$_1' != 'fmb_D_a_option_fun$_3' )
    & ( 'fmb_D_a_option_fun$_1' != 'fmb_D_a_option_fun$_4' )
    & ( 'fmb_D_a_option_fun$_2' != 'fmb_D_a_option_fun$_3' )
    & ( 'fmb_D_a_option_fun$_2' != 'fmb_D_a_option_fun$_4' )
    & ( 'fmb_D_a_option_fun$_3' != 'fmb_D_a_option_fun$_4' ) ) ).

tff('declare_D_set$',type,
    'D_set$': $tType ).

tff('declare_D_set$1',type,
    'fmb_D_set$_1': 'D_set$' ).

tff('declare_D_set$2',type,
    'fmb_D_set$_2': 'D_set$' ).

tff('finite_domain_D_set$',axiom,
    ! [X: 'D_set$'] :
      ( ( X = 'fmb_D_set$_1' )
      | ( X = 'fmb_D_set$_2' ) ) ).

tff('distinct_domain_D_set$',axiom,
    'fmb_D_set$_1' != 'fmb_D_set$_2' ).

tff('declare_C_d_prod_set$',type,
    'C_d_prod_set$': $tType ).

tff('declare_C_d_prod_set$1',type,
    'fmb_C_d_prod_set$_1': 'C_d_prod_set$' ).

tff('declare_C_d_prod_set$2',type,
    'fmb_C_d_prod_set$_2': 'C_d_prod_set$' ).

tff('declare_C_d_prod_set$3',type,
    'fmb_C_d_prod_set$_3': 'C_d_prod_set$' ).

tff('declare_C_d_prod_set$4',type,
    'fmb_C_d_prod_set$_4': 'C_d_prod_set$' ).

tff('finite_domain_C_d_prod_set$',axiom,
    ! [X: 'C_d_prod_set$'] :
      ( ( X = 'fmb_C_d_prod_set$_1' )
      | ( X = 'fmb_C_d_prod_set$_2' )
      | ( X = 'fmb_C_d_prod_set$_3' )
      | ( X = 'fmb_C_d_prod_set$_4' ) ) ).

tff('distinct_domain_C_d_prod_set$',axiom,
    ( ( 'fmb_C_d_prod_set$_1' != 'fmb_C_d_prod_set$_2' )
    & ( 'fmb_C_d_prod_set$_1' != 'fmb_C_d_prod_set$_3' )
    & ( 'fmb_C_d_prod_set$_1' != 'fmb_C_d_prod_set$_4' )
    & ( 'fmb_C_d_prod_set$_2' != 'fmb_C_d_prod_set$_3' )
    & ( 'fmb_C_d_prod_set$_2' != 'fmb_C_d_prod_set$_4' )
    & ( 'fmb_C_d_prod_set$_3' != 'fmb_C_d_prod_set$_4' ) ) ).

tff('declare_B_option_d_option_bool_fun_fun$',type,
    'B_option_d_option_bool_fun_fun$': $tType ).

tff('declare_B_option_d_option_bool_fun_fun$1',type,
    'fmb_B_option_d_option_bool_fun_fun$_1': 'B_option_d_option_bool_fun_fun$' ).

tff('declare_B_option_d_option_bool_fun_fun$2',type,
    'fmb_B_option_d_option_bool_fun_fun$_2': 'B_option_d_option_bool_fun_fun$' ).

tff('declare_B_option_d_option_bool_fun_fun$3',type,
    'fmb_B_option_d_option_bool_fun_fun$_3': 'B_option_d_option_bool_fun_fun$' ).

tff('declare_B_option_d_option_bool_fun_fun$4',type,
    'fmb_B_option_d_option_bool_fun_fun$_4': 'B_option_d_option_bool_fun_fun$' ).

tff('finite_domain_B_option_d_option_bool_fun_fun$',axiom,
    ! [X: 'B_option_d_option_bool_fun_fun$'] :
      ( ( X = 'fmb_B_option_d_option_bool_fun_fun$_1' )
      | ( X = 'fmb_B_option_d_option_bool_fun_fun$_2' )
      | ( X = 'fmb_B_option_d_option_bool_fun_fun$_3' )
      | ( X = 'fmb_B_option_d_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_B_option_d_option_bool_fun_fun$',axiom,
    ( ( 'fmb_B_option_d_option_bool_fun_fun$_1' != 'fmb_B_option_d_option_bool_fun_fun$_2' )
    & ( 'fmb_B_option_d_option_bool_fun_fun$_1' != 'fmb_B_option_d_option_bool_fun_fun$_3' )
    & ( 'fmb_B_option_d_option_bool_fun_fun$_1' != 'fmb_B_option_d_option_bool_fun_fun$_4' )
    & ( 'fmb_B_option_d_option_bool_fun_fun$_2' != 'fmb_B_option_d_option_bool_fun_fun$_3' )
    & ( 'fmb_B_option_d_option_bool_fun_fun$_2' != 'fmb_B_option_d_option_bool_fun_fun$_4' )
    & ( 'fmb_B_option_d_option_bool_fun_fun$_3' != 'fmb_B_option_d_option_bool_fun_fun$_4' ) ) ).

tff('declare_A_a_option_fun_a_b_option_fun_fun$',type,
    'A_a_option_fun_a_b_option_fun_fun$': $tType ).

tff('declare_A_a_option_fun_a_b_option_fun_fun$1',type,
    'fmb_A_a_option_fun_a_b_option_fun_fun$_1': 'A_a_option_fun_a_b_option_fun_fun$' ).

tff('declare_A_a_option_fun_a_b_option_fun_fun$2',type,
    'fmb_A_a_option_fun_a_b_option_fun_fun$_2': 'A_a_option_fun_a_b_option_fun_fun$' ).

tff('declare_A_a_option_fun_a_b_option_fun_fun$3',type,
    'fmb_A_a_option_fun_a_b_option_fun_fun$_3': 'A_a_option_fun_a_b_option_fun_fun$' ).

tff('declare_A_a_option_fun_a_b_option_fun_fun$4',type,
    'fmb_A_a_option_fun_a_b_option_fun_fun$_4': 'A_a_option_fun_a_b_option_fun_fun$' ).

tff('finite_domain_A_a_option_fun_a_b_option_fun_fun$',axiom,
    ! [X: 'A_a_option_fun_a_b_option_fun_fun$'] :
      ( ( X = 'fmb_A_a_option_fun_a_b_option_fun_fun$_1' )
      | ( X = 'fmb_A_a_option_fun_a_b_option_fun_fun$_2' )
      | ( X = 'fmb_A_a_option_fun_a_b_option_fun_fun$_3' )
      | ( X = 'fmb_A_a_option_fun_a_b_option_fun_fun$_4' ) ) ).

tff('distinct_domain_A_a_option_fun_a_b_option_fun_fun$',axiom,
    ( ( 'fmb_A_a_option_fun_a_b_option_fun_fun$_1' != 'fmb_A_a_option_fun_a_b_option_fun_fun$_2' )
    & ( 'fmb_A_a_option_fun_a_b_option_fun_fun$_1' != 'fmb_A_a_option_fun_a_b_option_fun_fun$_3' )
    & ( 'fmb_A_a_option_fun_a_b_option_fun_fun$_1' != 'fmb_A_a_option_fun_a_b_option_fun_fun$_4' )
    & ( 'fmb_A_a_option_fun_a_b_option_fun_fun$_2' != 'fmb_A_a_option_fun_a_b_option_fun_fun$_3' )
    & ( 'fmb_A_a_option_fun_a_b_option_fun_fun$_2' != 'fmb_A_a_option_fun_a_b_option_fun_fun$_4' )
    & ( 'fmb_A_a_option_fun_a_b_option_fun_fun$_3' != 'fmb_A_a_option_fun_a_b_option_fun_fun$_4' ) ) ).

tff('declare_D_c_option_fun$',type,
    'D_c_option_fun$': $tType ).

tff('declare_D_c_option_fun$1',type,
    'fmb_D_c_option_fun$_1': 'D_c_option_fun$' ).

tff('declare_D_c_option_fun$2',type,
    'fmb_D_c_option_fun$_2': 'D_c_option_fun$' ).

tff('declare_D_c_option_fun$3',type,
    'fmb_D_c_option_fun$_3': 'D_c_option_fun$' ).

tff('declare_D_c_option_fun$4',type,
    'fmb_D_c_option_fun$_4': 'D_c_option_fun$' ).

tff('finite_domain_D_c_option_fun$',axiom,
    ! [X: 'D_c_option_fun$'] :
      ( ( X = 'fmb_D_c_option_fun$_1' )
      | ( X = 'fmb_D_c_option_fun$_2' )
      | ( X = 'fmb_D_c_option_fun$_3' )
      | ( X = 'fmb_D_c_option_fun$_4' ) ) ).

tff('distinct_domain_D_c_option_fun$',axiom,
    ( ( 'fmb_D_c_option_fun$_1' != 'fmb_D_c_option_fun$_2' )
    & ( 'fmb_D_c_option_fun$_1' != 'fmb_D_c_option_fun$_3' )
    & ( 'fmb_D_c_option_fun$_1' != 'fmb_D_c_option_fun$_4' )
    & ( 'fmb_D_c_option_fun$_2' != 'fmb_D_c_option_fun$_3' )
    & ( 'fmb_D_c_option_fun$_2' != 'fmb_D_c_option_fun$_4' )
    & ( 'fmb_D_c_option_fun$_3' != 'fmb_D_c_option_fun$_4' ) ) ).

tff('declare_A_c_prod_set$',type,
    'A_c_prod_set$': $tType ).

tff('declare_A_c_prod_set$1',type,
    'fmb_A_c_prod_set$_1': 'A_c_prod_set$' ).

tff('declare_A_c_prod_set$2',type,
    'fmb_A_c_prod_set$_2': 'A_c_prod_set$' ).

tff('declare_A_c_prod_set$3',type,
    'fmb_A_c_prod_set$_3': 'A_c_prod_set$' ).

tff('declare_A_c_prod_set$4',type,
    'fmb_A_c_prod_set$_4': 'A_c_prod_set$' ).

tff('finite_domain_A_c_prod_set$',axiom,
    ! [X: 'A_c_prod_set$'] :
      ( ( X = 'fmb_A_c_prod_set$_1' )
      | ( X = 'fmb_A_c_prod_set$_2' )
      | ( X = 'fmb_A_c_prod_set$_3' )
      | ( X = 'fmb_A_c_prod_set$_4' ) ) ).

tff('distinct_domain_A_c_prod_set$',axiom,
    ( ( 'fmb_A_c_prod_set$_1' != 'fmb_A_c_prod_set$_2' )
    & ( 'fmb_A_c_prod_set$_1' != 'fmb_A_c_prod_set$_3' )
    & ( 'fmb_A_c_prod_set$_1' != 'fmb_A_c_prod_set$_4' )
    & ( 'fmb_A_c_prod_set$_2' != 'fmb_A_c_prod_set$_3' )
    & ( 'fmb_A_c_prod_set$_2' != 'fmb_A_c_prod_set$_4' )
    & ( 'fmb_A_c_prod_set$_3' != 'fmb_A_c_prod_set$_4' ) ) ).

tff('declare_C_d_prod_bool_fun$',type,
    'C_d_prod_bool_fun$': $tType ).

tff('declare_C_d_prod_bool_fun$1',type,
    'fmb_C_d_prod_bool_fun$_1': 'C_d_prod_bool_fun$' ).

tff('declare_C_d_prod_bool_fun$2',type,
    'fmb_C_d_prod_bool_fun$_2': 'C_d_prod_bool_fun$' ).

tff('declare_C_d_prod_bool_fun$3',type,
    'fmb_C_d_prod_bool_fun$_3': 'C_d_prod_bool_fun$' ).

tff('declare_C_d_prod_bool_fun$4',type,
    'fmb_C_d_prod_bool_fun$_4': 'C_d_prod_bool_fun$' ).

tff('finite_domain_C_d_prod_bool_fun$',axiom,
    ! [X: 'C_d_prod_bool_fun$'] :
      ( ( X = 'fmb_C_d_prod_bool_fun$_1' )
      | ( X = 'fmb_C_d_prod_bool_fun$_2' )
      | ( X = 'fmb_C_d_prod_bool_fun$_3' )
      | ( X = 'fmb_C_d_prod_bool_fun$_4' ) ) ).

tff('distinct_domain_C_d_prod_bool_fun$',axiom,
    ( ( 'fmb_C_d_prod_bool_fun$_1' != 'fmb_C_d_prod_bool_fun$_2' )
    & ( 'fmb_C_d_prod_bool_fun$_1' != 'fmb_C_d_prod_bool_fun$_3' )
    & ( 'fmb_C_d_prod_bool_fun$_1' != 'fmb_C_d_prod_bool_fun$_4' )
    & ( 'fmb_C_d_prod_bool_fun$_2' != 'fmb_C_d_prod_bool_fun$_3' )
    & ( 'fmb_C_d_prod_bool_fun$_2' != 'fmb_C_d_prod_bool_fun$_4' )
    & ( 'fmb_C_d_prod_bool_fun$_3' != 'fmb_C_d_prod_bool_fun$_4' ) ) ).

tff('declare_B_b_prod$',type,
    'B_b_prod$': $tType ).

tff('declare_B_b_prod$1',type,
    'fmb_B_b_prod$_1': 'B_b_prod$' ).

tff('declare_B_b_prod$2',type,
    'fmb_B_b_prod$_2': 'B_b_prod$' ).

tff('declare_B_b_prod$3',type,
    'fmb_B_b_prod$_3': 'B_b_prod$' ).

tff('declare_B_b_prod$4',type,
    'fmb_B_b_prod$_4': 'B_b_prod$' ).

tff('finite_domain_B_b_prod$',axiom,
    ! [X: 'B_b_prod$'] :
      ( ( X = 'fmb_B_b_prod$_1' )
      | ( X = 'fmb_B_b_prod$_2' )
      | ( X = 'fmb_B_b_prod$_3' )
      | ( X = 'fmb_B_b_prod$_4' ) ) ).

tff('distinct_domain_B_b_prod$',axiom,
    ( ( 'fmb_B_b_prod$_1' != 'fmb_B_b_prod$_2' )
    & ( 'fmb_B_b_prod$_1' != 'fmb_B_b_prod$_3' )
    & ( 'fmb_B_b_prod$_1' != 'fmb_B_b_prod$_4' )
    & ( 'fmb_B_b_prod$_2' != 'fmb_B_b_prod$_3' )
    & ( 'fmb_B_b_prod$_2' != 'fmb_B_b_prod$_4' )
    & ( 'fmb_B_b_prod$_3' != 'fmb_B_b_prod$_4' ) ) ).

tff('declare_D_option_b_option_bool_fun_fun$',type,
    'D_option_b_option_bool_fun_fun$': $tType ).

tff('declare_D_option_b_option_bool_fun_fun$1',type,
    'fmb_D_option_b_option_bool_fun_fun$_1': 'D_option_b_option_bool_fun_fun$' ).

tff('declare_D_option_b_option_bool_fun_fun$2',type,
    'fmb_D_option_b_option_bool_fun_fun$_2': 'D_option_b_option_bool_fun_fun$' ).

tff('declare_D_option_b_option_bool_fun_fun$3',type,
    'fmb_D_option_b_option_bool_fun_fun$_3': 'D_option_b_option_bool_fun_fun$' ).

tff('declare_D_option_b_option_bool_fun_fun$4',type,
    'fmb_D_option_b_option_bool_fun_fun$_4': 'D_option_b_option_bool_fun_fun$' ).

tff('finite_domain_D_option_b_option_bool_fun_fun$',axiom,
    ! [X: 'D_option_b_option_bool_fun_fun$'] :
      ( ( X = 'fmb_D_option_b_option_bool_fun_fun$_1' )
      | ( X = 'fmb_D_option_b_option_bool_fun_fun$_2' )
      | ( X = 'fmb_D_option_b_option_bool_fun_fun$_3' )
      | ( X = 'fmb_D_option_b_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_D_option_b_option_bool_fun_fun$',axiom,
    ( ( 'fmb_D_option_b_option_bool_fun_fun$_1' != 'fmb_D_option_b_option_bool_fun_fun$_2' )
    & ( 'fmb_D_option_b_option_bool_fun_fun$_1' != 'fmb_D_option_b_option_bool_fun_fun$_3' )
    & ( 'fmb_D_option_b_option_bool_fun_fun$_1' != 'fmb_D_option_b_option_bool_fun_fun$_4' )
    & ( 'fmb_D_option_b_option_bool_fun_fun$_2' != 'fmb_D_option_b_option_bool_fun_fun$_3' )
    & ( 'fmb_D_option_b_option_bool_fun_fun$_2' != 'fmb_D_option_b_option_bool_fun_fun$_4' )
    & ( 'fmb_D_option_b_option_bool_fun_fun$_3' != 'fmb_D_option_b_option_bool_fun_fun$_4' ) ) ).

tff('declare_A_d_option_fun$',type,
    'A_d_option_fun$': $tType ).

tff('declare_A_d_option_fun$1',type,
    'fmb_A_d_option_fun$_1': 'A_d_option_fun$' ).

tff('finite_domain_A_d_option_fun$',axiom,
    ! [X: 'A_d_option_fun$'] : ( X = 'fmb_A_d_option_fun$_1' ) ).

tff('declare_B_c_prod_set$',type,
    'B_c_prod_set$': $tType ).

tff('declare_B_c_prod_set$1',type,
    'fmb_B_c_prod_set$_1': 'B_c_prod_set$' ).

tff('declare_B_c_prod_set$2',type,
    'fmb_B_c_prod_set$_2': 'B_c_prod_set$' ).

tff('declare_B_c_prod_set$3',type,
    'fmb_B_c_prod_set$_3': 'B_c_prod_set$' ).

tff('declare_B_c_prod_set$4',type,
    'fmb_B_c_prod_set$_4': 'B_c_prod_set$' ).

tff('finite_domain_B_c_prod_set$',axiom,
    ! [X: 'B_c_prod_set$'] :
      ( ( X = 'fmb_B_c_prod_set$_1' )
      | ( X = 'fmb_B_c_prod_set$_2' )
      | ( X = 'fmb_B_c_prod_set$_3' )
      | ( X = 'fmb_B_c_prod_set$_4' ) ) ).

tff('distinct_domain_B_c_prod_set$',axiom,
    ( ( 'fmb_B_c_prod_set$_1' != 'fmb_B_c_prod_set$_2' )
    & ( 'fmb_B_c_prod_set$_1' != 'fmb_B_c_prod_set$_3' )
    & ( 'fmb_B_c_prod_set$_1' != 'fmb_B_c_prod_set$_4' )
    & ( 'fmb_B_c_prod_set$_2' != 'fmb_B_c_prod_set$_3' )
    & ( 'fmb_B_c_prod_set$_2' != 'fmb_B_c_prod_set$_4' )
    & ( 'fmb_B_c_prod_set$_3' != 'fmb_B_c_prod_set$_4' ) ) ).

tff('declare_A_a_option_fun$',type,
    'A_a_option_fun$': $tType ).

tff('declare_A_a_option_fun$1',type,
    'fmb_A_a_option_fun$_1': 'A_a_option_fun$' ).

tff('declare_A_a_option_fun$2',type,
    'fmb_A_a_option_fun$_2': 'A_a_option_fun$' ).

tff('declare_A_a_option_fun$3',type,
    'fmb_A_a_option_fun$_3': 'A_a_option_fun$' ).

tff('declare_A_a_option_fun$4',type,
    'fmb_A_a_option_fun$_4': 'A_a_option_fun$' ).

tff('finite_domain_A_a_option_fun$',axiom,
    ! [X: 'A_a_option_fun$'] :
      ( ( X = 'fmb_A_a_option_fun$_1' )
      | ( X = 'fmb_A_a_option_fun$_2' )
      | ( X = 'fmb_A_a_option_fun$_3' )
      | ( X = 'fmb_A_a_option_fun$_4' ) ) ).

tff('distinct_domain_A_a_option_fun$',axiom,
    ( ( 'fmb_A_a_option_fun$_1' != 'fmb_A_a_option_fun$_2' )
    & ( 'fmb_A_a_option_fun$_1' != 'fmb_A_a_option_fun$_3' )
    & ( 'fmb_A_a_option_fun$_1' != 'fmb_A_a_option_fun$_4' )
    & ( 'fmb_A_a_option_fun$_2' != 'fmb_A_a_option_fun$_3' )
    & ( 'fmb_A_a_option_fun$_2' != 'fmb_A_a_option_fun$_4' )
    & ( 'fmb_A_a_option_fun$_3' != 'fmb_A_a_option_fun$_4' ) ) ).

tff('declare_A_d_prod$',type,
    'A_d_prod$': $tType ).

tff('declare_A_d_prod$1',type,
    'fmb_A_d_prod$_1': 'A_d_prod$' ).

tff('finite_domain_A_d_prod$',axiom,
    ! [X: 'A_d_prod$'] : ( X = 'fmb_A_d_prod$_1' ) ).

tff('declare_A_bool_fun$',type,
    'A_bool_fun$': $tType ).

tff('declare_A_bool_fun$1',type,
    'fmb_A_bool_fun$_1': 'A_bool_fun$' ).

tff('declare_A_bool_fun$2',type,
    'fmb_A_bool_fun$_2': 'A_bool_fun$' ).

tff('declare_A_bool_fun$3',type,
    'fmb_A_bool_fun$_3': 'A_bool_fun$' ).

tff('declare_A_bool_fun$4',type,
    'fmb_A_bool_fun$_4': 'A_bool_fun$' ).

tff('finite_domain_A_bool_fun$',axiom,
    ! [X: 'A_bool_fun$'] :
      ( ( X = 'fmb_A_bool_fun$_1' )
      | ( X = 'fmb_A_bool_fun$_2' )
      | ( X = 'fmb_A_bool_fun$_3' )
      | ( X = 'fmb_A_bool_fun$_4' ) ) ).

tff('distinct_domain_A_bool_fun$',axiom,
    ( ( 'fmb_A_bool_fun$_1' != 'fmb_A_bool_fun$_2' )
    & ( 'fmb_A_bool_fun$_1' != 'fmb_A_bool_fun$_3' )
    & ( 'fmb_A_bool_fun$_1' != 'fmb_A_bool_fun$_4' )
    & ( 'fmb_A_bool_fun$_2' != 'fmb_A_bool_fun$_3' )
    & ( 'fmb_A_bool_fun$_2' != 'fmb_A_bool_fun$_4' )
    & ( 'fmb_A_bool_fun$_3' != 'fmb_A_bool_fun$_4' ) ) ).

tff('declare_A_b_prod$',type,
    'A_b_prod$': $tType ).

tff('declare_A_b_prod$1',type,
    'fmb_A_b_prod$_1': 'A_b_prod$' ).

tff('finite_domain_A_b_prod$',axiom,
    ! [X: 'A_b_prod$'] : ( X = 'fmb_A_b_prod$_1' ) ).

tff('declare_A_set$',type,
    'A_set$': $tType ).

tff('declare_A_set$1',type,
    'fmb_A_set$_1': 'A_set$' ).

tff('declare_A_set$2',type,
    'fmb_A_set$_2': 'A_set$' ).

tff('finite_domain_A_set$',axiom,
    ! [X: 'A_set$'] :
      ( ( X = 'fmb_A_set$_1' )
      | ( X = 'fmb_A_set$_2' ) ) ).

tff('distinct_domain_A_set$',axiom,
    'fmb_A_set$_1' != 'fmb_A_set$_2' ).

tff('declare_A_d_prod_bool_fun$',type,
    'A_d_prod_bool_fun$': $tType ).

tff('declare_A_d_prod_bool_fun$1',type,
    'fmb_A_d_prod_bool_fun$_1': 'A_d_prod_bool_fun$' ).

tff('declare_A_d_prod_bool_fun$2',type,
    'fmb_A_d_prod_bool_fun$_2': 'A_d_prod_bool_fun$' ).

tff('declare_A_d_prod_bool_fun$3',type,
    'fmb_A_d_prod_bool_fun$_3': 'A_d_prod_bool_fun$' ).

tff('declare_A_d_prod_bool_fun$4',type,
    'fmb_A_d_prod_bool_fun$_4': 'A_d_prod_bool_fun$' ).

tff('finite_domain_A_d_prod_bool_fun$',axiom,
    ! [X: 'A_d_prod_bool_fun$'] :
      ( ( X = 'fmb_A_d_prod_bool_fun$_1' )
      | ( X = 'fmb_A_d_prod_bool_fun$_2' )
      | ( X = 'fmb_A_d_prod_bool_fun$_3' )
      | ( X = 'fmb_A_d_prod_bool_fun$_4' ) ) ).

tff('distinct_domain_A_d_prod_bool_fun$',axiom,
    ( ( 'fmb_A_d_prod_bool_fun$_1' != 'fmb_A_d_prod_bool_fun$_2' )
    & ( 'fmb_A_d_prod_bool_fun$_1' != 'fmb_A_d_prod_bool_fun$_3' )
    & ( 'fmb_A_d_prod_bool_fun$_1' != 'fmb_A_d_prod_bool_fun$_4' )
    & ( 'fmb_A_d_prod_bool_fun$_2' != 'fmb_A_d_prod_bool_fun$_3' )
    & ( 'fmb_A_d_prod_bool_fun$_2' != 'fmb_A_d_prod_bool_fun$_4' )
    & ( 'fmb_A_d_prod_bool_fun$_3' != 'fmb_A_d_prod_bool_fun$_4' ) ) ).

tff('declare_A_a_option_fun_a_d_option_fun_fun$',type,
    'A_a_option_fun_a_d_option_fun_fun$': $tType ).

tff('declare_A_a_option_fun_a_d_option_fun_fun$1',type,
    'fmb_A_a_option_fun_a_d_option_fun_fun$_1': 'A_a_option_fun_a_d_option_fun_fun$' ).

tff('declare_A_a_option_fun_a_d_option_fun_fun$2',type,
    'fmb_A_a_option_fun_a_d_option_fun_fun$_2': 'A_a_option_fun_a_d_option_fun_fun$' ).

tff('declare_A_a_option_fun_a_d_option_fun_fun$3',type,
    'fmb_A_a_option_fun_a_d_option_fun_fun$_3': 'A_a_option_fun_a_d_option_fun_fun$' ).

tff('declare_A_a_option_fun_a_d_option_fun_fun$4',type,
    'fmb_A_a_option_fun_a_d_option_fun_fun$_4': 'A_a_option_fun_a_d_option_fun_fun$' ).

tff('finite_domain_A_a_option_fun_a_d_option_fun_fun$',axiom,
    ! [X: 'A_a_option_fun_a_d_option_fun_fun$'] :
      ( ( X = 'fmb_A_a_option_fun_a_d_option_fun_fun$_1' )
      | ( X = 'fmb_A_a_option_fun_a_d_option_fun_fun$_2' )
      | ( X = 'fmb_A_a_option_fun_a_d_option_fun_fun$_3' )
      | ( X = 'fmb_A_a_option_fun_a_d_option_fun_fun$_4' ) ) ).

tff('distinct_domain_A_a_option_fun_a_d_option_fun_fun$',axiom,
    ( ( 'fmb_A_a_option_fun_a_d_option_fun_fun$_1' != 'fmb_A_a_option_fun_a_d_option_fun_fun$_2' )
    & ( 'fmb_A_a_option_fun_a_d_option_fun_fun$_1' != 'fmb_A_a_option_fun_a_d_option_fun_fun$_3' )
    & ( 'fmb_A_a_option_fun_a_d_option_fun_fun$_1' != 'fmb_A_a_option_fun_a_d_option_fun_fun$_4' )
    & ( 'fmb_A_a_option_fun_a_d_option_fun_fun$_2' != 'fmb_A_a_option_fun_a_d_option_fun_fun$_3' )
    & ( 'fmb_A_a_option_fun_a_d_option_fun_fun$_2' != 'fmb_A_a_option_fun_a_d_option_fun_fun$_4' )
    & ( 'fmb_A_a_option_fun_a_d_option_fun_fun$_3' != 'fmb_A_a_option_fun_a_d_option_fun_fun$_4' ) ) ).

tff('declare_C_bool_fun$',type,
    'C_bool_fun$': $tType ).

tff('declare_C_bool_fun$1',type,
    'fmb_C_bool_fun$_1': 'C_bool_fun$' ).

tff('declare_C_bool_fun$2',type,
    'fmb_C_bool_fun$_2': 'C_bool_fun$' ).

tff('declare_C_bool_fun$3',type,
    'fmb_C_bool_fun$_3': 'C_bool_fun$' ).

tff('declare_C_bool_fun$4',type,
    'fmb_C_bool_fun$_4': 'C_bool_fun$' ).

tff('finite_domain_C_bool_fun$',axiom,
    ! [X: 'C_bool_fun$'] :
      ( ( X = 'fmb_C_bool_fun$_1' )
      | ( X = 'fmb_C_bool_fun$_2' )
      | ( X = 'fmb_C_bool_fun$_3' )
      | ( X = 'fmb_C_bool_fun$_4' ) ) ).

tff('distinct_domain_C_bool_fun$',axiom,
    ( ( 'fmb_C_bool_fun$_1' != 'fmb_C_bool_fun$_2' )
    & ( 'fmb_C_bool_fun$_1' != 'fmb_C_bool_fun$_3' )
    & ( 'fmb_C_bool_fun$_1' != 'fmb_C_bool_fun$_4' )
    & ( 'fmb_C_bool_fun$_2' != 'fmb_C_bool_fun$_3' )
    & ( 'fmb_C_bool_fun$_2' != 'fmb_C_bool_fun$_4' )
    & ( 'fmb_C_bool_fun$_3' != 'fmb_C_bool_fun$_4' ) ) ).

tff('declare_B_set$',type,
    'B_set$': $tType ).

tff('declare_B_set$1',type,
    'fmb_B_set$_1': 'B_set$' ).

tff('declare_B_set$2',type,
    'fmb_B_set$_2': 'B_set$' ).

tff('finite_domain_B_set$',axiom,
    ! [X: 'B_set$'] :
      ( ( X = 'fmb_B_set$_1' )
      | ( X = 'fmb_B_set$_2' ) ) ).

tff('distinct_domain_B_set$',axiom,
    'fmb_B_set$_1' != 'fmb_B_set$_2' ).

tff('declare_D_option_d_option_fun$',type,
    'D_option_d_option_fun$': $tType ).

tff('declare_D_option_d_option_fun$1',type,
    'fmb_D_option_d_option_fun$_1': 'D_option_d_option_fun$' ).

tff('declare_D_option_d_option_fun$2',type,
    'fmb_D_option_d_option_fun$_2': 'D_option_d_option_fun$' ).

tff('declare_D_option_d_option_fun$3',type,
    'fmb_D_option_d_option_fun$_3': 'D_option_d_option_fun$' ).

tff('declare_D_option_d_option_fun$4',type,
    'fmb_D_option_d_option_fun$_4': 'D_option_d_option_fun$' ).

tff('finite_domain_D_option_d_option_fun$',axiom,
    ! [X: 'D_option_d_option_fun$'] :
      ( ( X = 'fmb_D_option_d_option_fun$_1' )
      | ( X = 'fmb_D_option_d_option_fun$_2' )
      | ( X = 'fmb_D_option_d_option_fun$_3' )
      | ( X = 'fmb_D_option_d_option_fun$_4' ) ) ).

tff('distinct_domain_D_option_d_option_fun$',axiom,
    ( ( 'fmb_D_option_d_option_fun$_1' != 'fmb_D_option_d_option_fun$_2' )
    & ( 'fmb_D_option_d_option_fun$_1' != 'fmb_D_option_d_option_fun$_3' )
    & ( 'fmb_D_option_d_option_fun$_1' != 'fmb_D_option_d_option_fun$_4' )
    & ( 'fmb_D_option_d_option_fun$_2' != 'fmb_D_option_d_option_fun$_3' )
    & ( 'fmb_D_option_d_option_fun$_2' != 'fmb_D_option_d_option_fun$_4' )
    & ( 'fmb_D_option_d_option_fun$_3' != 'fmb_D_option_d_option_fun$_4' ) ) ).

tff('declare_A$',type,
    'A$': $tType ).

tff('declare_A$1',type,
    'fmb_A$_1': 'A$' ).

tff('finite_domain_A$',axiom,
    ! [X: 'A$'] : ( X = 'fmb_A$_1' ) ).

tff('declare_A_c_prod$',type,
    'A_c_prod$': $tType ).

tff('declare_A_c_prod$1',type,
    'fmb_A_c_prod$_1': 'A_c_prod$' ).

tff('finite_domain_A_c_prod$',axiom,
    ! [X: 'A_c_prod$'] : ( X = 'fmb_A_c_prod$_1' ) ).

tff('declare_B_option_option$',type,
    'B_option_option$': $tType ).

tff('declare_B_option_option$1',type,
    'fmb_B_option_option$_1': 'B_option_option$' ).

tff('declare_B_option_option$2',type,
    'fmb_B_option_option$_2': 'B_option_option$' ).

tff('declare_B_option_option$3',type,
    'fmb_B_option_option$_3': 'B_option_option$' ).

tff('finite_domain_B_option_option$',axiom,
    ! [X: 'B_option_option$'] :
      ( ( X = 'fmb_B_option_option$_1' )
      | ( X = 'fmb_B_option_option$_2' )
      | ( X = 'fmb_B_option_option$_3' ) ) ).

tff('distinct_domain_B_option_option$',axiom,
    ( ( 'fmb_B_option_option$_1' != 'fmb_B_option_option$_2' )
    & ( 'fmb_B_option_option$_1' != 'fmb_B_option_option$_3' )
    & ( 'fmb_B_option_option$_2' != 'fmb_B_option_option$_3' ) ) ).

tff('declare_A_b_option_fun$',type,
    'A_b_option_fun$': $tType ).

tff('declare_A_b_option_fun$1',type,
    'fmb_A_b_option_fun$_1': 'A_b_option_fun$' ).

tff('declare_A_b_option_fun$2',type,
    'fmb_A_b_option_fun$_2': 'A_b_option_fun$' ).

tff('finite_domain_A_b_option_fun$',axiom,
    ! [X: 'A_b_option_fun$'] :
      ( ( X = 'fmb_A_b_option_fun$_1' )
      | ( X = 'fmb_A_b_option_fun$_2' ) ) ).

tff('distinct_domain_A_b_option_fun$',axiom,
    'fmb_A_b_option_fun$_1' != 'fmb_A_b_option_fun$_2' ).

tff('declare_D_option_set$',type,
    'D_option_set$': $tType ).

tff('declare_D_option_set$1',type,
    'fmb_D_option_set$_1': 'D_option_set$' ).

tff('declare_D_option_set$2',type,
    'fmb_D_option_set$_2': 'D_option_set$' ).

tff('finite_domain_D_option_set$',axiom,
    ! [X: 'D_option_set$'] :
      ( ( X = 'fmb_D_option_set$_1' )
      | ( X = 'fmb_D_option_set$_2' ) ) ).

tff('distinct_domain_D_option_set$',axiom,
    'fmb_D_option_set$_1' != 'fmb_D_option_set$_2' ).

tff('declare_B_a_option_fun$',type,
    'B_a_option_fun$': $tType ).

tff('declare_B_a_option_fun$1',type,
    'fmb_B_a_option_fun$_1': 'B_a_option_fun$' ).

tff('declare_B_a_option_fun$2',type,
    'fmb_B_a_option_fun$_2': 'B_a_option_fun$' ).

tff('declare_B_a_option_fun$3',type,
    'fmb_B_a_option_fun$_3': 'B_a_option_fun$' ).

tff('declare_B_a_option_fun$4',type,
    'fmb_B_a_option_fun$_4': 'B_a_option_fun$' ).

tff('finite_domain_B_a_option_fun$',axiom,
    ! [X: 'B_a_option_fun$'] :
      ( ( X = 'fmb_B_a_option_fun$_1' )
      | ( X = 'fmb_B_a_option_fun$_2' )
      | ( X = 'fmb_B_a_option_fun$_3' )
      | ( X = 'fmb_B_a_option_fun$_4' ) ) ).

tff('distinct_domain_B_a_option_fun$',axiom,
    ( ( 'fmb_B_a_option_fun$_1' != 'fmb_B_a_option_fun$_2' )
    & ( 'fmb_B_a_option_fun$_1' != 'fmb_B_a_option_fun$_3' )
    & ( 'fmb_B_a_option_fun$_1' != 'fmb_B_a_option_fun$_4' )
    & ( 'fmb_B_a_option_fun$_2' != 'fmb_B_a_option_fun$_3' )
    & ( 'fmb_B_a_option_fun$_2' != 'fmb_B_a_option_fun$_4' )
    & ( 'fmb_B_a_option_fun$_3' != 'fmb_B_a_option_fun$_4' ) ) ).

tff('declare_C_option_c_option_fun$',type,
    'C_option_c_option_fun$': $tType ).

tff('declare_C_option_c_option_fun$1',type,
    'fmb_C_option_c_option_fun$_1': 'C_option_c_option_fun$' ).

tff('declare_C_option_c_option_fun$2',type,
    'fmb_C_option_c_option_fun$_2': 'C_option_c_option_fun$' ).

tff('declare_C_option_c_option_fun$3',type,
    'fmb_C_option_c_option_fun$_3': 'C_option_c_option_fun$' ).

tff('declare_C_option_c_option_fun$4',type,
    'fmb_C_option_c_option_fun$_4': 'C_option_c_option_fun$' ).

tff('finite_domain_C_option_c_option_fun$',axiom,
    ! [X: 'C_option_c_option_fun$'] :
      ( ( X = 'fmb_C_option_c_option_fun$_1' )
      | ( X = 'fmb_C_option_c_option_fun$_2' )
      | ( X = 'fmb_C_option_c_option_fun$_3' )
      | ( X = 'fmb_C_option_c_option_fun$_4' ) ) ).

tff('distinct_domain_C_option_c_option_fun$',axiom,
    ( ( 'fmb_C_option_c_option_fun$_1' != 'fmb_C_option_c_option_fun$_2' )
    & ( 'fmb_C_option_c_option_fun$_1' != 'fmb_C_option_c_option_fun$_3' )
    & ( 'fmb_C_option_c_option_fun$_1' != 'fmb_C_option_c_option_fun$_4' )
    & ( 'fmb_C_option_c_option_fun$_2' != 'fmb_C_option_c_option_fun$_3' )
    & ( 'fmb_C_option_c_option_fun$_2' != 'fmb_C_option_c_option_fun$_4' )
    & ( 'fmb_C_option_c_option_fun$_3' != 'fmb_C_option_c_option_fun$_4' ) ) ).

tff('declare_C_option_d_option_bool_fun_fun$',type,
    'C_option_d_option_bool_fun_fun$': $tType ).

tff('declare_C_option_d_option_bool_fun_fun$1',type,
    'fmb_C_option_d_option_bool_fun_fun$_1': 'C_option_d_option_bool_fun_fun$' ).

tff('declare_C_option_d_option_bool_fun_fun$2',type,
    'fmb_C_option_d_option_bool_fun_fun$_2': 'C_option_d_option_bool_fun_fun$' ).

tff('declare_C_option_d_option_bool_fun_fun$3',type,
    'fmb_C_option_d_option_bool_fun_fun$_3': 'C_option_d_option_bool_fun_fun$' ).

tff('declare_C_option_d_option_bool_fun_fun$4',type,
    'fmb_C_option_d_option_bool_fun_fun$_4': 'C_option_d_option_bool_fun_fun$' ).

tff('finite_domain_C_option_d_option_bool_fun_fun$',axiom,
    ! [X: 'C_option_d_option_bool_fun_fun$'] :
      ( ( X = 'fmb_C_option_d_option_bool_fun_fun$_1' )
      | ( X = 'fmb_C_option_d_option_bool_fun_fun$_2' )
      | ( X = 'fmb_C_option_d_option_bool_fun_fun$_3' )
      | ( X = 'fmb_C_option_d_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_C_option_d_option_bool_fun_fun$',axiom,
    ( ( 'fmb_C_option_d_option_bool_fun_fun$_1' != 'fmb_C_option_d_option_bool_fun_fun$_2' )
    & ( 'fmb_C_option_d_option_bool_fun_fun$_1' != 'fmb_C_option_d_option_bool_fun_fun$_3' )
    & ( 'fmb_C_option_d_option_bool_fun_fun$_1' != 'fmb_C_option_d_option_bool_fun_fun$_4' )
    & ( 'fmb_C_option_d_option_bool_fun_fun$_2' != 'fmb_C_option_d_option_bool_fun_fun$_3' )
    & ( 'fmb_C_option_d_option_bool_fun_fun$_2' != 'fmb_C_option_d_option_bool_fun_fun$_4' )
    & ( 'fmb_C_option_d_option_bool_fun_fun$_3' != 'fmb_C_option_d_option_bool_fun_fun$_4' ) ) ).

tff('declare_D_d_option_fun_d_option_fun$',type,
    'D_d_option_fun_d_option_fun$': $tType ).

tff('declare_D_d_option_fun_d_option_fun$1',type,
    'fmb_D_d_option_fun_d_option_fun$_1': 'D_d_option_fun_d_option_fun$' ).

tff('declare_D_d_option_fun_d_option_fun$2',type,
    'fmb_D_d_option_fun_d_option_fun$_2': 'D_d_option_fun_d_option_fun$' ).

tff('declare_D_d_option_fun_d_option_fun$3',type,
    'fmb_D_d_option_fun_d_option_fun$_3': 'D_d_option_fun_d_option_fun$' ).

tff('declare_D_d_option_fun_d_option_fun$4',type,
    'fmb_D_d_option_fun_d_option_fun$_4': 'D_d_option_fun_d_option_fun$' ).

tff('finite_domain_D_d_option_fun_d_option_fun$',axiom,
    ! [X: 'D_d_option_fun_d_option_fun$'] :
      ( ( X = 'fmb_D_d_option_fun_d_option_fun$_1' )
      | ( X = 'fmb_D_d_option_fun_d_option_fun$_2' )
      | ( X = 'fmb_D_d_option_fun_d_option_fun$_3' )
      | ( X = 'fmb_D_d_option_fun_d_option_fun$_4' ) ) ).

tff('distinct_domain_D_d_option_fun_d_option_fun$',axiom,
    ( ( 'fmb_D_d_option_fun_d_option_fun$_1' != 'fmb_D_d_option_fun_d_option_fun$_2' )
    & ( 'fmb_D_d_option_fun_d_option_fun$_1' != 'fmb_D_d_option_fun_d_option_fun$_3' )
    & ( 'fmb_D_d_option_fun_d_option_fun$_1' != 'fmb_D_d_option_fun_d_option_fun$_4' )
    & ( 'fmb_D_d_option_fun_d_option_fun$_2' != 'fmb_D_d_option_fun_d_option_fun$_3' )
    & ( 'fmb_D_d_option_fun_d_option_fun$_2' != 'fmb_D_d_option_fun_d_option_fun$_4' )
    & ( 'fmb_D_d_option_fun_d_option_fun$_3' != 'fmb_D_d_option_fun_d_option_fun$_4' ) ) ).

tff('declare_B_b_b_fun_fun$',type,
    'B_b_b_fun_fun$': $tType ).

tff('declare_B_b_b_fun_fun$1',type,
    'fmb_B_b_b_fun_fun$_1': 'B_b_b_fun_fun$' ).

tff('declare_B_b_b_fun_fun$2',type,
    'fmb_B_b_b_fun_fun$_2': 'B_b_b_fun_fun$' ).

tff('declare_B_b_b_fun_fun$3',type,
    'fmb_B_b_b_fun_fun$_3': 'B_b_b_fun_fun$' ).

tff('declare_B_b_b_fun_fun$4',type,
    'fmb_B_b_b_fun_fun$_4': 'B_b_b_fun_fun$' ).

tff('finite_domain_B_b_b_fun_fun$',axiom,
    ! [X: 'B_b_b_fun_fun$'] :
      ( ( X = 'fmb_B_b_b_fun_fun$_1' )
      | ( X = 'fmb_B_b_b_fun_fun$_2' )
      | ( X = 'fmb_B_b_b_fun_fun$_3' )
      | ( X = 'fmb_B_b_b_fun_fun$_4' ) ) ).

tff('distinct_domain_B_b_b_fun_fun$',axiom,
    ( ( 'fmb_B_b_b_fun_fun$_1' != 'fmb_B_b_b_fun_fun$_2' )
    & ( 'fmb_B_b_b_fun_fun$_1' != 'fmb_B_b_b_fun_fun$_3' )
    & ( 'fmb_B_b_b_fun_fun$_1' != 'fmb_B_b_b_fun_fun$_4' )
    & ( 'fmb_B_b_b_fun_fun$_2' != 'fmb_B_b_b_fun_fun$_3' )
    & ( 'fmb_B_b_b_fun_fun$_2' != 'fmb_B_b_b_fun_fun$_4' )
    & ( 'fmb_B_b_b_fun_fun$_3' != 'fmb_B_b_b_fun_fun$_4' ) ) ).

tff('declare_D_option_c_option_bool_fun_fun$',type,
    'D_option_c_option_bool_fun_fun$': $tType ).

tff('declare_D_option_c_option_bool_fun_fun$1',type,
    'fmb_D_option_c_option_bool_fun_fun$_1': 'D_option_c_option_bool_fun_fun$' ).

tff('declare_D_option_c_option_bool_fun_fun$2',type,
    'fmb_D_option_c_option_bool_fun_fun$_2': 'D_option_c_option_bool_fun_fun$' ).

tff('declare_D_option_c_option_bool_fun_fun$3',type,
    'fmb_D_option_c_option_bool_fun_fun$_3': 'D_option_c_option_bool_fun_fun$' ).

tff('declare_D_option_c_option_bool_fun_fun$4',type,
    'fmb_D_option_c_option_bool_fun_fun$_4': 'D_option_c_option_bool_fun_fun$' ).

tff('finite_domain_D_option_c_option_bool_fun_fun$',axiom,
    ! [X: 'D_option_c_option_bool_fun_fun$'] :
      ( ( X = 'fmb_D_option_c_option_bool_fun_fun$_1' )
      | ( X = 'fmb_D_option_c_option_bool_fun_fun$_2' )
      | ( X = 'fmb_D_option_c_option_bool_fun_fun$_3' )
      | ( X = 'fmb_D_option_c_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_D_option_c_option_bool_fun_fun$',axiom,
    ( ( 'fmb_D_option_c_option_bool_fun_fun$_1' != 'fmb_D_option_c_option_bool_fun_fun$_2' )
    & ( 'fmb_D_option_c_option_bool_fun_fun$_1' != 'fmb_D_option_c_option_bool_fun_fun$_3' )
    & ( 'fmb_D_option_c_option_bool_fun_fun$_1' != 'fmb_D_option_c_option_bool_fun_fun$_4' )
    & ( 'fmb_D_option_c_option_bool_fun_fun$_2' != 'fmb_D_option_c_option_bool_fun_fun$_3' )
    & ( 'fmb_D_option_c_option_bool_fun_fun$_2' != 'fmb_D_option_c_option_bool_fun_fun$_4' )
    & ( 'fmb_D_option_c_option_bool_fun_fun$_3' != 'fmb_D_option_c_option_bool_fun_fun$_4' ) ) ).

tff('declare_B_b_option_fun$',type,
    'B_b_option_fun$': $tType ).

tff('declare_B_b_option_fun$1',type,
    'fmb_B_b_option_fun$_1': 'B_b_option_fun$' ).

tff('declare_B_b_option_fun$2',type,
    'fmb_B_b_option_fun$_2': 'B_b_option_fun$' ).

tff('declare_B_b_option_fun$3',type,
    'fmb_B_b_option_fun$_3': 'B_b_option_fun$' ).

tff('declare_B_b_option_fun$4',type,
    'fmb_B_b_option_fun$_4': 'B_b_option_fun$' ).

tff('finite_domain_B_b_option_fun$',axiom,
    ! [X: 'B_b_option_fun$'] :
      ( ( X = 'fmb_B_b_option_fun$_1' )
      | ( X = 'fmb_B_b_option_fun$_2' )
      | ( X = 'fmb_B_b_option_fun$_3' )
      | ( X = 'fmb_B_b_option_fun$_4' ) ) ).

tff('distinct_domain_B_b_option_fun$',axiom,
    ( ( 'fmb_B_b_option_fun$_1' != 'fmb_B_b_option_fun$_2' )
    & ( 'fmb_B_b_option_fun$_1' != 'fmb_B_b_option_fun$_3' )
    & ( 'fmb_B_b_option_fun$_1' != 'fmb_B_b_option_fun$_4' )
    & ( 'fmb_B_b_option_fun$_2' != 'fmb_B_b_option_fun$_3' )
    & ( 'fmb_B_b_option_fun$_2' != 'fmb_B_b_option_fun$_4' )
    & ( 'fmb_B_b_option_fun$_3' != 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_C_option_option$',type,
    'C_option_option$': $tType ).

tff('declare_C_option_option$1',type,
    'fmb_C_option_option$_1': 'C_option_option$' ).

tff('declare_C_option_option$2',type,
    'fmb_C_option_option$_2': 'C_option_option$' ).

tff('declare_C_option_option$3',type,
    'fmb_C_option_option$_3': 'C_option_option$' ).

tff('declare_C_option_option$4',type,
    'fmb_C_option_option$_4': 'C_option_option$' ).

tff('finite_domain_C_option_option$',axiom,
    ! [X: 'C_option_option$'] :
      ( ( X = 'fmb_C_option_option$_1' )
      | ( X = 'fmb_C_option_option$_2' )
      | ( X = 'fmb_C_option_option$_3' )
      | ( X = 'fmb_C_option_option$_4' ) ) ).

tff('distinct_domain_C_option_option$',axiom,
    ( ( 'fmb_C_option_option$_1' != 'fmb_C_option_option$_2' )
    & ( 'fmb_C_option_option$_1' != 'fmb_C_option_option$_3' )
    & ( 'fmb_C_option_option$_1' != 'fmb_C_option_option$_4' )
    & ( 'fmb_C_option_option$_2' != 'fmb_C_option_option$_3' )
    & ( 'fmb_C_option_option$_2' != 'fmb_C_option_option$_4' )
    & ( 'fmb_C_option_option$_3' != 'fmb_C_option_option$_4' ) ) ).

tff('declare_A_b_prod_bool_fun$',type,
    'A_b_prod_bool_fun$': $tType ).

tff('declare_A_b_prod_bool_fun$1',type,
    'fmb_A_b_prod_bool_fun$_1': 'A_b_prod_bool_fun$' ).

tff('declare_A_b_prod_bool_fun$2',type,
    'fmb_A_b_prod_bool_fun$_2': 'A_b_prod_bool_fun$' ).

tff('declare_A_b_prod_bool_fun$3',type,
    'fmb_A_b_prod_bool_fun$_3': 'A_b_prod_bool_fun$' ).

tff('declare_A_b_prod_bool_fun$4',type,
    'fmb_A_b_prod_bool_fun$_4': 'A_b_prod_bool_fun$' ).

tff('finite_domain_A_b_prod_bool_fun$',axiom,
    ! [X: 'A_b_prod_bool_fun$'] :
      ( ( X = 'fmb_A_b_prod_bool_fun$_1' )
      | ( X = 'fmb_A_b_prod_bool_fun$_2' )
      | ( X = 'fmb_A_b_prod_bool_fun$_3' )
      | ( X = 'fmb_A_b_prod_bool_fun$_4' ) ) ).

tff('distinct_domain_A_b_prod_bool_fun$',axiom,
    ( ( 'fmb_A_b_prod_bool_fun$_1' != 'fmb_A_b_prod_bool_fun$_2' )
    & ( 'fmb_A_b_prod_bool_fun$_1' != 'fmb_A_b_prod_bool_fun$_3' )
    & ( 'fmb_A_b_prod_bool_fun$_1' != 'fmb_A_b_prod_bool_fun$_4' )
    & ( 'fmb_A_b_prod_bool_fun$_2' != 'fmb_A_b_prod_bool_fun$_3' )
    & ( 'fmb_A_b_prod_bool_fun$_2' != 'fmb_A_b_prod_bool_fun$_4' )
    & ( 'fmb_A_b_prod_bool_fun$_3' != 'fmb_A_b_prod_bool_fun$_4' ) ) ).

tff('declare_C_option_bool_fun$',type,
    'C_option_bool_fun$': $tType ).

tff('declare_C_option_bool_fun$1',type,
    'fmb_C_option_bool_fun$_1': 'C_option_bool_fun$' ).

tff('declare_C_option_bool_fun$2',type,
    'fmb_C_option_bool_fun$_2': 'C_option_bool_fun$' ).

tff('declare_C_option_bool_fun$3',type,
    'fmb_C_option_bool_fun$_3': 'C_option_bool_fun$' ).

tff('declare_C_option_bool_fun$4',type,
    'fmb_C_option_bool_fun$_4': 'C_option_bool_fun$' ).

tff('finite_domain_C_option_bool_fun$',axiom,
    ! [X: 'C_option_bool_fun$'] :
      ( ( X = 'fmb_C_option_bool_fun$_1' )
      | ( X = 'fmb_C_option_bool_fun$_2' )
      | ( X = 'fmb_C_option_bool_fun$_3' )
      | ( X = 'fmb_C_option_bool_fun$_4' ) ) ).

tff('distinct_domain_C_option_bool_fun$',axiom,
    ( ( 'fmb_C_option_bool_fun$_1' != 'fmb_C_option_bool_fun$_2' )
    & ( 'fmb_C_option_bool_fun$_1' != 'fmb_C_option_bool_fun$_3' )
    & ( 'fmb_C_option_bool_fun$_1' != 'fmb_C_option_bool_fun$_4' )
    & ( 'fmb_C_option_bool_fun$_2' != 'fmb_C_option_bool_fun$_3' )
    & ( 'fmb_C_option_bool_fun$_2' != 'fmb_C_option_bool_fun$_4' )
    & ( 'fmb_C_option_bool_fun$_3' != 'fmb_C_option_bool_fun$_4' ) ) ).

tff('declare_D_option$',type,
    'D_option$': $tType ).

tff('declare_D_option$1',type,
    'fmb_D_option$_1': 'D_option$' ).

tff('declare_D_option$2',type,
    'fmb_D_option$_2': 'D_option$' ).

tff('finite_domain_D_option$',axiom,
    ! [X: 'D_option$'] :
      ( ( X = 'fmb_D_option$_1' )
      | ( X = 'fmb_D_option$_2' ) ) ).

tff('distinct_domain_D_option$',axiom,
    'fmb_D_option$_1' != 'fmb_D_option$_2' ).

tff('declare_A_a_option_fun_a_c_option_fun_fun$',type,
    'A_a_option_fun_a_c_option_fun_fun$': $tType ).

tff('declare_A_a_option_fun_a_c_option_fun_fun$1',type,
    'fmb_A_a_option_fun_a_c_option_fun_fun$_1': 'A_a_option_fun_a_c_option_fun_fun$' ).

tff('declare_A_a_option_fun_a_c_option_fun_fun$2',type,
    'fmb_A_a_option_fun_a_c_option_fun_fun$_2': 'A_a_option_fun_a_c_option_fun_fun$' ).

tff('declare_A_a_option_fun_a_c_option_fun_fun$3',type,
    'fmb_A_a_option_fun_a_c_option_fun_fun$_3': 'A_a_option_fun_a_c_option_fun_fun$' ).

tff('declare_A_a_option_fun_a_c_option_fun_fun$4',type,
    'fmb_A_a_option_fun_a_c_option_fun_fun$_4': 'A_a_option_fun_a_c_option_fun_fun$' ).

tff('finite_domain_A_a_option_fun_a_c_option_fun_fun$',axiom,
    ! [X: 'A_a_option_fun_a_c_option_fun_fun$'] :
      ( ( X = 'fmb_A_a_option_fun_a_c_option_fun_fun$_1' )
      | ( X = 'fmb_A_a_option_fun_a_c_option_fun_fun$_2' )
      | ( X = 'fmb_A_a_option_fun_a_c_option_fun_fun$_3' )
      | ( X = 'fmb_A_a_option_fun_a_c_option_fun_fun$_4' ) ) ).

tff('distinct_domain_A_a_option_fun_a_c_option_fun_fun$',axiom,
    ( ( 'fmb_A_a_option_fun_a_c_option_fun_fun$_1' != 'fmb_A_a_option_fun_a_c_option_fun_fun$_2' )
    & ( 'fmb_A_a_option_fun_a_c_option_fun_fun$_1' != 'fmb_A_a_option_fun_a_c_option_fun_fun$_3' )
    & ( 'fmb_A_a_option_fun_a_c_option_fun_fun$_1' != 'fmb_A_a_option_fun_a_c_option_fun_fun$_4' )
    & ( 'fmb_A_a_option_fun_a_c_option_fun_fun$_2' != 'fmb_A_a_option_fun_a_c_option_fun_fun$_3' )
    & ( 'fmb_A_a_option_fun_a_c_option_fun_fun$_2' != 'fmb_A_a_option_fun_a_c_option_fun_fun$_4' )
    & ( 'fmb_A_a_option_fun_a_c_option_fun_fun$_3' != 'fmb_A_a_option_fun_a_c_option_fun_fun$_4' ) ) ).

tff('declare_C_c_option_fun_c_option_fun$',type,
    'C_c_option_fun_c_option_fun$': $tType ).

tff('declare_C_c_option_fun_c_option_fun$1',type,
    'fmb_C_c_option_fun_c_option_fun$_1': 'C_c_option_fun_c_option_fun$' ).

tff('declare_C_c_option_fun_c_option_fun$2',type,
    'fmb_C_c_option_fun_c_option_fun$_2': 'C_c_option_fun_c_option_fun$' ).

tff('declare_C_c_option_fun_c_option_fun$3',type,
    'fmb_C_c_option_fun_c_option_fun$_3': 'C_c_option_fun_c_option_fun$' ).

tff('declare_C_c_option_fun_c_option_fun$4',type,
    'fmb_C_c_option_fun_c_option_fun$_4': 'C_c_option_fun_c_option_fun$' ).

tff('finite_domain_C_c_option_fun_c_option_fun$',axiom,
    ! [X: 'C_c_option_fun_c_option_fun$'] :
      ( ( X = 'fmb_C_c_option_fun_c_option_fun$_1' )
      | ( X = 'fmb_C_c_option_fun_c_option_fun$_2' )
      | ( X = 'fmb_C_c_option_fun_c_option_fun$_3' )
      | ( X = 'fmb_C_c_option_fun_c_option_fun$_4' ) ) ).

tff('distinct_domain_C_c_option_fun_c_option_fun$',axiom,
    ( ( 'fmb_C_c_option_fun_c_option_fun$_1' != 'fmb_C_c_option_fun_c_option_fun$_2' )
    & ( 'fmb_C_c_option_fun_c_option_fun$_1' != 'fmb_C_c_option_fun_c_option_fun$_3' )
    & ( 'fmb_C_c_option_fun_c_option_fun$_1' != 'fmb_C_c_option_fun_c_option_fun$_4' )
    & ( 'fmb_C_c_option_fun_c_option_fun$_2' != 'fmb_C_c_option_fun_c_option_fun$_3' )
    & ( 'fmb_C_c_option_fun_c_option_fun$_2' != 'fmb_C_c_option_fun_c_option_fun$_4' )
    & ( 'fmb_C_c_option_fun_c_option_fun$_3' != 'fmb_C_c_option_fun_c_option_fun$_4' ) ) ).

tff('declare_C_b_prod$',type,
    'C_b_prod$': $tType ).

tff('declare_C_b_prod$1',type,
    'fmb_C_b_prod$_1': 'C_b_prod$' ).

tff('finite_domain_C_b_prod$',axiom,
    ! [X: 'C_b_prod$'] : ( X = 'fmb_C_b_prod$_1' ) ).

tff('declare_C_d_prod$',type,
    'C_d_prod$': $tType ).

tff('declare_C_d_prod$1',type,
    'fmb_C_d_prod$_1': 'C_d_prod$' ).

tff('finite_domain_C_d_prod$',axiom,
    ! [X: 'C_d_prod$'] : ( X = 'fmb_C_d_prod$_1' ) ).

tff('declare_C_d_option_fun$',type,
    'C_d_option_fun$': $tType ).

tff('declare_C_d_option_fun$1',type,
    'fmb_C_d_option_fun$_1': 'C_d_option_fun$' ).

tff('declare_C_d_option_fun$2',type,
    'fmb_C_d_option_fun$_2': 'C_d_option_fun$' ).

tff('declare_C_d_option_fun$3',type,
    'fmb_C_d_option_fun$_3': 'C_d_option_fun$' ).

tff('declare_C_d_option_fun$4',type,
    'fmb_C_d_option_fun$_4': 'C_d_option_fun$' ).

tff('finite_domain_C_d_option_fun$',axiom,
    ! [X: 'C_d_option_fun$'] :
      ( ( X = 'fmb_C_d_option_fun$_1' )
      | ( X = 'fmb_C_d_option_fun$_2' )
      | ( X = 'fmb_C_d_option_fun$_3' )
      | ( X = 'fmb_C_d_option_fun$_4' ) ) ).

tff('distinct_domain_C_d_option_fun$',axiom,
    ( ( 'fmb_C_d_option_fun$_1' != 'fmb_C_d_option_fun$_2' )
    & ( 'fmb_C_d_option_fun$_1' != 'fmb_C_d_option_fun$_3' )
    & ( 'fmb_C_d_option_fun$_1' != 'fmb_C_d_option_fun$_4' )
    & ( 'fmb_C_d_option_fun$_2' != 'fmb_C_d_option_fun$_3' )
    & ( 'fmb_C_d_option_fun$_2' != 'fmb_C_d_option_fun$_4' )
    & ( 'fmb_C_d_option_fun$_3' != 'fmb_C_d_option_fun$_4' ) ) ).

tff('declare_B_option_bool_fun$',type,
    'B_option_bool_fun$': $tType ).

tff('declare_B_option_bool_fun$1',type,
    'fmb_B_option_bool_fun$_1': 'B_option_bool_fun$' ).

tff('declare_B_option_bool_fun$2',type,
    'fmb_B_option_bool_fun$_2': 'B_option_bool_fun$' ).

tff('declare_B_option_bool_fun$3',type,
    'fmb_B_option_bool_fun$_3': 'B_option_bool_fun$' ).

tff('declare_B_option_bool_fun$4',type,
    'fmb_B_option_bool_fun$_4': 'B_option_bool_fun$' ).

tff('finite_domain_B_option_bool_fun$',axiom,
    ! [X: 'B_option_bool_fun$'] :
      ( ( X = 'fmb_B_option_bool_fun$_1' )
      | ( X = 'fmb_B_option_bool_fun$_2' )
      | ( X = 'fmb_B_option_bool_fun$_3' )
      | ( X = 'fmb_B_option_bool_fun$_4' ) ) ).

tff('distinct_domain_B_option_bool_fun$',axiom,
    ( ( 'fmb_B_option_bool_fun$_1' != 'fmb_B_option_bool_fun$_2' )
    & ( 'fmb_B_option_bool_fun$_1' != 'fmb_B_option_bool_fun$_3' )
    & ( 'fmb_B_option_bool_fun$_1' != 'fmb_B_option_bool_fun$_4' )
    & ( 'fmb_B_option_bool_fun$_2' != 'fmb_B_option_bool_fun$_3' )
    & ( 'fmb_B_option_bool_fun$_2' != 'fmb_B_option_bool_fun$_4' )
    & ( 'fmb_B_option_bool_fun$_3' != 'fmb_B_option_bool_fun$_4' ) ) ).

tff('declare_D_d_prod$',type,
    'D_d_prod$': $tType ).

tff('declare_D_d_prod$1',type,
    'fmb_D_d_prod$_1': 'D_d_prod$' ).

tff('declare_D_d_prod$2',type,
    'fmb_D_d_prod$_2': 'D_d_prod$' ).

tff('declare_D_d_prod$3',type,
    'fmb_D_d_prod$_3': 'D_d_prod$' ).

tff('declare_D_d_prod$4',type,
    'fmb_D_d_prod$_4': 'D_d_prod$' ).

tff('finite_domain_D_d_prod$',axiom,
    ! [X: 'D_d_prod$'] :
      ( ( X = 'fmb_D_d_prod$_1' )
      | ( X = 'fmb_D_d_prod$_2' )
      | ( X = 'fmb_D_d_prod$_3' )
      | ( X = 'fmb_D_d_prod$_4' ) ) ).

tff('distinct_domain_D_d_prod$',axiom,
    ( ( 'fmb_D_d_prod$_1' != 'fmb_D_d_prod$_2' )
    & ( 'fmb_D_d_prod$_1' != 'fmb_D_d_prod$_3' )
    & ( 'fmb_D_d_prod$_1' != 'fmb_D_d_prod$_4' )
    & ( 'fmb_D_d_prod$_2' != 'fmb_D_d_prod$_3' )
    & ( 'fmb_D_d_prod$_2' != 'fmb_D_d_prod$_4' )
    & ( 'fmb_D_d_prod$_3' != 'fmb_D_d_prod$_4' ) ) ).

tff('declare_C_set$',type,
    'C_set$': $tType ).

tff('declare_C_set$1',type,
    'fmb_C_set$_1': 'C_set$' ).

tff('declare_C_set$2',type,
    'fmb_C_set$_2': 'C_set$' ).

tff('declare_C_set$3',type,
    'fmb_C_set$_3': 'C_set$' ).

tff('finite_domain_C_set$',axiom,
    ! [X: 'C_set$'] :
      ( ( X = 'fmb_C_set$_1' )
      | ( X = 'fmb_C_set$_2' )
      | ( X = 'fmb_C_set$_3' ) ) ).

tff('distinct_domain_C_set$',axiom,
    ( ( 'fmb_C_set$_1' != 'fmb_C_set$_2' )
    & ( 'fmb_C_set$_1' != 'fmb_C_set$_3' )
    & ( 'fmb_C_set$_2' != 'fmb_C_set$_3' ) ) ).

tff('declare_B_option_b_option_bool_fun_fun$',type,
    'B_option_b_option_bool_fun_fun$': $tType ).

tff('declare_B_option_b_option_bool_fun_fun$1',type,
    'fmb_B_option_b_option_bool_fun_fun$_1': 'B_option_b_option_bool_fun_fun$' ).

tff('declare_B_option_b_option_bool_fun_fun$2',type,
    'fmb_B_option_b_option_bool_fun_fun$_2': 'B_option_b_option_bool_fun_fun$' ).

tff('declare_B_option_b_option_bool_fun_fun$3',type,
    'fmb_B_option_b_option_bool_fun_fun$_3': 'B_option_b_option_bool_fun_fun$' ).

tff('declare_B_option_b_option_bool_fun_fun$4',type,
    'fmb_B_option_b_option_bool_fun_fun$_4': 'B_option_b_option_bool_fun_fun$' ).

tff('finite_domain_B_option_b_option_bool_fun_fun$',axiom,
    ! [X: 'B_option_b_option_bool_fun_fun$'] :
      ( ( X = 'fmb_B_option_b_option_bool_fun_fun$_1' )
      | ( X = 'fmb_B_option_b_option_bool_fun_fun$_2' )
      | ( X = 'fmb_B_option_b_option_bool_fun_fun$_3' )
      | ( X = 'fmb_B_option_b_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_B_option_b_option_bool_fun_fun$',axiom,
    ( ( 'fmb_B_option_b_option_bool_fun_fun$_1' != 'fmb_B_option_b_option_bool_fun_fun$_2' )
    & ( 'fmb_B_option_b_option_bool_fun_fun$_1' != 'fmb_B_option_b_option_bool_fun_fun$_3' )
    & ( 'fmb_B_option_b_option_bool_fun_fun$_1' != 'fmb_B_option_b_option_bool_fun_fun$_4' )
    & ( 'fmb_B_option_b_option_bool_fun_fun$_2' != 'fmb_B_option_b_option_bool_fun_fun$_3' )
    & ( 'fmb_B_option_b_option_bool_fun_fun$_2' != 'fmb_B_option_b_option_bool_fun_fun$_4' )
    & ( 'fmb_B_option_b_option_bool_fun_fun$_3' != 'fmb_B_option_b_option_bool_fun_fun$_4' ) ) ).

tff('declare_B_bool_fun$',type,
    'B_bool_fun$': $tType ).

tff('declare_B_bool_fun$1',type,
    'fmb_B_bool_fun$_1': 'B_bool_fun$' ).

tff('declare_B_bool_fun$2',type,
    'fmb_B_bool_fun$_2': 'B_bool_fun$' ).

tff('declare_B_bool_fun$3',type,
    'fmb_B_bool_fun$_3': 'B_bool_fun$' ).

tff('declare_B_bool_fun$4',type,
    'fmb_B_bool_fun$_4': 'B_bool_fun$' ).

tff('finite_domain_B_bool_fun$',axiom,
    ! [X: 'B_bool_fun$'] :
      ( ( X = 'fmb_B_bool_fun$_1' )
      | ( X = 'fmb_B_bool_fun$_2' )
      | ( X = 'fmb_B_bool_fun$_3' )
      | ( X = 'fmb_B_bool_fun$_4' ) ) ).

tff('distinct_domain_B_bool_fun$',axiom,
    ( ( 'fmb_B_bool_fun$_1' != 'fmb_B_bool_fun$_2' )
    & ( 'fmb_B_bool_fun$_1' != 'fmb_B_bool_fun$_3' )
    & ( 'fmb_B_bool_fun$_1' != 'fmb_B_bool_fun$_4' )
    & ( 'fmb_B_bool_fun$_2' != 'fmb_B_bool_fun$_3' )
    & ( 'fmb_B_bool_fun$_2' != 'fmb_B_bool_fun$_4' )
    & ( 'fmb_B_bool_fun$_3' != 'fmb_B_bool_fun$_4' ) ) ).

tff('declare_D_d_option_fun$',type,
    'D_d_option_fun$': $tType ).

tff('declare_D_d_option_fun$1',type,
    'fmb_D_d_option_fun$_1': 'D_d_option_fun$' ).

tff('declare_D_d_option_fun$2',type,
    'fmb_D_d_option_fun$_2': 'D_d_option_fun$' ).

tff('declare_D_d_option_fun$3',type,
    'fmb_D_d_option_fun$_3': 'D_d_option_fun$' ).

tff('declare_D_d_option_fun$4',type,
    'fmb_D_d_option_fun$_4': 'D_d_option_fun$' ).

tff('finite_domain_D_d_option_fun$',axiom,
    ! [X: 'D_d_option_fun$'] :
      ( ( X = 'fmb_D_d_option_fun$_1' )
      | ( X = 'fmb_D_d_option_fun$_2' )
      | ( X = 'fmb_D_d_option_fun$_3' )
      | ( X = 'fmb_D_d_option_fun$_4' ) ) ).

tff('distinct_domain_D_d_option_fun$',axiom,
    ( ( 'fmb_D_d_option_fun$_1' != 'fmb_D_d_option_fun$_2' )
    & ( 'fmb_D_d_option_fun$_1' != 'fmb_D_d_option_fun$_3' )
    & ( 'fmb_D_d_option_fun$_1' != 'fmb_D_d_option_fun$_4' )
    & ( 'fmb_D_d_option_fun$_2' != 'fmb_D_d_option_fun$_3' )
    & ( 'fmb_D_d_option_fun$_2' != 'fmb_D_d_option_fun$_4' )
    & ( 'fmb_D_d_option_fun$_3' != 'fmb_D_d_option_fun$_4' ) ) ).

tff('declare_A_c_option_fun$',type,
    'A_c_option_fun$': $tType ).

tff('declare_A_c_option_fun$1',type,
    'fmb_A_c_option_fun$_1': 'A_c_option_fun$' ).

tff('finite_domain_A_c_option_fun$',axiom,
    ! [X: 'A_c_option_fun$'] : ( X = 'fmb_A_c_option_fun$_1' ) ).

tff('declare_B_option_set$',type,
    'B_option_set$': $tType ).

tff('declare_B_option_set$1',type,
    'fmb_B_option_set$_1': 'B_option_set$' ).

tff('declare_B_option_set$2',type,
    'fmb_B_option_set$_2': 'B_option_set$' ).

tff('declare_B_option_set$3',type,
    'fmb_B_option_set$_3': 'B_option_set$' ).

tff('declare_B_option_set$4',type,
    'fmb_B_option_set$_4': 'B_option_set$' ).

tff('finite_domain_B_option_set$',axiom,
    ! [X: 'B_option_set$'] :
      ( ( X = 'fmb_B_option_set$_1' )
      | ( X = 'fmb_B_option_set$_2' )
      | ( X = 'fmb_B_option_set$_3' )
      | ( X = 'fmb_B_option_set$_4' ) ) ).

tff('distinct_domain_B_option_set$',axiom,
    ( ( 'fmb_B_option_set$_1' != 'fmb_B_option_set$_2' )
    & ( 'fmb_B_option_set$_1' != 'fmb_B_option_set$_3' )
    & ( 'fmb_B_option_set$_1' != 'fmb_B_option_set$_4' )
    & ( 'fmb_B_option_set$_2' != 'fmb_B_option_set$_3' )
    & ( 'fmb_B_option_set$_2' != 'fmb_B_option_set$_4' )
    & ( 'fmb_B_option_set$_3' != 'fmb_B_option_set$_4' ) ) ).

tff('declare_C_b_prod_set$',type,
    'C_b_prod_set$': $tType ).

tff('declare_C_b_prod_set$1',type,
    'fmb_C_b_prod_set$_1': 'C_b_prod_set$' ).

tff('declare_C_b_prod_set$2',type,
    'fmb_C_b_prod_set$_2': 'C_b_prod_set$' ).

tff('declare_C_b_prod_set$3',type,
    'fmb_C_b_prod_set$_3': 'C_b_prod_set$' ).

tff('declare_C_b_prod_set$4',type,
    'fmb_C_b_prod_set$_4': 'C_b_prod_set$' ).

tff('finite_domain_C_b_prod_set$',axiom,
    ! [X: 'C_b_prod_set$'] :
      ( ( X = 'fmb_C_b_prod_set$_1' )
      | ( X = 'fmb_C_b_prod_set$_2' )
      | ( X = 'fmb_C_b_prod_set$_3' )
      | ( X = 'fmb_C_b_prod_set$_4' ) ) ).

tff('distinct_domain_C_b_prod_set$',axiom,
    ( ( 'fmb_C_b_prod_set$_1' != 'fmb_C_b_prod_set$_2' )
    & ( 'fmb_C_b_prod_set$_1' != 'fmb_C_b_prod_set$_3' )
    & ( 'fmb_C_b_prod_set$_1' != 'fmb_C_b_prod_set$_4' )
    & ( 'fmb_C_b_prod_set$_2' != 'fmb_C_b_prod_set$_3' )
    & ( 'fmb_C_b_prod_set$_2' != 'fmb_C_b_prod_set$_4' )
    & ( 'fmb_C_b_prod_set$_3' != 'fmb_C_b_prod_set$_4' ) ) ).

tff('declare_some$a',type,
    'some$a': 'C_c_option_fun$' ).

tff('some$a_definition',axiom,
    'some$a' = 'fmb_C_c_option_fun$_1' ).

tff('declare_bot$m',type,
    'bot$m': 'B_option_set$' ).

tff('bot$m_definition',axiom,
    'bot$m' = 'fmb_B_option_set$_1' ).

tff('declare_bot$e',type,
    'bot$e': 'A_c_prod_set$' ).

tff('bot$e_definition',axiom,
    'bot$e' = 'fmb_A_c_prod_set$_1' ).

tff('declare_none$d',type,
    'none$d': 'B_option_option$' ).

tff('none$d_definition',axiom,
    'none$d' = 'fmb_B_option_option$_1' ).

tff('declare_bot$l',type,
    'bot$l': 'D_b_prod_set$' ).

tff('bot$l_definition',axiom,
    'bot$l' = 'fmb_D_b_prod_set$_1' ).

tff('declare_bot$k',type,
    'bot$k': 'B_b_prod_set$' ).

tff('bot$k_definition',axiom,
    'bot$k' = 'fmb_B_b_prod_set$_1' ).

tff('declare_is_none$a',type,
    'is_none$a': 'D_option_bool_fun$' ).

tff('is_none$a_definition',axiom,
    'is_none$a' = 'fmb_D_option_bool_fun$_1' ).

tff('declare_b$',type,
    'b$': 'C_d_option_fun$' ).

tff('b$_definition',axiom,
    'b$' = 'fmb_C_d_option_fun$_1' ).

tff('declare_a$',type,
    'a$': 'D_b_option_fun$' ).

tff('a$_definition',axiom,
    'a$' = 'fmb_D_b_option_fun$_1' ).

tff('declare_some$',type,
    'some$': 'A_a_option_fun$' ).

tff('some$_definition',axiom,
    'some$' = 'fmb_A_a_option_fun$_1' ).

tff('declare_none$c',type,
    'none$c': 'B_option$' ).

tff('none$c_definition',axiom,
    'none$c' = 'fmb_B_option$_1' ).

tff('declare_is_none$b',type,
    'is_none$b': 'C_option_bool_fun$' ).

tff('is_none$b_definition',axiom,
    'is_none$b' = 'fmb_C_option_bool_fun$_1' ).

tff('declare_bot$a',type,
    'bot$a': 'C_set$' ).

tff('bot$a_definition',axiom,
    'bot$a' = 'fmb_C_set$_1' ).

tff('declare_bot$b',type,
    'bot$b': 'B_set$' ).

tff('bot$b_definition',axiom,
    'bot$b' = 'fmb_B_set$_1' ).

tff('declare_bot$s',type,
    'bot$s': 'A_bool_fun$' ).

tff('bot$s_definition',axiom,
    'bot$s' = 'fmb_A_bool_fun$_1' ).

tff('declare_bot$n',type,
    'bot$n': 'C_option_set$' ).

tff('bot$n_definition',axiom,
    'bot$n' = 'fmb_C_option_set$_1' ).

tff('declare_bot$r',type,
    'bot$r': 'B_bool_fun$' ).

tff('bot$r_definition',axiom,
    'bot$r' = 'fmb_B_bool_fun$_1' ).

tff('declare_bot$p',type,
    'bot$p': 'D_bool_fun$' ).

tff('bot$p_definition',axiom,
    'bot$p' = 'fmb_D_bool_fun$_1' ).

tff('declare_none$b',type,
    'none$b': 'D_option$' ).

tff('none$b_definition',axiom,
    'none$b' = 'fmb_D_option$_1' ).

tff('declare_c$',type,
    'c$': 'A_c_option_fun$' ).

tff('c$_definition',axiom,
    'c$' = 'fmb_A_c_option_fun$_1' ).

tff('declare_bot$t',type,
    'bot$t': 'D_option_set$' ).

tff('bot$t_definition',axiom,
    'bot$t' = 'fmb_D_option_set$_1' ).

tff('declare_bot$g',type,
    'bot$g': 'A_d_prod_set$' ).

tff('bot$g_definition',axiom,
    'bot$g' = 'fmb_A_d_prod_set$_1' ).

tff('declare_bot$h',type,
    'bot$h': 'C_d_prod_set$' ).

tff('bot$h_definition',axiom,
    'bot$h' = 'fmb_C_d_prod_set$_1' ).

tff('declare_bot$i',type,
    'bot$i': 'C_b_prod_set$' ).

tff('bot$i_definition',axiom,
    'bot$i' = 'fmb_C_b_prod_set$_1' ).

tff('declare_none$a',type,
    'none$a': 'C_option$' ).

tff('none$a_definition',axiom,
    'none$a' = 'fmb_C_option$_1' ).

tff('declare_bot$q',type,
    'bot$q': 'C_bool_fun$' ).

tff('bot$q_definition',axiom,
    'bot$q' = 'fmb_C_bool_fun$_1' ).

tff('declare_is_none$',type,
    'is_none$': 'B_option_bool_fun$' ).

tff('is_none$_definition',axiom,
    'is_none$' = 'fmb_B_option_bool_fun$_1' ).

tff('declare_bot$c',type,
    'bot$c': 'A_set$' ).

tff('bot$c_definition',axiom,
    'bot$c' = 'fmb_A_set$_1' ).

tff('declare_bot$o',type,
    'bot$o': 'B_option_bool_fun$' ).

tff('bot$o_definition',axiom,
    'bot$o' = 'fmb_B_option_bool_fun$_2' ).

tff('declare_bot$',type,
    'bot$': 'D_set$' ).

tff('bot$_definition',axiom,
    'bot$' = 'fmb_D_set$_1' ).

tff('declare_some$c',type,
    'some$c': 'B_b_option_fun$' ).

tff('some$c_definition',axiom,
    'some$c' = 'fmb_B_b_option_fun$_1' ).

tff('declare_bot$j',type,
    'bot$j': 'B_c_prod_set$' ).

tff('bot$j_definition',axiom,
    'bot$j' = 'fmb_B_c_prod_set$_1' ).

tff('declare_bot$f',type,
    'bot$f': 'A_a_prod_set$' ).

tff('bot$f_definition',axiom,
    'bot$f' = 'fmb_A_a_prod_set$_1' ).

tff('declare_none$',type,
    'none$': 'A_option$' ).

tff('none$_definition',axiom,
    'none$' = 'fmb_A_option$_1' ).

tff('declare_bot$d',type,
    'bot$d': 'A_b_prod_set$' ).

tff('bot$d_definition',axiom,
    'bot$d' = 'fmb_A_b_prod_set$_1' ).

tff('declare_some$b',type,
    'some$b': 'D_d_option_fun$' ).

tff('some$b_definition',axiom,
    'some$b' = 'fmb_D_d_option_fun$_1' ).

tff('declare_relcomp$a',type,
    'relcomp$a': ( 'C_d_prod_set$' * 'D_b_prod_set$' ) > 'C_b_prod_set$' ).

tff('function_relcomp$a',axiom,
    ( ( 'relcomp$a'('fmb_C_d_prod_set$_1','fmb_D_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_1','fmb_D_b_prod_set$_2') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_1','fmb_D_b_prod_set$_3') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_1','fmb_D_b_prod_set$_4') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_2','fmb_D_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_2','fmb_D_b_prod_set$_2') = 'fmb_C_b_prod_set$_3' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_2','fmb_D_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_2','fmb_D_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_3','fmb_D_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_3','fmb_D_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_3','fmb_D_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_3','fmb_D_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_4','fmb_D_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_4','fmb_D_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_4','fmb_D_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$a'('fmb_C_d_prod_set$_4','fmb_D_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' ) ) ).

tff('declare_the_elem$',type,
    'the_elem$': 'B_option_set$' > 'B_option$' ).

tff('function_the_elem$',axiom,
    ( ( 'the_elem$'('fmb_B_option_set$_1') = 'fmb_B_option$_2' )
    & ( 'the_elem$'('fmb_B_option_set$_2') = 'fmb_B_option$_1' )
    & ( 'the_elem$'('fmb_B_option_set$_3') = 'fmb_B_option$_2' )
    & ( 'the_elem$'('fmb_B_option_set$_4') = 'fmb_B_option$_2' ) ) ).

tff('declare_fun_app$g',type,
    'fun_app$g': ( 'A_a_option_fun_a_b_option_fun_fun$' * 'A_a_option_fun$' ) > 'A_b_option_fun$' ).

tff('function_fun_app$g',axiom,
    ( ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_1','fmb_A_a_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_1','fmb_A_a_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_1','fmb_A_a_option_fun$_3') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_1','fmb_A_a_option_fun$_4') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_2','fmb_A_a_option_fun$_1') = 'fmb_A_b_option_fun$_1' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_2','fmb_A_a_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_2','fmb_A_a_option_fun$_3') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_2','fmb_A_a_option_fun$_4') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_3','fmb_A_a_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_3','fmb_A_a_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_3','fmb_A_a_option_fun$_3') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_3','fmb_A_a_option_fun$_4') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_4','fmb_A_a_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_4','fmb_A_a_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_4','fmb_A_a_option_fun$_3') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_app$g'('fmb_A_a_option_fun_a_b_option_fun_fun$_4','fmb_A_a_option_fun$_4') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_pair$g',type,
    'pair$g': ( 'A$' * 'D$' ) > 'A_d_prod$' ).

tff('function_pair$g',axiom,
    'pair$g'('fmb_A$_1','fmb_D$_1') = 'fmb_A_d_prod$_1' ).

tff('declare_image$c',type,
    'image$c': ( 'A_b_prod_set$' * 'A_set$' ) > 'B_set$' ).

tff('function_image$c',axiom,
    ( ( 'image$c'('fmb_A_b_prod_set$_1','fmb_A_set$_1') = 'fmb_B_set$_2' )
    & ( 'image$c'('fmb_A_b_prod_set$_1','fmb_A_set$_2') = 'fmb_B_set$_2' ) ) ).

tff('declare_fun_app$m',type,
    'fun_app$m': ( 'C_b_option_fun$' * 'C$' ) > 'B_option$' ).

tff('function_fun_app$m',axiom,
    ( ( 'fun_app$m'('fmb_C_b_option_fun$_1','fmb_C$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$m'('fmb_C_b_option_fun$_2','fmb_C$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$m'('fmb_C_b_option_fun$_3','fmb_C$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$m'('fmb_C_b_option_fun$_4','fmb_C$_1') = 'fmb_B_option$_2' ) ) ).

tff('declare_insert$c',type,
    'insert$c': ( 'C$' * 'C_set$' ) > 'C_set$' ).

tff('function_insert$c',axiom,
    ( ( 'insert$c'('fmb_C$_1','fmb_C_set$_1') = 'fmb_C_set$_3' )
    & ( 'insert$c'('fmb_C$_1','fmb_C_set$_2') = 'fmb_C_set$_3' )
    & ( 'insert$c'('fmb_C$_1','fmb_C_set$_3') = 'fmb_C_set$_2' ) ) ).

tff('declare_relcomp$r',type,
    'relcomp$r': ( 'A_a_prod_set$' * 'A_b_prod_set$' ) > 'A_b_prod_set$' ).

tff('function_relcomp$r',axiom,
    ( ( 'relcomp$r'('fmb_A_a_prod_set$_1','fmb_A_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$r'('fmb_A_a_prod_set$_2','fmb_A_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$r'('fmb_A_a_prod_set$_3','fmb_A_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$r'('fmb_A_a_prod_set$_4','fmb_A_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' ) ) ).

tff('declare_map_comp$g',type,
    'map_comp$g': ( 'A_d_option_fun$' * 'C_a_option_fun$' ) > 'C_d_option_fun$' ).

tff('function_map_comp$g',axiom,
    ( ( 'map_comp$g'('fmb_A_d_option_fun$_1','fmb_C_a_option_fun$_1') = 'fmb_C_d_option_fun$_2' )
    & ( 'map_comp$g'('fmb_A_d_option_fun$_1','fmb_C_a_option_fun$_2') = 'fmb_C_d_option_fun$_3' )
    & ( 'map_comp$g'('fmb_A_d_option_fun$_1','fmb_C_a_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$g'('fmb_A_d_option_fun$_1','fmb_C_a_option_fun$_4') = 'fmb_C_d_option_fun$_4' ) ) ).

tff('declare_dom$d',type,
    'dom$d': 'A_b_option_fun$' > 'A_set$' ).

tff('function_dom$d',axiom,
    ( ( 'dom$d'('fmb_A_b_option_fun$_1') = 'fmb_A_set$_2' )
    & ( 'dom$d'('fmb_A_b_option_fun$_2') = 'fmb_A_set$_2' ) ) ).

tff('declare_bind$h',type,
    'bind$h': 'B_option$' > 'B_b_option_fun_b_option_fun$' ).

tff('function_bind$h',axiom,
    ( ( 'bind$h'('fmb_B_option$_1') = 'fmb_B_b_option_fun_b_option_fun$_2' )
    & ( 'bind$h'('fmb_B_option$_2') = 'fmb_B_b_option_fun_b_option_fun$_3' ) ) ).

tff('declare_fun_upd$b',type,
    'fun_upd$b': ( 'A_d_option_fun$' * 'A$' * 'D_option$' ) > 'A_d_option_fun$' ).

tff('function_fun_upd$b',axiom,
    ( ( 'fun_upd$b'('fmb_A_d_option_fun$_1','fmb_A$_1','fmb_D_option$_1') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_upd$b'('fmb_A_d_option_fun$_1','fmb_A$_1','fmb_D_option$_2') = 'fmb_A_d_option_fun$_1' ) ) ).

tff('declare_restrict_map$i',type,
    'restrict_map$i': ( 'A_b_option_fun$' * 'A_set$' ) > 'A_b_option_fun$' ).

tff('function_restrict_map$i',axiom,
    ( ( 'restrict_map$i'('fmb_A_b_option_fun$_1','fmb_A_set$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'restrict_map$i'('fmb_A_b_option_fun$_1','fmb_A_set$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'restrict_map$i'('fmb_A_b_option_fun$_2','fmb_A_set$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'restrict_map$i'('fmb_A_b_option_fun$_2','fmb_A_set$_2') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_collect$',type,
    'collect$': 'B_option_bool_fun$' > 'B_option_set$' ).

tff('function_collect$',axiom,
    ( ( 'collect$'('fmb_B_option_bool_fun$_1') = 'fmb_B_option_set$_2' )
    & ( 'collect$'('fmb_B_option_bool_fun$_2') = 'fmb_B_option_set$_1' )
    & ( 'collect$'('fmb_B_option_bool_fun$_3') = 'fmb_B_option_set$_4' )
    & ( 'collect$'('fmb_B_option_bool_fun$_4') = 'fmb_B_option_set$_3' ) ) ).

tff('declare_fun_app$y',type,
    'fun_app$y': ( 'D_option_d_option_bool_fun_fun$' * 'D_option$' ) > 'D_option_bool_fun$' ).

tff('function_fun_app$y',axiom,
    ( ( 'fun_app$y'('fmb_D_option_d_option_bool_fun_fun$_1','fmb_D_option$_1') = 'fmb_D_option_bool_fun$_2' )
    & ( 'fun_app$y'('fmb_D_option_d_option_bool_fun_fun$_1','fmb_D_option$_2') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$y'('fmb_D_option_d_option_bool_fun_fun$_2','fmb_D_option$_1') = 'fmb_D_option_bool_fun$_2' )
    & ( 'fun_app$y'('fmb_D_option_d_option_bool_fun_fun$_2','fmb_D_option$_2') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$y'('fmb_D_option_d_option_bool_fun_fun$_3','fmb_D_option$_1') = 'fmb_D_option_bool_fun$_2' )
    & ( 'fun_app$y'('fmb_D_option_d_option_bool_fun_fun$_3','fmb_D_option$_2') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$y'('fmb_D_option_d_option_bool_fun_fun$_4','fmb_D_option$_1') = 'fmb_D_option_bool_fun$_2' )
    & ( 'fun_app$y'('fmb_D_option_d_option_bool_fun_fun$_4','fmb_D_option$_2') = 'fmb_D_option_bool_fun$_4' ) ) ).

tff('declare_fun_app$af',type,
    'fun_app$af': ( 'D_d_option_fun_d_option_fun$' * 'D_d_option_fun$' ) > 'D_option$' ).

tff('function_fun_app$af',axiom,
    ( ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_1','fmb_D_d_option_fun$_1') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_1','fmb_D_d_option_fun$_2') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_1','fmb_D_d_option_fun$_3') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_1','fmb_D_d_option_fun$_4') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_2','fmb_D_d_option_fun$_1') = 'fmb_D_option$_1' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_2','fmb_D_d_option_fun$_2') = 'fmb_D_option$_1' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_2','fmb_D_d_option_fun$_3') = 'fmb_D_option$_1' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_2','fmb_D_d_option_fun$_4') = 'fmb_D_option$_1' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_3','fmb_D_d_option_fun$_1') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_3','fmb_D_d_option_fun$_2') = 'fmb_D_option$_1' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_3','fmb_D_d_option_fun$_3') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_3','fmb_D_d_option_fun$_4') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_4','fmb_D_d_option_fun$_1') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_4','fmb_D_d_option_fun$_2') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_4','fmb_D_d_option_fun$_3') = 'fmb_D_option$_2' )
    & ( 'fun_app$af'('fmb_D_d_option_fun_d_option_fun$_4','fmb_D_d_option_fun$_4') = 'fmb_D_option$_2' ) ) ).

tff('declare_relcomp$t',type,
    'relcomp$t': ( 'A_b_prod_set$' * 'B_c_prod_set$' ) > 'A_c_prod_set$' ).

tff('function_relcomp$t',axiom,
    ( ( 'relcomp$t'('fmb_A_b_prod_set$_1','fmb_B_c_prod_set$_1') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$t'('fmb_A_b_prod_set$_1','fmb_B_c_prod_set$_2') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$t'('fmb_A_b_prod_set$_1','fmb_B_c_prod_set$_3') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$t'('fmb_A_b_prod_set$_1','fmb_B_c_prod_set$_4') = 'fmb_A_c_prod_set$_1' ) ) ).

tff('declare_insert$e',type,
    'insert$e': ( 'B$' * 'B_set$' ) > 'B_set$' ).

tff('function_insert$e',axiom,
    ( ( 'insert$e'('fmb_B$_1','fmb_B_set$_1') = 'fmb_B_set$_2' )
    & ( 'insert$e'('fmb_B$_1','fmb_B_set$_2') = 'fmb_B_set$_2' ) ) ).

tff('declare_fun_app$ab',type,
    'fun_app$ab': ( 'B_option_d_option_bool_fun_fun$' * 'B_option$' ) > 'D_option_bool_fun$' ).

tff('function_fun_app$ab',axiom,
    ( ( 'fun_app$ab'('fmb_B_option_d_option_bool_fun_fun$_1','fmb_B_option$_1') = 'fmb_D_option_bool_fun$_3' )
    & ( 'fun_app$ab'('fmb_B_option_d_option_bool_fun_fun$_1','fmb_B_option$_2') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$ab'('fmb_B_option_d_option_bool_fun_fun$_2','fmb_B_option$_1') = 'fmb_D_option_bool_fun$_3' )
    & ( 'fun_app$ab'('fmb_B_option_d_option_bool_fun_fun$_2','fmb_B_option$_2') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$ab'('fmb_B_option_d_option_bool_fun_fun$_3','fmb_B_option$_1') = 'fmb_D_option_bool_fun$_3' )
    & ( 'fun_app$ab'('fmb_B_option_d_option_bool_fun_fun$_3','fmb_B_option$_2') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$ab'('fmb_B_option_d_option_bool_fun_fun$_4','fmb_B_option$_1') = 'fmb_D_option_bool_fun$_3' )
    & ( 'fun_app$ab'('fmb_B_option_d_option_bool_fun_fun$_4','fmb_B_option$_2') = 'fmb_D_option_bool_fun$_4' ) ) ).

tff('declare_graph$i',type,
    'graph$i': 'B_d_option_fun$' > 'B_d_prod_set$' ).

tff('function_graph$i',axiom,
    ( ( 'graph$i'('fmb_B_d_option_fun$_1') = 'fmb_B_d_prod_set$_2' )
    & ( 'graph$i'('fmb_B_d_option_fun$_2') = 'fmb_B_d_prod_set$_3' )
    & ( 'graph$i'('fmb_B_d_option_fun$_3') = 'fmb_B_d_prod_set$_4' )
    & ( 'graph$i'('fmb_B_d_option_fun$_4') = 'fmb_B_d_prod_set$_4' ) ) ).

tff('declare_map_add$d',type,
    'map_add$d': ( 'A_b_option_fun$' * 'A_b_option_fun$' ) > 'A_b_option_fun$' ).

tff('function_map_add$d',axiom,
    ( ( 'map_add$d'('fmb_A_b_option_fun$_1','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'map_add$d'('fmb_A_b_option_fun$_1','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'map_add$d'('fmb_A_b_option_fun$_2','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'map_add$d'('fmb_A_b_option_fun$_2','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_fun_app$ax',type,
    'fun_app$ax': ( 'D_a_option_fun$' * 'D$' ) > 'A_option$' ).

tff('function_fun_app$ax',axiom,
    ( ( 'fun_app$ax'('fmb_D_a_option_fun$_1','fmb_D$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$ax'('fmb_D_a_option_fun$_2','fmb_D$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$ax'('fmb_D_a_option_fun$_3','fmb_D$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$ax'('fmb_D_a_option_fun$_4','fmb_D$_1') = 'fmb_A_option$_2' ) ) ).

tff('declare_the$d',type,
    'the$d': 'A_option$' > 'A$' ).

tff('function_the$d',axiom,
    ( ( 'the$d'('fmb_A_option$_1') = 'fmb_A$_1' )
    & ( 'the$d'('fmb_A_option$_2') = 'fmb_A$_1' ) ) ).

tff('declare_image$f',type,
    'image$f': ( 'C_c_option_fun$' * 'C_set$' ) > 'C_option_set$' ).

tff('function_image$f',axiom,
    ( ( 'image$f'('fmb_C_c_option_fun$_1','fmb_C_set$_1') = 'fmb_C_option_set$_1' )
    & ( 'image$f'('fmb_C_c_option_fun$_1','fmb_C_set$_2') = 'fmb_C_option_set$_4' )
    & ( 'image$f'('fmb_C_c_option_fun$_1','fmb_C_set$_3') = 'fmb_C_option_set$_3' )
    & ( 'image$f'('fmb_C_c_option_fun$_2','fmb_C_set$_1') = 'fmb_C_option_set$_4' )
    & ( 'image$f'('fmb_C_c_option_fun$_2','fmb_C_set$_2') = 'fmb_C_option_set$_4' )
    & ( 'image$f'('fmb_C_c_option_fun$_2','fmb_C_set$_3') = 'fmb_C_option_set$_4' )
    & ( 'image$f'('fmb_C_c_option_fun$_3','fmb_C_set$_1') = 'fmb_C_option_set$_4' )
    & ( 'image$f'('fmb_C_c_option_fun$_3','fmb_C_set$_2') = 'fmb_C_option_set$_4' )
    & ( 'image$f'('fmb_C_c_option_fun$_3','fmb_C_set$_3') = 'fmb_C_option_set$_4' )
    & ( 'image$f'('fmb_C_c_option_fun$_4','fmb_C_set$_1') = 'fmb_C_option_set$_4' )
    & ( 'image$f'('fmb_C_c_option_fun$_4','fmb_C_set$_2') = 'fmb_C_option_set$_4' )
    & ( 'image$f'('fmb_C_c_option_fun$_4','fmb_C_set$_3') = 'fmb_C_option_set$_4' ) ) ).

tff('declare_fun_app$ad',type,
    'fun_app$ad': ( 'C_c_option_fun_c_option_fun$' * 'C_c_option_fun$' ) > 'C_option$' ).

tff('function_fun_app$ad',axiom,
    ( ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_2','fmb_C_c_option_fun$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_2','fmb_C_c_option_fun$_2') = 'fmb_C_option$_1' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_2','fmb_C_c_option_fun$_3') = 'fmb_C_option$_1' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_2','fmb_C_c_option_fun$_4') = 'fmb_C_option$_1' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_3','fmb_C_c_option_fun$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_3','fmb_C_c_option_fun$_2') = 'fmb_C_option$_1' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_3','fmb_C_c_option_fun$_3') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_3','fmb_C_c_option_fun$_4') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_4','fmb_C_c_option_fun$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_4','fmb_C_c_option_fun$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_4','fmb_C_c_option_fun$_3') = 'fmb_C_option$_2' )
    & ( 'fun_app$ad'('fmb_C_c_option_fun_c_option_fun$_4','fmb_C_c_option_fun$_4') = 'fmb_C_option$_2' ) ) ).

tff('declare_fun_app$j',type,
    'fun_app$j': ( 'C_d_option_fun$' * 'C$' ) > 'D_option$' ).

tff('function_fun_app$j',axiom,
    ( ( 'fun_app$j'('fmb_C_d_option_fun$_1','fmb_C$_1') = 'fmb_D_option$_2' )
    & ( 'fun_app$j'('fmb_C_d_option_fun$_2','fmb_C$_1') = 'fmb_D_option$_1' )
    & ( 'fun_app$j'('fmb_C_d_option_fun$_3','fmb_C$_1') = 'fmb_D_option$_1' )
    & ( 'fun_app$j'('fmb_C_d_option_fun$_4','fmb_C$_1') = 'fmb_D_option$_1' ) ) ).

tff('declare_uub$',type,
    'uub$': 'C_set$' > 'C_bool_fun$' ).

tff('function_uub$',axiom,
    ( ( 'uub$'('fmb_C_set$_1') = 'fmb_C_bool_fun$_2' )
    & ( 'uub$'('fmb_C_set$_2') = 'fmb_C_bool_fun$_3' )
    & ( 'uub$'('fmb_C_set$_3') = 'fmb_C_bool_fun$_4' ) ) ).

tff('declare_fun_app$e',type,
    'fun_app$e': ( 'A_a_option_fun_a_d_option_fun_fun$' * 'A_a_option_fun$' ) > 'A_d_option_fun$' ).

tff('function_fun_app$e',axiom,
    ( ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_1','fmb_A_a_option_fun$_1') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_1','fmb_A_a_option_fun$_2') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_1','fmb_A_a_option_fun$_3') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_1','fmb_A_a_option_fun$_4') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_2','fmb_A_a_option_fun$_1') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_2','fmb_A_a_option_fun$_2') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_2','fmb_A_a_option_fun$_3') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_2','fmb_A_a_option_fun$_4') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_3','fmb_A_a_option_fun$_1') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_3','fmb_A_a_option_fun$_2') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_3','fmb_A_a_option_fun$_3') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_3','fmb_A_a_option_fun$_4') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_4','fmb_A_a_option_fun$_1') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_4','fmb_A_a_option_fun$_2') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_4','fmb_A_a_option_fun$_3') = 'fmb_A_d_option_fun$_1' )
    & ( 'fun_app$e'('fmb_A_a_option_fun_a_d_option_fun_fun$_4','fmb_A_a_option_fun$_4') = 'fmb_A_d_option_fun$_1' ) ) ).

tff('declare_pair$i',type,
    'pair$i': ( 'A$' * 'B$' ) > 'A_b_prod$' ).

tff('function_pair$i',axiom,
    'pair$i'('fmb_A$_1','fmb_B$_1') = 'fmb_A_b_prod$_1' ).

tff('declare_restrict_map$',type,
    'restrict_map$': ( 'C_a_option_fun$' * 'C_set$' ) > 'C_a_option_fun$' ).

tff('function_restrict_map$',axiom,
    ( ( 'restrict_map$'('fmb_C_a_option_fun$_1','fmb_C_set$_1') = 'fmb_C_a_option_fun$_2' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_1','fmb_C_set$_2') = 'fmb_C_a_option_fun$_4' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_1','fmb_C_set$_3') = 'fmb_C_a_option_fun$_4' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_2','fmb_C_set$_1') = 'fmb_C_a_option_fun$_4' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_2','fmb_C_set$_2') = 'fmb_C_a_option_fun$_3' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_2','fmb_C_set$_3') = 'fmb_C_a_option_fun$_4' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_3','fmb_C_set$_1') = 'fmb_C_a_option_fun$_4' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_3','fmb_C_set$_2') = 'fmb_C_a_option_fun$_4' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_3','fmb_C_set$_3') = 'fmb_C_a_option_fun$_4' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_4','fmb_C_set$_1') = 'fmb_C_a_option_fun$_4' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_4','fmb_C_set$_2') = 'fmb_C_a_option_fun$_4' )
    & ( 'restrict_map$'('fmb_C_a_option_fun$_4','fmb_C_set$_3') = 'fmb_C_a_option_fun$_4' ) ) ).

tff('declare_fun_app$i',type,
    'fun_app$i': ( 'A_a_option_fun$' * 'A$' ) > 'A_option$' ).

tff('function_fun_app$i',axiom,
    ( ( 'fun_app$i'('fmb_A_a_option_fun$_1','fmb_A$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$i'('fmb_A_a_option_fun$_2','fmb_A$_1') = 'fmb_A_option$_1' )
    & ( 'fun_app$i'('fmb_A_a_option_fun$_3','fmb_A$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$i'('fmb_A_a_option_fun$_4','fmb_A$_1') = 'fmb_A_option$_2' ) ) ).

tff('declare_map_comp$c',type,
    'map_comp$c': ( 'C_d_option_fun$' * 'A_c_option_fun$' ) > 'A_d_option_fun$' ).

tff('function_map_comp$c',axiom,
    ( ( 'map_comp$c'('fmb_C_d_option_fun$_1','fmb_A_c_option_fun$_1') = 'fmb_A_d_option_fun$_1' )
    & ( 'map_comp$c'('fmb_C_d_option_fun$_2','fmb_A_c_option_fun$_1') = 'fmb_A_d_option_fun$_1' )
    & ( 'map_comp$c'('fmb_C_d_option_fun$_3','fmb_A_c_option_fun$_1') = 'fmb_A_d_option_fun$_1' )
    & ( 'map_comp$c'('fmb_C_d_option_fun$_4','fmb_A_c_option_fun$_1') = 'fmb_A_d_option_fun$_1' ) ) ).

tff('declare_restrict_map$e',type,
    'restrict_map$e': ( 'A_c_option_fun$' * 'A_set$' ) > 'A_c_option_fun$' ).

tff('function_restrict_map$e',axiom,
    ( ( 'restrict_map$e'('fmb_A_c_option_fun$_1','fmb_A_set$_1') = 'fmb_A_c_option_fun$_1' )
    & ( 'restrict_map$e'('fmb_A_c_option_fun$_1','fmb_A_set$_2') = 'fmb_A_c_option_fun$_1' ) ) ).

tff('declare_relcomp$m',type,
    'relcomp$m': ( 'C_b_prod_set$' * 'B_b_prod_set$' ) > 'C_b_prod_set$' ).

tff('function_relcomp$m',axiom,
    ( ( 'relcomp$m'('fmb_C_b_prod_set$_1','fmb_B_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_1','fmb_B_b_prod_set$_2') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_1','fmb_B_b_prod_set$_3') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_1','fmb_B_b_prod_set$_4') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_2','fmb_B_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_2','fmb_B_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_2','fmb_B_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_2','fmb_B_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_3','fmb_B_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_3','fmb_B_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_3','fmb_B_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_3','fmb_B_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_4','fmb_B_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_4','fmb_B_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_4','fmb_B_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$m'('fmb_C_b_prod_set$_4','fmb_B_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' ) ) ).

tff('declare_inf$',type,
    'inf$': ( 'C_set$' * 'C_set$' ) > 'C_set$' ).

tff('function_inf$',axiom,
    ( ( 'inf$'('fmb_C_set$_1','fmb_C_set$_1') = 'fmb_C_set$_3' )
    & ( 'inf$'('fmb_C_set$_1','fmb_C_set$_2') = 'fmb_C_set$_3' )
    & ( 'inf$'('fmb_C_set$_1','fmb_C_set$_3') = 'fmb_C_set$_3' )
    & ( 'inf$'('fmb_C_set$_2','fmb_C_set$_1') = 'fmb_C_set$_3' )
    & ( 'inf$'('fmb_C_set$_2','fmb_C_set$_2') = 'fmb_C_set$_3' )
    & ( 'inf$'('fmb_C_set$_2','fmb_C_set$_3') = 'fmb_C_set$_3' )
    & ( 'inf$'('fmb_C_set$_3','fmb_C_set$_1') = 'fmb_C_set$_3' )
    & ( 'inf$'('fmb_C_set$_3','fmb_C_set$_2') = 'fmb_C_set$_3' )
    & ( 'inf$'('fmb_C_set$_3','fmb_C_set$_3') = 'fmb_C_set$_3' ) ) ).

tff('declare_relcomp$d',type,
    'relcomp$d': ( 'C_c_prod_set$' * 'C_d_prod_set$' ) > 'C_d_prod_set$' ).

tff('function_relcomp$d',axiom,
    ( ( 'relcomp$d'('fmb_C_c_prod_set$_1','fmb_C_d_prod_set$_1') = 'fmb_C_d_prod_set$_2' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_1','fmb_C_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_1','fmb_C_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_1','fmb_C_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_2','fmb_C_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_2','fmb_C_d_prod_set$_2') = 'fmb_C_d_prod_set$_3' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_2','fmb_C_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_2','fmb_C_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_3','fmb_C_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_3','fmb_C_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_3','fmb_C_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_3','fmb_C_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_4','fmb_C_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_4','fmb_C_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_4','fmb_C_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$d'('fmb_C_c_prod_set$_4','fmb_C_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' ) ) ).

tff('declare_these$b',type,
    'these$b': 'B_option_set$' > 'B_set$' ).

tff('function_these$b',axiom,
    ( ( 'these$b'('fmb_B_option_set$_1') = 'fmb_B_set$_1' )
    & ( 'these$b'('fmb_B_option_set$_2') = 'fmb_B_set$_1' )
    & ( 'these$b'('fmb_B_option_set$_3') = 'fmb_B_set$_2' )
    & ( 'these$b'('fmb_B_option_set$_4') = 'fmb_B_set$_2' ) ) ).

tff('declare_these$a',type,
    'these$a': 'D_option_set$' > 'D_set$' ).

tff('function_these$a',axiom,
    ( ( 'these$a'('fmb_D_option_set$_1') = 'fmb_D_set$_1' )
    & ( 'these$a'('fmb_D_option_set$_2') = 'fmb_D_set$_2' ) ) ).

tff('declare_pair$a',type,
    'pair$a': ( 'A$' * 'A$' ) > 'A_a_prod$' ).

tff('function_pair$a',axiom,
    'pair$a'('fmb_A$_1','fmb_A$_1') = 'fmb_A_a_prod$_2' ).

tff('declare_restrict_map$a',type,
    'restrict_map$a': ( 'A_a_option_fun$' * 'A_set$' ) > 'A_a_option_fun$' ).

tff('function_restrict_map$a',axiom,
    ( ( 'restrict_map$a'('fmb_A_a_option_fun$_1','fmb_A_set$_1') = 'fmb_A_a_option_fun$_2' )
    & ( 'restrict_map$a'('fmb_A_a_option_fun$_1','fmb_A_set$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'restrict_map$a'('fmb_A_a_option_fun$_2','fmb_A_set$_1') = 'fmb_A_a_option_fun$_2' )
    & ( 'restrict_map$a'('fmb_A_a_option_fun$_2','fmb_A_set$_2') = 'fmb_A_a_option_fun$_2' )
    & ( 'restrict_map$a'('fmb_A_a_option_fun$_3','fmb_A_set$_1') = 'fmb_A_a_option_fun$_2' )
    & ( 'restrict_map$a'('fmb_A_a_option_fun$_3','fmb_A_set$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'restrict_map$a'('fmb_A_a_option_fun$_4','fmb_A_set$_1') = 'fmb_A_a_option_fun$_2' )
    & ( 'restrict_map$a'('fmb_A_a_option_fun$_4','fmb_A_set$_2') = 'fmb_A_a_option_fun$_4' ) ) ).

tff('declare_graph$h',type,
    'graph$h': 'D_d_option_fun$' > 'D_d_prod_set$' ).

tff('function_graph$h',axiom,
    ( ( 'graph$h'('fmb_D_d_option_fun$_1') = 'fmb_D_d_prod_set$_2' )
    & ( 'graph$h'('fmb_D_d_option_fun$_2') = 'fmb_D_d_prod_set$_2' )
    & ( 'graph$h'('fmb_D_d_option_fun$_3') = 'fmb_D_d_prod_set$_2' )
    & ( 'graph$h'('fmb_D_d_option_fun$_4') = 'fmb_D_d_prod_set$_2' ) ) ).

tff('declare_fun_app$ae',type,
    'fun_app$ae': ( 'D_c_option_fun$' * 'D$' ) > 'C_option$' ).

tff('function_fun_app$ae',axiom,
    ( ( 'fun_app$ae'('fmb_D_c_option_fun$_1','fmb_D$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$ae'('fmb_D_c_option_fun$_2','fmb_D$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$ae'('fmb_D_c_option_fun$_3','fmb_D$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$ae'('fmb_D_c_option_fun$_4','fmb_D$_1') = 'fmb_C_option$_2' ) ) ).

tff('declare_fun_app$l',type,
    'fun_app$l': ( 'A_d_option_fun$' * 'A$' ) > 'D_option$' ).

tff('function_fun_app$l',axiom,
    'fun_app$l'('fmb_A_d_option_fun$_1','fmb_A$_1') = 'fmb_D_option$_1' ).

tff('declare_restrict_map$f',type,
    'restrict_map$f': ( 'C_d_option_fun$' * 'C_set$' ) > 'C_d_option_fun$' ).

tff('function_restrict_map$f',axiom,
    ( ( 'restrict_map$f'('fmb_C_d_option_fun$_1','fmb_C_set$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_1','fmb_C_set$_2') = 'fmb_C_d_option_fun$_1' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_1','fmb_C_set$_3') = 'fmb_C_d_option_fun$_1' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_2','fmb_C_set$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_2','fmb_C_set$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_2','fmb_C_set$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_3','fmb_C_set$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_3','fmb_C_set$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_3','fmb_C_set$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_4','fmb_C_set$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_4','fmb_C_set$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'restrict_map$f'('fmb_C_d_option_fun$_4','fmb_C_set$_3') = 'fmb_C_d_option_fun$_4' ) ) ).

tff('declare_relcomp$c',type,
    'relcomp$c': ( 'A_c_prod_set$' * 'C_d_prod_set$' ) > 'A_d_prod_set$' ).

tff('function_relcomp$c',axiom,
    ( ( 'relcomp$c'('fmb_A_c_prod_set$_1','fmb_C_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_1','fmb_C_d_prod_set$_2') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_1','fmb_C_d_prod_set$_3') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_1','fmb_C_d_prod_set$_4') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_2','fmb_C_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_2','fmb_C_d_prod_set$_2') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_2','fmb_C_d_prod_set$_3') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_2','fmb_C_d_prod_set$_4') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_3','fmb_C_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_3','fmb_C_d_prod_set$_2') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_3','fmb_C_d_prod_set$_3') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_3','fmb_C_d_prod_set$_4') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_4','fmb_C_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_4','fmb_C_d_prod_set$_2') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_4','fmb_C_d_prod_set$_3') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$c'('fmb_A_c_prod_set$_4','fmb_C_d_prod_set$_4') = 'fmb_A_d_prod_set$_1' ) ) ).

tff('declare_fun_app$z',type,
    'fun_app$z': ( 'D_option_b_option_bool_fun_fun$' * 'D_option$' ) > 'B_option_bool_fun$' ).

tff('function_fun_app$z',axiom,
    ( ( 'fun_app$z'('fmb_D_option_b_option_bool_fun_fun$_1','fmb_D_option$_1') = 'fmb_B_option_bool_fun$_3' )
    & ( 'fun_app$z'('fmb_D_option_b_option_bool_fun_fun$_1','fmb_D_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$z'('fmb_D_option_b_option_bool_fun_fun$_2','fmb_D_option$_1') = 'fmb_B_option_bool_fun$_3' )
    & ( 'fun_app$z'('fmb_D_option_b_option_bool_fun_fun$_2','fmb_D_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$z'('fmb_D_option_b_option_bool_fun_fun$_3','fmb_D_option$_1') = 'fmb_B_option_bool_fun$_3' )
    & ( 'fun_app$z'('fmb_D_option_b_option_bool_fun_fun$_3','fmb_D_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$z'('fmb_D_option_b_option_bool_fun_fun$_4','fmb_D_option$_1') = 'fmb_B_option_bool_fun$_3' )
    & ( 'fun_app$z'('fmb_D_option_b_option_bool_fun_fun$_4','fmb_D_option$_2') = 'fmb_B_option_bool_fun$_4' ) ) ).

tff('declare_sup$a',type,
    'sup$a': ( 'A_d_prod_set$' * 'A_d_prod_set$' ) > 'A_d_prod_set$' ).

tff('function_sup$a',axiom,
    'sup$a'('fmb_A_d_prod_set$_1','fmb_A_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' ).

tff('declare_ran$h',type,
    'ran$h': 'D_d_option_fun$' > 'D_set$' ).

tff('function_ran$h',axiom,
    ( ( 'ran$h'('fmb_D_d_option_fun$_1') = 'fmb_D_set$_2' )
    & ( 'ran$h'('fmb_D_d_option_fun$_2') = 'fmb_D_set$_1' )
    & ( 'ran$h'('fmb_D_d_option_fun$_3') = 'fmb_D_set$_2' )
    & ( 'ran$h'('fmb_D_d_option_fun$_4') = 'fmb_D_set$_2' ) ) ).

tff('declare_restrict_map$l',type,
    'restrict_map$l': ( 'D_d_option_fun$' * 'D_set$' ) > 'D_d_option_fun$' ).

tff('function_restrict_map$l',axiom,
    ( ( 'restrict_map$l'('fmb_D_d_option_fun$_1','fmb_D_set$_1') = 'fmb_D_d_option_fun$_2' )
    & ( 'restrict_map$l'('fmb_D_d_option_fun$_1','fmb_D_set$_2') = 'fmb_D_d_option_fun$_4' )
    & ( 'restrict_map$l'('fmb_D_d_option_fun$_2','fmb_D_set$_1') = 'fmb_D_d_option_fun$_2' )
    & ( 'restrict_map$l'('fmb_D_d_option_fun$_2','fmb_D_set$_2') = 'fmb_D_d_option_fun$_2' )
    & ( 'restrict_map$l'('fmb_D_d_option_fun$_3','fmb_D_set$_1') = 'fmb_D_d_option_fun$_2' )
    & ( 'restrict_map$l'('fmb_D_d_option_fun$_3','fmb_D_set$_2') = 'fmb_D_d_option_fun$_4' )
    & ( 'restrict_map$l'('fmb_D_d_option_fun$_4','fmb_D_set$_1') = 'fmb_D_d_option_fun$_2' )
    & ( 'restrict_map$l'('fmb_D_d_option_fun$_4','fmb_D_set$_2') = 'fmb_D_d_option_fun$_4' ) ) ).

tff('declare_fun_app$h',type,
    'fun_app$h': ( 'A_c_option_fun$' * 'A$' ) > 'C_option$' ).

tff('function_fun_app$h',axiom,
    'fun_app$h'('fmb_A_c_option_fun$_1','fmb_A$_1') = 'fmb_C_option$_1' ).

tff('declare_ran$g',type,
    'ran$g': 'A_c_option_fun$' > 'C_set$' ).

tff('function_ran$g',axiom,
    'ran$g'('fmb_A_c_option_fun$_1') = 'fmb_C_set$_1' ).

tff('declare_pair$l',type,
    'pair$l': ( 'D$' * 'D$' ) > 'D_d_prod$' ).

tff('function_pair$l',axiom,
    'pair$l'('fmb_D$_1','fmb_D$_1') = 'fmb_D_d_prod$_2' ).

tff('declare_set_option$a',type,
    'set_option$a': 'A_option$' > 'A_set$' ).

tff('function_set_option$a',axiom,
    ( ( 'set_option$a'('fmb_A_option$_1') = 'fmb_A_set$_1' )
    & ( 'set_option$a'('fmb_A_option$_2') = 'fmb_A_set$_2' ) ) ).

tff('declare_fun_app$u',type,
    'fun_app$u': ( 'C_option_c_option_bool_fun_fun$' * 'C_option$' ) > 'C_option_bool_fun$' ).

tff('function_fun_app$u',axiom,
    ( ( 'fun_app$u'('fmb_C_option_c_option_bool_fun_fun$_1','fmb_C_option$_1') = 'fmb_C_option_bool_fun$_2' )
    & ( 'fun_app$u'('fmb_C_option_c_option_bool_fun_fun$_1','fmb_C_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$u'('fmb_C_option_c_option_bool_fun_fun$_2','fmb_C_option$_1') = 'fmb_C_option_bool_fun$_2' )
    & ( 'fun_app$u'('fmb_C_option_c_option_bool_fun_fun$_2','fmb_C_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$u'('fmb_C_option_c_option_bool_fun_fun$_3','fmb_C_option$_1') = 'fmb_C_option_bool_fun$_2' )
    & ( 'fun_app$u'('fmb_C_option_c_option_bool_fun_fun$_3','fmb_C_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$u'('fmb_C_option_c_option_bool_fun_fun$_4','fmb_C_option$_1') = 'fmb_C_option_bool_fun$_2' )
    & ( 'fun_app$u'('fmb_C_option_c_option_bool_fun_fun$_4','fmb_C_option$_2') = 'fmb_C_option_bool_fun$_4' ) ) ).

tff('declare_insert$d',type,
    'insert$d': ( 'D$' * 'D_set$' ) > 'D_set$' ).

tff('function_insert$d',axiom,
    ( ( 'insert$d'('fmb_D$_1','fmb_D_set$_1') = 'fmb_D_set$_2' )
    & ( 'insert$d'('fmb_D$_1','fmb_D_set$_2') = 'fmb_D_set$_2' ) ) ).

tff('declare_map_add$a',type,
    'map_add$a': ( 'C_b_option_fun$' * 'C_b_option_fun$' ) > 'C_b_option_fun$' ).

tff('function_map_add$a',axiom,
    ( ( 'map_add$a'('fmb_C_b_option_fun$_1','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_2' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_1','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_1','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_1','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_2','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_2','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_3' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_2','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_2','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_3','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_3','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_3','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_3','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_4','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_4','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_4','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'map_add$a'('fmb_C_b_option_fun$_4','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' ) ) ).

tff('declare_insert$a',type,
    'insert$a': ( 'B_option$' * 'B_option_set$' ) > 'B_option_set$' ).

tff('function_insert$a',axiom,
    ( ( 'insert$a'('fmb_B_option$_1','fmb_B_option_set$_1') = 'fmb_B_option_set$_2' )
    & ( 'insert$a'('fmb_B_option$_1','fmb_B_option_set$_2') = 'fmb_B_option_set$_2' )
    & ( 'insert$a'('fmb_B_option$_1','fmb_B_option_set$_3') = 'fmb_B_option_set$_4' )
    & ( 'insert$a'('fmb_B_option$_1','fmb_B_option_set$_4') = 'fmb_B_option_set$_4' )
    & ( 'insert$a'('fmb_B_option$_2','fmb_B_option_set$_1') = 'fmb_B_option_set$_4' )
    & ( 'insert$a'('fmb_B_option$_2','fmb_B_option_set$_2') = 'fmb_B_option_set$_4' )
    & ( 'insert$a'('fmb_B_option$_2','fmb_B_option_set$_3') = 'fmb_B_option_set$_4' )
    & ( 'insert$a'('fmb_B_option$_2','fmb_B_option_set$_4') = 'fmb_B_option_set$_3' ) ) ).

tff('declare_the$a',type,
    'the$a': 'D_option$' > 'D$' ).

tff('function_the$a',axiom,
    ( ( 'the$a'('fmb_D_option$_1') = 'fmb_D$_1' )
    & ( 'the$a'('fmb_D_option$_2') = 'fmb_D$_1' ) ) ).

tff('declare_image$e',type,
    'image$e': ( 'C_b_prod_set$' * 'C_set$' ) > 'B_set$' ).

tff('function_image$e',axiom,
    ( ( 'image$e'('fmb_C_b_prod_set$_1','fmb_C_set$_1') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_1','fmb_C_set$_2') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_1','fmb_C_set$_3') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_2','fmb_C_set$_1') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_2','fmb_C_set$_2') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_2','fmb_C_set$_3') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_3','fmb_C_set$_1') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_3','fmb_C_set$_2') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_3','fmb_C_set$_3') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_4','fmb_C_set$_1') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_4','fmb_C_set$_2') = 'fmb_B_set$_2' )
    & ( 'image$e'('fmb_C_b_prod_set$_4','fmb_C_set$_3') = 'fmb_B_set$_2' ) ) ).

tff('declare_fun_app$n',type,
    'fun_app$n': ( 'A_b_option_fun$' * 'A$' ) > 'B_option$' ).

tff('function_fun_app$n',axiom,
    ( ( 'fun_app$n'('fmb_A_b_option_fun$_1','fmb_A$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$n'('fmb_A_b_option_fun$_2','fmb_A$_1') = 'fmb_B_option$_1' ) ) ).

tff('declare_fun_app$w',type,
    'fun_app$w': ( 'C_option_b_option_bool_fun_fun$' * 'C_option$' ) > 'B_option_bool_fun$' ).

tff('function_fun_app$w',axiom,
    ( ( 'fun_app$w'('fmb_C_option_b_option_bool_fun_fun$_1','fmb_C_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$w'('fmb_C_option_b_option_bool_fun_fun$_1','fmb_C_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$w'('fmb_C_option_b_option_bool_fun_fun$_2','fmb_C_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$w'('fmb_C_option_b_option_bool_fun_fun$_2','fmb_C_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$w'('fmb_C_option_b_option_bool_fun_fun$_3','fmb_C_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$w'('fmb_C_option_b_option_bool_fun_fun$_3','fmb_C_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$w'('fmb_C_option_b_option_bool_fun_fun$_4','fmb_C_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$w'('fmb_C_option_b_option_bool_fun_fun$_4','fmb_C_option$_2') = 'fmb_B_option_bool_fun$_4' ) ) ).

tff('declare_graph$l',type,
    'graph$l': 'B_b_option_fun$' > 'B_b_prod_set$' ).

tff('function_graph$l',axiom,
    ( ( 'graph$l'('fmb_B_b_option_fun$_1') = 'fmb_B_b_prod_set$_2' )
    & ( 'graph$l'('fmb_B_b_option_fun$_2') = 'fmb_B_b_prod_set$_3' )
    & ( 'graph$l'('fmb_B_b_option_fun$_3') = 'fmb_B_b_prod_set$_4' )
    & ( 'graph$l'('fmb_B_b_option_fun$_4') = 'fmb_B_b_prod_set$_4' ) ) ).

tff('declare_relcomp$f',type,
    'relcomp$f': ( 'C_d_prod_set$' * 'D_d_prod_set$' ) > 'C_d_prod_set$' ).

tff('function_relcomp$f',axiom,
    ( ( 'relcomp$f'('fmb_C_d_prod_set$_1','fmb_D_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_1','fmb_D_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_1','fmb_D_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_1','fmb_D_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_2','fmb_D_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_2','fmb_D_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_2','fmb_D_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_2','fmb_D_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_3','fmb_D_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_3','fmb_D_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_3','fmb_D_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_3','fmb_D_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_4','fmb_D_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_4','fmb_D_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_4','fmb_D_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$f'('fmb_C_d_prod_set$_4','fmb_D_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' ) ) ).

tff('declare_restrict_map$o',type,
    'restrict_map$o': ( 'B_a_option_fun$' * 'B_set$' ) > 'B_a_option_fun$' ).

tff('function_restrict_map$o',axiom,
    ( ( 'restrict_map$o'('fmb_B_a_option_fun$_1','fmb_B_set$_1') = 'fmb_B_a_option_fun$_2' )
    & ( 'restrict_map$o'('fmb_B_a_option_fun$_1','fmb_B_set$_2') = 'fmb_B_a_option_fun$_4' )
    & ( 'restrict_map$o'('fmb_B_a_option_fun$_2','fmb_B_set$_1') = 'fmb_B_a_option_fun$_2' )
    & ( 'restrict_map$o'('fmb_B_a_option_fun$_2','fmb_B_set$_2') = 'fmb_B_a_option_fun$_4' )
    & ( 'restrict_map$o'('fmb_B_a_option_fun$_3','fmb_B_set$_1') = 'fmb_B_a_option_fun$_2' )
    & ( 'restrict_map$o'('fmb_B_a_option_fun$_3','fmb_B_set$_2') = 'fmb_B_a_option_fun$_4' )
    & ( 'restrict_map$o'('fmb_B_a_option_fun$_4','fmb_B_set$_1') = 'fmb_B_a_option_fun$_2' )
    & ( 'restrict_map$o'('fmb_B_a_option_fun$_4','fmb_B_set$_2') = 'fmb_B_a_option_fun$_4' ) ) ).

tff('declare_fun_app$ay',type,
    'fun_app$ay': ( 'B_a_option_fun$' * 'B$' ) > 'A_option$' ).

tff('function_fun_app$ay',axiom,
    ( ( 'fun_app$ay'('fmb_B_a_option_fun$_1','fmb_B$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$ay'('fmb_B_a_option_fun$_2','fmb_B$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$ay'('fmb_B_a_option_fun$_3','fmb_B$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$ay'('fmb_B_a_option_fun$_4','fmb_B$_1') = 'fmb_A_option$_2' ) ) ).

tff('declare_the$c',type,
    'the$c': 'B_option_option$' > 'B_option$' ).

tff('function_the$c',axiom,
    ( ( 'the$c'('fmb_B_option_option$_1') = 'fmb_B_option$_2' )
    & ( 'the$c'('fmb_B_option_option$_2') = 'fmb_B_option$_1' )
    & ( 'the$c'('fmb_B_option_option$_3') = 'fmb_B_option$_2' ) ) ).

tff('declare_map_comp$k',type,
    'map_comp$k': ( 'B_d_option_fun$' * 'C_b_option_fun$' ) > 'C_d_option_fun$' ).

tff('function_map_comp$k',axiom,
    ( ( 'map_comp$k'('fmb_B_d_option_fun$_1','fmb_C_b_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_1','fmb_C_b_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_1','fmb_C_b_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_1','fmb_C_b_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_2','fmb_C_b_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_2','fmb_C_b_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_2','fmb_C_b_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_2','fmb_C_b_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_3','fmb_C_b_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_3','fmb_C_b_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_3','fmb_C_b_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_3','fmb_C_b_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_4','fmb_C_b_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_4','fmb_C_b_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_4','fmb_C_b_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$k'('fmb_B_d_option_fun$_4','fmb_C_b_option_fun$_4') = 'fmb_C_d_option_fun$_4' ) ) ).

tff('declare_ran$i',type,
    'ran$i': 'B_d_option_fun$' > 'D_set$' ).

tff('function_ran$i',axiom,
    ( ( 'ran$i'('fmb_B_d_option_fun$_1') = 'fmb_D_set$_2' )
    & ( 'ran$i'('fmb_B_d_option_fun$_2') = 'fmb_D_set$_1' )
    & ( 'ran$i'('fmb_B_d_option_fun$_3') = 'fmb_D_set$_2' )
    & ( 'ran$i'('fmb_B_d_option_fun$_4') = 'fmb_D_set$_2' ) ) ).

tff('declare_restrict_map$m',type,
    'restrict_map$m': ( 'D_b_option_fun$' * 'D_set$' ) > 'D_b_option_fun$' ).

tff('function_restrict_map$m',axiom,
    ( ( 'restrict_map$m'('fmb_D_b_option_fun$_1','fmb_D_set$_1') = 'fmb_D_b_option_fun$_2' )
    & ( 'restrict_map$m'('fmb_D_b_option_fun$_1','fmb_D_set$_2') = 'fmb_D_b_option_fun$_4' )
    & ( 'restrict_map$m'('fmb_D_b_option_fun$_2','fmb_D_set$_1') = 'fmb_D_b_option_fun$_4' )
    & ( 'restrict_map$m'('fmb_D_b_option_fun$_2','fmb_D_set$_2') = 'fmb_D_b_option_fun$_3' )
    & ( 'restrict_map$m'('fmb_D_b_option_fun$_3','fmb_D_set$_1') = 'fmb_D_b_option_fun$_4' )
    & ( 'restrict_map$m'('fmb_D_b_option_fun$_3','fmb_D_set$_2') = 'fmb_D_b_option_fun$_4' )
    & ( 'restrict_map$m'('fmb_D_b_option_fun$_4','fmb_D_set$_1') = 'fmb_D_b_option_fun$_4' )
    & ( 'restrict_map$m'('fmb_D_b_option_fun$_4','fmb_D_set$_2') = 'fmb_D_b_option_fun$_4' ) ) ).

tff('declare_map_comp$f',type,
    'map_comp$f': 'A_b_option_fun$' > 'A_a_option_fun_a_b_option_fun_fun$' ).

tff('function_map_comp$f',axiom,
    ( ( 'map_comp$f'('fmb_A_b_option_fun$_1') = 'fmb_A_a_option_fun_a_b_option_fun_fun$_2' )
    & ( 'map_comp$f'('fmb_A_b_option_fun$_2') = 'fmb_A_a_option_fun_a_b_option_fun_fun$_3' ) ) ).

tff('declare_bind$b',type,
    'bind$b': ( 'C_option$' * 'C_b_option_fun$' ) > 'B_option$' ).

tff('function_bind$b',axiom,
    ( ( 'bind$b'('fmb_C_option$_1','fmb_C_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'bind$b'('fmb_C_option$_1','fmb_C_b_option_fun$_2') = 'fmb_B_option$_1' )
    & ( 'bind$b'('fmb_C_option$_1','fmb_C_b_option_fun$_3') = 'fmb_B_option$_1' )
    & ( 'bind$b'('fmb_C_option$_1','fmb_C_b_option_fun$_4') = 'fmb_B_option$_1' )
    & ( 'bind$b'('fmb_C_option$_2','fmb_C_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'bind$b'('fmb_C_option$_2','fmb_C_b_option_fun$_2') = 'fmb_B_option$_2' )
    & ( 'bind$b'('fmb_C_option$_2','fmb_C_b_option_fun$_3') = 'fmb_B_option$_2' )
    & ( 'bind$b'('fmb_C_option$_2','fmb_C_b_option_fun$_4') = 'fmb_B_option$_2' ) ) ).

tff('declare_combine_options$a',type,
    'combine_options$a': ( 'D_d_d_fun_fun$' * 'D_option$' ) > 'D_option_d_option_fun$' ).

tff('function_combine_options$a',axiom,
    ( ( 'combine_options$a'('fmb_D_d_d_fun_fun$_1','fmb_D_option$_1') = 'fmb_D_option_d_option_fun$_2' )
    & ( 'combine_options$a'('fmb_D_d_d_fun_fun$_1','fmb_D_option$_2') = 'fmb_D_option_d_option_fun$_4' )
    & ( 'combine_options$a'('fmb_D_d_d_fun_fun$_2','fmb_D_option$_1') = 'fmb_D_option_d_option_fun$_2' )
    & ( 'combine_options$a'('fmb_D_d_d_fun_fun$_2','fmb_D_option$_2') = 'fmb_D_option_d_option_fun$_4' )
    & ( 'combine_options$a'('fmb_D_d_d_fun_fun$_3','fmb_D_option$_1') = 'fmb_D_option_d_option_fun$_2' )
    & ( 'combine_options$a'('fmb_D_d_d_fun_fun$_3','fmb_D_option$_2') = 'fmb_D_option_d_option_fun$_4' )
    & ( 'combine_options$a'('fmb_D_d_d_fun_fun$_4','fmb_D_option$_1') = 'fmb_D_option_d_option_fun$_2' )
    & ( 'combine_options$a'('fmb_D_d_d_fun_fun$_4','fmb_D_option$_2') = 'fmb_D_option_d_option_fun$_4' ) ) ).

tff('declare_map_add$',type,
    'map_add$': ( 'C_d_option_fun$' * 'C_d_option_fun$' ) > 'C_d_option_fun$' ).

tff('function_map_add$',axiom,
    ( ( 'map_add$'('fmb_C_d_option_fun$_1','fmb_C_d_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_1','fmb_C_d_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_1','fmb_C_d_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_1','fmb_C_d_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_2','fmb_C_d_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_2','fmb_C_d_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_2','fmb_C_d_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_2','fmb_C_d_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_3','fmb_C_d_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_3','fmb_C_d_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_3','fmb_C_d_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_3','fmb_C_d_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_4','fmb_C_d_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_4','fmb_C_d_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_4','fmb_C_d_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_add$'('fmb_C_d_option_fun$_4','fmb_C_d_option_fun$_4') = 'fmb_C_d_option_fun$_4' ) ) ).

tff('declare_fun_app$ao',type,
    'fun_app$ao': ( 'D_d_d_fun_fun$' * 'D$' ) > 'D_d_fun$' ).

tff('function_fun_app$ao',axiom,
    ( ( 'fun_app$ao'('fmb_D_d_d_fun_fun$_1','fmb_D$_1') = 'fmb_D_d_fun$_2' )
    & ( 'fun_app$ao'('fmb_D_d_d_fun_fun$_2','fmb_D$_1') = 'fmb_D_d_fun$_2' )
    & ( 'fun_app$ao'('fmb_D_d_d_fun_fun$_3','fmb_D$_1') = 'fmb_D_d_fun$_2' )
    & ( 'fun_app$ao'('fmb_D_d_d_fun_fun$_4','fmb_D$_1') = 'fmb_D_d_fun$_2' ) ) ).

tff('declare_uua$',type,
    'uua$': 'D_set$' > 'D_bool_fun$' ).

tff('function_uua$',axiom,
    ( ( 'uua$'('fmb_D_set$_1') = 'fmb_D_bool_fun$_2' )
    & ( 'uua$'('fmb_D_set$_2') = 'fmb_D_bool_fun$_3' ) ) ).

tff('declare_graph$g',type,
    'graph$g': 'C_a_option_fun$' > 'C_a_prod_set$' ).

tff('function_graph$g',axiom,
    ( ( 'graph$g'('fmb_C_a_option_fun$_1') = 'fmb_C_a_prod_set$_2' )
    & ( 'graph$g'('fmb_C_a_option_fun$_2') = 'fmb_C_a_prod_set$_3' )
    & ( 'graph$g'('fmb_C_a_option_fun$_3') = 'fmb_C_a_prod_set$_4' )
    & ( 'graph$g'('fmb_C_a_option_fun$_4') = 'fmb_C_a_prod_set$_4' ) ) ).

tff('declare_inf$a',type,
    'inf$a': ( 'A_set$' * 'A_set$' ) > 'A_set$' ).

tff('function_inf$a',axiom,
    ( ( 'inf$a'('fmb_A_set$_1','fmb_A_set$_1') = 'fmb_A_set$_2' )
    & ( 'inf$a'('fmb_A_set$_1','fmb_A_set$_2') = 'fmb_A_set$_2' )
    & ( 'inf$a'('fmb_A_set$_2','fmb_A_set$_1') = 'fmb_A_set$_2' )
    & ( 'inf$a'('fmb_A_set$_2','fmb_A_set$_2') = 'fmb_A_set$_2' ) ) ).

tff('declare_sup$c',type,
    'sup$c': ( 'A_b_prod_set$' * 'A_b_prod_set$' ) > 'A_b_prod_set$' ).

tff('function_sup$c',axiom,
    'sup$c'('fmb_A_b_prod_set$_1','fmb_A_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' ).

tff('declare_map_comp$i',type,
    'map_comp$i': ( 'C_d_option_fun$' * 'C_c_option_fun$' ) > 'C_d_option_fun$' ).

tff('function_map_comp$i',axiom,
    ( ( 'map_comp$i'('fmb_C_d_option_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_2','fmb_C_c_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_2','fmb_C_c_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_2','fmb_C_c_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_2','fmb_C_c_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_3','fmb_C_c_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_3','fmb_C_c_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_3','fmb_C_c_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_3','fmb_C_c_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_4','fmb_C_c_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_4','fmb_C_c_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_4','fmb_C_c_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$i'('fmb_C_d_option_fun$_4','fmb_C_c_option_fun$_4') = 'fmb_C_d_option_fun$_4' ) ) ).

tff('declare_restrict_map$g',type,
    'restrict_map$g': ( 'A_d_option_fun$' * 'A_set$' ) > 'A_d_option_fun$' ).

tff('function_restrict_map$g',axiom,
    ( ( 'restrict_map$g'('fmb_A_d_option_fun$_1','fmb_A_set$_1') = 'fmb_A_d_option_fun$_1' )
    & ( 'restrict_map$g'('fmb_A_d_option_fun$_1','fmb_A_set$_2') = 'fmb_A_d_option_fun$_1' ) ) ).

tff('declare_these$',type,
    'these$': 'C_option_set$' > 'C_set$' ).

tff('function_these$',axiom,
    ( ( 'these$'('fmb_C_option_set$_1') = 'fmb_C_set$_1' )
    & ( 'these$'('fmb_C_option_set$_2') = 'fmb_C_set$_1' )
    & ( 'these$'('fmb_C_option_set$_3') = 'fmb_C_set$_3' )
    & ( 'these$'('fmb_C_option_set$_4') = 'fmb_C_set$_2' ) ) ).

tff('declare_restrict_map$k',type,
    'restrict_map$k': ( 'C_c_option_fun$' * 'C_set$' ) > 'C_c_option_fun$' ).

tff('function_restrict_map$k',axiom,
    ( ( 'restrict_map$k'('fmb_C_c_option_fun$_1','fmb_C_set$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_1','fmb_C_set$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_1','fmb_C_set$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_2','fmb_C_set$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_2','fmb_C_set$_2') = 'fmb_C_c_option_fun$_2' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_2','fmb_C_set$_3') = 'fmb_C_c_option_fun$_2' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_3','fmb_C_set$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_3','fmb_C_set$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_3','fmb_C_set$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_4','fmb_C_set$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_4','fmb_C_set$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'restrict_map$k'('fmb_C_c_option_fun$_4','fmb_C_set$_3') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_ran$a',type,
    'ran$a': 'C_a_option_fun$' > 'A_set$' ).

tff('function_ran$a',axiom,
    ( ( 'ran$a'('fmb_C_a_option_fun$_1') = 'fmb_A_set$_2' )
    & ( 'ran$a'('fmb_C_a_option_fun$_2') = 'fmb_A_set$_1' )
    & ( 'ran$a'('fmb_C_a_option_fun$_3') = 'fmb_A_set$_1' )
    & ( 'ran$a'('fmb_C_a_option_fun$_4') = 'fmb_A_set$_1' ) ) ).

tff('declare_set_option$b',type,
    'set_option$b': 'C_option$' > 'C_set$' ).

tff('function_set_option$b',axiom,
    ( ( 'set_option$b'('fmb_C_option$_1') = 'fmb_C_set$_1' )
    & ( 'set_option$b'('fmb_C_option$_2') = 'fmb_C_set$_3' ) ) ).

tff('declare_pair$b',type,
    'pair$b': ( 'B$' * 'C$' ) > 'B_c_prod$' ).

tff('function_pair$b',axiom,
    'pair$b'('fmb_B$_1','fmb_C$_1') = 'fmb_B_c_prod$_2' ).

tff('declare_the_elem$a',type,
    'the_elem$a': 'D_set$' > 'D$' ).

tff('function_the_elem$a',axiom,
    ( ( 'the_elem$a'('fmb_D_set$_1') = 'fmb_D$_1' )
    & ( 'the_elem$a'('fmb_D_set$_2') = 'fmb_D$_1' ) ) ).

tff('declare_the$b',type,
    'the$b': 'B_option$' > 'B$' ).

tff('function_the$b',axiom,
    ( ( 'the$b'('fmb_B_option$_1') = 'fmb_B$_1' )
    & ( 'the$b'('fmb_B_option$_2') = 'fmb_B$_1' ) ) ).

tff('declare_fun_app$aj',type,
    'fun_app$aj': ( 'C_option_c_option_fun$' * 'C_option$' ) > 'C_option$' ).

tff('function_fun_app$aj',axiom,
    ( ( 'fun_app$aj'('fmb_C_option_c_option_fun$_1','fmb_C_option$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$aj'('fmb_C_option_c_option_fun$_1','fmb_C_option$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$aj'('fmb_C_option_c_option_fun$_2','fmb_C_option$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$aj'('fmb_C_option_c_option_fun$_2','fmb_C_option$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$aj'('fmb_C_option_c_option_fun$_3','fmb_C_option$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$aj'('fmb_C_option_c_option_fun$_3','fmb_C_option$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$aj'('fmb_C_option_c_option_fun$_4','fmb_C_option$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$aj'('fmb_C_option_c_option_fun$_4','fmb_C_option$_2') = 'fmb_C_option$_2' ) ) ).

tff('declare_relcomp$k',type,
    'relcomp$k': ( 'A_b_prod_set$' * 'B_b_prod_set$' ) > 'A_b_prod_set$' ).

tff('function_relcomp$k',axiom,
    ( ( 'relcomp$k'('fmb_A_b_prod_set$_1','fmb_B_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$k'('fmb_A_b_prod_set$_1','fmb_B_b_prod_set$_2') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$k'('fmb_A_b_prod_set$_1','fmb_B_b_prod_set$_3') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$k'('fmb_A_b_prod_set$_1','fmb_B_b_prod_set$_4') = 'fmb_A_b_prod_set$_1' ) ) ).

tff('declare_relcomp$e',type,
    'relcomp$e': ( 'C_a_prod_set$' * 'A_d_prod_set$' ) > 'C_d_prod_set$' ).

tff('function_relcomp$e',axiom,
    ( ( 'relcomp$e'('fmb_C_a_prod_set$_1','fmb_A_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$e'('fmb_C_a_prod_set$_2','fmb_A_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$e'('fmb_C_a_prod_set$_3','fmb_A_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$e'('fmb_C_a_prod_set$_4','fmb_A_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' ) ) ).

tff('declare_collect$a',type,
    'collect$a': 'D_bool_fun$' > 'D_set$' ).

tff('function_collect$a',axiom,
    ( ( 'collect$a'('fmb_D_bool_fun$_1') = 'fmb_D_set$_1' )
    & ( 'collect$a'('fmb_D_bool_fun$_2') = 'fmb_D_set$_1' )
    & ( 'collect$a'('fmb_D_bool_fun$_3') = 'fmb_D_set$_2' )
    & ( 'collect$a'('fmb_D_bool_fun$_4') = 'fmb_D_set$_2' ) ) ).

tff('declare_uud$',type,
    'uud$': 'A_set$' > 'A_bool_fun$' ).

tff('function_uud$',axiom,
    ( ( 'uud$'('fmb_A_set$_1') = 'fmb_A_bool_fun$_2' )
    & ( 'uud$'('fmb_A_set$_2') = 'fmb_A_bool_fun$_3' ) ) ).

tff('declare_relcomp$b',type,
    'relcomp$b': ( 'A_d_prod_set$' * 'D_b_prod_set$' ) > 'A_b_prod_set$' ).

tff('function_relcomp$b',axiom,
    ( ( 'relcomp$b'('fmb_A_d_prod_set$_1','fmb_D_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$b'('fmb_A_d_prod_set$_1','fmb_D_b_prod_set$_2') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$b'('fmb_A_d_prod_set$_1','fmb_D_b_prod_set$_3') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$b'('fmb_A_d_prod_set$_1','fmb_D_b_prod_set$_4') = 'fmb_A_b_prod_set$_1' ) ) ).

tff('declare_dom$',type,
    'dom$': 'C_d_option_fun$' > 'C_set$' ).

tff('function_dom$',axiom,
    ( ( 'dom$'('fmb_C_d_option_fun$_1') = 'fmb_C_set$_2' )
    & ( 'dom$'('fmb_C_d_option_fun$_2') = 'fmb_C_set$_3' )
    & ( 'dom$'('fmb_C_d_option_fun$_3') = 'fmb_C_set$_3' )
    & ( 'dom$'('fmb_C_d_option_fun$_4') = 'fmb_C_set$_3' ) ) ).

tff('declare_restrict_map$n',type,
    'restrict_map$n': ( 'D_a_option_fun$' * 'D_set$' ) > 'D_a_option_fun$' ).

tff('function_restrict_map$n',axiom,
    ( ( 'restrict_map$n'('fmb_D_a_option_fun$_1','fmb_D_set$_1') = 'fmb_D_a_option_fun$_2' )
    & ( 'restrict_map$n'('fmb_D_a_option_fun$_1','fmb_D_set$_2') = 'fmb_D_a_option_fun$_4' )
    & ( 'restrict_map$n'('fmb_D_a_option_fun$_2','fmb_D_set$_1') = 'fmb_D_a_option_fun$_2' )
    & ( 'restrict_map$n'('fmb_D_a_option_fun$_2','fmb_D_set$_2') = 'fmb_D_a_option_fun$_4' )
    & ( 'restrict_map$n'('fmb_D_a_option_fun$_3','fmb_D_set$_1') = 'fmb_D_a_option_fun$_2' )
    & ( 'restrict_map$n'('fmb_D_a_option_fun$_3','fmb_D_set$_2') = 'fmb_D_a_option_fun$_4' )
    & ( 'restrict_map$n'('fmb_D_a_option_fun$_4','fmb_D_set$_1') = 'fmb_D_a_option_fun$_2' )
    & ( 'restrict_map$n'('fmb_D_a_option_fun$_4','fmb_D_set$_2') = 'fmb_D_a_option_fun$_4' ) ) ).

tff('declare_ran$c',type,
    'ran$c': 'A_a_option_fun$' > 'A_set$' ).

tff('function_ran$c',axiom,
    ( ( 'ran$c'('fmb_A_a_option_fun$_1') = 'fmb_A_set$_2' )
    & ( 'ran$c'('fmb_A_a_option_fun$_2') = 'fmb_A_set$_1' )
    & ( 'ran$c'('fmb_A_a_option_fun$_3') = 'fmb_A_set$_2' )
    & ( 'ran$c'('fmb_A_a_option_fun$_4') = 'fmb_A_set$_1' ) ) ).

tff('declare_graph$e',type,
    'graph$e': 'A_d_option_fun$' > 'A_d_prod_set$' ).

tff('function_graph$e',axiom,
    'graph$e'('fmb_A_d_option_fun$_1') = 'fmb_A_d_prod_set$_1' ).

tff('declare_insert$',type,
    'insert$': ( 'C_option$' * 'C_option_set$' ) > 'C_option_set$' ).

tff('function_insert$',axiom,
    ( ( 'insert$'('fmb_C_option$_1','fmb_C_option_set$_1') = 'fmb_C_option_set$_2' )
    & ( 'insert$'('fmb_C_option$_1','fmb_C_option_set$_2') = 'fmb_C_option_set$_2' )
    & ( 'insert$'('fmb_C_option$_1','fmb_C_option_set$_3') = 'fmb_C_option_set$_3' )
    & ( 'insert$'('fmb_C_option$_1','fmb_C_option_set$_4') = 'fmb_C_option_set$_4' )
    & ( 'insert$'('fmb_C_option$_2','fmb_C_option_set$_1') = 'fmb_C_option_set$_3' )
    & ( 'insert$'('fmb_C_option$_2','fmb_C_option_set$_2') = 'fmb_C_option_set$_3' )
    & ( 'insert$'('fmb_C_option$_2','fmb_C_option_set$_3') = 'fmb_C_option_set$_4' )
    & ( 'insert$'('fmb_C_option$_2','fmb_C_option_set$_4') = 'fmb_C_option_set$_3' ) ) ).

tff('declare_pair$j',type,
    'pair$j': ( 'D$' * 'B$' ) > 'D_b_prod$' ).

tff('function_pair$j',axiom,
    'pair$j'('fmb_D$_1','fmb_B$_1') = 'fmb_D_b_prod$_2' ).

tff('declare_collect$d',type,
    'collect$d': 'A_bool_fun$' > 'A_set$' ).

tff('function_collect$d',axiom,
    ( ( 'collect$d'('fmb_A_bool_fun$_1') = 'fmb_A_set$_1' )
    & ( 'collect$d'('fmb_A_bool_fun$_2') = 'fmb_A_set$_1' )
    & ( 'collect$d'('fmb_A_bool_fun$_3') = 'fmb_A_set$_2' )
    & ( 'collect$d'('fmb_A_bool_fun$_4') = 'fmb_A_set$_2' ) ) ).

tff('declare_insert$g',type,
    'insert$g': ( 'A_c_prod$' * 'A_c_prod_set$' ) > 'A_c_prod_set$' ).

tff('function_insert$g',axiom,
    ( ( 'insert$g'('fmb_A_c_prod$_1','fmb_A_c_prod_set$_1') = 'fmb_A_c_prod_set$_3' )
    & ( 'insert$g'('fmb_A_c_prod$_1','fmb_A_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'insert$g'('fmb_A_c_prod$_1','fmb_A_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'insert$g'('fmb_A_c_prod$_1','fmb_A_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' ) ) ).

tff('declare_relcomp$q',type,
    'relcomp$q': ( 'A_c_prod_set$' * 'C_c_prod_set$' ) > 'A_c_prod_set$' ).

tff('function_relcomp$q',axiom,
    ( ( 'relcomp$q'('fmb_A_c_prod_set$_1','fmb_C_c_prod_set$_1') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_1','fmb_C_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_1','fmb_C_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_1','fmb_C_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_2','fmb_C_c_prod_set$_1') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_2','fmb_C_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_2','fmb_C_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_2','fmb_C_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_3','fmb_C_c_prod_set$_1') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_3','fmb_C_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_3','fmb_C_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_3','fmb_C_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_4','fmb_C_c_prod_set$_1') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_4','fmb_C_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_4','fmb_C_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$q'('fmb_A_c_prod_set$_4','fmb_C_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' ) ) ).

tff('declare_fun_upd$a',type,
    'fun_upd$a': ( 'C_d_option_fun$' * 'C$' * 'D_option$' ) > 'C_d_option_fun$' ).

tff('function_fun_upd$a',axiom,
    ( ( 'fun_upd$a'('fmb_C_d_option_fun$_1','fmb_C$_1','fmb_D_option$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'fun_upd$a'('fmb_C_d_option_fun$_1','fmb_C$_1','fmb_D_option$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'fun_upd$a'('fmb_C_d_option_fun$_2','fmb_C$_1','fmb_D_option$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'fun_upd$a'('fmb_C_d_option_fun$_2','fmb_C$_1','fmb_D_option$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'fun_upd$a'('fmb_C_d_option_fun$_3','fmb_C$_1','fmb_D_option$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'fun_upd$a'('fmb_C_d_option_fun$_3','fmb_C$_1','fmb_D_option$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'fun_upd$a'('fmb_C_d_option_fun$_4','fmb_C$_1','fmb_D_option$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'fun_upd$a'('fmb_C_d_option_fun$_4','fmb_C$_1','fmb_D_option$_2') = 'fmb_C_d_option_fun$_4' ) ) ).

tff('declare_pair$',type,
    'pair$': ( 'C$' * 'A$' ) > 'C_a_prod$' ).

tff('function_pair$',axiom,
    'pair$'('fmb_C$_1','fmb_A$_1') = 'fmb_C_a_prod$_2' ).

tff('declare_relcomp$g',type,
    'relcomp$g': ( 'C_b_prod_set$' * 'B_d_prod_set$' ) > 'C_d_prod_set$' ).

tff('function_relcomp$g',axiom,
    ( ( 'relcomp$g'('fmb_C_b_prod_set$_1','fmb_B_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_1','fmb_B_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_1','fmb_B_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_1','fmb_B_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_2','fmb_B_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_2','fmb_B_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_2','fmb_B_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_2','fmb_B_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_3','fmb_B_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_3','fmb_B_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_3','fmb_B_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_3','fmb_B_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_4','fmb_B_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_4','fmb_B_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_4','fmb_B_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'relcomp$g'('fmb_C_b_prod_set$_4','fmb_B_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' ) ) ).

tff('declare_relcomp$',type,
    'relcomp$': ( 'A_c_prod_set$' * 'C_b_prod_set$' ) > 'A_b_prod_set$' ).

tff('function_relcomp$',axiom,
    ( ( 'relcomp$'('fmb_A_c_prod_set$_1','fmb_C_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_1','fmb_C_b_prod_set$_2') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_1','fmb_C_b_prod_set$_3') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_1','fmb_C_b_prod_set$_4') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_2','fmb_C_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_2','fmb_C_b_prod_set$_2') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_2','fmb_C_b_prod_set$_3') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_2','fmb_C_b_prod_set$_4') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_3','fmb_C_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_3','fmb_C_b_prod_set$_2') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_3','fmb_C_b_prod_set$_3') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_3','fmb_C_b_prod_set$_4') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_4','fmb_C_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_4','fmb_C_b_prod_set$_2') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_4','fmb_C_b_prod_set$_3') = 'fmb_A_b_prod_set$_1' )
    & ( 'relcomp$'('fmb_A_c_prod_set$_4','fmb_C_b_prod_set$_4') = 'fmb_A_b_prod_set$_1' ) ) ).

tff('declare_set_option$d',type,
    'set_option$d': 'B_option$' > 'B_set$' ).

tff('function_set_option$d',axiom,
    ( ( 'set_option$d'('fmb_B_option$_1') = 'fmb_B_set$_1' )
    & ( 'set_option$d'('fmb_B_option$_2') = 'fmb_B_set$_2' ) ) ).

tff('declare_image$h',type,
    'image$h': ( 'B_b_option_fun$' * 'B_set$' ) > 'B_option_set$' ).

tff('function_image$h',axiom,
    ( ( 'image$h'('fmb_B_b_option_fun$_1','fmb_B_set$_1') = 'fmb_B_option_set$_1' )
    & ( 'image$h'('fmb_B_b_option_fun$_1','fmb_B_set$_2') = 'fmb_B_option_set$_4' )
    & ( 'image$h'('fmb_B_b_option_fun$_2','fmb_B_set$_1') = 'fmb_B_option_set$_4' )
    & ( 'image$h'('fmb_B_b_option_fun$_2','fmb_B_set$_2') = 'fmb_B_option_set$_4' )
    & ( 'image$h'('fmb_B_b_option_fun$_3','fmb_B_set$_1') = 'fmb_B_option_set$_4' )
    & ( 'image$h'('fmb_B_b_option_fun$_3','fmb_B_set$_2') = 'fmb_B_option_set$_4' )
    & ( 'image$h'('fmb_B_b_option_fun$_4','fmb_B_set$_1') = 'fmb_B_option_set$_4' )
    & ( 'image$h'('fmb_B_b_option_fun$_4','fmb_B_set$_2') = 'fmb_B_option_set$_4' ) ) ).

tff('declare_pair$d',type,
    'pair$d': ( 'B$' * 'B$' ) > 'B_b_prod$' ).

tff('function_pair$d',axiom,
    'pair$d'('fmb_B$_1','fmb_B$_1') = 'fmb_B_b_prod$_2' ).

tff('declare_uu$',type,
    'uu$': 'B_option_set$' > 'B_option_bool_fun$' ).

tff('function_uu$',axiom,
    ( ( 'uu$'('fmb_B_option_set$_1') = 'fmb_B_option_bool_fun$_2' )
    & ( 'uu$'('fmb_B_option_set$_2') = 'fmb_B_option_bool_fun$_1' )
    & ( 'uu$'('fmb_B_option_set$_3') = 'fmb_B_option_bool_fun$_4' )
    & ( 'uu$'('fmb_B_option_set$_4') = 'fmb_B_option_bool_fun$_3' ) ) ).

tff('declare_bind$f',type,
    'bind$f': ( 'B_option$' * 'B_c_option_fun$' ) > 'C_option$' ).

tff('function_bind$f',axiom,
    ( ( 'bind$f'('fmb_B_option$_1','fmb_B_c_option_fun$_1') = 'fmb_C_option$_1' )
    & ( 'bind$f'('fmb_B_option$_1','fmb_B_c_option_fun$_2') = 'fmb_C_option$_1' )
    & ( 'bind$f'('fmb_B_option$_1','fmb_B_c_option_fun$_3') = 'fmb_C_option$_1' )
    & ( 'bind$f'('fmb_B_option$_1','fmb_B_c_option_fun$_4') = 'fmb_C_option$_1' )
    & ( 'bind$f'('fmb_B_option$_2','fmb_B_c_option_fun$_1') = 'fmb_C_option$_2' )
    & ( 'bind$f'('fmb_B_option$_2','fmb_B_c_option_fun$_2') = 'fmb_C_option$_1' )
    & ( 'bind$f'('fmb_B_option$_2','fmb_B_c_option_fun$_3') = 'fmb_C_option$_2' )
    & ( 'bind$f'('fmb_B_option$_2','fmb_B_c_option_fun$_4') = 'fmb_C_option$_2' ) ) ).

tff('declare_some$d',type,
    'some$d': 'B_option$' > 'B_option_option$' ).

tff('function_some$d',axiom,
    ( ( 'some$d'('fmb_B_option$_1') = 'fmb_B_option_option$_2' )
    & ( 'some$d'('fmb_B_option$_2') = 'fmb_B_option_option$_3' ) ) ).

tff('declare_graph$k',type,
    'graph$k': 'B_c_option_fun$' > 'B_c_prod_set$' ).

tff('function_graph$k',axiom,
    ( ( 'graph$k'('fmb_B_c_option_fun$_1') = 'fmb_B_c_prod_set$_2' )
    & ( 'graph$k'('fmb_B_c_option_fun$_2') = 'fmb_B_c_prod_set$_3' )
    & ( 'graph$k'('fmb_B_c_option_fun$_3') = 'fmb_B_c_prod_set$_4' )
    & ( 'graph$k'('fmb_B_c_option_fun$_4') = 'fmb_B_c_prod_set$_4' ) ) ).

tff('declare_combine_options$',type,
    'combine_options$': ( 'C_c_c_fun_fun$' * 'C_option$' ) > 'C_option_c_option_fun$' ).

tff('function_combine_options$',axiom,
    ( ( 'combine_options$'('fmb_C_c_c_fun_fun$_1','fmb_C_option$_1') = 'fmb_C_option_c_option_fun$_2' )
    & ( 'combine_options$'('fmb_C_c_c_fun_fun$_1','fmb_C_option$_2') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'combine_options$'('fmb_C_c_c_fun_fun$_2','fmb_C_option$_1') = 'fmb_C_option_c_option_fun$_2' )
    & ( 'combine_options$'('fmb_C_c_c_fun_fun$_2','fmb_C_option$_2') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'combine_options$'('fmb_C_c_c_fun_fun$_3','fmb_C_option$_1') = 'fmb_C_option_c_option_fun$_2' )
    & ( 'combine_options$'('fmb_C_c_c_fun_fun$_3','fmb_C_option$_2') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'combine_options$'('fmb_C_c_c_fun_fun$_4','fmb_C_option$_1') = 'fmb_C_option_c_option_fun$_2' )
    & ( 'combine_options$'('fmb_C_c_c_fun_fun$_4','fmb_C_option$_2') = 'fmb_C_option_c_option_fun$_4' ) ) ).

tff('declare_image$a',type,
    'image$a': ( 'C_d_prod_set$' * 'C_set$' ) > 'D_set$' ).

tff('function_image$a',axiom,
    ( ( 'image$a'('fmb_C_d_prod_set$_1','fmb_C_set$_1') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_1','fmb_C_set$_2') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_1','fmb_C_set$_3') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_2','fmb_C_set$_1') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_2','fmb_C_set$_2') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_2','fmb_C_set$_3') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_3','fmb_C_set$_1') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_3','fmb_C_set$_2') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_3','fmb_C_set$_3') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_4','fmb_C_set$_1') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_4','fmb_C_set$_2') = 'fmb_D_set$_2' )
    & ( 'image$a'('fmb_C_d_prod_set$_4','fmb_C_set$_3') = 'fmb_D_set$_2' ) ) ).

tff('declare_fun_app$aa',type,
    'fun_app$aa': ( 'B_option_c_option_bool_fun_fun$' * 'B_option$' ) > 'C_option_bool_fun$' ).

tff('function_fun_app$aa',axiom,
    ( ( 'fun_app$aa'('fmb_B_option_c_option_bool_fun_fun$_1','fmb_B_option$_1') = 'fmb_C_option_bool_fun$_3' )
    & ( 'fun_app$aa'('fmb_B_option_c_option_bool_fun_fun$_1','fmb_B_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$aa'('fmb_B_option_c_option_bool_fun_fun$_2','fmb_B_option$_1') = 'fmb_C_option_bool_fun$_3' )
    & ( 'fun_app$aa'('fmb_B_option_c_option_bool_fun_fun$_2','fmb_B_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$aa'('fmb_B_option_c_option_bool_fun_fun$_3','fmb_B_option$_1') = 'fmb_C_option_bool_fun$_3' )
    & ( 'fun_app$aa'('fmb_B_option_c_option_bool_fun_fun$_3','fmb_B_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$aa'('fmb_B_option_c_option_bool_fun_fun$_4','fmb_B_option$_1') = 'fmb_C_option_bool_fun$_3' )
    & ( 'fun_app$aa'('fmb_B_option_c_option_bool_fun_fun$_4','fmb_B_option$_2') = 'fmb_C_option_bool_fun$_4' ) ) ).

tff('declare_fun_app$an',type,
    'fun_app$an': ( 'D_d_fun$' * 'D$' ) > 'D$' ).

tff('function_fun_app$an',axiom,
    ( ( 'fun_app$an'('fmb_D_d_fun$_1','fmb_D$_1') = 'fmb_D$_1' )
    & ( 'fun_app$an'('fmb_D_d_fun$_2','fmb_D$_1') = 'fmb_D$_1' )
    & ( 'fun_app$an'('fmb_D_d_fun$_3','fmb_D$_1') = 'fmb_D$_1' )
    & ( 'fun_app$an'('fmb_D_d_fun$_4','fmb_D$_1') = 'fmb_D$_1' ) ) ).

tff('declare_insert$j',type,
    'insert$j': ( 'C_b_prod$' * 'C_b_prod_set$' ) > 'C_b_prod_set$' ).

tff('function_insert$j',axiom,
    ( ( 'insert$j'('fmb_C_b_prod$_1','fmb_C_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'insert$j'('fmb_C_b_prod$_1','fmb_C_b_prod_set$_2') = 'fmb_C_b_prod_set$_2' )
    & ( 'insert$j'('fmb_C_b_prod$_1','fmb_C_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'insert$j'('fmb_C_b_prod$_1','fmb_C_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' ) ) ).

tff('declare_collect$b',type,
    'collect$b': 'C_bool_fun$' > 'C_set$' ).

tff('function_collect$b',axiom,
    ( ( 'collect$b'('fmb_C_bool_fun$_1') = 'fmb_C_set$_1' )
    & ( 'collect$b'('fmb_C_bool_fun$_2') = 'fmb_C_set$_1' )
    & ( 'collect$b'('fmb_C_bool_fun$_3') = 'fmb_C_set$_2' )
    & ( 'collect$b'('fmb_C_bool_fun$_4') = 'fmb_C_set$_3' ) ) ).

tff('declare_restrict_map$b',type,
    'restrict_map$b': ( 'B_c_option_fun$' * 'B_set$' ) > 'B_c_option_fun$' ).

tff('function_restrict_map$b',axiom,
    ( ( 'restrict_map$b'('fmb_B_c_option_fun$_1','fmb_B_set$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'restrict_map$b'('fmb_B_c_option_fun$_1','fmb_B_set$_2') = 'fmb_B_c_option_fun$_4' )
    & ( 'restrict_map$b'('fmb_B_c_option_fun$_2','fmb_B_set$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'restrict_map$b'('fmb_B_c_option_fun$_2','fmb_B_set$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'restrict_map$b'('fmb_B_c_option_fun$_3','fmb_B_set$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'restrict_map$b'('fmb_B_c_option_fun$_3','fmb_B_set$_2') = 'fmb_B_c_option_fun$_4' )
    & ( 'restrict_map$b'('fmb_B_c_option_fun$_4','fmb_B_set$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'restrict_map$b'('fmb_B_c_option_fun$_4','fmb_B_set$_2') = 'fmb_B_c_option_fun$_4' ) ) ).

tff('declare_graph$j',type,
    'graph$j': 'A_a_option_fun$' > 'A_a_prod_set$' ).

tff('function_graph$j',axiom,
    ( ( 'graph$j'('fmb_A_a_option_fun$_1') = 'fmb_A_a_prod_set$_2' )
    & ( 'graph$j'('fmb_A_a_option_fun$_2') = 'fmb_A_a_prod_set$_3' )
    & ( 'graph$j'('fmb_A_a_option_fun$_3') = 'fmb_A_a_prod_set$_4' )
    & ( 'graph$j'('fmb_A_a_option_fun$_4') = 'fmb_A_a_prod_set$_4' ) ) ).

tff('declare_pair$c',type,
    'pair$c': ( 'B$' * 'D$' ) > 'B_d_prod$' ).

tff('function_pair$c',axiom,
    'pair$c'('fmb_B$_1','fmb_D$_1') = 'fmb_B_d_prod$_2' ).

tff('declare_uuc$',type,
    'uuc$': 'B_set$' > 'B_bool_fun$' ).

tff('function_uuc$',axiom,
    ( ( 'uuc$'('fmb_B_set$_1') = 'fmb_B_bool_fun$_2' )
    & ( 'uuc$'('fmb_B_set$_2') = 'fmb_B_bool_fun$_3' ) ) ).

tff('declare_fun_upd$c',type,
    'fun_upd$c': ( 'C_b_option_fun$' * 'C$' * 'B_option$' ) > 'C_b_option_fun$' ).

tff('function_fun_upd$c',axiom,
    ( ( 'fun_upd$c'('fmb_C_b_option_fun$_1','fmb_C$_1','fmb_B_option$_1') = 'fmb_C_b_option_fun$_2' )
    & ( 'fun_upd$c'('fmb_C_b_option_fun$_1','fmb_C$_1','fmb_B_option$_2') = 'fmb_C_b_option_fun$_3' )
    & ( 'fun_upd$c'('fmb_C_b_option_fun$_2','fmb_C$_1','fmb_B_option$_1') = 'fmb_C_b_option_fun$_2' )
    & ( 'fun_upd$c'('fmb_C_b_option_fun$_2','fmb_C$_1','fmb_B_option$_2') = 'fmb_C_b_option_fun$_3' )
    & ( 'fun_upd$c'('fmb_C_b_option_fun$_3','fmb_C$_1','fmb_B_option$_1') = 'fmb_C_b_option_fun$_2' )
    & ( 'fun_upd$c'('fmb_C_b_option_fun$_3','fmb_C$_1','fmb_B_option$_2') = 'fmb_C_b_option_fun$_3' )
    & ( 'fun_upd$c'('fmb_C_b_option_fun$_4','fmb_C$_1','fmb_B_option$_1') = 'fmb_C_b_option_fun$_2' )
    & ( 'fun_upd$c'('fmb_C_b_option_fun$_4','fmb_C$_1','fmb_B_option$_2') = 'fmb_C_b_option_fun$_3' ) ) ).

tff('declare_fun_app$al',type,
    'fun_app$al': ( 'C_c_c_fun_fun$' * 'C$' ) > 'C_c_fun$' ).

tff('function_fun_app$al',axiom,
    ( ( 'fun_app$al'('fmb_C_c_c_fun_fun$_1','fmb_C$_1') = 'fmb_C_c_fun$_2' )
    & ( 'fun_app$al'('fmb_C_c_c_fun_fun$_2','fmb_C$_1') = 'fmb_C_c_fun$_2' )
    & ( 'fun_app$al'('fmb_C_c_c_fun_fun$_3','fmb_C$_1') = 'fmb_C_c_fun$_2' )
    & ( 'fun_app$al'('fmb_C_c_c_fun_fun$_4','fmb_C$_1') = 'fmb_C_c_fun$_2' ) ) ).

tff('declare_ran$d',type,
    'ran$d': 'D_c_option_fun$' > 'C_set$' ).

tff('function_ran$d',axiom,
    ( ( 'ran$d'('fmb_D_c_option_fun$_1') = 'fmb_C_set$_3' )
    & ( 'ran$d'('fmb_D_c_option_fun$_2') = 'fmb_C_set$_1' )
    & ( 'ran$d'('fmb_D_c_option_fun$_3') = 'fmb_C_set$_3' )
    & ( 'ran$d'('fmb_D_c_option_fun$_4') = 'fmb_C_set$_3' ) ) ).

tff('declare_restrict_map$h',type,
    'restrict_map$h': ( 'C_b_option_fun$' * 'C_set$' ) > 'C_b_option_fun$' ).

tff('function_restrict_map$h',axiom,
    ( ( 'restrict_map$h'('fmb_C_b_option_fun$_1','fmb_C_set$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_1','fmb_C_set$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_1','fmb_C_set$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_2','fmb_C_set$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_2','fmb_C_set$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_2','fmb_C_set$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_3','fmb_C_set$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_3','fmb_C_set$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_3','fmb_C_set$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_4','fmb_C_set$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_4','fmb_C_set$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'restrict_map$h'('fmb_C_b_option_fun$_4','fmb_C_set$_3') = 'fmb_C_b_option_fun$_4' ) ) ).

tff('declare_fun_app$ar',type,
    'fun_app$ar': ( 'B_b_b_fun_fun$' * 'B$' ) > 'B_b_fun$' ).

tff('function_fun_app$ar',axiom,
    ( ( 'fun_app$ar'('fmb_B_b_b_fun_fun$_1','fmb_B$_1') = 'fmb_B_b_fun$_2' )
    & ( 'fun_app$ar'('fmb_B_b_b_fun_fun$_2','fmb_B$_1') = 'fmb_B_b_fun$_2' )
    & ( 'fun_app$ar'('fmb_B_b_b_fun_fun$_3','fmb_B$_1') = 'fmb_B_b_fun$_2' )
    & ( 'fun_app$ar'('fmb_B_b_b_fun_fun$_4','fmb_B$_1') = 'fmb_B_b_fun$_2' ) ) ).

tff('declare_relcomp$l',type,
    'relcomp$l': ( 'D_b_prod_set$' * 'B_b_prod_set$' ) > 'D_b_prod_set$' ).

tff('function_relcomp$l',axiom,
    ( ( 'relcomp$l'('fmb_D_b_prod_set$_1','fmb_B_b_prod_set$_1') = 'fmb_D_b_prod_set$_1' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_1','fmb_B_b_prod_set$_2') = 'fmb_D_b_prod_set$_1' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_1','fmb_B_b_prod_set$_3') = 'fmb_D_b_prod_set$_1' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_1','fmb_B_b_prod_set$_4') = 'fmb_D_b_prod_set$_1' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_2','fmb_B_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_2','fmb_B_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_2','fmb_B_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_2','fmb_B_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_3','fmb_B_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_3','fmb_B_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_3','fmb_B_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_3','fmb_B_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_4','fmb_B_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_4','fmb_B_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_4','fmb_B_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$l'('fmb_D_b_prod_set$_4','fmb_B_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' ) ) ).

tff('declare_curry$c',type,
    'curry$c': ( 'A_c_prod_bool_fun$' * 'A$' ) > 'C_bool_fun$' ).

tff('function_curry$c',axiom,
    ( ( 'curry$c'('fmb_A_c_prod_bool_fun$_1','fmb_A$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'curry$c'('fmb_A_c_prod_bool_fun$_2','fmb_A$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'curry$c'('fmb_A_c_prod_bool_fun$_3','fmb_A$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'curry$c'('fmb_A_c_prod_bool_fun$_4','fmb_A$_1') = 'fmb_C_bool_fun$_4' ) ) ).

tff('declare_graph$f',type,
    'graph$f': 'C_c_option_fun$' > 'C_c_prod_set$' ).

tff('function_graph$f',axiom,
    ( ( 'graph$f'('fmb_C_c_option_fun$_1') = 'fmb_C_c_prod_set$_2' )
    & ( 'graph$f'('fmb_C_c_option_fun$_2') = 'fmb_C_c_prod_set$_2' )
    & ( 'graph$f'('fmb_C_c_option_fun$_3') = 'fmb_C_c_prod_set$_2' )
    & ( 'graph$f'('fmb_C_c_option_fun$_4') = 'fmb_C_c_prod_set$_2' ) ) ).

tff('declare_image$g',type,
    'image$g': ( 'D_d_option_fun$' * 'D_set$' ) > 'D_option_set$' ).

tff('function_image$g',axiom,
    ( ( 'image$g'('fmb_D_d_option_fun$_1','fmb_D_set$_1') = 'fmb_D_option_set$_1' )
    & ( 'image$g'('fmb_D_d_option_fun$_1','fmb_D_set$_2') = 'fmb_D_option_set$_2' )
    & ( 'image$g'('fmb_D_d_option_fun$_2','fmb_D_set$_1') = 'fmb_D_option_set$_2' )
    & ( 'image$g'('fmb_D_d_option_fun$_2','fmb_D_set$_2') = 'fmb_D_option_set$_2' )
    & ( 'image$g'('fmb_D_d_option_fun$_3','fmb_D_set$_1') = 'fmb_D_option_set$_2' )
    & ( 'image$g'('fmb_D_d_option_fun$_3','fmb_D_set$_2') = 'fmb_D_option_set$_2' )
    & ( 'image$g'('fmb_D_d_option_fun$_4','fmb_D_set$_1') = 'fmb_D_option_set$_2' )
    & ( 'image$g'('fmb_D_d_option_fun$_4','fmb_D_set$_2') = 'fmb_D_option_set$_2' ) ) ).

tff('declare_graph$c',type,
    'graph$c': 'C_d_option_fun$' > 'C_d_prod_set$' ).

tff('function_graph$c',axiom,
    ( ( 'graph$c'('fmb_C_d_option_fun$_1') = 'fmb_C_d_prod_set$_1' )
    & ( 'graph$c'('fmb_C_d_option_fun$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'graph$c'('fmb_C_d_option_fun$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'graph$c'('fmb_C_d_option_fun$_4') = 'fmb_C_d_prod_set$_4' ) ) ).

tff('declare_map_comp$d',type,
    'map_comp$d': 'A_d_option_fun$' > 'A_a_option_fun_a_d_option_fun_fun$' ).

tff('function_map_comp$d',axiom,
    'map_comp$d'('fmb_A_d_option_fun$_1') = 'fmb_A_a_option_fun_a_d_option_fun_fun$_2' ).

tff('declare_insert$i',type,
    'insert$i': ( 'A_d_prod$' * 'A_d_prod_set$' ) > 'A_d_prod_set$' ).

tff('function_insert$i',axiom,
    'insert$i'('fmb_A_d_prod$_1','fmb_A_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' ).

tff('declare_sup$b',type,
    'sup$b': ( 'D_b_prod_set$' * 'D_b_prod_set$' ) > 'D_b_prod_set$' ).

tff('function_sup$b',axiom,
    ( ( 'sup$b'('fmb_D_b_prod_set$_1','fmb_D_b_prod_set$_1') = 'fmb_D_b_prod_set$_1' )
    & ( 'sup$b'('fmb_D_b_prod_set$_1','fmb_D_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_1','fmb_D_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_1','fmb_D_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_2','fmb_D_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_2','fmb_D_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_2','fmb_D_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_2','fmb_D_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_3','fmb_D_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_3','fmb_D_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_3','fmb_D_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_3','fmb_D_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_4','fmb_D_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_4','fmb_D_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_4','fmb_D_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'sup$b'('fmb_D_b_prod_set$_4','fmb_D_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' ) ) ).

tff('declare_the_elem$d',type,
    'the_elem$d': 'A_set$' > 'A$' ).

tff('function_the_elem$d',axiom,
    ( ( 'the_elem$d'('fmb_A_set$_1') = 'fmb_A$_1' )
    & ( 'the_elem$d'('fmb_A_set$_2') = 'fmb_A$_1' ) ) ).

tff('declare_set_option$e',type,
    'set_option$e': 'C_option_option$' > 'C_option_set$' ).

tff('function_set_option$e',axiom,
    ( ( 'set_option$e'('fmb_C_option_option$_1') = 'fmb_C_option_set$_4' )
    & ( 'set_option$e'('fmb_C_option_option$_2') = 'fmb_C_option_set$_2' )
    & ( 'set_option$e'('fmb_C_option_option$_3') = 'fmb_C_option_set$_3' )
    & ( 'set_option$e'('fmb_C_option_option$_4') = 'fmb_C_option_set$_4' ) ) ).

tff('declare_fun_app$ai',type,
    'fun_app$ai': ( 'B_b_option_fun_b_option_fun$' * 'B_b_option_fun$' ) > 'B_option$' ).

tff('function_fun_app$ai',axiom,
    ( ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_2','fmb_B_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_2','fmb_B_b_option_fun$_2') = 'fmb_B_option$_1' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_2','fmb_B_b_option_fun$_3') = 'fmb_B_option$_1' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_2','fmb_B_b_option_fun$_4') = 'fmb_B_option$_1' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_3','fmb_B_b_option_fun$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_3','fmb_B_b_option_fun$_2') = 'fmb_B_option$_1' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_3','fmb_B_b_option_fun$_3') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_3','fmb_B_b_option_fun$_4') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_4','fmb_B_b_option_fun$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_4','fmb_B_b_option_fun$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_4','fmb_B_b_option_fun$_3') = 'fmb_B_option$_2' )
    & ( 'fun_app$ai'('fmb_B_b_option_fun_b_option_fun$_4','fmb_B_b_option_fun$_4') = 'fmb_B_option$_2' ) ) ).

tff('declare_relcomp$o',type,
    'relcomp$o': ( 'A_a_prod_set$' * 'A_c_prod_set$' ) > 'A_c_prod_set$' ).

tff('function_relcomp$o',axiom,
    ( ( 'relcomp$o'('fmb_A_a_prod_set$_1','fmb_A_c_prod_set$_1') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_1','fmb_A_c_prod_set$_2') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_1','fmb_A_c_prod_set$_3') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_1','fmb_A_c_prod_set$_4') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_2','fmb_A_c_prod_set$_1') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_2','fmb_A_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_2','fmb_A_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_2','fmb_A_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_3','fmb_A_c_prod_set$_1') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_3','fmb_A_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_3','fmb_A_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_3','fmb_A_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_4','fmb_A_c_prod_set$_1') = 'fmb_A_c_prod_set$_1' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_4','fmb_A_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_4','fmb_A_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'relcomp$o'('fmb_A_a_prod_set$_4','fmb_A_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' ) ) ).

tff('declare_map_comp$b',type,
    'map_comp$b': ( 'D_b_option_fun$' * 'A_d_option_fun$' ) > 'A_b_option_fun$' ).

tff('function_map_comp$b',axiom,
    ( ( 'map_comp$b'('fmb_D_b_option_fun$_1','fmb_A_d_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'map_comp$b'('fmb_D_b_option_fun$_2','fmb_A_d_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'map_comp$b'('fmb_D_b_option_fun$_3','fmb_A_d_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'map_comp$b'('fmb_D_b_option_fun$_4','fmb_A_d_option_fun$_1') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_insert$h',type,
    'insert$h': ( 'C_d_prod$' * 'C_d_prod_set$' ) > 'C_d_prod_set$' ).

tff('function_insert$h',axiom,
    ( ( 'insert$h'('fmb_C_d_prod$_1','fmb_C_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'insert$h'('fmb_C_d_prod$_1','fmb_C_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'insert$h'('fmb_C_d_prod$_1','fmb_C_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'insert$h'('fmb_C_d_prod$_1','fmb_C_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' ) ) ).

tff('declare_restrict_map$d',type,
    'restrict_map$d': ( 'B_b_option_fun$' * 'B_set$' ) > 'B_b_option_fun$' ).

tff('function_restrict_map$d',axiom,
    ( ( 'restrict_map$d'('fmb_B_b_option_fun$_1','fmb_B_set$_1') = 'fmb_B_b_option_fun$_2' )
    & ( 'restrict_map$d'('fmb_B_b_option_fun$_1','fmb_B_set$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'restrict_map$d'('fmb_B_b_option_fun$_2','fmb_B_set$_1') = 'fmb_B_b_option_fun$_2' )
    & ( 'restrict_map$d'('fmb_B_b_option_fun$_2','fmb_B_set$_2') = 'fmb_B_b_option_fun$_2' )
    & ( 'restrict_map$d'('fmb_B_b_option_fun$_3','fmb_B_set$_1') = 'fmb_B_b_option_fun$_2' )
    & ( 'restrict_map$d'('fmb_B_b_option_fun$_3','fmb_B_set$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'restrict_map$d'('fmb_B_b_option_fun$_4','fmb_B_set$_1') = 'fmb_B_b_option_fun$_2' )
    & ( 'restrict_map$d'('fmb_B_b_option_fun$_4','fmb_B_set$_2') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_bind$a',type,
    'bind$a': ( 'C_option$' * 'C_d_option_fun$' ) > 'D_option$' ).

tff('function_bind$a',axiom,
    ( ( 'bind$a'('fmb_C_option$_1','fmb_C_d_option_fun$_1') = 'fmb_D_option$_1' )
    & ( 'bind$a'('fmb_C_option$_1','fmb_C_d_option_fun$_2') = 'fmb_D_option$_1' )
    & ( 'bind$a'('fmb_C_option$_1','fmb_C_d_option_fun$_3') = 'fmb_D_option$_1' )
    & ( 'bind$a'('fmb_C_option$_1','fmb_C_d_option_fun$_4') = 'fmb_D_option$_1' )
    & ( 'bind$a'('fmb_C_option$_2','fmb_C_d_option_fun$_1') = 'fmb_D_option$_2' )
    & ( 'bind$a'('fmb_C_option$_2','fmb_C_d_option_fun$_2') = 'fmb_D_option$_1' )
    & ( 'bind$a'('fmb_C_option$_2','fmb_C_d_option_fun$_3') = 'fmb_D_option$_1' )
    & ( 'bind$a'('fmb_C_option$_2','fmb_C_d_option_fun$_4') = 'fmb_D_option$_1' ) ) ).

tff('declare_restrict_map$c',type,
    'restrict_map$c': ( 'B_d_option_fun$' * 'B_set$' ) > 'B_d_option_fun$' ).

tff('function_restrict_map$c',axiom,
    ( ( 'restrict_map$c'('fmb_B_d_option_fun$_1','fmb_B_set$_1') = 'fmb_B_d_option_fun$_2' )
    & ( 'restrict_map$c'('fmb_B_d_option_fun$_1','fmb_B_set$_2') = 'fmb_B_d_option_fun$_2' )
    & ( 'restrict_map$c'('fmb_B_d_option_fun$_2','fmb_B_set$_1') = 'fmb_B_d_option_fun$_2' )
    & ( 'restrict_map$c'('fmb_B_d_option_fun$_2','fmb_B_set$_2') = 'fmb_B_d_option_fun$_2' )
    & ( 'restrict_map$c'('fmb_B_d_option_fun$_3','fmb_B_set$_1') = 'fmb_B_d_option_fun$_2' )
    & ( 'restrict_map$c'('fmb_B_d_option_fun$_3','fmb_B_set$_2') = 'fmb_B_d_option_fun$_2' )
    & ( 'restrict_map$c'('fmb_B_d_option_fun$_4','fmb_B_set$_1') = 'fmb_B_d_option_fun$_2' )
    & ( 'restrict_map$c'('fmb_B_d_option_fun$_4','fmb_B_set$_2') = 'fmb_B_d_option_fun$_2' ) ) ).

tff('declare_fun_app$f',type,
    'fun_app$f': ( 'A_a_option_fun_a_c_option_fun_fun$' * 'A_a_option_fun$' ) > 'A_c_option_fun$' ).

tff('function_fun_app$f',axiom,
    ( ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_1','fmb_A_a_option_fun$_1') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_1','fmb_A_a_option_fun$_2') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_1','fmb_A_a_option_fun$_3') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_1','fmb_A_a_option_fun$_4') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_2','fmb_A_a_option_fun$_1') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_2','fmb_A_a_option_fun$_2') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_2','fmb_A_a_option_fun$_3') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_2','fmb_A_a_option_fun$_4') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_3','fmb_A_a_option_fun$_1') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_3','fmb_A_a_option_fun$_2') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_3','fmb_A_a_option_fun$_3') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_3','fmb_A_a_option_fun$_4') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_4','fmb_A_a_option_fun$_1') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_4','fmb_A_a_option_fun$_2') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_4','fmb_A_a_option_fun$_3') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_app$f'('fmb_A_a_option_fun_a_c_option_fun_fun$_4','fmb_A_a_option_fun$_4') = 'fmb_A_c_option_fun$_1' ) ) ).

tff('declare_dom$b',type,
    'dom$b': 'A_d_option_fun$' > 'A_set$' ).

tff('function_dom$b',axiom,
    'dom$b'('fmb_A_d_option_fun$_1') = 'fmb_A_set$_2' ).

tff('declare_bind$e',type,
    'bind$e': ( 'D_option$' * 'D_b_option_fun$' ) > 'B_option$' ).

tff('function_bind$e',axiom,
    ( ( 'bind$e'('fmb_D_option$_1','fmb_D_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_D_option$_1','fmb_D_b_option_fun$_2') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_D_option$_1','fmb_D_b_option_fun$_3') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_D_option$_1','fmb_D_b_option_fun$_4') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_D_option$_2','fmb_D_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_D_option$_2','fmb_D_b_option_fun$_2') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_D_option$_2','fmb_D_b_option_fun$_3') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_D_option$_2','fmb_D_b_option_fun$_4') = 'fmb_B_option$_1' ) ) ).

tff('declare_sup$',type,
    'sup$': ( 'C_d_prod_set$' * 'C_d_prod_set$' ) > 'C_d_prod_set$' ).

tff('function_sup$',axiom,
    ( ( 'sup$'('fmb_C_d_prod_set$_1','fmb_C_d_prod_set$_1') = 'fmb_C_d_prod_set$_1' )
    & ( 'sup$'('fmb_C_d_prod_set$_1','fmb_C_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_1','fmb_C_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_1','fmb_C_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_2','fmb_C_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_2','fmb_C_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_2','fmb_C_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_2','fmb_C_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_3','fmb_C_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_3','fmb_C_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_3','fmb_C_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_3','fmb_C_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_4','fmb_C_d_prod_set$_1') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_4','fmb_C_d_prod_set$_2') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_4','fmb_C_d_prod_set$_3') = 'fmb_C_d_prod_set$_4' )
    & ( 'sup$'('fmb_C_d_prod_set$_4','fmb_C_d_prod_set$_4') = 'fmb_C_d_prod_set$_4' ) ) ).

tff('declare_graph$a',type,
    'graph$a': 'A_c_option_fun$' > 'A_c_prod_set$' ).

tff('function_graph$a',axiom,
    'graph$a'('fmb_A_c_option_fun$_1') = 'fmb_A_c_prod_set$_4' ).

tff('declare_graph$b',type,
    'graph$b': 'C_b_option_fun$' > 'C_b_prod_set$' ).

tff('function_graph$b',axiom,
    ( ( 'graph$b'('fmb_C_b_option_fun$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'graph$b'('fmb_C_b_option_fun$_2') = 'fmb_C_b_prod_set$_2' )
    & ( 'graph$b'('fmb_C_b_option_fun$_3') = 'fmb_C_b_prod_set$_2' )
    & ( 'graph$b'('fmb_C_b_option_fun$_4') = 'fmb_C_b_prod_set$_2' ) ) ).

tff('declare_set_option$',type,
    'set_option$': 'B_option_option$' > 'B_option_set$' ).

tff('function_set_option$',axiom,
    ( ( 'set_option$'('fmb_B_option_option$_1') = 'fmb_B_option_set$_1' )
    & ( 'set_option$'('fmb_B_option_option$_2') = 'fmb_B_option_set$_2' )
    & ( 'set_option$'('fmb_B_option_option$_3') = 'fmb_B_option_set$_4' ) ) ).

tff('declare_map_comp$a',type,
    'map_comp$a': ( 'D_b_option_fun$' * 'C_d_option_fun$' ) > 'C_b_option_fun$' ).

tff('function_map_comp$a',axiom,
    ( ( 'map_comp$a'('fmb_D_b_option_fun$_1','fmb_C_d_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_1','fmb_C_d_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_1','fmb_C_d_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_1','fmb_C_d_option_fun$_4') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_2','fmb_C_d_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_2','fmb_C_d_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_2','fmb_C_d_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_2','fmb_C_d_option_fun$_4') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_3','fmb_C_d_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_3','fmb_C_d_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_3','fmb_C_d_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_3','fmb_C_d_option_fun$_4') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_4','fmb_C_d_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_4','fmb_C_d_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_4','fmb_C_d_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$a'('fmb_D_b_option_fun$_4','fmb_C_d_option_fun$_4') = 'fmb_C_b_option_fun$_1' ) ) ).

tff('declare_map_comp$e',type,
    'map_comp$e': 'A_c_option_fun$' > 'A_a_option_fun_a_c_option_fun_fun$' ).

tff('function_map_comp$e',axiom,
    'map_comp$e'('fmb_A_c_option_fun$_1') = 'fmb_A_a_option_fun_a_c_option_fun_fun$_2' ).

tff('declare_map_add$c',type,
    'map_add$c': ( 'A_c_option_fun$' * 'A_c_option_fun$' ) > 'A_c_option_fun$' ).

tff('function_map_add$c',axiom,
    'map_add$c'('fmb_A_c_option_fun$_1','fmb_A_c_option_fun$_1') = 'fmb_A_c_option_fun$_1' ).

tff('declare_map_comp$j',type,
    'map_comp$j': ( 'D_d_option_fun$' * 'C_d_option_fun$' ) > 'C_d_option_fun$' ).

tff('function_map_comp$j',axiom,
    ( ( 'map_comp$j'('fmb_D_d_option_fun$_1','fmb_C_d_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_1','fmb_C_d_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_1','fmb_C_d_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_1','fmb_C_d_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_2','fmb_C_d_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_2','fmb_C_d_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_2','fmb_C_d_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_2','fmb_C_d_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_3','fmb_C_d_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_3','fmb_C_d_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_3','fmb_C_d_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_3','fmb_C_d_option_fun$_4') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_4','fmb_C_d_option_fun$_1') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_4','fmb_C_d_option_fun$_2') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_4','fmb_C_d_option_fun$_3') = 'fmb_C_d_option_fun$_4' )
    & ( 'map_comp$j'('fmb_D_d_option_fun$_4','fmb_C_d_option_fun$_4') = 'fmb_C_d_option_fun$_4' ) ) ).

tff('declare_ran$',type,
    'ran$': 'D_a_option_fun$' > 'A_set$' ).

tff('function_ran$',axiom,
    ( ( 'ran$'('fmb_D_a_option_fun$_1') = 'fmb_A_set$_2' )
    & ( 'ran$'('fmb_D_a_option_fun$_2') = 'fmb_A_set$_1' )
    & ( 'ran$'('fmb_D_a_option_fun$_3') = 'fmb_A_set$_2' )
    & ( 'ran$'('fmb_D_a_option_fun$_4') = 'fmb_A_set$_2' ) ) ).

tff('declare_fun_app$ah',type,
    'fun_app$ah': ( 'B_d_option_fun$' * 'B$' ) > 'D_option$' ).

tff('function_fun_app$ah',axiom,
    ( ( 'fun_app$ah'('fmb_B_d_option_fun$_1','fmb_B$_1') = 'fmb_D_option$_1' )
    & ( 'fun_app$ah'('fmb_B_d_option_fun$_2','fmb_B$_1') = 'fmb_D_option$_1' )
    & ( 'fun_app$ah'('fmb_B_d_option_fun$_3','fmb_B$_1') = 'fmb_D_option$_1' )
    & ( 'fun_app$ah'('fmb_B_d_option_fun$_4','fmb_B$_1') = 'fmb_D_option$_1' ) ) ).

tff('declare_graph$',type,
    'graph$': 'A_b_option_fun$' > 'A_b_prod_set$' ).

tff('function_graph$',axiom,
    ( ( 'graph$'('fmb_A_b_option_fun$_1') = 'fmb_A_b_prod_set$_1' )
    & ( 'graph$'('fmb_A_b_option_fun$_2') = 'fmb_A_b_prod_set$_1' ) ) ).

tff('declare_relcomp$h',type,
    'relcomp$h': ( 'C_c_prod_set$' * 'C_b_prod_set$' ) > 'C_b_prod_set$' ).

tff('function_relcomp$h',axiom,
    ( ( 'relcomp$h'('fmb_C_c_prod_set$_1','fmb_C_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_1','fmb_C_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_1','fmb_C_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_1','fmb_C_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_2','fmb_C_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_2','fmb_C_b_prod_set$_2') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_2','fmb_C_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_2','fmb_C_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_3','fmb_C_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_3','fmb_C_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_3','fmb_C_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_3','fmb_C_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_4','fmb_C_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_4','fmb_C_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_4','fmb_C_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$h'('fmb_C_c_prod_set$_4','fmb_C_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' ) ) ).

tff('declare_fun_app$am',type,
    'fun_app$am': ( 'D_option_d_option_fun$' * 'D_option$' ) > 'D_option$' ).

tff('function_fun_app$am',axiom,
    ( ( 'fun_app$am'('fmb_D_option_d_option_fun$_1','fmb_D_option$_1') = 'fmb_D_option$_2' )
    & ( 'fun_app$am'('fmb_D_option_d_option_fun$_1','fmb_D_option$_2') = 'fmb_D_option$_2' )
    & ( 'fun_app$am'('fmb_D_option_d_option_fun$_2','fmb_D_option$_1') = 'fmb_D_option$_1' )
    & ( 'fun_app$am'('fmb_D_option_d_option_fun$_2','fmb_D_option$_2') = 'fmb_D_option$_2' )
    & ( 'fun_app$am'('fmb_D_option_d_option_fun$_3','fmb_D_option$_1') = 'fmb_D_option$_2' )
    & ( 'fun_app$am'('fmb_D_option_d_option_fun$_3','fmb_D_option$_2') = 'fmb_D_option$_2' )
    & ( 'fun_app$am'('fmb_D_option_d_option_fun$_4','fmb_D_option$_1') = 'fmb_D_option$_2' )
    & ( 'fun_app$am'('fmb_D_option_d_option_fun$_4','fmb_D_option$_2') = 'fmb_D_option$_2' ) ) ).

tff('declare_relcomp$p',type,
    'relcomp$p': ( 'A_a_prod_set$' * 'A_d_prod_set$' ) > 'A_d_prod_set$' ).

tff('function_relcomp$p',axiom,
    ( ( 'relcomp$p'('fmb_A_a_prod_set$_1','fmb_A_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$p'('fmb_A_a_prod_set$_2','fmb_A_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$p'('fmb_A_a_prod_set$_3','fmb_A_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$p'('fmb_A_a_prod_set$_4','fmb_A_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' ) ) ).

tff('declare_image$d',type,
    'image$d': ( 'D_b_prod_set$' * 'D_set$' ) > 'B_set$' ).

tff('function_image$d',axiom,
    ( ( 'image$d'('fmb_D_b_prod_set$_1','fmb_D_set$_1') = 'fmb_B_set$_2' )
    & ( 'image$d'('fmb_D_b_prod_set$_1','fmb_D_set$_2') = 'fmb_B_set$_2' )
    & ( 'image$d'('fmb_D_b_prod_set$_2','fmb_D_set$_1') = 'fmb_B_set$_2' )
    & ( 'image$d'('fmb_D_b_prod_set$_2','fmb_D_set$_2') = 'fmb_B_set$_2' )
    & ( 'image$d'('fmb_D_b_prod_set$_3','fmb_D_set$_1') = 'fmb_B_set$_2' )
    & ( 'image$d'('fmb_D_b_prod_set$_3','fmb_D_set$_2') = 'fmb_B_set$_2' )
    & ( 'image$d'('fmb_D_b_prod_set$_4','fmb_D_set$_1') = 'fmb_B_set$_2' )
    & ( 'image$d'('fmb_D_b_prod_set$_4','fmb_D_set$_2') = 'fmb_B_set$_2' ) ) ).

tff('declare_fun_app$ag',type,
    'fun_app$ag': ( 'B_c_option_fun$' * 'B$' ) > 'C_option$' ).

tff('function_fun_app$ag',axiom,
    ( ( 'fun_app$ag'('fmb_B_c_option_fun$_1','fmb_B$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$ag'('fmb_B_c_option_fun$_2','fmb_B$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$ag'('fmb_B_c_option_fun$_3','fmb_B$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$ag'('fmb_B_c_option_fun$_4','fmb_B$_1') = 'fmb_C_option$_2' ) ) ).

tff('declare_map_comp$l',type,
    'map_comp$l': ( 'C_b_option_fun$' * 'C_c_option_fun$' ) > 'C_b_option_fun$' ).

tff('function_map_comp$l',axiom,
    ( ( 'map_comp$l'('fmb_C_b_option_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_2','fmb_C_c_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_2','fmb_C_c_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_2','fmb_C_c_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_2','fmb_C_c_option_fun$_4') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_3','fmb_C_c_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_3','fmb_C_c_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_3','fmb_C_c_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_3','fmb_C_c_option_fun$_4') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_4','fmb_C_c_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_4','fmb_C_c_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_4','fmb_C_c_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$l'('fmb_C_b_option_fun$_4','fmb_C_c_option_fun$_4') = 'fmb_C_b_option_fun$_1' ) ) ).

tff('declare_fun_app$k',type,
    'fun_app$k': ( 'C_a_option_fun$' * 'C$' ) > 'A_option$' ).

tff('function_fun_app$k',axiom,
    ( ( 'fun_app$k'('fmb_C_a_option_fun$_1','fmb_C$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$k'('fmb_C_a_option_fun$_2','fmb_C$_1') = 'fmb_A_option$_1' )
    & ( 'fun_app$k'('fmb_C_a_option_fun$_3','fmb_C$_1') = 'fmb_A_option$_1' )
    & ( 'fun_app$k'('fmb_C_a_option_fun$_4','fmb_C$_1') = 'fmb_A_option$_1' ) ) ).

tff('declare_fun_app$p',type,
    'fun_app$p': ( 'D_d_option_fun$' * 'D$' ) > 'D_option$' ).

tff('function_fun_app$p',axiom,
    ( ( 'fun_app$p'('fmb_D_d_option_fun$_1','fmb_D$_1') = 'fmb_D_option$_2' )
    & ( 'fun_app$p'('fmb_D_d_option_fun$_2','fmb_D$_1') = 'fmb_D_option$_1' )
    & ( 'fun_app$p'('fmb_D_d_option_fun$_3','fmb_D$_1') = 'fmb_D_option$_2' )
    & ( 'fun_app$p'('fmb_D_d_option_fun$_4','fmb_D$_1') = 'fmb_D_option$_2' ) ) ).

tff('declare_pair$e',type,
    'pair$e': ( 'A$' * 'C$' ) > 'A_c_prod$' ).

tff('function_pair$e',axiom,
    'pair$e'('fmb_A$_1','fmb_C$_1') = 'fmb_A_c_prod$_1' ).

tff('declare_sup$d',type,
    'sup$d': ( 'C_b_prod_set$' * 'C_b_prod_set$' ) > 'C_b_prod_set$' ).

tff('function_sup$d',axiom,
    ( ( 'sup$d'('fmb_C_b_prod_set$_1','fmb_C_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'sup$d'('fmb_C_b_prod_set$_1','fmb_C_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_1','fmb_C_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_1','fmb_C_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_2','fmb_C_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_2','fmb_C_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_2','fmb_C_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_2','fmb_C_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_3','fmb_C_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_3','fmb_C_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_3','fmb_C_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_3','fmb_C_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_4','fmb_C_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_4','fmb_C_b_prod_set$_2') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_4','fmb_C_b_prod_set$_3') = 'fmb_C_b_prod_set$_4' )
    & ( 'sup$d'('fmb_C_b_prod_set$_4','fmb_C_b_prod_set$_4') = 'fmb_C_b_prod_set$_4' ) ) ).

tff('declare_curry$d',type,
    'curry$d': ( 'A_b_prod_bool_fun$' * 'A$' ) > 'B_bool_fun$' ).

tff('function_curry$d',axiom,
    ( ( 'curry$d'('fmb_A_b_prod_bool_fun$_1','fmb_A$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'curry$d'('fmb_A_b_prod_bool_fun$_2','fmb_A$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'curry$d'('fmb_A_b_prod_bool_fun$_3','fmb_A$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'curry$d'('fmb_A_b_prod_bool_fun$_4','fmb_A$_1') = 'fmb_B_bool_fun$_4' ) ) ).

tff('declare_pair$f',type,
    'pair$f': ( 'C$' * 'D$' ) > 'C_d_prod$' ).

tff('function_pair$f',axiom,
    'pair$f'('fmb_C$_1','fmb_D$_1') = 'fmb_C_d_prod$_1' ).

tff('declare_bind$d',type,
    'bind$d': 'D_option$' > 'D_d_option_fun_d_option_fun$' ).

tff('function_bind$d',axiom,
    ( ( 'bind$d'('fmb_D_option$_1') = 'fmb_D_d_option_fun_d_option_fun$_2' )
    & ( 'bind$d'('fmb_D_option$_2') = 'fmb_D_d_option_fun_d_option_fun$_3' ) ) ).

tff('declare_pair$h',type,
    'pair$h': ( 'C$' * 'B$' ) > 'C_b_prod$' ).

tff('function_pair$h',axiom,
    'pair$h'('fmb_C$_1','fmb_B$_1') = 'fmb_C_b_prod$_1' ).

tff('declare_fun_app$aq',type,
    'fun_app$aq': ( 'B_b_fun$' * 'B$' ) > 'B$' ).

tff('function_fun_app$aq',axiom,
    ( ( 'fun_app$aq'('fmb_B_b_fun$_1','fmb_B$_1') = 'fmb_B$_1' )
    & ( 'fun_app$aq'('fmb_B_b_fun$_2','fmb_B$_1') = 'fmb_B$_1' )
    & ( 'fun_app$aq'('fmb_B_b_fun$_3','fmb_B$_1') = 'fmb_B$_1' )
    & ( 'fun_app$aq'('fmb_B_b_fun$_4','fmb_B$_1') = 'fmb_B$_1' ) ) ).

tff('declare_graph$d',type,
    'graph$d': 'D_b_option_fun$' > 'D_b_prod_set$' ).

tff('function_graph$d',axiom,
    ( ( 'graph$d'('fmb_D_b_option_fun$_1') = 'fmb_D_b_prod_set$_1' )
    & ( 'graph$d'('fmb_D_b_option_fun$_2') = 'fmb_D_b_prod_set$_1' )
    & ( 'graph$d'('fmb_D_b_option_fun$_3') = 'fmb_D_b_prod_set$_1' )
    & ( 'graph$d'('fmb_D_b_option_fun$_4') = 'fmb_D_b_prod_set$_1' ) ) ).

tff('declare_fun_app$r',type,
    'fun_app$r': ( 'B_b_option_fun$' * 'B$' ) > 'B_option$' ).

tff('function_fun_app$r',axiom,
    ( ( 'fun_app$r'('fmb_B_b_option_fun$_1','fmb_B$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$r'('fmb_B_b_option_fun$_2','fmb_B$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$r'('fmb_B_b_option_fun$_3','fmb_B$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$r'('fmb_B_b_option_fun$_4','fmb_B$_1') = 'fmb_B_option$_2' ) ) ).

tff('declare_map_comp$',type,
    'map_comp$': ( 'C_b_option_fun$' * 'A_c_option_fun$' ) > 'A_b_option_fun$' ).

tff('function_map_comp$',axiom,
    ( ( 'map_comp$'('fmb_C_b_option_fun$_1','fmb_A_c_option_fun$_1') = 'fmb_A_b_option_fun$_1' )
    & ( 'map_comp$'('fmb_C_b_option_fun$_2','fmb_A_c_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'map_comp$'('fmb_C_b_option_fun$_3','fmb_A_c_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'map_comp$'('fmb_C_b_option_fun$_4','fmb_A_c_option_fun$_1') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_collect$c',type,
    'collect$c': 'B_bool_fun$' > 'B_set$' ).

tff('function_collect$c',axiom,
    ( ( 'collect$c'('fmb_B_bool_fun$_1') = 'fmb_B_set$_1' )
    & ( 'collect$c'('fmb_B_bool_fun$_2') = 'fmb_B_set$_1' )
    & ( 'collect$c'('fmb_B_bool_fun$_3') = 'fmb_B_set$_2' )
    & ( 'collect$c'('fmb_B_bool_fun$_4') = 'fmb_B_set$_2' ) ) ).

tff('declare_bind$',type,
    'bind$': 'C_option$' > 'C_c_option_fun_c_option_fun$' ).

tff('function_bind$',axiom,
    ( ( 'bind$'('fmb_C_option$_1') = 'fmb_C_c_option_fun_c_option_fun$_2' )
    & ( 'bind$'('fmb_C_option$_2') = 'fmb_C_c_option_fun_c_option_fun$_3' ) ) ).

tff('declare_insert$b',type,
    'insert$b': ( 'A$' * 'A_set$' ) > 'A_set$' ).

tff('function_insert$b',axiom,
    ( ( 'insert$b'('fmb_A$_1','fmb_A_set$_1') = 'fmb_A_set$_2' )
    & ( 'insert$b'('fmb_A$_1','fmb_A_set$_2') = 'fmb_A_set$_2' ) ) ).

tff('declare_relcomp$n',type,
    'relcomp$n': ( 'A_b_prod_set$' * 'B_d_prod_set$' ) > 'A_d_prod_set$' ).

tff('function_relcomp$n',axiom,
    ( ( 'relcomp$n'('fmb_A_b_prod_set$_1','fmb_B_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$n'('fmb_A_b_prod_set$_1','fmb_B_d_prod_set$_2') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$n'('fmb_A_b_prod_set$_1','fmb_B_d_prod_set$_3') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$n'('fmb_A_b_prod_set$_1','fmb_B_d_prod_set$_4') = 'fmb_A_d_prod_set$_1' ) ) ).

tff('declare_relcomp$s',type,
    'relcomp$s': ( 'D_d_prod_set$' * 'D_b_prod_set$' ) > 'D_b_prod_set$' ).

tff('function_relcomp$s',axiom,
    ( ( 'relcomp$s'('fmb_D_d_prod_set$_1','fmb_D_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_1','fmb_D_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_1','fmb_D_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_1','fmb_D_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_2','fmb_D_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_2','fmb_D_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_2','fmb_D_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_2','fmb_D_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_3','fmb_D_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_3','fmb_D_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_3','fmb_D_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_3','fmb_D_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_4','fmb_D_b_prod_set$_1') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_4','fmb_D_b_prod_set$_2') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_4','fmb_D_b_prod_set$_3') = 'fmb_D_b_prod_set$_4' )
    & ( 'relcomp$s'('fmb_D_d_prod_set$_4','fmb_D_b_prod_set$_4') = 'fmb_D_b_prod_set$_4' ) ) ).

tff('declare_curry$b',type,
    'curry$b': ( 'A_d_prod_bool_fun$' * 'A$' ) > 'D_bool_fun$' ).

tff('function_curry$b',axiom,
    ( ( 'curry$b'('fmb_A_d_prod_bool_fun$_1','fmb_A$_1') = 'fmb_D_bool_fun$_4' )
    & ( 'curry$b'('fmb_A_d_prod_bool_fun$_2','fmb_A$_1') = 'fmb_D_bool_fun$_4' )
    & ( 'curry$b'('fmb_A_d_prod_bool_fun$_3','fmb_A$_1') = 'fmb_D_bool_fun$_4' )
    & ( 'curry$b'('fmb_A_d_prod_bool_fun$_4','fmb_A$_1') = 'fmb_D_bool_fun$_4' ) ) ).

tff('declare_relcomp$j',type,
    'relcomp$j': ( 'A_d_prod_set$' * 'D_d_prod_set$' ) > 'A_d_prod_set$' ).

tff('function_relcomp$j',axiom,
    ( ( 'relcomp$j'('fmb_A_d_prod_set$_1','fmb_D_d_prod_set$_1') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$j'('fmb_A_d_prod_set$_1','fmb_D_d_prod_set$_2') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$j'('fmb_A_d_prod_set$_1','fmb_D_d_prod_set$_3') = 'fmb_A_d_prod_set$_1' )
    & ( 'relcomp$j'('fmb_A_d_prod_set$_1','fmb_D_d_prod_set$_4') = 'fmb_A_d_prod_set$_1' ) ) ).

tff('declare_map_add$b',type,
    'map_add$b': ( 'A_d_option_fun$' * 'A_d_option_fun$' ) > 'A_d_option_fun$' ).

tff('function_map_add$b',axiom,
    'map_add$b'('fmb_A_d_option_fun$_1','fmb_A_d_option_fun$_1') = 'fmb_A_d_option_fun$_1' ).

tff('declare_the_elem$b',type,
    'the_elem$b': 'C_set$' > 'C$' ).

tff('function_the_elem$b',axiom,
    ( ( 'the_elem$b'('fmb_C_set$_1') = 'fmb_C$_1' )
    & ( 'the_elem$b'('fmb_C_set$_2') = 'fmb_C$_1' )
    & ( 'the_elem$b'('fmb_C_set$_3') = 'fmb_C$_1' ) ) ).

tff('declare_fun_app$ap',type,
    'fun_app$ap': ( 'B_option_b_option_fun$' * 'B_option$' ) > 'B_option$' ).

tff('function_fun_app$ap',axiom,
    ( ( 'fun_app$ap'('fmb_B_option_b_option_fun$_1','fmb_B_option$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$ap'('fmb_B_option_b_option_fun$_1','fmb_B_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$ap'('fmb_B_option_b_option_fun$_2','fmb_B_option$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$ap'('fmb_B_option_b_option_fun$_2','fmb_B_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$ap'('fmb_B_option_b_option_fun$_3','fmb_B_option$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$ap'('fmb_B_option_b_option_fun$_3','fmb_B_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$ap'('fmb_B_option_b_option_fun$_4','fmb_B_option$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$ap'('fmb_B_option_b_option_fun$_4','fmb_B_option$_2') = 'fmb_B_option$_2' ) ) ).

tff('declare_some$e',type,
    'some$e': 'C_option$' > 'C_option_option$' ).

tff('function_some$e',axiom,
    ( ( 'some$e'('fmb_C_option$_1') = 'fmb_C_option_option$_2' )
    & ( 'some$e'('fmb_C_option$_2') = 'fmb_C_option_option$_3' ) ) ).

tff('declare_dom$a',type,
    'dom$a': 'C_b_option_fun$' > 'C_set$' ).

tff('function_dom$a',axiom,
    ( ( 'dom$a'('fmb_C_b_option_fun$_1') = 'fmb_C_set$_3' )
    & ( 'dom$a'('fmb_C_b_option_fun$_2') = 'fmb_C_set$_3' )
    & ( 'dom$a'('fmb_C_b_option_fun$_3') = 'fmb_C_set$_3' )
    & ( 'dom$a'('fmb_C_b_option_fun$_4') = 'fmb_C_set$_3' ) ) ).

tff('declare_insert$f',type,
    'insert$f': ( 'D_option$' * 'D_option_set$' ) > 'D_option_set$' ).

tff('function_insert$f',axiom,
    ( ( 'insert$f'('fmb_D_option$_1','fmb_D_option_set$_1') = 'fmb_D_option_set$_1' )
    & ( 'insert$f'('fmb_D_option$_1','fmb_D_option_set$_2') = 'fmb_D_option_set$_2' )
    & ( 'insert$f'('fmb_D_option$_2','fmb_D_option_set$_1') = 'fmb_D_option_set$_2' )
    & ( 'insert$f'('fmb_D_option$_2','fmb_D_option_set$_2') = 'fmb_D_option_set$_2' ) ) ).

tff('declare_fun_upd$',type,
    'fun_upd$': ( 'A_c_option_fun$' * 'A$' * 'C_option$' ) > 'A_c_option_fun$' ).

tff('function_fun_upd$',axiom,
    ( ( 'fun_upd$'('fmb_A_c_option_fun$_1','fmb_A$_1','fmb_C_option$_1') = 'fmb_A_c_option_fun$_1' )
    & ( 'fun_upd$'('fmb_A_c_option_fun$_1','fmb_A$_1','fmb_C_option$_2') = 'fmb_A_c_option_fun$_1' ) ) ).

tff('declare_sup$e',type,
    'sup$e': ( 'A_c_prod_set$' * 'A_c_prod_set$' ) > 'A_c_prod_set$' ).

tff('function_sup$e',axiom,
    ( ( 'sup$e'('fmb_A_c_prod_set$_1','fmb_A_c_prod_set$_1') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_1','fmb_A_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_1','fmb_A_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_1','fmb_A_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_2','fmb_A_c_prod_set$_1') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_2','fmb_A_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_2','fmb_A_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_2','fmb_A_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_3','fmb_A_c_prod_set$_1') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_3','fmb_A_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_3','fmb_A_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_3','fmb_A_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_4','fmb_A_c_prod_set$_1') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_4','fmb_A_c_prod_set$_2') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_4','fmb_A_c_prod_set$_3') = 'fmb_A_c_prod_set$_4' )
    & ( 'sup$e'('fmb_A_c_prod_set$_4','fmb_A_c_prod_set$_4') = 'fmb_A_c_prod_set$_4' ) ) ).

tff('declare_bind$c',type,
    'bind$c': ( 'D_option$' * 'D_c_option_fun$' ) > 'C_option$' ).

tff('function_bind$c',axiom,
    ( ( 'bind$c'('fmb_D_option$_1','fmb_D_c_option_fun$_1') = 'fmb_C_option$_1' )
    & ( 'bind$c'('fmb_D_option$_1','fmb_D_c_option_fun$_2') = 'fmb_C_option$_1' )
    & ( 'bind$c'('fmb_D_option$_1','fmb_D_c_option_fun$_3') = 'fmb_C_option$_1' )
    & ( 'bind$c'('fmb_D_option$_1','fmb_D_c_option_fun$_4') = 'fmb_C_option$_1' )
    & ( 'bind$c'('fmb_D_option$_2','fmb_D_c_option_fun$_1') = 'fmb_C_option$_2' )
    & ( 'bind$c'('fmb_D_option$_2','fmb_D_c_option_fun$_2') = 'fmb_C_option$_1' )
    & ( 'bind$c'('fmb_D_option$_2','fmb_D_c_option_fun$_3') = 'fmb_C_option$_2' )
    & ( 'bind$c'('fmb_D_option$_2','fmb_D_c_option_fun$_4') = 'fmb_C_option$_2' ) ) ).

tff('declare_image$b',type,
    'image$b': ( 'A_c_prod_set$' * 'A_set$' ) > 'C_set$' ).

tff('function_image$b',axiom,
    ( ( 'image$b'('fmb_A_c_prod_set$_1','fmb_A_set$_1') = 'fmb_C_set$_2' )
    & ( 'image$b'('fmb_A_c_prod_set$_1','fmb_A_set$_2') = 'fmb_C_set$_2' )
    & ( 'image$b'('fmb_A_c_prod_set$_2','fmb_A_set$_1') = 'fmb_C_set$_3' )
    & ( 'image$b'('fmb_A_c_prod_set$_2','fmb_A_set$_2') = 'fmb_C_set$_3' )
    & ( 'image$b'('fmb_A_c_prod_set$_3','fmb_A_set$_1') = 'fmb_C_set$_3' )
    & ( 'image$b'('fmb_A_c_prod_set$_3','fmb_A_set$_2') = 'fmb_C_set$_3' )
    & ( 'image$b'('fmb_A_c_prod_set$_4','fmb_A_set$_1') = 'fmb_C_set$_3' )
    & ( 'image$b'('fmb_A_c_prod_set$_4','fmb_A_set$_2') = 'fmb_C_set$_3' ) ) ).

tff('declare_fun_app$ak',type,
    'fun_app$ak': ( 'C_c_fun$' * 'C$' ) > 'C$' ).

tff('function_fun_app$ak',axiom,
    ( ( 'fun_app$ak'('fmb_C_c_fun$_1','fmb_C$_1') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_c_fun$_2','fmb_C$_1') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_c_fun$_3','fmb_C$_1') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_c_fun$_4','fmb_C$_1') = 'fmb_C$_1' ) ) ).

tff('declare_bind$g',type,
    'bind$g': ( 'B_option$' * 'B_d_option_fun$' ) > 'D_option$' ).

tff('function_bind$g',axiom,
    ( ( 'bind$g'('fmb_B_option$_1','fmb_B_d_option_fun$_1') = 'fmb_D_option$_1' )
    & ( 'bind$g'('fmb_B_option$_1','fmb_B_d_option_fun$_2') = 'fmb_D_option$_1' )
    & ( 'bind$g'('fmb_B_option$_1','fmb_B_d_option_fun$_3') = 'fmb_D_option$_1' )
    & ( 'bind$g'('fmb_B_option$_1','fmb_B_d_option_fun$_4') = 'fmb_D_option$_1' )
    & ( 'bind$g'('fmb_B_option$_2','fmb_B_d_option_fun$_1') = 'fmb_D_option$_1' )
    & ( 'bind$g'('fmb_B_option$_2','fmb_B_d_option_fun$_2') = 'fmb_D_option$_1' )
    & ( 'bind$g'('fmb_B_option$_2','fmb_B_d_option_fun$_3') = 'fmb_D_option$_1' )
    & ( 'bind$g'('fmb_B_option$_2','fmb_B_d_option_fun$_4') = 'fmb_D_option$_1' ) ) ).

tff('declare_set_option$c',type,
    'set_option$c': 'D_option$' > 'D_set$' ).

tff('function_set_option$c',axiom,
    ( ( 'set_option$c'('fmb_D_option$_1') = 'fmb_D_set$_1' )
    & ( 'set_option$c'('fmb_D_option$_2') = 'fmb_D_set$_2' ) ) ).

tff('declare_curry$a',type,
    'curry$a': ( 'C_b_prod_bool_fun$' * 'C$' ) > 'B_bool_fun$' ).

tff('function_curry$a',axiom,
    ( ( 'curry$a'('fmb_C_b_prod_bool_fun$_1','fmb_C$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'curry$a'('fmb_C_b_prod_bool_fun$_2','fmb_C$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'curry$a'('fmb_C_b_prod_bool_fun$_3','fmb_C$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'curry$a'('fmb_C_b_prod_bool_fun$_4','fmb_C$_1') = 'fmb_B_bool_fun$_4' ) ) ).

tff('declare_relcomp$i',type,
    'relcomp$i': ( 'C_a_prod_set$' * 'A_b_prod_set$' ) > 'C_b_prod_set$' ).

tff('function_relcomp$i',axiom,
    ( ( 'relcomp$i'('fmb_C_a_prod_set$_1','fmb_A_b_prod_set$_1') = 'fmb_C_b_prod_set$_4' )
    & ( 'relcomp$i'('fmb_C_a_prod_set$_2','fmb_A_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$i'('fmb_C_a_prod_set$_3','fmb_A_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' )
    & ( 'relcomp$i'('fmb_C_a_prod_set$_4','fmb_A_b_prod_set$_1') = 'fmb_C_b_prod_set$_1' ) ) ).

tff('declare_curry$',type,
    'curry$': ( 'C_d_prod_bool_fun$' * 'C$' ) > 'D_bool_fun$' ).

tff('function_curry$',axiom,
    ( ( 'curry$'('fmb_C_d_prod_bool_fun$_1','fmb_C$_1') = 'fmb_D_bool_fun$_4' )
    & ( 'curry$'('fmb_C_d_prod_bool_fun$_2','fmb_C$_1') = 'fmb_D_bool_fun$_4' )
    & ( 'curry$'('fmb_C_d_prod_bool_fun$_3','fmb_C$_1') = 'fmb_D_bool_fun$_4' )
    & ( 'curry$'('fmb_C_d_prod_bool_fun$_4','fmb_C$_1') = 'fmb_D_bool_fun$_4' ) ) ).

tff('declare_fun_app$o',type,
    'fun_app$o': ( 'C_c_option_fun$' * 'C$' ) > 'C_option$' ).

tff('function_fun_app$o',axiom,
    ( ( 'fun_app$o'('fmb_C_c_option_fun$_1','fmb_C$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$o'('fmb_C_c_option_fun$_2','fmb_C$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$o'('fmb_C_c_option_fun$_3','fmb_C$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$o'('fmb_C_c_option_fun$_4','fmb_C$_1') = 'fmb_C_option$_2' ) ) ).

tff('declare_image$',type,
    'image$': ( 'A_d_prod_set$' * 'A_set$' ) > 'D_set$' ).

tff('function_image$',axiom,
    ( ( 'image$'('fmb_A_d_prod_set$_1','fmb_A_set$_1') = 'fmb_D_set$_2' )
    & ( 'image$'('fmb_A_d_prod_set$_1','fmb_A_set$_2') = 'fmb_D_set$_2' ) ) ).

tff('declare_restrict_map$j',type,
    'restrict_map$j': ( 'D_c_option_fun$' * 'D_set$' ) > 'D_c_option_fun$' ).

tff('function_restrict_map$j',axiom,
    ( ( 'restrict_map$j'('fmb_D_c_option_fun$_1','fmb_D_set$_1') = 'fmb_D_c_option_fun$_2' )
    & ( 'restrict_map$j'('fmb_D_c_option_fun$_1','fmb_D_set$_2') = 'fmb_D_c_option_fun$_4' )
    & ( 'restrict_map$j'('fmb_D_c_option_fun$_2','fmb_D_set$_1') = 'fmb_D_c_option_fun$_2' )
    & ( 'restrict_map$j'('fmb_D_c_option_fun$_2','fmb_D_set$_2') = 'fmb_D_c_option_fun$_2' )
    & ( 'restrict_map$j'('fmb_D_c_option_fun$_3','fmb_D_set$_1') = 'fmb_D_c_option_fun$_2' )
    & ( 'restrict_map$j'('fmb_D_c_option_fun$_3','fmb_D_set$_2') = 'fmb_D_c_option_fun$_4' )
    & ( 'restrict_map$j'('fmb_D_c_option_fun$_4','fmb_D_set$_1') = 'fmb_D_c_option_fun$_2' )
    & ( 'restrict_map$j'('fmb_D_c_option_fun$_4','fmb_D_set$_2') = 'fmb_D_c_option_fun$_4' ) ) ).

tff('declare_fun_app$q',type,
    'fun_app$q': ( 'D_b_option_fun$' * 'D$' ) > 'B_option$' ).

tff('function_fun_app$q',axiom,
    ( ( 'fun_app$q'('fmb_D_b_option_fun$_1','fmb_D$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$q'('fmb_D_b_option_fun$_2','fmb_D$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$q'('fmb_D_b_option_fun$_3','fmb_D$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$q'('fmb_D_b_option_fun$_4','fmb_D$_1') = 'fmb_B_option$_1' ) ) ).

tff('declare_pair$k',type,
    'pair$k': ( 'C$' * 'C$' ) > 'C_c_prod$' ).

tff('function_pair$k',axiom,
    'pair$k'('fmb_C$_1','fmb_C$_1') = 'fmb_C_c_prod$_2' ).

tff('declare_fun_app$x',type,
    'fun_app$x': ( 'D_option_c_option_bool_fun_fun$' * 'D_option$' ) > 'C_option_bool_fun$' ).

tff('function_fun_app$x',axiom,
    ( ( 'fun_app$x'('fmb_D_option_c_option_bool_fun_fun$_1','fmb_D_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$x'('fmb_D_option_c_option_bool_fun_fun$_1','fmb_D_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$x'('fmb_D_option_c_option_bool_fun_fun$_2','fmb_D_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$x'('fmb_D_option_c_option_bool_fun_fun$_2','fmb_D_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$x'('fmb_D_option_c_option_bool_fun_fun$_3','fmb_D_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$x'('fmb_D_option_c_option_bool_fun_fun$_3','fmb_D_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$x'('fmb_D_option_c_option_bool_fun_fun$_4','fmb_D_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$x'('fmb_D_option_c_option_bool_fun_fun$_4','fmb_D_option$_2') = 'fmb_C_option_bool_fun$_4' ) ) ).

tff('declare_fun_app$ac',type,
    'fun_app$ac': ( 'B_option_b_option_bool_fun_fun$' * 'B_option$' ) > 'B_option_bool_fun$' ).

tff('function_fun_app$ac',axiom,
    ( ( 'fun_app$ac'('fmb_B_option_b_option_bool_fun_fun$_1','fmb_B_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ac'('fmb_B_option_b_option_bool_fun_fun$_1','fmb_B_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ac'('fmb_B_option_b_option_bool_fun_fun$_2','fmb_B_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ac'('fmb_B_option_b_option_bool_fun_fun$_2','fmb_B_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ac'('fmb_B_option_b_option_bool_fun_fun$_3','fmb_B_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ac'('fmb_B_option_b_option_bool_fun_fun$_3','fmb_B_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ac'('fmb_B_option_b_option_bool_fun_fun$_4','fmb_B_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ac'('fmb_B_option_b_option_bool_fun_fun$_4','fmb_B_option$_2') = 'fmb_B_option_bool_fun$_4' ) ) ).

tff('declare_dom$c',type,
    'dom$c': 'A_c_option_fun$' > 'A_set$' ).

tff('function_dom$c',axiom,
    'dom$c'('fmb_A_c_option_fun$_1') = 'fmb_A_set$_2' ).

tff('declare_combine_options$b',type,
    'combine_options$b': ( 'B_b_b_fun_fun$' * 'B_option$' ) > 'B_option_b_option_fun$' ).

tff('function_combine_options$b',axiom,
    ( ( 'combine_options$b'('fmb_B_b_b_fun_fun$_1','fmb_B_option$_1') = 'fmb_B_option_b_option_fun$_2' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_1','fmb_B_option$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_2','fmb_B_option$_1') = 'fmb_B_option_b_option_fun$_2' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_2','fmb_B_option$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_3','fmb_B_option$_1') = 'fmb_B_option_b_option_fun$_2' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_3','fmb_B_option$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_4','fmb_B_option$_1') = 'fmb_B_option_b_option_fun$_2' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_4','fmb_B_option$_2') = 'fmb_B_option_b_option_fun$_4' ) ) ).

tff('declare_the_elem$c',type,
    'the_elem$c': 'B_set$' > 'B$' ).

tff('function_the_elem$c',axiom,
    ( ( 'the_elem$c'('fmb_B_set$_1') = 'fmb_B$_1' )
    & ( 'the_elem$c'('fmb_B_set$_2') = 'fmb_B$_1' ) ) ).

tff('declare_the$',type,
    'the$': 'C_option$' > 'C$' ).

tff('function_the$',axiom,
    ( ( 'the$'('fmb_C_option$_1') = 'fmb_C$_1' )
    & ( 'the$'('fmb_C_option$_2') = 'fmb_C$_1' ) ) ).

tff('declare_fun_upd$d',type,
    'fun_upd$d': ( 'A_b_option_fun$' * 'A$' * 'B_option$' ) > 'A_b_option_fun$' ).

tff('function_fun_upd$d',axiom,
    ( ( 'fun_upd$d'('fmb_A_b_option_fun$_1','fmb_A$_1','fmb_B_option$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_upd$d'('fmb_A_b_option_fun$_1','fmb_A$_1','fmb_B_option$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_upd$d'('fmb_A_b_option_fun$_2','fmb_A$_1','fmb_B_option$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_upd$d'('fmb_A_b_option_fun$_2','fmb_A$_1','fmb_B_option$_2') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_ran$e',type,
    'ran$e': 'C_c_option_fun$' > 'C_set$' ).

tff('function_ran$e',axiom,
    ( ( 'ran$e'('fmb_C_c_option_fun$_1') = 'fmb_C_set$_3' )
    & ( 'ran$e'('fmb_C_c_option_fun$_2') = 'fmb_C_set$_1' )
    & ( 'ran$e'('fmb_C_c_option_fun$_3') = 'fmb_C_set$_3' )
    & ( 'ran$e'('fmb_C_c_option_fun$_4') = 'fmb_C_set$_3' ) ) ).

tff('declare_fun_app$v',type,
    'fun_app$v': ( 'C_option_d_option_bool_fun_fun$' * 'C_option$' ) > 'D_option_bool_fun$' ).

tff('function_fun_app$v',axiom,
    ( ( 'fun_app$v'('fmb_C_option_d_option_bool_fun_fun$_1','fmb_C_option$_1') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$v'('fmb_C_option_d_option_bool_fun_fun$_1','fmb_C_option$_2') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$v'('fmb_C_option_d_option_bool_fun_fun$_2','fmb_C_option$_1') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$v'('fmb_C_option_d_option_bool_fun_fun$_2','fmb_C_option$_2') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$v'('fmb_C_option_d_option_bool_fun_fun$_3','fmb_C_option$_1') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$v'('fmb_C_option_d_option_bool_fun_fun$_3','fmb_C_option$_2') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$v'('fmb_C_option_d_option_bool_fun_fun$_4','fmb_C_option$_1') = 'fmb_D_option_bool_fun$_4' )
    & ( 'fun_app$v'('fmb_C_option_d_option_bool_fun_fun$_4','fmb_C_option$_2') = 'fmb_D_option_bool_fun$_4' ) ) ).

tff('declare_ran$b',type,
    'ran$b': 'B_a_option_fun$' > 'A_set$' ).

tff('function_ran$b',axiom,
    ( ( 'ran$b'('fmb_B_a_option_fun$_1') = 'fmb_A_set$_2' )
    & ( 'ran$b'('fmb_B_a_option_fun$_2') = 'fmb_A_set$_1' )
    & ( 'ran$b'('fmb_B_a_option_fun$_3') = 'fmb_A_set$_2' )
    & ( 'ran$b'('fmb_B_a_option_fun$_4') = 'fmb_A_set$_2' ) ) ).

tff('declare_insert$k',type,
    'insert$k': ( 'A_b_prod$' * 'A_b_prod_set$' ) > 'A_b_prod_set$' ).

tff('function_insert$k',axiom,
    'insert$k'('fmb_A_b_prod$_1','fmb_A_b_prod_set$_1') = 'fmb_A_b_prod_set$_1' ).

tff('declare_map_comp$h',type,
    'map_comp$h': ( 'A_b_option_fun$' * 'C_a_option_fun$' ) > 'C_b_option_fun$' ).

tff('function_map_comp$h',axiom,
    ( ( 'map_comp$h'('fmb_A_b_option_fun$_1','fmb_C_a_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$h'('fmb_A_b_option_fun$_1','fmb_C_a_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$h'('fmb_A_b_option_fun$_1','fmb_C_a_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$h'('fmb_A_b_option_fun$_1','fmb_C_a_option_fun$_4') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$h'('fmb_A_b_option_fun$_2','fmb_C_a_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$h'('fmb_A_b_option_fun$_2','fmb_C_a_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$h'('fmb_A_b_option_fun$_2','fmb_C_a_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'map_comp$h'('fmb_A_b_option_fun$_2','fmb_C_a_option_fun$_4') = 'fmb_C_b_option_fun$_1' ) ) ).

tff('declare_ran$f',type,
    'ran$f': 'B_c_option_fun$' > 'C_set$' ).

tff('function_ran$f',axiom,
    ( ( 'ran$f'('fmb_B_c_option_fun$_1') = 'fmb_C_set$_3' )
    & ( 'ran$f'('fmb_B_c_option_fun$_2') = 'fmb_C_set$_1' )
    & ( 'ran$f'('fmb_B_c_option_fun$_3') = 'fmb_C_set$_3' )
    & ( 'ran$f'('fmb_B_c_option_fun$_4') = 'fmb_C_set$_3' ) ) ).

tff('declare_member$b',type,
    'member$b': ( 'C$' * 'C_set$' ) > $o ).

tff('predicate_member$b',axiom,
    ( ~ 'member$b'('fmb_C$_1','fmb_C_set$_1')
    & 'member$b'('fmb_C$_1','fmb_C_set$_2')
    & 'member$b'('fmb_C$_1','fmb_C_set$_3') ) ).

tff('declare_less_eq$a',type,
    'less_eq$a': ( 'C_d_prod_set$' * 'C_d_prod_set$' ) > $o ).

tff('predicate_less_eq$a',axiom,
    ( 'less_eq$a'('fmb_C_d_prod_set$_1','fmb_C_d_prod_set$_1')
    & 'less_eq$a'('fmb_C_d_prod_set$_1','fmb_C_d_prod_set$_2')
    & 'less_eq$a'('fmb_C_d_prod_set$_1','fmb_C_d_prod_set$_3')
    & 'less_eq$a'('fmb_C_d_prod_set$_1','fmb_C_d_prod_set$_4')
    & 'less_eq$a'('fmb_C_d_prod_set$_2','fmb_C_d_prod_set$_1')
    & 'less_eq$a'('fmb_C_d_prod_set$_2','fmb_C_d_prod_set$_2')
    & 'less_eq$a'('fmb_C_d_prod_set$_2','fmb_C_d_prod_set$_3')
    & 'less_eq$a'('fmb_C_d_prod_set$_2','fmb_C_d_prod_set$_4')
    & 'less_eq$a'('fmb_C_d_prod_set$_3','fmb_C_d_prod_set$_1')
    & 'less_eq$a'('fmb_C_d_prod_set$_3','fmb_C_d_prod_set$_2')
    & 'less_eq$a'('fmb_C_d_prod_set$_3','fmb_C_d_prod_set$_3')
    & 'less_eq$a'('fmb_C_d_prod_set$_3','fmb_C_d_prod_set$_4')
    & 'less_eq$a'('fmb_C_d_prod_set$_4','fmb_C_d_prod_set$_1')
    & 'less_eq$a'('fmb_C_d_prod_set$_4','fmb_C_d_prod_set$_2')
    & 'less_eq$a'('fmb_C_d_prod_set$_4','fmb_C_d_prod_set$_3')
    & 'less_eq$a'('fmb_C_d_prod_set$_4','fmb_C_d_prod_set$_4') ) ).

tff('declare_less_eq$e',type,
    'less_eq$e': ( 'C_b_prod_set$' * 'C_b_prod_set$' ) > $o ).

tff('predicate_less_eq$e',axiom,
    ( ~ 'less_eq$e'('fmb_C_b_prod_set$_1','fmb_C_b_prod_set$_1')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_1','fmb_C_b_prod_set$_2')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_1','fmb_C_b_prod_set$_3')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_1','fmb_C_b_prod_set$_4')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_2','fmb_C_b_prod_set$_1')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_2','fmb_C_b_prod_set$_2')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_2','fmb_C_b_prod_set$_3')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_2','fmb_C_b_prod_set$_4')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_3','fmb_C_b_prod_set$_1')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_3','fmb_C_b_prod_set$_2')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_3','fmb_C_b_prod_set$_3')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_3','fmb_C_b_prod_set$_4')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_4','fmb_C_b_prod_set$_1')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_4','fmb_C_b_prod_set$_2')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_4','fmb_C_b_prod_set$_3')
    & ~ 'less_eq$e'('fmb_C_b_prod_set$_4','fmb_C_b_prod_set$_4') ) ).

tff('declare_member$m',type,
    'member$m': ( 'C_b_prod$' * 'C_b_prod_set$' ) > $o ).

tff('predicate_member$m',axiom,
    ( ~ 'member$m'('fmb_C_b_prod$_1','fmb_C_b_prod_set$_1')
    & 'member$m'('fmb_C_b_prod$_1','fmb_C_b_prod_set$_2')
    & ~ 'member$m'('fmb_C_b_prod$_1','fmb_C_b_prod_set$_3')
    & ~ 'member$m'('fmb_C_b_prod$_1','fmb_C_b_prod_set$_4') ) ).

tff('declare_member$c',type,
    'member$c': ( 'B$' * 'B_set$' ) > $o ).

tff('predicate_member$c',axiom,
    ( ~ 'member$c'('fmb_B$_1','fmb_B_set$_1')
    & 'member$c'('fmb_B$_1','fmb_B_set$_2') ) ).

tff('declare_inj_on$a',type,
    'inj_on$a': ( 'D_d_option_fun$' * 'D_set$' ) > $o ).

tff('predicate_inj_on$a',axiom,
    ( 'inj_on$a'('fmb_D_d_option_fun$_1','fmb_D_set$_1')
    & 'inj_on$a'('fmb_D_d_option_fun$_1','fmb_D_set$_2')
    & 'inj_on$a'('fmb_D_d_option_fun$_2','fmb_D_set$_1')
    & 'inj_on$a'('fmb_D_d_option_fun$_2','fmb_D_set$_2')
    & 'inj_on$a'('fmb_D_d_option_fun$_3','fmb_D_set$_1')
    & 'inj_on$a'('fmb_D_d_option_fun$_3','fmb_D_set$_2')
    & 'inj_on$a'('fmb_D_d_option_fun$_4','fmb_D_set$_1')
    & 'inj_on$a'('fmb_D_d_option_fun$_4','fmb_D_set$_2') ) ).

tff('declare_member$d',type,
    'member$d': ( 'A$' * 'A_set$' ) > $o ).

tff('predicate_member$d',axiom,
    ( ~ 'member$d'('fmb_A$_1','fmb_A_set$_1')
    & 'member$d'('fmb_A$_1','fmb_A_set$_2') ) ).

tff('declare_member$f',type,
    'member$f': ( 'A_a_prod$' * 'A_a_prod_set$' ) > $o ).

tff('predicate_member$f',axiom,
    ( 'member$f'('fmb_A_a_prod$_1','fmb_A_a_prod_set$_1')
    & 'member$f'('fmb_A_a_prod$_1','fmb_A_a_prod_set$_2')
    & 'member$f'('fmb_A_a_prod$_1','fmb_A_a_prod_set$_3')
    & 'member$f'('fmb_A_a_prod$_1','fmb_A_a_prod_set$_4')
    & 'member$f'('fmb_A_a_prod$_2','fmb_A_a_prod_set$_1')
    & 'member$f'('fmb_A_a_prod$_2','fmb_A_a_prod_set$_2')
    & ~ 'member$f'('fmb_A_a_prod$_2','fmb_A_a_prod_set$_3')
    & 'member$f'('fmb_A_a_prod$_2','fmb_A_a_prod_set$_4')
    & 'member$f'('fmb_A_a_prod$_3','fmb_A_a_prod_set$_1')
    & 'member$f'('fmb_A_a_prod$_3','fmb_A_a_prod_set$_2')
    & 'member$f'('fmb_A_a_prod$_3','fmb_A_a_prod_set$_3')
    & 'member$f'('fmb_A_a_prod$_3','fmb_A_a_prod_set$_4')
    & 'member$f'('fmb_A_a_prod$_4','fmb_A_a_prod_set$_1')
    & 'member$f'('fmb_A_a_prod$_4','fmb_A_a_prod_set$_2')
    & 'member$f'('fmb_A_a_prod$_4','fmb_A_a_prod_set$_3')
    & 'member$f'('fmb_A_a_prod$_4','fmb_A_a_prod_set$_4') ) ).

tff('declare_member$o',type,
    'member$o': ( 'D_b_prod$' * 'D_b_prod_set$' ) > $o ).

tff('predicate_member$o',axiom,
    ( 'member$o'('fmb_D_b_prod$_1','fmb_D_b_prod_set$_1')
    & 'member$o'('fmb_D_b_prod$_1','fmb_D_b_prod_set$_2')
    & 'member$o'('fmb_D_b_prod$_1','fmb_D_b_prod_set$_3')
    & 'member$o'('fmb_D_b_prod$_1','fmb_D_b_prod_set$_4')
    & ~ 'member$o'('fmb_D_b_prod$_2','fmb_D_b_prod_set$_1')
    & ~ 'member$o'('fmb_D_b_prod$_2','fmb_D_b_prod_set$_2')
    & ~ 'member$o'('fmb_D_b_prod$_2','fmb_D_b_prod_set$_3')
    & ~ 'member$o'('fmb_D_b_prod$_2','fmb_D_b_prod_set$_4')
    & 'member$o'('fmb_D_b_prod$_3','fmb_D_b_prod_set$_1')
    & 'member$o'('fmb_D_b_prod$_3','fmb_D_b_prod_set$_2')
    & 'member$o'('fmb_D_b_prod$_3','fmb_D_b_prod_set$_3')
    & 'member$o'('fmb_D_b_prod$_3','fmb_D_b_prod_set$_4')
    & 'member$o'('fmb_D_b_prod$_4','fmb_D_b_prod_set$_1')
    & 'member$o'('fmb_D_b_prod$_4','fmb_D_b_prod_set$_2')
    & 'member$o'('fmb_D_b_prod$_4','fmb_D_b_prod_set$_3')
    & 'member$o'('fmb_D_b_prod$_4','fmb_D_b_prod_set$_4') ) ).

tff('declare_finite$',type,
    'finite$': 'C_d_prod_set$' > $o ).

tff('predicate_finite$',axiom,
    ( 'finite$'('fmb_C_d_prod_set$_1')
    & 'finite$'('fmb_C_d_prod_set$_2')
    & 'finite$'('fmb_C_d_prod_set$_3')
    & 'finite$'('fmb_C_d_prod_set$_4') ) ).

tff('declare_member$g',type,
    'member$g': ( 'B_c_prod$' * 'B_c_prod_set$' ) > $o ).

tff('predicate_member$g',axiom,
    ( ~ 'member$g'('fmb_B_c_prod$_1','fmb_B_c_prod_set$_1')
    & ~ 'member$g'('fmb_B_c_prod$_1','fmb_B_c_prod_set$_2')
    & ~ 'member$g'('fmb_B_c_prod$_1','fmb_B_c_prod_set$_3')
    & ~ 'member$g'('fmb_B_c_prod$_1','fmb_B_c_prod_set$_4')
    & ~ 'member$g'('fmb_B_c_prod$_2','fmb_B_c_prod_set$_1')
    & 'member$g'('fmb_B_c_prod$_2','fmb_B_c_prod_set$_2')
    & ~ 'member$g'('fmb_B_c_prod$_2','fmb_B_c_prod_set$_3')
    & 'member$g'('fmb_B_c_prod$_2','fmb_B_c_prod_set$_4')
    & ~ 'member$g'('fmb_B_c_prod$_3','fmb_B_c_prod_set$_1')
    & ~ 'member$g'('fmb_B_c_prod$_3','fmb_B_c_prod_set$_2')
    & ~ 'member$g'('fmb_B_c_prod$_3','fmb_B_c_prod_set$_3')
    & ~ 'member$g'('fmb_B_c_prod$_3','fmb_B_c_prod_set$_4')
    & ~ 'member$g'('fmb_B_c_prod$_4','fmb_B_c_prod_set$_1')
    & ~ 'member$g'('fmb_B_c_prod$_4','fmb_B_c_prod_set$_2')
    & ~ 'member$g'('fmb_B_c_prod$_4','fmb_B_c_prod_set$_3')
    & ~ 'member$g'('fmb_B_c_prod$_4','fmb_B_c_prod_set$_4') ) ).

tff('declare_member$j',type,
    'member$j': ( 'A_c_prod$' * 'A_c_prod_set$' ) > $o ).

tff('predicate_member$j',axiom,
    ( ~ 'member$j'('fmb_A_c_prod$_1','fmb_A_c_prod_set$_1')
    & ~ 'member$j'('fmb_A_c_prod$_1','fmb_A_c_prod_set$_2')
    & ~ 'member$j'('fmb_A_c_prod$_1','fmb_A_c_prod_set$_3')
    & ~ 'member$j'('fmb_A_c_prod$_1','fmb_A_c_prod_set$_4') ) ).

tff('declare_inj_on$',type,
    'inj_on$': ( 'C_c_option_fun$' * 'C_set$' ) > $o ).

tff('predicate_inj_on$',axiom,
    ( 'inj_on$'('fmb_C_c_option_fun$_1','fmb_C_set$_1')
    & 'inj_on$'('fmb_C_c_option_fun$_1','fmb_C_set$_2')
    & 'inj_on$'('fmb_C_c_option_fun$_1','fmb_C_set$_3')
    & 'inj_on$'('fmb_C_c_option_fun$_2','fmb_C_set$_1')
    & 'inj_on$'('fmb_C_c_option_fun$_2','fmb_C_set$_2')
    & 'inj_on$'('fmb_C_c_option_fun$_2','fmb_C_set$_3')
    & 'inj_on$'('fmb_C_c_option_fun$_3','fmb_C_set$_1')
    & 'inj_on$'('fmb_C_c_option_fun$_3','fmb_C_set$_2')
    & 'inj_on$'('fmb_C_c_option_fun$_3','fmb_C_set$_3')
    & 'inj_on$'('fmb_C_c_option_fun$_4','fmb_C_set$_1')
    & 'inj_on$'('fmb_C_c_option_fun$_4','fmb_C_set$_2')
    & 'inj_on$'('fmb_C_c_option_fun$_4','fmb_C_set$_3') ) ).

tff('declare_finite$a',type,
    'finite$a': 'C_set$' > $o ).

tff('predicate_finite$a',axiom,
    ( ~ 'finite$a'('fmb_C_set$_1')
    & 'finite$a'('fmb_C_set$_2')
    & 'finite$a'('fmb_C_set$_3') ) ).

tff('declare_member$i',type,
    'member$i': ( 'B_b_prod$' * 'B_b_prod_set$' ) > $o ).

tff('predicate_member$i',axiom,
    ( ~ 'member$i'('fmb_B_b_prod$_1','fmb_B_b_prod_set$_1')
    & ~ 'member$i'('fmb_B_b_prod$_1','fmb_B_b_prod_set$_2')
    & ~ 'member$i'('fmb_B_b_prod$_1','fmb_B_b_prod_set$_3')
    & ~ 'member$i'('fmb_B_b_prod$_1','fmb_B_b_prod_set$_4')
    & ~ 'member$i'('fmb_B_b_prod$_2','fmb_B_b_prod_set$_1')
    & 'member$i'('fmb_B_b_prod$_2','fmb_B_b_prod_set$_2')
    & ~ 'member$i'('fmb_B_b_prod$_2','fmb_B_b_prod_set$_3')
    & 'member$i'('fmb_B_b_prod$_2','fmb_B_b_prod_set$_4')
    & ~ 'member$i'('fmb_B_b_prod$_3','fmb_B_b_prod_set$_1')
    & ~ 'member$i'('fmb_B_b_prod$_3','fmb_B_b_prod_set$_2')
    & ~ 'member$i'('fmb_B_b_prod$_3','fmb_B_b_prod_set$_3')
    & ~ 'member$i'('fmb_B_b_prod$_3','fmb_B_b_prod_set$_4')
    & ~ 'member$i'('fmb_B_b_prod$_4','fmb_B_b_prod_set$_1')
    & ~ 'member$i'('fmb_B_b_prod$_4','fmb_B_b_prod_set$_2')
    & ~ 'member$i'('fmb_B_b_prod$_4','fmb_B_b_prod_set$_3')
    & ~ 'member$i'('fmb_B_b_prod$_4','fmb_B_b_prod_set$_4') ) ).

tff('declare_fun_app$t',type,
    'fun_app$t': ( 'D_option_bool_fun$' * 'D_option$' ) > $o ).

tff('predicate_fun_app$t',axiom,
    ( 'fun_app$t'('fmb_D_option_bool_fun$_1','fmb_D_option$_1')
    & ~ 'fun_app$t'('fmb_D_option_bool_fun$_1','fmb_D_option$_2')
    & ~ 'fun_app$t'('fmb_D_option_bool_fun$_2','fmb_D_option$_1')
    & ~ 'fun_app$t'('fmb_D_option_bool_fun$_2','fmb_D_option$_2')
    & ~ 'fun_app$t'('fmb_D_option_bool_fun$_3','fmb_D_option$_1')
    & ~ 'fun_app$t'('fmb_D_option_bool_fun$_3','fmb_D_option$_2')
    & ~ 'fun_app$t'('fmb_D_option_bool_fun$_4','fmb_D_option$_1')
    & ~ 'fun_app$t'('fmb_D_option_bool_fun$_4','fmb_D_option$_2') ) ).

tff('declare_finite$e',type,
    'finite$e': 'A_c_prod_set$' > $o ).

tff('predicate_finite$e',axiom,
    ( 'finite$e'('fmb_A_c_prod_set$_1')
    & 'finite$e'('fmb_A_c_prod_set$_2')
    & 'finite$e'('fmb_A_c_prod_set$_3')
    & 'finite$e'('fmb_A_c_prod_set$_4') ) ).

tff('declare_member$r',type,
    'member$r': ( 'C_option$' * 'C_option_set$' ) > $o ).

tff('predicate_member$r',axiom,
    ( ~ 'member$r'('fmb_C_option$_1','fmb_C_option_set$_1')
    & 'member$r'('fmb_C_option$_1','fmb_C_option_set$_2')
    & ~ 'member$r'('fmb_C_option$_1','fmb_C_option_set$_3')
    & ~ 'member$r'('fmb_C_option$_1','fmb_C_option_set$_4')
    & ~ 'member$r'('fmb_C_option$_2','fmb_C_option_set$_1')
    & ~ 'member$r'('fmb_C_option$_2','fmb_C_option_set$_2')
    & 'member$r'('fmb_C_option$_2','fmb_C_option_set$_3')
    & 'member$r'('fmb_C_option$_2','fmb_C_option_set$_4') ) ).

tff('declare_member$q',type,
    'member$q': ( 'D_d_prod$' * 'D_d_prod_set$' ) > $o ).

tff('predicate_member$q',axiom,
    ( ~ 'member$q'('fmb_D_d_prod$_1','fmb_D_d_prod_set$_1')
    & ~ 'member$q'('fmb_D_d_prod$_1','fmb_D_d_prod_set$_2')
    & ~ 'member$q'('fmb_D_d_prod$_1','fmb_D_d_prod_set$_3')
    & ~ 'member$q'('fmb_D_d_prod$_1','fmb_D_d_prod_set$_4')
    & ~ 'member$q'('fmb_D_d_prod$_2','fmb_D_d_prod_set$_1')
    & ~ 'member$q'('fmb_D_d_prod$_2','fmb_D_d_prod_set$_2')
    & ~ 'member$q'('fmb_D_d_prod$_2','fmb_D_d_prod_set$_3')
    & ~ 'member$q'('fmb_D_d_prod$_2','fmb_D_d_prod_set$_4')
    & ~ 'member$q'('fmb_D_d_prod$_3','fmb_D_d_prod_set$_1')
    & ~ 'member$q'('fmb_D_d_prod$_3','fmb_D_d_prod_set$_2')
    & ~ 'member$q'('fmb_D_d_prod$_3','fmb_D_d_prod_set$_3')
    & ~ 'member$q'('fmb_D_d_prod$_3','fmb_D_d_prod_set$_4')
    & ~ 'member$q'('fmb_D_d_prod$_4','fmb_D_d_prod_set$_1')
    & ~ 'member$q'('fmb_D_d_prod$_4','fmb_D_d_prod_set$_2')
    & ~ 'member$q'('fmb_D_d_prod$_4','fmb_D_d_prod_set$_3')
    & ~ 'member$q'('fmb_D_d_prod$_4','fmb_D_d_prod_set$_4') ) ).

tff('declare_less_eq$d',type,
    'less_eq$d': ( 'A_b_prod_set$' * 'A_b_prod_set$' ) > $o ).

tff('predicate_less_eq$d',axiom,
    'less_eq$d'('fmb_A_b_prod_set$_1','fmb_A_b_prod_set$_1') ).

tff('declare_fun_app$au',type,
    'fun_app$au': ( 'A_d_prod_bool_fun$' * 'A_d_prod$' ) > $o ).

tff('predicate_fun_app$au',axiom,
    ( 'fun_app$au'('fmb_A_d_prod_bool_fun$_1','fmb_A_d_prod$_1')
    & 'fun_app$au'('fmb_A_d_prod_bool_fun$_2','fmb_A_d_prod$_1')
    & 'fun_app$au'('fmb_A_d_prod_bool_fun$_3','fmb_A_d_prod$_1')
    & 'fun_app$au'('fmb_A_d_prod_bool_fun$_4','fmb_A_d_prod$_1') ) ).

tff('declare_fun_app$b',type,
    'fun_app$b': ( 'C_bool_fun$' * 'C$' ) > $o ).

tff('predicate_fun_app$b',axiom,
    ( ~ 'fun_app$b'('fmb_C_bool_fun$_1','fmb_C$_1')
    & ~ 'fun_app$b'('fmb_C_bool_fun$_2','fmb_C$_1')
    & 'fun_app$b'('fmb_C_bool_fun$_3','fmb_C$_1')
    & 'fun_app$b'('fmb_C_bool_fun$_4','fmb_C$_1') ) ).

tff('declare_less_eq$',type,
    'less_eq$': ( 'A_c_prod_set$' * 'A_c_prod_set$' ) > $o ).

tff('predicate_less_eq$',axiom,
    ( 'less_eq$'('fmb_A_c_prod_set$_1','fmb_A_c_prod_set$_1')
    & 'less_eq$'('fmb_A_c_prod_set$_1','fmb_A_c_prod_set$_2')
    & 'less_eq$'('fmb_A_c_prod_set$_1','fmb_A_c_prod_set$_3')
    & 'less_eq$'('fmb_A_c_prod_set$_1','fmb_A_c_prod_set$_4')
    & 'less_eq$'('fmb_A_c_prod_set$_2','fmb_A_c_prod_set$_1')
    & 'less_eq$'('fmb_A_c_prod_set$_2','fmb_A_c_prod_set$_2')
    & 'less_eq$'('fmb_A_c_prod_set$_2','fmb_A_c_prod_set$_3')
    & 'less_eq$'('fmb_A_c_prod_set$_2','fmb_A_c_prod_set$_4')
    & 'less_eq$'('fmb_A_c_prod_set$_3','fmb_A_c_prod_set$_1')
    & 'less_eq$'('fmb_A_c_prod_set$_3','fmb_A_c_prod_set$_2')
    & 'less_eq$'('fmb_A_c_prod_set$_3','fmb_A_c_prod_set$_3')
    & 'less_eq$'('fmb_A_c_prod_set$_3','fmb_A_c_prod_set$_4')
    & 'less_eq$'('fmb_A_c_prod_set$_4','fmb_A_c_prod_set$_1')
    & 'less_eq$'('fmb_A_c_prod_set$_4','fmb_A_c_prod_set$_2')
    & 'less_eq$'('fmb_A_c_prod_set$_4','fmb_A_c_prod_set$_3')
    & 'less_eq$'('fmb_A_c_prod_set$_4','fmb_A_c_prod_set$_4') ) ).

tff('declare_inj_on$b',type,
    'inj_on$b': ( 'B_b_option_fun$' * 'B_set$' ) > $o ).

tff('predicate_inj_on$b',axiom,
    ( 'inj_on$b'('fmb_B_b_option_fun$_1','fmb_B_set$_1')
    & 'inj_on$b'('fmb_B_b_option_fun$_1','fmb_B_set$_2')
    & 'inj_on$b'('fmb_B_b_option_fun$_2','fmb_B_set$_1')
    & 'inj_on$b'('fmb_B_b_option_fun$_2','fmb_B_set$_2')
    & 'inj_on$b'('fmb_B_b_option_fun$_3','fmb_B_set$_1')
    & 'inj_on$b'('fmb_B_b_option_fun$_3','fmb_B_set$_2')
    & 'inj_on$b'('fmb_B_b_option_fun$_4','fmb_B_set$_1')
    & 'inj_on$b'('fmb_B_b_option_fun$_4','fmb_B_set$_2') ) ).

tff('declare_member$',type,
    'member$': ( 'B_option$' * 'B_option_set$' ) > $o ).

tff('predicate_member$',axiom,
    ( ~ 'member$'('fmb_B_option$_1','fmb_B_option_set$_1')
    & 'member$'('fmb_B_option$_1','fmb_B_option_set$_2')
    & 'member$'('fmb_B_option$_1','fmb_B_option_set$_3')
    & ~ 'member$'('fmb_B_option$_1','fmb_B_option_set$_4')
    & ~ 'member$'('fmb_B_option$_2','fmb_B_option_set$_1')
    & ~ 'member$'('fmb_B_option$_2','fmb_B_option_set$_2')
    & 'member$'('fmb_B_option$_2','fmb_B_option_set$_3')
    & 'member$'('fmb_B_option$_2','fmb_B_option_set$_4') ) ).

tff('declare_fun_app$s',type,
    'fun_app$s': ( 'C_option_bool_fun$' * 'C_option$' ) > $o ).

tff('predicate_fun_app$s',axiom,
    ( 'fun_app$s'('fmb_C_option_bool_fun$_1','fmb_C_option$_1')
    & ~ 'fun_app$s'('fmb_C_option_bool_fun$_1','fmb_C_option$_2')
    & ~ 'fun_app$s'('fmb_C_option_bool_fun$_2','fmb_C_option$_1')
    & ~ 'fun_app$s'('fmb_C_option_bool_fun$_2','fmb_C_option$_2')
    & ~ 'fun_app$s'('fmb_C_option_bool_fun$_3','fmb_C_option$_1')
    & ~ 'fun_app$s'('fmb_C_option_bool_fun$_3','fmb_C_option$_2')
    & ~ 'fun_app$s'('fmb_C_option_bool_fun$_4','fmb_C_option$_1')
    & ~ 'fun_app$s'('fmb_C_option_bool_fun$_4','fmb_C_option$_2') ) ).

tff('declare_fun_app$at',type,
    'fun_app$at': ( 'C_b_prod_bool_fun$' * 'C_b_prod$' ) > $o ).

tff('predicate_fun_app$at',axiom,
    ( 'fun_app$at'('fmb_C_b_prod_bool_fun$_1','fmb_C_b_prod$_1')
    & 'fun_app$at'('fmb_C_b_prod_bool_fun$_2','fmb_C_b_prod$_1')
    & 'fun_app$at'('fmb_C_b_prod_bool_fun$_3','fmb_C_b_prod$_1')
    & 'fun_app$at'('fmb_C_b_prod_bool_fun$_4','fmb_C_b_prod$_1') ) ).

tff('declare_fun_app$',type,
    'fun_app$': ( 'B_option_bool_fun$' * 'B_option$' ) > $o ).

tff('predicate_fun_app$',axiom,
    ( 'fun_app$'('fmb_B_option_bool_fun$_1','fmb_B_option$_1')
    & ~ 'fun_app$'('fmb_B_option_bool_fun$_1','fmb_B_option$_2')
    & ~ 'fun_app$'('fmb_B_option_bool_fun$_2','fmb_B_option$_1')
    & ~ 'fun_app$'('fmb_B_option_bool_fun$_2','fmb_B_option$_2')
    & ~ 'fun_app$'('fmb_B_option_bool_fun$_3','fmb_B_option$_1')
    & 'fun_app$'('fmb_B_option_bool_fun$_3','fmb_B_option$_2')
    & 'fun_app$'('fmb_B_option_bool_fun$_4','fmb_B_option$_1')
    & 'fun_app$'('fmb_B_option_bool_fun$_4','fmb_B_option$_2') ) ).

tff('declare_finite$c',type,
    'finite$c': 'A_d_prod_set$' > $o ).

tff('predicate_finite$c',axiom,
    'finite$c'('fmb_A_d_prod_set$_1') ).

tff('declare_member$e',type,
    'member$e': ( 'C_a_prod$' * 'C_a_prod_set$' ) > $o ).

tff('predicate_member$e',axiom,
    ( ~ 'member$e'('fmb_C_a_prod$_1','fmb_C_a_prod_set$_1')
    & ~ 'member$e'('fmb_C_a_prod$_1','fmb_C_a_prod_set$_2')
    & ~ 'member$e'('fmb_C_a_prod$_1','fmb_C_a_prod_set$_3')
    & ~ 'member$e'('fmb_C_a_prod$_1','fmb_C_a_prod_set$_4')
    & ~ 'member$e'('fmb_C_a_prod$_2','fmb_C_a_prod_set$_1')
    & 'member$e'('fmb_C_a_prod$_2','fmb_C_a_prod_set$_2')
    & ~ 'member$e'('fmb_C_a_prod$_2','fmb_C_a_prod_set$_3')
    & ~ 'member$e'('fmb_C_a_prod$_2','fmb_C_a_prod_set$_4')
    & ~ 'member$e'('fmb_C_a_prod$_3','fmb_C_a_prod_set$_1')
    & ~ 'member$e'('fmb_C_a_prod$_3','fmb_C_a_prod_set$_2')
    & ~ 'member$e'('fmb_C_a_prod$_3','fmb_C_a_prod_set$_3')
    & ~ 'member$e'('fmb_C_a_prod$_3','fmb_C_a_prod_set$_4')
    & ~ 'member$e'('fmb_C_a_prod$_4','fmb_C_a_prod_set$_1')
    & ~ 'member$e'('fmb_C_a_prod$_4','fmb_C_a_prod_set$_2')
    & ~ 'member$e'('fmb_C_a_prod$_4','fmb_C_a_prod_set$_3')
    & ~ 'member$e'('fmb_C_a_prod$_4','fmb_C_a_prod_set$_4') ) ).

tff('declare_finite$d',type,
    'finite$d': 'A_set$' > $o ).

tff('predicate_finite$d',axiom,
    ( ~ 'finite$d'('fmb_A_set$_1')
    & 'finite$d'('fmb_A_set$_2') ) ).

tff('declare_fun_app$av',type,
    'fun_app$av': ( 'A_c_prod_bool_fun$' * 'A_c_prod$' ) > $o ).

tff('predicate_fun_app$av',axiom,
    ( 'fun_app$av'('fmb_A_c_prod_bool_fun$_1','fmb_A_c_prod$_1')
    & 'fun_app$av'('fmb_A_c_prod_bool_fun$_2','fmb_A_c_prod$_1')
    & 'fun_app$av'('fmb_A_c_prod_bool_fun$_3','fmb_A_c_prod$_1')
    & 'fun_app$av'('fmb_A_c_prod_bool_fun$_4','fmb_A_c_prod$_1') ) ).

tff('declare_fun_app$c',type,
    'fun_app$c': ( 'B_bool_fun$' * 'B$' ) > $o ).

tff('predicate_fun_app$c',axiom,
    ( ~ 'fun_app$c'('fmb_B_bool_fun$_1','fmb_B$_1')
    & ~ 'fun_app$c'('fmb_B_bool_fun$_2','fmb_B$_1')
    & 'fun_app$c'('fmb_B_bool_fun$_3','fmb_B$_1')
    & 'fun_app$c'('fmb_B_bool_fun$_4','fmb_B$_1') ) ).

tff('declare_fun_app$as',type,
    'fun_app$as': ( 'C_d_prod_bool_fun$' * 'C_d_prod$' ) > $o ).

tff('predicate_fun_app$as',axiom,
    ( 'fun_app$as'('fmb_C_d_prod_bool_fun$_1','fmb_C_d_prod$_1')
    & 'fun_app$as'('fmb_C_d_prod_bool_fun$_2','fmb_C_d_prod$_1')
    & 'fun_app$as'('fmb_C_d_prod_bool_fun$_3','fmb_C_d_prod$_1')
    & 'fun_app$as'('fmb_C_d_prod_bool_fun$_4','fmb_C_d_prod$_1') ) ).

tff('declare_less_eq$c',type,
    'less_eq$c': ( 'D_b_prod_set$' * 'D_b_prod_set$' ) > $o ).

tff('predicate_less_eq$c',axiom,
    ( ~ 'less_eq$c'('fmb_D_b_prod_set$_1','fmb_D_b_prod_set$_1')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_1','fmb_D_b_prod_set$_2')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_1','fmb_D_b_prod_set$_3')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_1','fmb_D_b_prod_set$_4')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_2','fmb_D_b_prod_set$_1')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_2','fmb_D_b_prod_set$_2')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_2','fmb_D_b_prod_set$_3')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_2','fmb_D_b_prod_set$_4')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_3','fmb_D_b_prod_set$_1')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_3','fmb_D_b_prod_set$_2')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_3','fmb_D_b_prod_set$_3')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_3','fmb_D_b_prod_set$_4')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_4','fmb_D_b_prod_set$_1')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_4','fmb_D_b_prod_set$_2')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_4','fmb_D_b_prod_set$_3')
    & ~ 'less_eq$c'('fmb_D_b_prod_set$_4','fmb_D_b_prod_set$_4') ) ).

tff('declare_member$h',type,
    'member$h': ( 'B_d_prod$' * 'B_d_prod_set$' ) > $o ).

tff('predicate_member$h',axiom,
    ( 'member$h'('fmb_B_d_prod$_1','fmb_B_d_prod_set$_1')
    & 'member$h'('fmb_B_d_prod$_1','fmb_B_d_prod_set$_2')
    & 'member$h'('fmb_B_d_prod$_1','fmb_B_d_prod_set$_3')
    & 'member$h'('fmb_B_d_prod$_1','fmb_B_d_prod_set$_4')
    & ~ 'member$h'('fmb_B_d_prod$_2','fmb_B_d_prod_set$_1')
    & ~ 'member$h'('fmb_B_d_prod$_2','fmb_B_d_prod_set$_2')
    & ~ 'member$h'('fmb_B_d_prod$_2','fmb_B_d_prod_set$_3')
    & ~ 'member$h'('fmb_B_d_prod$_2','fmb_B_d_prod_set$_4')
    & 'member$h'('fmb_B_d_prod$_3','fmb_B_d_prod_set$_1')
    & 'member$h'('fmb_B_d_prod$_3','fmb_B_d_prod_set$_2')
    & 'member$h'('fmb_B_d_prod$_3','fmb_B_d_prod_set$_3')
    & 'member$h'('fmb_B_d_prod$_3','fmb_B_d_prod_set$_4')
    & 'member$h'('fmb_B_d_prod$_4','fmb_B_d_prod_set$_1')
    & 'member$h'('fmb_B_d_prod$_4','fmb_B_d_prod_set$_2')
    & 'member$h'('fmb_B_d_prod$_4','fmb_B_d_prod_set$_3')
    & 'member$h'('fmb_B_d_prod$_4','fmb_B_d_prod_set$_4') ) ).

tff('declare_member$p',type,
    'member$p': ( 'C_c_prod$' * 'C_c_prod_set$' ) > $o ).

tff('predicate_member$p',axiom,
    ( ~ 'member$p'('fmb_C_c_prod$_1','fmb_C_c_prod_set$_1')
    & ~ 'member$p'('fmb_C_c_prod$_1','fmb_C_c_prod_set$_2')
    & ~ 'member$p'('fmb_C_c_prod$_1','fmb_C_c_prod_set$_3')
    & ~ 'member$p'('fmb_C_c_prod$_1','fmb_C_c_prod_set$_4')
    & ~ 'member$p'('fmb_C_c_prod$_2','fmb_C_c_prod_set$_1')
    & ~ 'member$p'('fmb_C_c_prod$_2','fmb_C_c_prod_set$_2')
    & ~ 'member$p'('fmb_C_c_prod$_2','fmb_C_c_prod_set$_3')
    & ~ 'member$p'('fmb_C_c_prod$_2','fmb_C_c_prod_set$_4')
    & ~ 'member$p'('fmb_C_c_prod$_3','fmb_C_c_prod_set$_1')
    & ~ 'member$p'('fmb_C_c_prod$_3','fmb_C_c_prod_set$_2')
    & ~ 'member$p'('fmb_C_c_prod$_3','fmb_C_c_prod_set$_3')
    & ~ 'member$p'('fmb_C_c_prod$_3','fmb_C_c_prod_set$_4')
    & ~ 'member$p'('fmb_C_c_prod$_4','fmb_C_c_prod_set$_1')
    & ~ 'member$p'('fmb_C_c_prod$_4','fmb_C_c_prod_set$_2')
    & ~ 'member$p'('fmb_C_c_prod$_4','fmb_C_c_prod_set$_3')
    & ~ 'member$p'('fmb_C_c_prod$_4','fmb_C_c_prod_set$_4') ) ).

tff('declare_finite$b',type,
    'finite$b': 'C_b_prod_set$' > $o ).

tff('predicate_finite$b',axiom,
    ( 'finite$b'('fmb_C_b_prod_set$_1')
    & 'finite$b'('fmb_C_b_prod_set$_2')
    & 'finite$b'('fmb_C_b_prod_set$_3')
    & 'finite$b'('fmb_C_b_prod_set$_4') ) ).

tff('declare_fun_app$a',type,
    'fun_app$a': ( 'D_bool_fun$' * 'D$' ) > $o ).

tff('predicate_fun_app$a',axiom,
    ( ~ 'fun_app$a'('fmb_D_bool_fun$_1','fmb_D$_1')
    & ~ 'fun_app$a'('fmb_D_bool_fun$_2','fmb_D$_1')
    & 'fun_app$a'('fmb_D_bool_fun$_3','fmb_D$_1')
    & 'fun_app$a'('fmb_D_bool_fun$_4','fmb_D$_1') ) ).

tff('declare_less_eq$b',type,
    'less_eq$b': ( 'A_d_prod_set$' * 'A_d_prod_set$' ) > $o ).

tff('predicate_less_eq$b',axiom,
    'less_eq$b'('fmb_A_d_prod_set$_1','fmb_A_d_prod_set$_1') ).

tff('declare_fun_app$aw',type,
    'fun_app$aw': ( 'A_b_prod_bool_fun$' * 'A_b_prod$' ) > $o ).

tff('predicate_fun_app$aw',axiom,
    ( 'fun_app$aw'('fmb_A_b_prod_bool_fun$_1','fmb_A_b_prod$_1')
    & 'fun_app$aw'('fmb_A_b_prod_bool_fun$_2','fmb_A_b_prod$_1')
    & 'fun_app$aw'('fmb_A_b_prod_bool_fun$_3','fmb_A_b_prod$_1')
    & 'fun_app$aw'('fmb_A_b_prod_bool_fun$_4','fmb_A_b_prod$_1') ) ).

tff('declare_member$k',type,
    'member$k': ( 'C_d_prod$' * 'C_d_prod_set$' ) > $o ).

tff('predicate_member$k',axiom,
    ( 'member$k'('fmb_C_d_prod$_1','fmb_C_d_prod_set$_1')
    & ~ 'member$k'('fmb_C_d_prod$_1','fmb_C_d_prod_set$_2')
    & ~ 'member$k'('fmb_C_d_prod$_1','fmb_C_d_prod_set$_3')
    & ~ 'member$k'('fmb_C_d_prod$_1','fmb_C_d_prod_set$_4') ) ).

tff('declare_finite$f',type,
    'finite$f': 'A_b_prod_set$' > $o ).

tff('predicate_finite$f',axiom,
    'finite$f'('fmb_A_b_prod_set$_1') ).

tff('declare_member$l',type,
    'member$l': ( 'A_d_prod$' * 'A_d_prod_set$' ) > $o ).

tff('predicate_member$l',axiom,
    ~ 'member$l'('fmb_A_d_prod$_1','fmb_A_d_prod_set$_1') ).

tff('declare_member$a',type,
    'member$a': ( 'D$' * 'D_set$' ) > $o ).

tff('predicate_member$a',axiom,
    ( ~ 'member$a'('fmb_D$_1','fmb_D_set$_1')
    & 'member$a'('fmb_D$_1','fmb_D_set$_2') ) ).

tff('declare_fun_app$d',type,
    'fun_app$d': ( 'A_bool_fun$' * 'A$' ) > $o ).

tff('predicate_fun_app$d',axiom,
    ( ~ 'fun_app$d'('fmb_A_bool_fun$_1','fmb_A$_1')
    & ~ 'fun_app$d'('fmb_A_bool_fun$_2','fmb_A$_1')
    & 'fun_app$d'('fmb_A_bool_fun$_3','fmb_A$_1')
    & 'fun_app$d'('fmb_A_bool_fun$_4','fmb_A$_1') ) ).

tff('declare_member$s',type,
    'member$s': ( 'D_option$' * 'D_option_set$' ) > $o ).

tff('predicate_member$s',axiom,
    ( ~ 'member$s'('fmb_D_option$_1','fmb_D_option_set$_1')
    & ~ 'member$s'('fmb_D_option$_1','fmb_D_option_set$_2')
    & ~ 'member$s'('fmb_D_option$_2','fmb_D_option_set$_1')
    & 'member$s'('fmb_D_option$_2','fmb_D_option_set$_2') ) ).

tff('declare_member$n',type,
    'member$n': ( 'A_b_prod$' * 'A_b_prod_set$' ) > $o ).

tff('predicate_member$n',axiom,
    ~ 'member$n'('fmb_A_b_prod$_1','fmb_A_b_prod_set$_1') ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.02  % Problem  : ITP385_1 : TPTP v9.3.1. Released v8.0.0.
% 0.00/0.05  % Command  : run_vampire /export/starexec/sandbox2/benchmark/theBenchmark.p 300 SAT
% 0.09/0.37  % Computer : n016.cluster.edu
% 0.09/0.37  % Model    : x86_64 x86_64
% 0.09/0.37  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.37  % Memory   : 8046.5625MB
% 0.09/0.37  % OS       : Linux 6.8.0-71-generic
% 0.09/0.37  % CPULimit : 300
% 0.09/0.37  % WCLimit  : 300
% 0.09/0.37  % DateTime : Sun Sep 27 13:01:32 UTC 2026
% 0.09/0.37  % CPUTime  : 
% 0.09/0.37  Running run_vampire /export/starexec/sandbox2/benchmark/theBenchmark.p 300 SAT
% 0.09/0.40  Running first-order model finding
% 0.09/0.40  Running: /export/starexec/sandbox2/solver/bin/vampire-ho --input_syntax tptp --output_axiom_names on --mode casc --intent sat -m 16384 --cores 7 -t 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 18.46/3.07  % (2619235)Will run a generic schedule for satisfiability detection.
% 18.46/3.07  % (2619247)dis+10_161_sil=256000:plsq=on:plsqr=61199697,1048576:gs=on:alpa=true:sac=on:slsq=on:cn=on:random_seed=1852378689:i=88024:add=on:rawr=on_2999 on theBenchmark for (2999ds/88024Mi)
% 18.46/3.07  % (2619245)fmb+10_1_sas=cadical:bce=on:rp=on:random_seed=1544853382_2999 on theBenchmark for (2999ds/0Mi)
% 18.46/3.07  % (2619246)% WARNING: option uhcvi not known.
% 18.46/3.07  % (2619250)ott+1_1_to=lpo:sil=16000:sp=reverse_arity:erd=off:random_seed=4153450797:i=131_2999 on theBenchmark for (2999ds/131Mi)
% 18.46/3.07  % (2619251)ott-3_16_to=lpo:sil=16000:sp=arity:fd=off:rp=on:random_seed=428498620:i=159:bs=unit_only:nicw=on:fsr=off:amm=off_2999 on theBenchmark for (2999ds/159Mi)
% 18.46/3.07  % (2619249)ott+31_1_sil=16000:lcm=predicate:bce=on:newcnf=on:random_seed=2450042115:i=116_2999 on theBenchmark for (2999ds/116Mi)
% 18.46/3.07  % (2619246)dis+11_61:31_drc=ordering:lsd=5:bsr=unit_only:rp=on:newcnf=on:random_seed=1226559851:i=135531:add=off:rawr=on_2999 on theBenchmark for (2999ds/135531Mi)
% 18.46/3.07  % (2619248)dis+10_1_sil=32000:sp=arity:random_seed=3495697647:i=103:fgj=on_2999 on theBenchmark for (2999ds/103Mi)
% 18.46/3.07  % (2619248)Instruction limit reached! 
% 18.46/3.07  % (2619248)------------------------------
% 18.46/3.07  % (2619248)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 18.46/3.07  % (2619248)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 18.46/3.07  % (2619248)CaDiCaL version: 2.1.3
% 18.46/3.07  % (2619248)Termination reason: Instruction limit
% 18.46/3.07  % (2619248)Termination phase: Saturation
% 18.46/3.07  % (2619248)Time elapsed: 0.086 s
% 18.46/3.07  % (2619248)Peak memory usage: 14 MB
% 18.46/3.07  % (2619248)Instructions burned: 103 (million)
% 18.46/3.07  % (2619249)Instruction limit reached! 
% 18.46/3.07  % (2619249)------------------------------
% 18.46/3.07  % (2619249)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 18.46/3.07  % (2619249)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 18.46/3.07  % (2619249)CaDiCaL version: 2.1.3
% 18.46/3.07  % (2619249)Termination reason: Instruction limit
% 18.46/3.07  % (2619249)Termination phase: Saturation
% 18.46/3.07  % (2619249)Time elapsed: 0.094 s
% 18.46/3.07  % (2619249)Peak memory usage: 14 MB
% 18.46/3.07  % (2619249)Instructions burned: 117 (million)
% 18.46/3.07  % (2619250)Instruction limit reached! 
% 18.46/3.07  % (2619250)------------------------------
% 18.46/3.07  % (2619250)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 18.46/3.07  % (2619250)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 18.46/3.07  % (2619250)CaDiCaL version: 2.1.3
% 18.46/3.07  % (2619250)Termination reason: Instruction limit
% 18.46/3.07  % (2619250)Termination phase: Saturation
% 18.46/3.07  % (2619250)Time elapsed: 0.107 s
% 18.46/3.07  % (2619250)Peak memory usage: 14 MB
% 18.46/3.07  % (2619250)Instructions burned: 131 (million)
% 18.46/3.07  % (2619260)fmb+10_1_fmbas=predicate:sil=64000:sas=cadical:random_seed=3886459346:i=714:nm=2_2998 on theBenchmark for (2998ds/714Mi)
% 18.46/3.07  % (2619262)dis+11_32_anc=none:slsqr=2,1:sil=64000:sas=cadical:lma=off:lsd=50:s2agt=8:slsqc=1:kmz=on:newcnf=on:slsq=on:random_seed=3783615590:i=684:slsql=off:bs=unit_only:nicw=on:rawr=on_2998 on theBenchmark for (2998ds/684Mi)
% 18.46/3.07  % (2619261)ott+32_1_sil=16000:bsd=on:sp=const_max:bce=on:random_seed=538052993:i=131:bd=preordered:fsd=on_2998 on theBenchmark for (2998ds/131Mi)
% 18.46/3.07  % (2619251)Instruction limit reached! 
% 18.46/3.07  % (2619251)------------------------------
% 18.46/3.07  % (2619251)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 18.46/3.07  % (2619251)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 18.46/3.07  % (2619251)CaDiCaL version: 2.1.3
% 18.46/3.07  % (2619251)Termination reason: Instruction limit
% 18.46/3.07  % (2619251)Termination phase: Saturation
% 18.46/3.07  % (2619251)Time elapsed: 0.142 s
% 18.46/3.07  % (2619251)Peak memory usage: 15 MB
% 18.46/3.07  % (2619251)Instructions burned: 159 (million)
% 18.46/3.07  % (2619267)ott-21_1_sil=16000:fs=off:random_seed=982223742:i=180:av=off:fsr=off_2997 on theBenchmark for (2997ds/180Mi)
% 18.46/3.07  % (2619261)Instruction limit reached! 
% 18.46/3.07  % (2619261)------------------------------
% 18.46/3.07  % (2619261)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 18.46/3.07  % (2619261)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 18.46/3.07  % (2619261)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619261)Termination reason: Instruction limit
% 29.27/4.69  % (2619261)Termination phase: Saturation
% 29.27/4.69  % (2619261)Time elapsed: 0.128 s
% 29.27/4.69  % (2619261)Peak memory usage: 14 MB
% 29.27/4.69  % (2619261)Instructions burned: 132 (million)
% 29.27/4.69  % (2619274)dis+10_4_sil=64000:sp=reverse_arity:bsr=on:sac=on:cn=on:random_seed=1462134659:i=477:bd=all_2996 on theBenchmark for (2996ds/477Mi)
% 29.27/4.69  % (2619267)Instruction limit reached! 
% 29.27/4.69  % (2619267)------------------------------
% 29.27/4.69  % (2619267)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619267)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619267)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619267)Termination reason: Instruction limit
% 29.27/4.69  % (2619267)Termination phase: Saturation
% 29.27/4.69  % (2619267)Time elapsed: 0.158 s
% 29.27/4.69  % (2619267)Peak memory usage: 14 MB
% 29.27/4.69  % (2619267)Instructions burned: 180 (million)
% 29.27/4.69  % (2619279)fmb+10_1_sil=64000:erd=off:updr=off:random_seed=2059545682:fmbsr=1.3:i=865:ins=25_2996 on theBenchmark for (2996ds/865Mi)
% 29.27/4.69  % TRYING [1]
% 29.27/4.69  % TRYING [2]
% 29.27/4.69  % (2619260)Instruction limit reached! 
% 29.27/4.69  % (2619260)------------------------------
% 29.27/4.69  % (2619260)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619260)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619260)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619260)Termination reason: Instruction limit
% 29.27/4.69  % (2619260)Termination phase: Finite model building constraint generation
% 29.27/4.69  % (2619260)Time elapsed: 0.553 s
% 29.27/4.69  % (2619260)Peak memory usage: 28 MB
% 29.27/4.69  % (2619260)Instructions burned: 715 (million)
% 29.27/4.69  % (2619285)ott+10_1_to=lpo:sil=64000:tgt=full:sp=arity:spb=goal_then_units:random_seed=107648807:i=1179_2992 on theBenchmark for (2992ds/1179Mi)
% 29.27/4.69  % (2619274)Instruction limit reached! 
% 29.27/4.69  % (2619274)------------------------------
% 29.27/4.69  % (2619274)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619274)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619274)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619274)Termination reason: Instruction limit
% 29.27/4.69  % (2619274)Termination phase: Saturation
% 29.27/4.69  % (2619274)Time elapsed: 0.471 s
% 29.27/4.69  % (2619274)Peak memory usage: 15 MB
% 29.27/4.69  % (2619274)Instructions burned: 478 (million)
% 29.27/4.69  % (2619287)fmb+10_1_sil=64000:erd=off:fmbss=14:random_seed=2745177904:i=889:ins=1_2991 on theBenchmark for (2991ds/889Mi)
% 29.27/4.69  % (2619262)Instruction limit reached! 
% 29.27/4.69  % (2619262)------------------------------
% 29.27/4.69  % (2619262)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619262)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619262)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619262)Termination reason: Instruction limit
% 29.27/4.69  % (2619262)Termination phase: Saturation
% 29.27/4.69  % (2619262)Time elapsed: 0.674 s
% 29.27/4.69  % (2619262)Peak memory usage: 17 MB
% 29.27/4.69  % (2619262)Instructions burned: 684 (million)
% 29.27/4.69  % (2619290)ott+1_16_sil=32000:plsq=on:plsqc=2:sas=cadical:avsql=on:sp=reverse_frequency:plsqr=128,1:bsr=unit_only:rp=on:newcnf=on:random_seed=2943275134:avsq=on:s2a=on:i=692:avsqr=8,1:kws=arity_squared:bs=unit_only:nm=2:rawr=on_2991 on theBenchmark for (2991ds/692Mi)
% 29.27/4.69  % (2619279)Instruction limit reached! 
% 29.27/4.69  % (2619279)------------------------------
% 29.27/4.69  % (2619279)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619279)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619279)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619279)Termination reason: Instruction limit
% 29.27/4.69  % (2619279)Termination phase: Finite model building preprocessing
% 29.27/4.69  % (2619279)Time elapsed: 0.713 s
% 29.27/4.69  % (2619279)Peak memory usage: 20 MB
% 29.27/4.69  % (2619279)Instructions burned: 865 (million)
% 29.27/4.69  % (2619296)dis-10_1_anc=none:sil=64000:spb=goal:newcnf=on:cn=on:random_seed=1396379301:i=879:kws=inv_precedence:fsr=off_2988 on theBenchmark for (2988ds/879Mi)
% 29.27/4.69  % (2619287)Instruction limit reached! 
% 29.27/4.69  % (2619287)------------------------------
% 29.27/4.69  % (2619287)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619287)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619287)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619287)Termination reason: Instruction limit
% 29.27/4.69  % (2619287)Termination phase: Finite model building preprocessing
% 29.27/4.69  % (2619287)Time elapsed: 0.691 s
% 29.27/4.69  % (2619287)Peak memory usage: 21 MB
% 29.27/4.69  % (2619287)Instructions burned: 890 (million)
% 29.27/4.69  % (2619303)fmb+10_1_sil=64000:random_seed=1143146914:i=22061:nm=2:gsp=on_2984 on theBenchmark for (2984ds/22061Mi)
% 29.27/4.69  % (2619290)Instruction limit reached! 
% 29.27/4.69  % (2619290)------------------------------
% 29.27/4.69  % (2619290)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619290)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619290)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619290)Termination reason: Instruction limit
% 29.27/4.69  % (2619290)Termination phase: Saturation
% 29.27/4.69  % (2619290)Time elapsed: 0.723 s
% 29.27/4.69  % (2619290)Peak memory usage: 20 MB
% 29.27/4.69  % (2619290)Instructions burned: 693 (million)
% 29.27/4.69  % (2619306)fmb+10_1_sil=16000:sas=cadical:fmbss=20:random_seed=2133028704:i=9515:nm=5_2983 on theBenchmark for (2983ds/9515Mi)
% 29.27/4.69  % (2619285)Instruction limit reached! 
% 29.27/4.69  % (2619285)------------------------------
% 29.27/4.69  % (2619285)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619285)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619285)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619285)Termination reason: Instruction limit
% 29.27/4.69  % (2619285)Termination phase: Saturation
% 29.27/4.69  % (2619285)Time elapsed: 1.128 s
% 29.27/4.69  % (2619285)Peak memory usage: 24 MB
% 29.27/4.69  % (2619285)Instructions burned: 1179 (million)
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
% 29.27/4.69  % (2619312)fmb+10_1_sil=64000:sas=cadical:fmbss=8:random_seed=3421300805:fmbsr=1.7:i=920_2980 on theBenchmark for (2980ds/920Mi)
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1]
% 29.27/4.69  % (2619296)Instruction limit reached! 
% 29.27/4.69  % (2619296)------------------------------
% 29.27/4.69  % (2619296)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619296)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619296)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619296)Termination reason: Instruction limit
% 29.27/4.69  % (2619296)Termination phase: Saturation
% 29.27/4.69  % (2619296)Time elapsed: 0.813 s
% 29.27/4.69  % (2619296)Peak memory usage: 19 MB
% 29.27/4.69  % (2619296)Instructions burned: 879 (million)
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,2,2,1,1,1,2,1,1,1,1,1]
% 29.27/4.69  % (2619315)dis-4_1_sil=16000:drc=ordering:sp=const_frequency:sac=on:newcnf=on:random_seed=1416744637:i=5131_2980 on theBenchmark for (2980ds/5131Mi)
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,2,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,2,1,1,2,1,1,2,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,2,1,2,2,1,1,2,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,2,1,1,1,2,1,2,2,1,1,2,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,2,2,1,1,1,2,1,2,2,1,1,2,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,2,2,2,1,1,1,2,1,2,2,1,1,2,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,2,2,1,1,1,2,1,2,2,1,1,2,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,3,2,1,1,1,2,1,2,2,1,1,2,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,2,2,1,1,1,2,1,2,2,1,1,2,1,1,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,2,2,1,1,1,2,1,3,2,1,1,2,1,1,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,2,2,1,1,1,2,1,2,2,1,1,2,1,2,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,2,2,1,1,1,2,1,2,3,1,1,2,1,2,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,4,2,1,1,1,2,1,2,2,1,1,2,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % (2619312)Instruction limit reached! 
% 29.27/4.69  % (2619312)------------------------------
% 29.27/4.69  % (2619312)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619312)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619312)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619312)Termination reason: Instruction limit
% 29.27/4.69  % (2619312)Termination phase: Finite model building preprocessing
% 29.27/4.69  % (2619312)Time elapsed: 0.726 s
% 29.27/4.69  % (2619312)Peak memory usage: 20 MB
% 29.27/4.69  % (2619312)Instructions burned: 920 (million)
% 29.27/4.69  % (2619321)ott+11_16_sil=32000:fde=unused:bsd=on:sas=cadical:sp=arity:spb=units:lsd=10:nwc=3:random_seed=2334607501:i=1472:ins=7:fdi=8:gsp=on_2973 on theBenchmark for (2973ds/1472Mi)
% 29.27/4.69  % TRYING [2,2,3,2,1,1,1,2,1,2,2,1,1,2,1,1,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,3,2,1,1,1,2,1,3,2,1,1,2,1,1,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,3,2,1,1,1,2,1,2,2,1,1,2,1,2,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,3,2,1,1,1,2,1,2,3,1,1,2,1,2,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,3,2,1,1,1,2,1,2,2,2,1,2,1,2,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,3,2,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [3,2,3,2,1,1,1,2,1,2,3,1,1,2,1,2,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [3,3,3,2,1,1,1,2,1,2,3,1,1,2,1,2,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [3,2,4,2,1,1,1,2,1,2,3,1,1,2,1,2,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [3,2,3,2,1,1,1,2,1,2,3,1,1,2,1,2,3,2,1,3,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [3,2,4,2,1,1,1,2,1,2,3,1,1,2,1,2,3,2,1,3,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,2,2,1,1,2,1,1,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [3,2,3,2,1,1,1,3,1,2,3,1,1,2,1,2,3,2,1,3,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,3,2,1,1,2,1,1,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,1,1,2,2,1,1,2,1,2,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [3,2,3,2,1,1,1,2,1,2,3,1,1,2,2,2,3,2,1,3,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,1,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,1,2,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [3,2,4,2,1,1,1,3,1,2,3,1,1,2,1,2,3,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,2,2,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % (2619321)Instruction limit reached! 
% 29.27/4.69  % (2619321)------------------------------
% 29.27/4.69  % (2619321)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 29.27/4.69  % (2619321)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 29.27/4.69  % (2619321)CaDiCaL version: 2.1.3
% 29.27/4.69  % (2619321)Termination reason: Instruction limit
% 29.27/4.69  % (2619321)Termination phase: Saturation
% 29.27/4.69  % (2619321)Time elapsed: 1.191 s
% 29.27/4.69  % (2619321)Peak memory usage: 24 MB
% 29.27/4.69  % (2619321)Instructions burned: 1472 (million)
% 29.27/4.69  % TRYING [1,1,3,2,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % (2619331)fmb+10_1_sil=16000:sas=cadical:bce=on:fmbss=77:random_seed=2190727205:i=6324_2961 on theBenchmark for (2961ds/6324Mi)
% 29.27/4.69  % TRYING [1,1,4,2,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,1,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [4,2,4,2,1,1,1,2,1,2,3,1,1,2,1,2,3,2,1,3,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,1,3,2,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [1,2,3,2,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [2,2,3,2,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [4,2,4,2,1,1,1,2,1,2,3,1,1,2,1,2,4,2,1,3,1,2,2,1,1,1,1]
% 29.27/4.69  % TRYING [3,2,3,2,1,1,1,2,1,2,2,1,1,2,1,2,4,2,1,2,1,2,2,1,1,1,1]
% 29.27/4.69  % Finite Model Found!
% 29.27/4.69  % SZS status CounterSatisfiable for theBenchmark
% 29.27/4.69  % (2619245) found proof, printing to "/export/starexec/sandbox2/tmp/vampire-proof-2619235-2619245"...
% 29.27/4.69  % (2619245)...printing done.
% 29.27/4.69  % SZS output start FiniteModel for theBenchmark
% See solution above
% 30.25/4.72  % (2619245)------------------------------
% 30.25/4.72  % (2619245)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 30.25/4.72  % (2619245)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 30.25/4.72  % (2619245)CaDiCaL version: 2.1.3
% 30.25/4.72  % (2619245)Termination reason: Satisfiable
% 30.25/4.72  % (2619245)Time elapsed: 4.206 s
% 30.25/4.72  % (2619245)Peak memory usage: 53 MB
% 30.25/4.72  % (2619245)Instructions burned: 6530 (million)
% 30.25/4.72  % (2619235)Success in time 4.286 s
% 30.25/4.72  % Vampire exiting
%------------------------------------------------------------------------------