↑ Up

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

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

% Computer : n003.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   : Satisfiable 69.38s 10.36s
% Output   : FiniteModel 69.38s
% 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_b_option_fun_fun$',type,
    'B_b_option_fun_b_b_option_fun_fun$': $tType ).

tff('declare_B_b_option_fun_b_b_option_fun_fun$1',type,
    'fmb_B_b_option_fun_b_b_option_fun_fun$_1': 'B_b_option_fun_b_b_option_fun_fun$' ).

tff('declare_B_b_option_fun_b_b_option_fun_fun$2',type,
    'fmb_B_b_option_fun_b_b_option_fun_fun$_2': 'B_b_option_fun_b_b_option_fun_fun$' ).

tff('declare_B_b_option_fun_b_b_option_fun_fun$3',type,
    'fmb_B_b_option_fun_b_b_option_fun_fun$_3': 'B_b_option_fun_b_b_option_fun_fun$' ).

tff('declare_B_b_option_fun_b_b_option_fun_fun$4',type,
    'fmb_B_b_option_fun_b_b_option_fun_fun$_4': 'B_b_option_fun_b_b_option_fun_fun$' ).

tff('finite_domain_B_b_option_fun_b_b_option_fun_fun$',axiom,
    ! [X: 'B_b_option_fun_b_b_option_fun_fun$'] :
      ( ( X = 'fmb_B_b_option_fun_b_b_option_fun_fun$_1' )
      | ( X = 'fmb_B_b_option_fun_b_b_option_fun_fun$_2' )
      | ( X = 'fmb_B_b_option_fun_b_b_option_fun_fun$_3' )
      | ( X = 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' ) ) ).

tff('distinct_domain_B_b_option_fun_b_b_option_fun_fun$',axiom,
    ( ( 'fmb_B_b_option_fun_b_b_option_fun_fun$_1' != 'fmb_B_b_option_fun_b_b_option_fun_fun$_2' )
    & ( 'fmb_B_b_option_fun_b_b_option_fun_fun$_1' != 'fmb_B_b_option_fun_b_b_option_fun_fun$_3' )
    & ( 'fmb_B_b_option_fun_b_b_option_fun_fun$_1' != 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' )
    & ( 'fmb_B_b_option_fun_b_b_option_fun_fun$_2' != 'fmb_B_b_option_fun_b_b_option_fun_fun$_3' )
    & ( 'fmb_B_b_option_fun_b_b_option_fun_fun$_2' != 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' )
    & ( 'fmb_B_b_option_fun_b_b_option_fun_fun$_3' != 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' ) ) ).

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_option_c_option_fun$',type,
    'A_option_c_option_fun$': $tType ).

tff('declare_A_option_c_option_fun$1',type,
    'fmb_A_option_c_option_fun$_1': 'A_option_c_option_fun$' ).

tff('declare_A_option_c_option_fun$2',type,
    'fmb_A_option_c_option_fun$_2': 'A_option_c_option_fun$' ).

tff('declare_A_option_c_option_fun$3',type,
    'fmb_A_option_c_option_fun$_3': 'A_option_c_option_fun$' ).

tff('declare_A_option_c_option_fun$4',type,
    'fmb_A_option_c_option_fun$_4': 'A_option_c_option_fun$' ).

tff('finite_domain_A_option_c_option_fun$',axiom,
    ! [X: 'A_option_c_option_fun$'] :
      ( ( X = 'fmb_A_option_c_option_fun$_1' )
      | ( X = 'fmb_A_option_c_option_fun$_2' )
      | ( X = 'fmb_A_option_c_option_fun$_3' )
      | ( X = 'fmb_A_option_c_option_fun$_4' ) ) ).

tff('distinct_domain_A_option_c_option_fun$',axiom,
    ( ( 'fmb_A_option_c_option_fun$_1' != 'fmb_A_option_c_option_fun$_2' )
    & ( 'fmb_A_option_c_option_fun$_1' != 'fmb_A_option_c_option_fun$_3' )
    & ( 'fmb_A_option_c_option_fun$_1' != 'fmb_A_option_c_option_fun$_4' )
    & ( 'fmb_A_option_c_option_fun$_2' != 'fmb_A_option_c_option_fun$_3' )
    & ( 'fmb_A_option_c_option_fun$_2' != 'fmb_A_option_c_option_fun$_4' )
    & ( 'fmb_A_option_c_option_fun$_3' != 'fmb_A_option_c_option_fun$_4' ) ) ).

tff('declare_A_a_option_fun_c_c_option_fun_fun$',type,
    'A_a_option_fun_c_c_option_fun_fun$': $tType ).

tff('declare_A_a_option_fun_c_c_option_fun_fun$1',type,
    'fmb_A_a_option_fun_c_c_option_fun_fun$_1': 'A_a_option_fun_c_c_option_fun_fun$' ).

tff('finite_domain_A_a_option_fun_c_c_option_fun_fun$',axiom,
    ! [X: 'A_a_option_fun_c_c_option_fun_fun$'] : ( X = 'fmb_A_a_option_fun_c_c_option_fun_fun$_1' ) ).

tff('declare_A_c_fun$',type,
    'A_c_fun$': $tType ).

tff('declare_A_c_fun$1',type,
    'fmb_A_c_fun$_1': 'A_c_fun$' ).

tff('declare_A_c_fun$2',type,
    'fmb_A_c_fun$_2': 'A_c_fun$' ).

tff('declare_A_c_fun$3',type,
    'fmb_A_c_fun$_3': 'A_c_fun$' ).

tff('declare_A_c_fun$4',type,
    'fmb_A_c_fun$_4': 'A_c_fun$' ).

tff('finite_domain_A_c_fun$',axiom,
    ! [X: 'A_c_fun$'] :
      ( ( X = 'fmb_A_c_fun$_1' )
      | ( X = 'fmb_A_c_fun$_2' )
      | ( X = 'fmb_A_c_fun$_3' )
      | ( X = 'fmb_A_c_fun$_4' ) ) ).

tff('distinct_domain_A_c_fun$',axiom,
    ( ( 'fmb_A_c_fun$_1' != 'fmb_A_c_fun$_2' )
    & ( 'fmb_A_c_fun$_1' != 'fmb_A_c_fun$_3' )
    & ( 'fmb_A_c_fun$_1' != 'fmb_A_c_fun$_4' )
    & ( 'fmb_A_c_fun$_2' != 'fmb_A_c_fun$_3' )
    & ( 'fmb_A_c_fun$_2' != 'fmb_A_c_fun$_4' )
    & ( 'fmb_A_c_fun$_3' != 'fmb_A_c_fun$_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_C_c_option_fun_a_a_option_fun_fun$',type,
    'C_c_option_fun_a_a_option_fun_fun$': $tType ).

tff('declare_C_c_option_fun_a_a_option_fun_fun$1',type,
    'fmb_C_c_option_fun_a_a_option_fun_fun$_1': 'C_c_option_fun_a_a_option_fun_fun$' ).

tff('finite_domain_C_c_option_fun_a_a_option_fun_fun$',axiom,
    ! [X: 'C_c_option_fun_a_a_option_fun_fun$'] : ( X = 'fmb_C_c_option_fun_a_a_option_fun_fun$_1' ) ).

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_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_b_fun$',type,
    'B_b_fun$': $tType ).

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

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

tff('declare_B_c_c_option_fun_fun$',type,
    'B_c_c_option_fun_fun$': $tType ).

tff('declare_B_c_c_option_fun_fun$1',type,
    'fmb_B_c_c_option_fun_fun$_1': 'B_c_c_option_fun_fun$' ).

tff('declare_B_c_c_option_fun_fun$2',type,
    'fmb_B_c_c_option_fun_fun$_2': 'B_c_c_option_fun_fun$' ).

tff('declare_B_c_c_option_fun_fun$3',type,
    'fmb_B_c_c_option_fun_fun$_3': 'B_c_c_option_fun_fun$' ).

tff('declare_B_c_c_option_fun_fun$4',type,
    'fmb_B_c_c_option_fun_fun$_4': 'B_c_c_option_fun_fun$' ).

tff('finite_domain_B_c_c_option_fun_fun$',axiom,
    ! [X: 'B_c_c_option_fun_fun$'] :
      ( ( X = 'fmb_B_c_c_option_fun_fun$_1' )
      | ( X = 'fmb_B_c_c_option_fun_fun$_2' )
      | ( X = 'fmb_B_c_c_option_fun_fun$_3' )
      | ( X = 'fmb_B_c_c_option_fun_fun$_4' ) ) ).

tff('distinct_domain_B_c_c_option_fun_fun$',axiom,
    ( ( 'fmb_B_c_c_option_fun_fun$_1' != 'fmb_B_c_c_option_fun_fun$_2' )
    & ( 'fmb_B_c_c_option_fun_fun$_1' != 'fmb_B_c_c_option_fun_fun$_3' )
    & ( 'fmb_B_c_c_option_fun_fun$_1' != 'fmb_B_c_c_option_fun_fun$_4' )
    & ( 'fmb_B_c_c_option_fun_fun$_2' != 'fmb_B_c_c_option_fun_fun$_3' )
    & ( 'fmb_B_c_c_option_fun_fun$_2' != 'fmb_B_c_c_option_fun_fun$_4' )
    & ( 'fmb_B_c_c_option_fun_fun$_3' != 'fmb_B_c_c_option_fun_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('finite_domain_C_c_fun$',axiom,
    ! [X: 'C_c_fun$'] : ( X = 'fmb_C_c_fun$_1' ) ).

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('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' ) ) ).

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

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_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_C_a_fun$',type,
    'C_a_fun$': $tType ).

tff('declare_C_a_fun$1',type,
    'fmb_C_a_fun$_1': 'C_a_fun$' ).

tff('declare_C_a_fun$2',type,
    'fmb_C_a_fun$_2': 'C_a_fun$' ).

tff('declare_C_a_fun$3',type,
    'fmb_C_a_fun$_3': 'C_a_fun$' ).

tff('declare_C_a_fun$4',type,
    'fmb_C_a_fun$_4': 'C_a_fun$' ).

tff('finite_domain_C_a_fun$',axiom,
    ! [X: 'C_a_fun$'] :
      ( ( X = 'fmb_C_a_fun$_1' )
      | ( X = 'fmb_C_a_fun$_2' )
      | ( X = 'fmb_C_a_fun$_3' )
      | ( X = 'fmb_C_a_fun$_4' ) ) ).

tff('distinct_domain_C_a_fun$',axiom,
    ( ( 'fmb_C_a_fun$_1' != 'fmb_C_a_fun$_2' )
    & ( 'fmb_C_a_fun$_1' != 'fmb_C_a_fun$_3' )
    & ( 'fmb_C_a_fun$_1' != 'fmb_C_a_fun$_4' )
    & ( 'fmb_C_a_fun$_2' != 'fmb_C_a_fun$_3' )
    & ( 'fmb_C_a_fun$_2' != 'fmb_C_a_fun$_4' )
    & ( 'fmb_C_a_fun$_3' != 'fmb_C_a_fun$_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_A_option_bool_fun$',type,
    'A_option_bool_fun$': $tType ).

tff('declare_A_option_bool_fun$1',type,
    'fmb_A_option_bool_fun$_1': 'A_option_bool_fun$' ).

tff('declare_A_option_bool_fun$2',type,
    'fmb_A_option_bool_fun$_2': 'A_option_bool_fun$' ).

tff('declare_A_option_bool_fun$3',type,
    'fmb_A_option_bool_fun$_3': 'A_option_bool_fun$' ).

tff('declare_A_option_bool_fun$4',type,
    'fmb_A_option_bool_fun$_4': 'A_option_bool_fun$' ).

tff('finite_domain_A_option_bool_fun$',axiom,
    ! [X: 'A_option_bool_fun$'] :
      ( ( X = 'fmb_A_option_bool_fun$_1' )
      | ( X = 'fmb_A_option_bool_fun$_2' )
      | ( X = 'fmb_A_option_bool_fun$_3' )
      | ( X = 'fmb_A_option_bool_fun$_4' ) ) ).

tff('distinct_domain_A_option_bool_fun$',axiom,
    ( ( 'fmb_A_option_bool_fun$_1' != 'fmb_A_option_bool_fun$_2' )
    & ( 'fmb_A_option_bool_fun$_1' != 'fmb_A_option_bool_fun$_3' )
    & ( 'fmb_A_option_bool_fun$_1' != 'fmb_A_option_bool_fun$_4' )
    & ( 'fmb_A_option_bool_fun$_2' != 'fmb_A_option_bool_fun$_3' )
    & ( 'fmb_A_option_bool_fun$_2' != 'fmb_A_option_bool_fun$_4' )
    & ( 'fmb_A_option_bool_fun$_3' != 'fmb_A_option_bool_fun$_4' ) ) ).

tff('declare_B_option_b_fun$',type,
    'B_option_b_fun$': $tType ).

tff('declare_B_option_b_fun$1',type,
    'fmb_B_option_b_fun$_1': 'B_option_b_fun$' ).

tff('declare_B_option_b_fun$2',type,
    'fmb_B_option_b_fun$_2': 'B_option_b_fun$' ).

tff('declare_B_option_b_fun$3',type,
    'fmb_B_option_b_fun$_3': 'B_option_b_fun$' ).

tff('declare_B_option_b_fun$4',type,
    'fmb_B_option_b_fun$_4': 'B_option_b_fun$' ).

tff('finite_domain_B_option_b_fun$',axiom,
    ! [X: 'B_option_b_fun$'] :
      ( ( X = 'fmb_B_option_b_fun$_1' )
      | ( X = 'fmb_B_option_b_fun$_2' )
      | ( X = 'fmb_B_option_b_fun$_3' )
      | ( X = 'fmb_B_option_b_fun$_4' ) ) ).

tff('distinct_domain_B_option_b_fun$',axiom,
    ( ( 'fmb_B_option_b_fun$_1' != 'fmb_B_option_b_fun$_2' )
    & ( 'fmb_B_option_b_fun$_1' != 'fmb_B_option_b_fun$_3' )
    & ( 'fmb_B_option_b_fun$_1' != 'fmb_B_option_b_fun$_4' )
    & ( 'fmb_B_option_b_fun$_2' != 'fmb_B_option_b_fun$_3' )
    & ( 'fmb_B_option_b_fun$_2' != 'fmb_B_option_b_fun$_4' )
    & ( 'fmb_B_option_b_fun$_3' != 'fmb_B_option_b_fun$_4' ) ) ).

tff('declare_C_option_c_fun$',type,
    'C_option_c_fun$': $tType ).

tff('declare_C_option_c_fun$1',type,
    'fmb_C_option_c_fun$_1': 'C_option_c_fun$' ).

tff('declare_C_option_c_fun$2',type,
    'fmb_C_option_c_fun$_2': 'C_option_c_fun$' ).

tff('declare_C_option_c_fun$3',type,
    'fmb_C_option_c_fun$_3': 'C_option_c_fun$' ).

tff('declare_C_option_c_fun$4',type,
    'fmb_C_option_c_fun$_4': 'C_option_c_fun$' ).

tff('finite_domain_C_option_c_fun$',axiom,
    ! [X: 'C_option_c_fun$'] :
      ( ( X = 'fmb_C_option_c_fun$_1' )
      | ( X = 'fmb_C_option_c_fun$_2' )
      | ( X = 'fmb_C_option_c_fun$_3' )
      | ( X = 'fmb_C_option_c_fun$_4' ) ) ).

tff('distinct_domain_C_option_c_fun$',axiom,
    ( ( 'fmb_C_option_c_fun$_1' != 'fmb_C_option_c_fun$_2' )
    & ( 'fmb_C_option_c_fun$_1' != 'fmb_C_option_c_fun$_3' )
    & ( 'fmb_C_option_c_fun$_1' != 'fmb_C_option_c_fun$_4' )
    & ( 'fmb_C_option_c_fun$_2' != 'fmb_C_option_c_fun$_3' )
    & ( 'fmb_C_option_c_fun$_2' != 'fmb_C_option_c_fun$_4' )
    & ( 'fmb_C_option_c_fun$_3' != 'fmb_C_option_c_fun$_4' ) ) ).

tff('declare_C_option_a_option_bool_fun_fun$',type,
    'C_option_a_option_bool_fun_fun$': $tType ).

tff('declare_C_option_a_option_bool_fun_fun$1',type,
    'fmb_C_option_a_option_bool_fun_fun$_1': 'C_option_a_option_bool_fun_fun$' ).

tff('declare_C_option_a_option_bool_fun_fun$2',type,
    'fmb_C_option_a_option_bool_fun_fun$_2': 'C_option_a_option_bool_fun_fun$' ).

tff('declare_C_option_a_option_bool_fun_fun$3',type,
    'fmb_C_option_a_option_bool_fun_fun$_3': 'C_option_a_option_bool_fun_fun$' ).

tff('declare_C_option_a_option_bool_fun_fun$4',type,
    'fmb_C_option_a_option_bool_fun_fun$_4': 'C_option_a_option_bool_fun_fun$' ).

tff('finite_domain_C_option_a_option_bool_fun_fun$',axiom,
    ! [X: 'C_option_a_option_bool_fun_fun$'] :
      ( ( X = 'fmb_C_option_a_option_bool_fun_fun$_1' )
      | ( X = 'fmb_C_option_a_option_bool_fun_fun$_2' )
      | ( X = 'fmb_C_option_a_option_bool_fun_fun$_3' )
      | ( X = 'fmb_C_option_a_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_C_option_a_option_bool_fun_fun$',axiom,
    ( ( 'fmb_C_option_a_option_bool_fun_fun$_1' != 'fmb_C_option_a_option_bool_fun_fun$_2' )
    & ( 'fmb_C_option_a_option_bool_fun_fun$_1' != 'fmb_C_option_a_option_bool_fun_fun$_3' )
    & ( 'fmb_C_option_a_option_bool_fun_fun$_1' != 'fmb_C_option_a_option_bool_fun_fun$_4' )
    & ( 'fmb_C_option_a_option_bool_fun_fun$_2' != 'fmb_C_option_a_option_bool_fun_fun$_3' )
    & ( 'fmb_C_option_a_option_bool_fun_fun$_2' != 'fmb_C_option_a_option_bool_fun_fun$_4' )
    & ( 'fmb_C_option_a_option_bool_fun_fun$_3' != 'fmb_C_option_a_option_bool_fun_fun$_4' ) ) ).

tff('declare_B_b_b_option_fun_fun$',type,
    'B_b_b_option_fun_fun$': $tType ).

tff('declare_B_b_b_option_fun_fun$1',type,
    'fmb_B_b_b_option_fun_fun$_1': 'B_b_b_option_fun_fun$' ).

tff('declare_B_b_b_option_fun_fun$2',type,
    'fmb_B_b_b_option_fun_fun$_2': 'B_b_b_option_fun_fun$' ).

tff('declare_B_b_b_option_fun_fun$3',type,
    'fmb_B_b_b_option_fun_fun$_3': 'B_b_b_option_fun_fun$' ).

tff('declare_B_b_b_option_fun_fun$4',type,
    'fmb_B_b_b_option_fun_fun$_4': 'B_b_b_option_fun_fun$' ).

tff('finite_domain_B_b_b_option_fun_fun$',axiom,
    ! [X: 'B_b_b_option_fun_fun$'] :
      ( ( X = 'fmb_B_b_b_option_fun_fun$_1' )
      | ( X = 'fmb_B_b_b_option_fun_fun$_2' )
      | ( X = 'fmb_B_b_b_option_fun_fun$_3' )
      | ( X = 'fmb_B_b_b_option_fun_fun$_4' ) ) ).

tff('distinct_domain_B_b_b_option_fun_fun$',axiom,
    ( ( 'fmb_B_b_b_option_fun_fun$_1' != 'fmb_B_b_b_option_fun_fun$_2' )
    & ( 'fmb_B_b_b_option_fun_fun$_1' != 'fmb_B_b_b_option_fun_fun$_3' )
    & ( 'fmb_B_b_b_option_fun_fun$_1' != 'fmb_B_b_b_option_fun_fun$_4' )
    & ( 'fmb_B_b_b_option_fun_fun$_2' != 'fmb_B_b_b_option_fun_fun$_3' )
    & ( 'fmb_B_b_b_option_fun_fun$_2' != 'fmb_B_b_b_option_fun_fun$_4' )
    & ( 'fmb_B_b_b_option_fun_fun$_3' != 'fmb_B_b_b_option_fun_fun$_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_c_option_fun_b_b_option_fun_fun$',type,
    'C_c_option_fun_b_b_option_fun_fun$': $tType ).

tff('declare_C_c_option_fun_b_b_option_fun_fun$1',type,
    'fmb_C_c_option_fun_b_b_option_fun_fun$_1': 'C_c_option_fun_b_b_option_fun_fun$' ).

tff('finite_domain_C_c_option_fun_b_b_option_fun_fun$',axiom,
    ! [X: 'C_c_option_fun_b_b_option_fun_fun$'] : ( X = 'fmb_C_c_option_fun_b_b_option_fun_fun$_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_A_a_option_fun_b_b_option_fun_fun$',type,
    'A_a_option_fun_b_b_option_fun_fun$': $tType ).

tff('declare_A_a_option_fun_b_b_option_fun_fun$1',type,
    'fmb_A_a_option_fun_b_b_option_fun_fun$_1': 'A_a_option_fun_b_b_option_fun_fun$' ).

tff('finite_domain_A_a_option_fun_b_b_option_fun_fun$',axiom,
    ! [X: 'A_a_option_fun_b_b_option_fun_fun$'] : ( X = 'fmb_A_a_option_fun_b_b_option_fun_fun$_1' ) ).

tff('declare_A_a_sum_a_fun$',type,
    'A_a_sum_a_fun$': $tType ).

tff('declare_A_a_sum_a_fun$1',type,
    'fmb_A_a_sum_a_fun$_1': 'A_a_sum_a_fun$' ).

tff('declare_A_a_sum_a_fun$2',type,
    'fmb_A_a_sum_a_fun$_2': 'A_a_sum_a_fun$' ).

tff('declare_A_a_sum_a_fun$3',type,
    'fmb_A_a_sum_a_fun$_3': 'A_a_sum_a_fun$' ).

tff('declare_A_a_sum_a_fun$4',type,
    'fmb_A_a_sum_a_fun$_4': 'A_a_sum_a_fun$' ).

tff('finite_domain_A_a_sum_a_fun$',axiom,
    ! [X: 'A_a_sum_a_fun$'] :
      ( ( X = 'fmb_A_a_sum_a_fun$_1' )
      | ( X = 'fmb_A_a_sum_a_fun$_2' )
      | ( X = 'fmb_A_a_sum_a_fun$_3' )
      | ( X = 'fmb_A_a_sum_a_fun$_4' ) ) ).

tff('distinct_domain_A_a_sum_a_fun$',axiom,
    ( ( 'fmb_A_a_sum_a_fun$_1' != 'fmb_A_a_sum_a_fun$_2' )
    & ( 'fmb_A_a_sum_a_fun$_1' != 'fmb_A_a_sum_a_fun$_3' )
    & ( 'fmb_A_a_sum_a_fun$_1' != 'fmb_A_a_sum_a_fun$_4' )
    & ( 'fmb_A_a_sum_a_fun$_2' != 'fmb_A_a_sum_a_fun$_3' )
    & ( 'fmb_A_a_sum_a_fun$_2' != 'fmb_A_a_sum_a_fun$_4' )
    & ( 'fmb_A_a_sum_a_fun$_3' != 'fmb_A_a_sum_a_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_A_option_b_option_fun$',type,
    'A_option_b_option_fun$': $tType ).

tff('declare_A_option_b_option_fun$1',type,
    'fmb_A_option_b_option_fun$_1': 'A_option_b_option_fun$' ).

tff('declare_A_option_b_option_fun$2',type,
    'fmb_A_option_b_option_fun$_2': 'A_option_b_option_fun$' ).

tff('declare_A_option_b_option_fun$3',type,
    'fmb_A_option_b_option_fun$_3': 'A_option_b_option_fun$' ).

tff('declare_A_option_b_option_fun$4',type,
    'fmb_A_option_b_option_fun$_4': 'A_option_b_option_fun$' ).

tff('finite_domain_A_option_b_option_fun$',axiom,
    ! [X: 'A_option_b_option_fun$'] :
      ( ( X = 'fmb_A_option_b_option_fun$_1' )
      | ( X = 'fmb_A_option_b_option_fun$_2' )
      | ( X = 'fmb_A_option_b_option_fun$_3' )
      | ( X = 'fmb_A_option_b_option_fun$_4' ) ) ).

tff('distinct_domain_A_option_b_option_fun$',axiom,
    ( ( 'fmb_A_option_b_option_fun$_1' != 'fmb_A_option_b_option_fun$_2' )
    & ( 'fmb_A_option_b_option_fun$_1' != 'fmb_A_option_b_option_fun$_3' )
    & ( 'fmb_A_option_b_option_fun$_1' != 'fmb_A_option_b_option_fun$_4' )
    & ( 'fmb_A_option_b_option_fun$_2' != 'fmb_A_option_b_option_fun$_3' )
    & ( 'fmb_A_option_b_option_fun$_2' != 'fmb_A_option_b_option_fun$_4' )
    & ( 'fmb_A_option_b_option_fun$_3' != 'fmb_A_option_b_option_fun$_4' ) ) ).

tff('declare_B_option_c_option_fun$',type,
    'B_option_c_option_fun$': $tType ).

tff('declare_B_option_c_option_fun$1',type,
    'fmb_B_option_c_option_fun$_1': 'B_option_c_option_fun$' ).

tff('declare_B_option_c_option_fun$2',type,
    'fmb_B_option_c_option_fun$_2': 'B_option_c_option_fun$' ).

tff('declare_B_option_c_option_fun$3',type,
    'fmb_B_option_c_option_fun$_3': 'B_option_c_option_fun$' ).

tff('declare_B_option_c_option_fun$4',type,
    'fmb_B_option_c_option_fun$_4': 'B_option_c_option_fun$' ).

tff('finite_domain_B_option_c_option_fun$',axiom,
    ! [X: 'B_option_c_option_fun$'] :
      ( ( X = 'fmb_B_option_c_option_fun$_1' )
      | ( X = 'fmb_B_option_c_option_fun$_2' )
      | ( X = 'fmb_B_option_c_option_fun$_3' )
      | ( X = 'fmb_B_option_c_option_fun$_4' ) ) ).

tff('distinct_domain_B_option_c_option_fun$',axiom,
    ( ( 'fmb_B_option_c_option_fun$_1' != 'fmb_B_option_c_option_fun$_2' )
    & ( 'fmb_B_option_c_option_fun$_1' != 'fmb_B_option_c_option_fun$_3' )
    & ( 'fmb_B_option_c_option_fun$_1' != 'fmb_B_option_c_option_fun$_4' )
    & ( 'fmb_B_option_c_option_fun$_2' != 'fmb_B_option_c_option_fun$_3' )
    & ( 'fmb_B_option_c_option_fun$_2' != 'fmb_B_option_c_option_fun$_4' )
    & ( 'fmb_B_option_c_option_fun$_3' != 'fmb_B_option_c_option_fun$_4' ) ) ).

tff('declare_C_b_b_fun_fun$',type,
    'C_b_b_fun_fun$': $tType ).

tff('declare_C_b_b_fun_fun$1',type,
    'fmb_C_b_b_fun_fun$_1': 'C_b_b_fun_fun$' ).

tff('finite_domain_C_b_b_fun_fun$',axiom,
    ! [X: 'C_b_b_fun_fun$'] : ( X = 'fmb_C_b_b_fun_fun$_1' ) ).

tff('declare_C_c_c_option_fun_fun$',type,
    'C_c_c_option_fun_fun$': $tType ).

tff('declare_C_c_c_option_fun_fun$1',type,
    'fmb_C_c_c_option_fun_fun$_1': 'C_c_c_option_fun_fun$' ).

tff('declare_C_c_c_option_fun_fun$2',type,
    'fmb_C_c_c_option_fun_fun$_2': 'C_c_c_option_fun_fun$' ).

tff('declare_C_c_c_option_fun_fun$3',type,
    'fmb_C_c_c_option_fun_fun$_3': 'C_c_c_option_fun_fun$' ).

tff('declare_C_c_c_option_fun_fun$4',type,
    'fmb_C_c_c_option_fun_fun$_4': 'C_c_c_option_fun_fun$' ).

tff('finite_domain_C_c_c_option_fun_fun$',axiom,
    ! [X: 'C_c_c_option_fun_fun$'] :
      ( ( X = 'fmb_C_c_c_option_fun_fun$_1' )
      | ( X = 'fmb_C_c_c_option_fun_fun$_2' )
      | ( X = 'fmb_C_c_c_option_fun_fun$_3' )
      | ( X = 'fmb_C_c_c_option_fun_fun$_4' ) ) ).

tff('distinct_domain_C_c_c_option_fun_fun$',axiom,
    ( ( 'fmb_C_c_c_option_fun_fun$_1' != 'fmb_C_c_c_option_fun_fun$_2' )
    & ( 'fmb_C_c_c_option_fun_fun$_1' != 'fmb_C_c_c_option_fun_fun$_3' )
    & ( 'fmb_C_c_c_option_fun_fun$_1' != 'fmb_C_c_c_option_fun_fun$_4' )
    & ( 'fmb_C_c_c_option_fun_fun$_2' != 'fmb_C_c_c_option_fun_fun$_3' )
    & ( 'fmb_C_c_c_option_fun_fun$_2' != 'fmb_C_c_c_option_fun_fun$_4' )
    & ( 'fmb_C_c_c_option_fun_fun$_3' != 'fmb_C_c_c_option_fun_fun$_4' ) ) ).

tff('declare_C_b_fun$',type,
    'C_b_fun$': $tType ).

tff('declare_C_b_fun$1',type,
    'fmb_C_b_fun$_1': 'C_b_fun$' ).

tff('finite_domain_C_b_fun$',axiom,
    ! [X: 'C_b_fun$'] : ( X = 'fmb_C_b_fun$_1' ) ).

tff('declare_B_b_sum_c_option_fun$',type,
    'B_b_sum_c_option_fun$': $tType ).

tff('declare_B_b_sum_c_option_fun$1',type,
    'fmb_B_b_sum_c_option_fun$_1': 'B_b_sum_c_option_fun$' ).

tff('declare_B_b_sum_c_option_fun$2',type,
    'fmb_B_b_sum_c_option_fun$_2': 'B_b_sum_c_option_fun$' ).

tff('declare_B_b_sum_c_option_fun$3',type,
    'fmb_B_b_sum_c_option_fun$_3': 'B_b_sum_c_option_fun$' ).

tff('declare_B_b_sum_c_option_fun$4',type,
    'fmb_B_b_sum_c_option_fun$_4': 'B_b_sum_c_option_fun$' ).

tff('finite_domain_B_b_sum_c_option_fun$',axiom,
    ! [X: 'B_b_sum_c_option_fun$'] :
      ( ( X = 'fmb_B_b_sum_c_option_fun$_1' )
      | ( X = 'fmb_B_b_sum_c_option_fun$_2' )
      | ( X = 'fmb_B_b_sum_c_option_fun$_3' )
      | ( X = 'fmb_B_b_sum_c_option_fun$_4' ) ) ).

tff('distinct_domain_B_b_sum_c_option_fun$',axiom,
    ( ( 'fmb_B_b_sum_c_option_fun$_1' != 'fmb_B_b_sum_c_option_fun$_2' )
    & ( 'fmb_B_b_sum_c_option_fun$_1' != 'fmb_B_b_sum_c_option_fun$_3' )
    & ( 'fmb_B_b_sum_c_option_fun$_1' != 'fmb_B_b_sum_c_option_fun$_4' )
    & ( 'fmb_B_b_sum_c_option_fun$_2' != 'fmb_B_b_sum_c_option_fun$_3' )
    & ( 'fmb_B_b_sum_c_option_fun$_2' != 'fmb_B_b_sum_c_option_fun$_4' )
    & ( 'fmb_B_b_sum_c_option_fun$_3' != 'fmb_B_b_sum_c_option_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_A_a_option_fun_a_a_option_fun_fun$',type,
    'A_a_option_fun_a_a_option_fun_fun$': $tType ).

tff('declare_A_a_option_fun_a_a_option_fun_fun$1',type,
    'fmb_A_a_option_fun_a_a_option_fun_fun$_1': 'A_a_option_fun_a_a_option_fun_fun$' ).

tff('finite_domain_A_a_option_fun_a_a_option_fun_fun$',axiom,
    ! [X: 'A_a_option_fun_a_a_option_fun_fun$'] : ( X = 'fmb_A_a_option_fun_a_a_option_fun_fun$_1' ) ).

tff('declare_A_option_c_option_bool_fun_fun$',type,
    'A_option_c_option_bool_fun_fun$': $tType ).

tff('declare_A_option_c_option_bool_fun_fun$1',type,
    'fmb_A_option_c_option_bool_fun_fun$_1': 'A_option_c_option_bool_fun_fun$' ).

tff('declare_A_option_c_option_bool_fun_fun$2',type,
    'fmb_A_option_c_option_bool_fun_fun$_2': 'A_option_c_option_bool_fun_fun$' ).

tff('declare_A_option_c_option_bool_fun_fun$3',type,
    'fmb_A_option_c_option_bool_fun_fun$_3': 'A_option_c_option_bool_fun_fun$' ).

tff('declare_A_option_c_option_bool_fun_fun$4',type,
    'fmb_A_option_c_option_bool_fun_fun$_4': 'A_option_c_option_bool_fun_fun$' ).

tff('finite_domain_A_option_c_option_bool_fun_fun$',axiom,
    ! [X: 'A_option_c_option_bool_fun_fun$'] :
      ( ( X = 'fmb_A_option_c_option_bool_fun_fun$_1' )
      | ( X = 'fmb_A_option_c_option_bool_fun_fun$_2' )
      | ( X = 'fmb_A_option_c_option_bool_fun_fun$_3' )
      | ( X = 'fmb_A_option_c_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_A_option_c_option_bool_fun_fun$',axiom,
    ( ( 'fmb_A_option_c_option_bool_fun_fun$_1' != 'fmb_A_option_c_option_bool_fun_fun$_2' )
    & ( 'fmb_A_option_c_option_bool_fun_fun$_1' != 'fmb_A_option_c_option_bool_fun_fun$_3' )
    & ( 'fmb_A_option_c_option_bool_fun_fun$_1' != 'fmb_A_option_c_option_bool_fun_fun$_4' )
    & ( 'fmb_A_option_c_option_bool_fun_fun$_2' != 'fmb_A_option_c_option_bool_fun_fun$_3' )
    & ( 'fmb_A_option_c_option_bool_fun_fun$_2' != 'fmb_A_option_c_option_bool_fun_fun$_4' )
    & ( 'fmb_A_option_c_option_bool_fun_fun$_3' != 'fmb_A_option_c_option_bool_fun_fun$_4' ) ) ).

tff('declare_B_a_fun$',type,
    'B_a_fun$': $tType ).

tff('declare_B_a_fun$1',type,
    'fmb_B_a_fun$_1': 'B_a_fun$' ).

tff('finite_domain_B_a_fun$',axiom,
    ! [X: 'B_a_fun$'] : ( X = 'fmb_B_a_fun$_1' ) ).

tff('declare_C_option_b_option_fun$',type,
    'C_option_b_option_fun$': $tType ).

tff('declare_C_option_b_option_fun$1',type,
    'fmb_C_option_b_option_fun$_1': 'C_option_b_option_fun$' ).

tff('declare_C_option_b_option_fun$2',type,
    'fmb_C_option_b_option_fun$_2': 'C_option_b_option_fun$' ).

tff('declare_C_option_b_option_fun$3',type,
    'fmb_C_option_b_option_fun$_3': 'C_option_b_option_fun$' ).

tff('declare_C_option_b_option_fun$4',type,
    'fmb_C_option_b_option_fun$_4': 'C_option_b_option_fun$' ).

tff('finite_domain_C_option_b_option_fun$',axiom,
    ! [X: 'C_option_b_option_fun$'] :
      ( ( X = 'fmb_C_option_b_option_fun$_1' )
      | ( X = 'fmb_C_option_b_option_fun$_2' )
      | ( X = 'fmb_C_option_b_option_fun$_3' )
      | ( X = 'fmb_C_option_b_option_fun$_4' ) ) ).

tff('distinct_domain_C_option_b_option_fun$',axiom,
    ( ( 'fmb_C_option_b_option_fun$_1' != 'fmb_C_option_b_option_fun$_2' )
    & ( 'fmb_C_option_b_option_fun$_1' != 'fmb_C_option_b_option_fun$_3' )
    & ( 'fmb_C_option_b_option_fun$_1' != 'fmb_C_option_b_option_fun$_4' )
    & ( 'fmb_C_option_b_option_fun$_2' != 'fmb_C_option_b_option_fun$_3' )
    & ( 'fmb_C_option_b_option_fun$_2' != 'fmb_C_option_b_option_fun$_4' )
    & ( 'fmb_C_option_b_option_fun$_3' != 'fmb_C_option_b_option_fun$_4' ) ) ).

tff(declare_tlbool,type,
    tlbool: $tType ).

tff(declare_tlbool1,type,
    fmb_tlbool_1: tlbool ).

tff(declare_tlbool2,type,
    fmb_tlbool_2: tlbool ).

tff(finite_domain_tlbool,axiom,
    ! [X: tlbool] :
      ( ( X = fmb_tlbool_1 )
      | ( X = fmb_tlbool_2 ) ) ).

tff(distinct_domain_tlbool,axiom,
    fmb_tlbool_1 != fmb_tlbool_2 ).

tff('declare_A_option_a_fun$',type,
    'A_option_a_fun$': $tType ).

tff('declare_A_option_a_fun$1',type,
    'fmb_A_option_a_fun$_1': 'A_option_a_fun$' ).

tff('declare_A_option_a_fun$2',type,
    'fmb_A_option_a_fun$_2': 'A_option_a_fun$' ).

tff('declare_A_option_a_fun$3',type,
    'fmb_A_option_a_fun$_3': 'A_option_a_fun$' ).

tff('declare_A_option_a_fun$4',type,
    'fmb_A_option_a_fun$_4': 'A_option_a_fun$' ).

tff('finite_domain_A_option_a_fun$',axiom,
    ! [X: 'A_option_a_fun$'] :
      ( ( X = 'fmb_A_option_a_fun$_1' )
      | ( X = 'fmb_A_option_a_fun$_2' )
      | ( X = 'fmb_A_option_a_fun$_3' )
      | ( X = 'fmb_A_option_a_fun$_4' ) ) ).

tff('distinct_domain_A_option_a_fun$',axiom,
    ( ( 'fmb_A_option_a_fun$_1' != 'fmb_A_option_a_fun$_2' )
    & ( 'fmb_A_option_a_fun$_1' != 'fmb_A_option_a_fun$_3' )
    & ( 'fmb_A_option_a_fun$_1' != 'fmb_A_option_a_fun$_4' )
    & ( 'fmb_A_option_a_fun$_2' != 'fmb_A_option_a_fun$_3' )
    & ( 'fmb_A_option_a_fun$_2' != 'fmb_A_option_a_fun$_4' )
    & ( 'fmb_A_option_a_fun$_3' != 'fmb_A_option_a_fun$_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_option_a_option_fun$',type,
    'A_option_a_option_fun$': $tType ).

tff('declare_A_option_a_option_fun$1',type,
    'fmb_A_option_a_option_fun$_1': 'A_option_a_option_fun$' ).

tff('declare_A_option_a_option_fun$2',type,
    'fmb_A_option_a_option_fun$_2': 'A_option_a_option_fun$' ).

tff('declare_A_option_a_option_fun$3',type,
    'fmb_A_option_a_option_fun$_3': 'A_option_a_option_fun$' ).

tff('declare_A_option_a_option_fun$4',type,
    'fmb_A_option_a_option_fun$_4': 'A_option_a_option_fun$' ).

tff('finite_domain_A_option_a_option_fun$',axiom,
    ! [X: 'A_option_a_option_fun$'] :
      ( ( X = 'fmb_A_option_a_option_fun$_1' )
      | ( X = 'fmb_A_option_a_option_fun$_2' )
      | ( X = 'fmb_A_option_a_option_fun$_3' )
      | ( X = 'fmb_A_option_a_option_fun$_4' ) ) ).

tff('distinct_domain_A_option_a_option_fun$',axiom,
    ( ( 'fmb_A_option_a_option_fun$_1' != 'fmb_A_option_a_option_fun$_2' )
    & ( 'fmb_A_option_a_option_fun$_1' != 'fmb_A_option_a_option_fun$_3' )
    & ( 'fmb_A_option_a_option_fun$_1' != 'fmb_A_option_a_option_fun$_4' )
    & ( 'fmb_A_option_a_option_fun$_2' != 'fmb_A_option_a_option_fun$_3' )
    & ( 'fmb_A_option_a_option_fun$_2' != 'fmb_A_option_a_option_fun$_4' )
    & ( 'fmb_A_option_a_option_fun$_3' != 'fmb_A_option_a_option_fun$_4' ) ) ).

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_C_option_a_option_fun$',type,
    'C_option_a_option_fun$': $tType ).

tff('declare_C_option_a_option_fun$1',type,
    'fmb_C_option_a_option_fun$_1': 'C_option_a_option_fun$' ).

tff('declare_C_option_a_option_fun$2',type,
    'fmb_C_option_a_option_fun$_2': 'C_option_a_option_fun$' ).

tff('declare_C_option_a_option_fun$3',type,
    'fmb_C_option_a_option_fun$_3': 'C_option_a_option_fun$' ).

tff('declare_C_option_a_option_fun$4',type,
    'fmb_C_option_a_option_fun$_4': 'C_option_a_option_fun$' ).

tff('finite_domain_C_option_a_option_fun$',axiom,
    ! [X: 'C_option_a_option_fun$'] :
      ( ( X = 'fmb_C_option_a_option_fun$_1' )
      | ( X = 'fmb_C_option_a_option_fun$_2' )
      | ( X = 'fmb_C_option_a_option_fun$_3' )
      | ( X = 'fmb_C_option_a_option_fun$_4' ) ) ).

tff('distinct_domain_C_option_a_option_fun$',axiom,
    ( ( 'fmb_C_option_a_option_fun$_1' != 'fmb_C_option_a_option_fun$_2' )
    & ( 'fmb_C_option_a_option_fun$_1' != 'fmb_C_option_a_option_fun$_3' )
    & ( 'fmb_C_option_a_option_fun$_1' != 'fmb_C_option_a_option_fun$_4' )
    & ( 'fmb_C_option_a_option_fun$_2' != 'fmb_C_option_a_option_fun$_3' )
    & ( 'fmb_C_option_a_option_fun$_2' != 'fmb_C_option_a_option_fun$_4' )
    & ( 'fmb_C_option_a_option_fun$_3' != 'fmb_C_option_a_option_fun$_4' ) ) ).

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('declare_A_set$3',type,
    'fmb_A_set$_3': 'A_set$' ).

tff('declare_A_set$4',type,
    'fmb_A_set$_4': 'A_set$' ).

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

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

tff('declare_B_b_option_fun_c_c_option_fun_fun$',type,
    'B_b_option_fun_c_c_option_fun_fun$': $tType ).

tff('declare_B_b_option_fun_c_c_option_fun_fun$1',type,
    'fmb_B_b_option_fun_c_c_option_fun_fun$_1': 'B_b_option_fun_c_c_option_fun_fun$' ).

tff('finite_domain_B_b_option_fun_c_c_option_fun_fun$',axiom,
    ! [X: 'B_b_option_fun_c_c_option_fun_fun$'] : ( X = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' ) ).

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_A_b_fun$',type,
    'A_b_fun$': $tType ).

tff('declare_A_b_fun$1',type,
    'fmb_A_b_fun$_1': 'A_b_fun$' ).

tff('declare_A_b_fun$2',type,
    'fmb_A_b_fun$_2': 'A_b_fun$' ).

tff('declare_A_b_fun$3',type,
    'fmb_A_b_fun$_3': 'A_b_fun$' ).

tff('declare_A_b_fun$4',type,
    'fmb_A_b_fun$_4': 'A_b_fun$' ).

tff('finite_domain_A_b_fun$',axiom,
    ! [X: 'A_b_fun$'] :
      ( ( X = 'fmb_A_b_fun$_1' )
      | ( X = 'fmb_A_b_fun$_2' )
      | ( X = 'fmb_A_b_fun$_3' )
      | ( X = 'fmb_A_b_fun$_4' ) ) ).

tff('distinct_domain_A_b_fun$',axiom,
    ( ( 'fmb_A_b_fun$_1' != 'fmb_A_b_fun$_2' )
    & ( 'fmb_A_b_fun$_1' != 'fmb_A_b_fun$_3' )
    & ( 'fmb_A_b_fun$_1' != 'fmb_A_b_fun$_4' )
    & ( 'fmb_A_b_fun$_2' != 'fmb_A_b_fun$_3' )
    & ( 'fmb_A_b_fun$_2' != 'fmb_A_b_fun$_4' )
    & ( 'fmb_A_b_fun$_3' != 'fmb_A_b_fun$_4' ) ) ).

tff('declare_B_c_c_fun_fun$',type,
    'B_c_c_fun_fun$': $tType ).

tff('declare_B_c_c_fun_fun$1',type,
    'fmb_B_c_c_fun_fun$_1': 'B_c_c_fun_fun$' ).

tff('finite_domain_B_c_c_fun_fun$',axiom,
    ! [X: 'B_c_c_fun_fun$'] : ( X = 'fmb_B_c_c_fun_fun$_1' ) ).

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_B_option_a_option_bool_fun_fun$',type,
    'B_option_a_option_bool_fun_fun$': $tType ).

tff('declare_B_option_a_option_bool_fun_fun$1',type,
    'fmb_B_option_a_option_bool_fun_fun$_1': 'B_option_a_option_bool_fun_fun$' ).

tff('declare_B_option_a_option_bool_fun_fun$2',type,
    'fmb_B_option_a_option_bool_fun_fun$_2': 'B_option_a_option_bool_fun_fun$' ).

tff('declare_B_option_a_option_bool_fun_fun$3',type,
    'fmb_B_option_a_option_bool_fun_fun$_3': 'B_option_a_option_bool_fun_fun$' ).

tff('declare_B_option_a_option_bool_fun_fun$4',type,
    'fmb_B_option_a_option_bool_fun_fun$_4': 'B_option_a_option_bool_fun_fun$' ).

tff('finite_domain_B_option_a_option_bool_fun_fun$',axiom,
    ! [X: 'B_option_a_option_bool_fun_fun$'] :
      ( ( X = 'fmb_B_option_a_option_bool_fun_fun$_1' )
      | ( X = 'fmb_B_option_a_option_bool_fun_fun$_2' )
      | ( X = 'fmb_B_option_a_option_bool_fun_fun$_3' )
      | ( X = 'fmb_B_option_a_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_B_option_a_option_bool_fun_fun$',axiom,
    ( ( 'fmb_B_option_a_option_bool_fun_fun$_1' != 'fmb_B_option_a_option_bool_fun_fun$_2' )
    & ( 'fmb_B_option_a_option_bool_fun_fun$_1' != 'fmb_B_option_a_option_bool_fun_fun$_3' )
    & ( 'fmb_B_option_a_option_bool_fun_fun$_1' != 'fmb_B_option_a_option_bool_fun_fun$_4' )
    & ( 'fmb_B_option_a_option_bool_fun_fun$_2' != 'fmb_B_option_a_option_bool_fun_fun$_3' )
    & ( 'fmb_B_option_a_option_bool_fun_fun$_2' != 'fmb_B_option_a_option_bool_fun_fun$_4' )
    & ( 'fmb_B_option_a_option_bool_fun_fun$_3' != 'fmb_B_option_a_option_bool_fun_fun$_4' ) ) ).

tff('declare_Bool_c_option_fun$',type,
    'Bool_c_option_fun$': $tType ).

tff('declare_Bool_c_option_fun$1',type,
    'fmb_Bool_c_option_fun$_1': 'Bool_c_option_fun$' ).

tff('declare_Bool_c_option_fun$2',type,
    'fmb_Bool_c_option_fun$_2': 'Bool_c_option_fun$' ).

tff('declare_Bool_c_option_fun$3',type,
    'fmb_Bool_c_option_fun$_3': 'Bool_c_option_fun$' ).

tff('declare_Bool_c_option_fun$4',type,
    'fmb_Bool_c_option_fun$_4': 'Bool_c_option_fun$' ).

tff('finite_domain_Bool_c_option_fun$',axiom,
    ! [X: 'Bool_c_option_fun$'] :
      ( ( X = 'fmb_Bool_c_option_fun$_1' )
      | ( X = 'fmb_Bool_c_option_fun$_2' )
      | ( X = 'fmb_Bool_c_option_fun$_3' )
      | ( X = 'fmb_Bool_c_option_fun$_4' ) ) ).

tff('distinct_domain_Bool_c_option_fun$',axiom,
    ( ( 'fmb_Bool_c_option_fun$_1' != 'fmb_Bool_c_option_fun$_2' )
    & ( 'fmb_Bool_c_option_fun$_1' != 'fmb_Bool_c_option_fun$_3' )
    & ( 'fmb_Bool_c_option_fun$_1' != 'fmb_Bool_c_option_fun$_4' )
    & ( 'fmb_Bool_c_option_fun$_2' != 'fmb_Bool_c_option_fun$_3' )
    & ( 'fmb_Bool_c_option_fun$_2' != 'fmb_Bool_c_option_fun$_4' )
    & ( 'fmb_Bool_c_option_fun$_3' != 'fmb_Bool_c_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_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('finite_domain_B_option_option$',axiom,
    ! [X: 'B_option_option$'] :
      ( ( X = 'fmb_B_option_option$_1' )
      | ( X = 'fmb_B_option_option$_2' ) ) ).

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

tff('declare_Bool_b_option_fun$',type,
    'Bool_b_option_fun$': $tType ).

tff('declare_Bool_b_option_fun$1',type,
    'fmb_Bool_b_option_fun$_1': 'Bool_b_option_fun$' ).

tff('declare_Bool_b_option_fun$2',type,
    'fmb_Bool_b_option_fun$_2': 'Bool_b_option_fun$' ).

tff('declare_Bool_b_option_fun$3',type,
    'fmb_Bool_b_option_fun$_3': 'Bool_b_option_fun$' ).

tff('declare_Bool_b_option_fun$4',type,
    'fmb_Bool_b_option_fun$_4': 'Bool_b_option_fun$' ).

tff('finite_domain_Bool_b_option_fun$',axiom,
    ! [X: 'Bool_b_option_fun$'] :
      ( ( X = 'fmb_Bool_b_option_fun$_1' )
      | ( X = 'fmb_Bool_b_option_fun$_2' )
      | ( X = 'fmb_Bool_b_option_fun$_3' )
      | ( X = 'fmb_Bool_b_option_fun$_4' ) ) ).

tff('distinct_domain_Bool_b_option_fun$',axiom,
    ( ( 'fmb_Bool_b_option_fun$_1' != 'fmb_Bool_b_option_fun$_2' )
    & ( 'fmb_Bool_b_option_fun$_1' != 'fmb_Bool_b_option_fun$_3' )
    & ( 'fmb_Bool_b_option_fun$_1' != 'fmb_Bool_b_option_fun$_4' )
    & ( 'fmb_Bool_b_option_fun$_2' != 'fmb_Bool_b_option_fun$_3' )
    & ( 'fmb_Bool_b_option_fun$_2' != 'fmb_Bool_b_option_fun$_4' )
    & ( 'fmb_Bool_b_option_fun$_3' != 'fmb_Bool_b_option_fun$_4' ) ) ).

tff('declare_A_b_b_option_fun_fun$',type,
    'A_b_b_option_fun_fun$': $tType ).

tff('declare_A_b_b_option_fun_fun$1',type,
    'fmb_A_b_b_option_fun_fun$_1': 'A_b_b_option_fun_fun$' ).

tff('declare_A_b_b_option_fun_fun$2',type,
    'fmb_A_b_b_option_fun_fun$_2': 'A_b_b_option_fun_fun$' ).

tff('declare_A_b_b_option_fun_fun$3',type,
    'fmb_A_b_b_option_fun_fun$_3': 'A_b_b_option_fun_fun$' ).

tff('declare_A_b_b_option_fun_fun$4',type,
    'fmb_A_b_b_option_fun_fun$_4': 'A_b_b_option_fun_fun$' ).

tff('finite_domain_A_b_b_option_fun_fun$',axiom,
    ! [X: 'A_b_b_option_fun_fun$'] :
      ( ( X = 'fmb_A_b_b_option_fun_fun$_1' )
      | ( X = 'fmb_A_b_b_option_fun_fun$_2' )
      | ( X = 'fmb_A_b_b_option_fun_fun$_3' )
      | ( X = 'fmb_A_b_b_option_fun_fun$_4' ) ) ).

tff('distinct_domain_A_b_b_option_fun_fun$',axiom,
    ( ( 'fmb_A_b_b_option_fun_fun$_1' != 'fmb_A_b_b_option_fun_fun$_2' )
    & ( 'fmb_A_b_b_option_fun_fun$_1' != 'fmb_A_b_b_option_fun_fun$_3' )
    & ( 'fmb_A_b_b_option_fun_fun$_1' != 'fmb_A_b_b_option_fun_fun$_4' )
    & ( 'fmb_A_b_b_option_fun_fun$_2' != 'fmb_A_b_b_option_fun_fun$_3' )
    & ( 'fmb_A_b_b_option_fun_fun$_2' != 'fmb_A_b_b_option_fun_fun$_4' )
    & ( 'fmb_A_b_b_option_fun_fun$_3' != 'fmb_A_b_b_option_fun_fun$_4' ) ) ).

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_C_c_sum_c_option_fun$',type,
    'C_c_sum_c_option_fun$': $tType ).

tff('declare_C_c_sum_c_option_fun$1',type,
    'fmb_C_c_sum_c_option_fun$_1': 'C_c_sum_c_option_fun$' ).

tff('declare_C_c_sum_c_option_fun$2',type,
    'fmb_C_c_sum_c_option_fun$_2': 'C_c_sum_c_option_fun$' ).

tff('declare_C_c_sum_c_option_fun$3',type,
    'fmb_C_c_sum_c_option_fun$_3': 'C_c_sum_c_option_fun$' ).

tff('declare_C_c_sum_c_option_fun$4',type,
    'fmb_C_c_sum_c_option_fun$_4': 'C_c_sum_c_option_fun$' ).

tff('finite_domain_C_c_sum_c_option_fun$',axiom,
    ! [X: 'C_c_sum_c_option_fun$'] :
      ( ( X = 'fmb_C_c_sum_c_option_fun$_1' )
      | ( X = 'fmb_C_c_sum_c_option_fun$_2' )
      | ( X = 'fmb_C_c_sum_c_option_fun$_3' )
      | ( X = 'fmb_C_c_sum_c_option_fun$_4' ) ) ).

tff('distinct_domain_C_c_sum_c_option_fun$',axiom,
    ( ( 'fmb_C_c_sum_c_option_fun$_1' != 'fmb_C_c_sum_c_option_fun$_2' )
    & ( 'fmb_C_c_sum_c_option_fun$_1' != 'fmb_C_c_sum_c_option_fun$_3' )
    & ( 'fmb_C_c_sum_c_option_fun$_1' != 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'fmb_C_c_sum_c_option_fun$_2' != 'fmb_C_c_sum_c_option_fun$_3' )
    & ( 'fmb_C_c_sum_c_option_fun$_2' != 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'fmb_C_c_sum_c_option_fun$_3' != 'fmb_C_c_sum_c_option_fun$_4' ) ) ).

tff('declare_Bool_bool_fun$',type,
    'Bool_bool_fun$': $tType ).

tff('declare_Bool_bool_fun$1',type,
    'fmb_Bool_bool_fun$_1': 'Bool_bool_fun$' ).

tff('declare_Bool_bool_fun$2',type,
    'fmb_Bool_bool_fun$_2': 'Bool_bool_fun$' ).

tff('declare_Bool_bool_fun$3',type,
    'fmb_Bool_bool_fun$_3': 'Bool_bool_fun$' ).

tff('declare_Bool_bool_fun$4',type,
    'fmb_Bool_bool_fun$_4': 'Bool_bool_fun$' ).

tff('finite_domain_Bool_bool_fun$',axiom,
    ! [X: 'Bool_bool_fun$'] :
      ( ( X = 'fmb_Bool_bool_fun$_1' )
      | ( X = 'fmb_Bool_bool_fun$_2' )
      | ( X = 'fmb_Bool_bool_fun$_3' )
      | ( X = 'fmb_Bool_bool_fun$_4' ) ) ).

tff('distinct_domain_Bool_bool_fun$',axiom,
    ( ( 'fmb_Bool_bool_fun$_1' != 'fmb_Bool_bool_fun$_2' )
    & ( 'fmb_Bool_bool_fun$_1' != 'fmb_Bool_bool_fun$_3' )
    & ( 'fmb_Bool_bool_fun$_1' != 'fmb_Bool_bool_fun$_4' )
    & ( 'fmb_Bool_bool_fun$_2' != 'fmb_Bool_bool_fun$_3' )
    & ( 'fmb_Bool_bool_fun$_2' != 'fmb_Bool_bool_fun$_4' )
    & ( 'fmb_Bool_bool_fun$_3' != 'fmb_Bool_bool_fun$_4' ) ) ).

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_A_a_a_fun_fun$',type,
    'A_a_a_fun_fun$': $tType ).

tff('declare_A_a_a_fun_fun$1',type,
    'fmb_A_a_a_fun_fun$_1': 'A_a_a_fun_fun$' ).

tff('declare_A_a_a_fun_fun$2',type,
    'fmb_A_a_a_fun_fun$_2': 'A_a_a_fun_fun$' ).

tff('declare_A_a_a_fun_fun$3',type,
    'fmb_A_a_a_fun_fun$_3': 'A_a_a_fun_fun$' ).

tff('declare_A_a_a_fun_fun$4',type,
    'fmb_A_a_a_fun_fun$_4': 'A_a_a_fun_fun$' ).

tff('finite_domain_A_a_a_fun_fun$',axiom,
    ! [X: 'A_a_a_fun_fun$'] :
      ( ( X = 'fmb_A_a_a_fun_fun$_1' )
      | ( X = 'fmb_A_a_a_fun_fun$_2' )
      | ( X = 'fmb_A_a_a_fun_fun$_3' )
      | ( X = 'fmb_A_a_a_fun_fun$_4' ) ) ).

tff('distinct_domain_A_a_a_fun_fun$',axiom,
    ( ( 'fmb_A_a_a_fun_fun$_1' != 'fmb_A_a_a_fun_fun$_2' )
    & ( 'fmb_A_a_a_fun_fun$_1' != 'fmb_A_a_a_fun_fun$_3' )
    & ( 'fmb_A_a_a_fun_fun$_1' != 'fmb_A_a_a_fun_fun$_4' )
    & ( 'fmb_A_a_a_fun_fun$_2' != 'fmb_A_a_a_fun_fun$_3' )
    & ( 'fmb_A_a_a_fun_fun$_2' != 'fmb_A_a_a_fun_fun$_4' )
    & ( 'fmb_A_a_a_fun_fun$_3' != 'fmb_A_a_a_fun_fun$_4' ) ) ).

tff('declare_B_b_option_fun_a_a_option_fun_fun$',type,
    'B_b_option_fun_a_a_option_fun_fun$': $tType ).

tff('declare_B_b_option_fun_a_a_option_fun_fun$1',type,
    'fmb_B_b_option_fun_a_a_option_fun_fun$_1': 'B_b_option_fun_a_a_option_fun_fun$' ).

tff('finite_domain_B_b_option_fun_a_a_option_fun_fun$',axiom,
    ! [X: 'B_b_option_fun_a_a_option_fun_fun$'] : ( X = 'fmb_B_b_option_fun_a_a_option_fun_fun$_1' ) ).

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_A_a_fun$',type,
    'A_a_fun$': $tType ).

tff('declare_A_a_fun$1',type,
    'fmb_A_a_fun$_1': 'A_a_fun$' ).

tff('declare_A_a_fun$2',type,
    'fmb_A_a_fun$_2': 'A_a_fun$' ).

tff('declare_A_a_fun$3',type,
    'fmb_A_a_fun$_3': 'A_a_fun$' ).

tff('declare_A_a_fun$4',type,
    'fmb_A_a_fun$_4': 'A_a_fun$' ).

tff('finite_domain_A_a_fun$',axiom,
    ! [X: 'A_a_fun$'] :
      ( ( X = 'fmb_A_a_fun$_1' )
      | ( X = 'fmb_A_a_fun$_2' )
      | ( X = 'fmb_A_a_fun$_3' )
      | ( X = 'fmb_A_a_fun$_4' ) ) ).

tff('distinct_domain_A_a_fun$',axiom,
    ( ( 'fmb_A_a_fun$_1' != 'fmb_A_a_fun$_2' )
    & ( 'fmb_A_a_fun$_1' != 'fmb_A_a_fun$_3' )
    & ( 'fmb_A_a_fun$_1' != 'fmb_A_a_fun$_4' )
    & ( 'fmb_A_a_fun$_2' != 'fmb_A_a_fun$_3' )
    & ( 'fmb_A_a_fun$_2' != 'fmb_A_a_fun$_4' )
    & ( 'fmb_A_a_fun$_3' != 'fmb_A_a_fun$_4' ) ) ).

tff('declare_B_b_sum_b_option_fun$',type,
    'B_b_sum_b_option_fun$': $tType ).

tff('declare_B_b_sum_b_option_fun$1',type,
    'fmb_B_b_sum_b_option_fun$_1': 'B_b_sum_b_option_fun$' ).

tff('declare_B_b_sum_b_option_fun$2',type,
    'fmb_B_b_sum_b_option_fun$_2': 'B_b_sum_b_option_fun$' ).

tff('declare_B_b_sum_b_option_fun$3',type,
    'fmb_B_b_sum_b_option_fun$_3': 'B_b_sum_b_option_fun$' ).

tff('declare_B_b_sum_b_option_fun$4',type,
    'fmb_B_b_sum_b_option_fun$_4': 'B_b_sum_b_option_fun$' ).

tff('finite_domain_B_b_sum_b_option_fun$',axiom,
    ! [X: 'B_b_sum_b_option_fun$'] :
      ( ( X = 'fmb_B_b_sum_b_option_fun$_1' )
      | ( X = 'fmb_B_b_sum_b_option_fun$_2' )
      | ( X = 'fmb_B_b_sum_b_option_fun$_3' )
      | ( X = 'fmb_B_b_sum_b_option_fun$_4' ) ) ).

tff('distinct_domain_B_b_sum_b_option_fun$',axiom,
    ( ( 'fmb_B_b_sum_b_option_fun$_1' != 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'fmb_B_b_sum_b_option_fun$_1' != 'fmb_B_b_sum_b_option_fun$_3' )
    & ( 'fmb_B_b_sum_b_option_fun$_1' != 'fmb_B_b_sum_b_option_fun$_4' )
    & ( 'fmb_B_b_sum_b_option_fun$_2' != 'fmb_B_b_sum_b_option_fun$_3' )
    & ( 'fmb_B_b_sum_b_option_fun$_2' != 'fmb_B_b_sum_b_option_fun$_4' )
    & ( 'fmb_B_b_sum_b_option_fun$_3' != 'fmb_B_b_sum_b_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_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('finite_domain_C_option_option$',axiom,
    ! [X: 'C_option_option$'] :
      ( ( X = 'fmb_C_option_option$_1' )
      | ( X = 'fmb_C_option_option$_2' ) ) ).

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

tff('declare_A_option_b_option_bool_fun_fun$',type,
    'A_option_b_option_bool_fun_fun$': $tType ).

tff('declare_A_option_b_option_bool_fun_fun$1',type,
    'fmb_A_option_b_option_bool_fun_fun$_1': 'A_option_b_option_bool_fun_fun$' ).

tff('declare_A_option_b_option_bool_fun_fun$2',type,
    'fmb_A_option_b_option_bool_fun_fun$_2': 'A_option_b_option_bool_fun_fun$' ).

tff('declare_A_option_b_option_bool_fun_fun$3',type,
    'fmb_A_option_b_option_bool_fun_fun$_3': 'A_option_b_option_bool_fun_fun$' ).

tff('declare_A_option_b_option_bool_fun_fun$4',type,
    'fmb_A_option_b_option_bool_fun_fun$_4': 'A_option_b_option_bool_fun_fun$' ).

tff('finite_domain_A_option_b_option_bool_fun_fun$',axiom,
    ! [X: 'A_option_b_option_bool_fun_fun$'] :
      ( ( X = 'fmb_A_option_b_option_bool_fun_fun$_1' )
      | ( X = 'fmb_A_option_b_option_bool_fun_fun$_2' )
      | ( X = 'fmb_A_option_b_option_bool_fun_fun$_3' )
      | ( X = 'fmb_A_option_b_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_A_option_b_option_bool_fun_fun$',axiom,
    ( ( 'fmb_A_option_b_option_bool_fun_fun$_1' != 'fmb_A_option_b_option_bool_fun_fun$_2' )
    & ( 'fmb_A_option_b_option_bool_fun_fun$_1' != 'fmb_A_option_b_option_bool_fun_fun$_3' )
    & ( 'fmb_A_option_b_option_bool_fun_fun$_1' != 'fmb_A_option_b_option_bool_fun_fun$_4' )
    & ( 'fmb_A_option_b_option_bool_fun_fun$_2' != 'fmb_A_option_b_option_bool_fun_fun$_3' )
    & ( 'fmb_A_option_b_option_bool_fun_fun$_2' != 'fmb_A_option_b_option_bool_fun_fun$_4' )
    & ( 'fmb_A_option_b_option_bool_fun_fun$_3' != 'fmb_A_option_b_option_bool_fun_fun$_4' ) ) ).

tff('declare_C_c_sum_c_fun$',type,
    'C_c_sum_c_fun$': $tType ).

tff('declare_C_c_sum_c_fun$1',type,
    'fmb_C_c_sum_c_fun$_1': 'C_c_sum_c_fun$' ).

tff('declare_C_c_sum_c_fun$2',type,
    'fmb_C_c_sum_c_fun$_2': 'C_c_sum_c_fun$' ).

tff('declare_C_c_sum_c_fun$3',type,
    'fmb_C_c_sum_c_fun$_3': 'C_c_sum_c_fun$' ).

tff('declare_C_c_sum_c_fun$4',type,
    'fmb_C_c_sum_c_fun$_4': 'C_c_sum_c_fun$' ).

tff('finite_domain_C_c_sum_c_fun$',axiom,
    ! [X: 'C_c_sum_c_fun$'] :
      ( ( X = 'fmb_C_c_sum_c_fun$_1' )
      | ( X = 'fmb_C_c_sum_c_fun$_2' )
      | ( X = 'fmb_C_c_sum_c_fun$_3' )
      | ( X = 'fmb_C_c_sum_c_fun$_4' ) ) ).

tff('distinct_domain_C_c_sum_c_fun$',axiom,
    ( ( 'fmb_C_c_sum_c_fun$_1' != 'fmb_C_c_sum_c_fun$_2' )
    & ( 'fmb_C_c_sum_c_fun$_1' != 'fmb_C_c_sum_c_fun$_3' )
    & ( 'fmb_C_c_sum_c_fun$_1' != 'fmb_C_c_sum_c_fun$_4' )
    & ( 'fmb_C_c_sum_c_fun$_2' != 'fmb_C_c_sum_c_fun$_3' )
    & ( 'fmb_C_c_sum_c_fun$_2' != 'fmb_C_c_sum_c_fun$_4' )
    & ( 'fmb_C_c_sum_c_fun$_3' != 'fmb_C_c_sum_c_fun$_4' ) ) ).

tff('declare_A_a_sum_b_option_fun$',type,
    'A_a_sum_b_option_fun$': $tType ).

tff('declare_A_a_sum_b_option_fun$1',type,
    'fmb_A_a_sum_b_option_fun$_1': 'A_a_sum_b_option_fun$' ).

tff('declare_A_a_sum_b_option_fun$2',type,
    'fmb_A_a_sum_b_option_fun$_2': 'A_a_sum_b_option_fun$' ).

tff('declare_A_a_sum_b_option_fun$3',type,
    'fmb_A_a_sum_b_option_fun$_3': 'A_a_sum_b_option_fun$' ).

tff('declare_A_a_sum_b_option_fun$4',type,
    'fmb_A_a_sum_b_option_fun$_4': 'A_a_sum_b_option_fun$' ).

tff('finite_domain_A_a_sum_b_option_fun$',axiom,
    ! [X: 'A_a_sum_b_option_fun$'] :
      ( ( X = 'fmb_A_a_sum_b_option_fun$_1' )
      | ( X = 'fmb_A_a_sum_b_option_fun$_2' )
      | ( X = 'fmb_A_a_sum_b_option_fun$_3' )
      | ( X = 'fmb_A_a_sum_b_option_fun$_4' ) ) ).

tff('distinct_domain_A_a_sum_b_option_fun$',axiom,
    ( ( 'fmb_A_a_sum_b_option_fun$_1' != 'fmb_A_a_sum_b_option_fun$_2' )
    & ( 'fmb_A_a_sum_b_option_fun$_1' != 'fmb_A_a_sum_b_option_fun$_3' )
    & ( 'fmb_A_a_sum_b_option_fun$_1' != 'fmb_A_a_sum_b_option_fun$_4' )
    & ( 'fmb_A_a_sum_b_option_fun$_2' != 'fmb_A_a_sum_b_option_fun$_3' )
    & ( 'fmb_A_a_sum_b_option_fun$_2' != 'fmb_A_a_sum_b_option_fun$_4' )
    & ( 'fmb_A_a_sum_b_option_fun$_3' != 'fmb_A_a_sum_b_option_fun$_4' ) ) ).

tff('declare_A_a_option_fun_a_option_fun$',type,
    'A_a_option_fun_a_option_fun$': $tType ).

tff('declare_A_a_option_fun_a_option_fun$1',type,
    'fmb_A_a_option_fun_a_option_fun$_1': 'A_a_option_fun_a_option_fun$' ).

tff('declare_A_a_option_fun_a_option_fun$2',type,
    'fmb_A_a_option_fun_a_option_fun$_2': 'A_a_option_fun_a_option_fun$' ).

tff('declare_A_a_option_fun_a_option_fun$3',type,
    'fmb_A_a_option_fun_a_option_fun$_3': 'A_a_option_fun_a_option_fun$' ).

tff('declare_A_a_option_fun_a_option_fun$4',type,
    'fmb_A_a_option_fun_a_option_fun$_4': 'A_a_option_fun_a_option_fun$' ).

tff('finite_domain_A_a_option_fun_a_option_fun$',axiom,
    ! [X: 'A_a_option_fun_a_option_fun$'] :
      ( ( X = 'fmb_A_a_option_fun_a_option_fun$_1' )
      | ( X = 'fmb_A_a_option_fun_a_option_fun$_2' )
      | ( X = 'fmb_A_a_option_fun_a_option_fun$_3' )
      | ( X = 'fmb_A_a_option_fun_a_option_fun$_4' ) ) ).

tff('distinct_domain_A_a_option_fun_a_option_fun$',axiom,
    ( ( 'fmb_A_a_option_fun_a_option_fun$_1' != 'fmb_A_a_option_fun_a_option_fun$_2' )
    & ( 'fmb_A_a_option_fun_a_option_fun$_1' != 'fmb_A_a_option_fun_a_option_fun$_3' )
    & ( 'fmb_A_a_option_fun_a_option_fun$_1' != 'fmb_A_a_option_fun_a_option_fun$_4' )
    & ( 'fmb_A_a_option_fun_a_option_fun$_2' != 'fmb_A_a_option_fun_a_option_fun$_3' )
    & ( 'fmb_A_a_option_fun_a_option_fun$_2' != 'fmb_A_a_option_fun_a_option_fun$_4' )
    & ( 'fmb_A_a_option_fun_a_option_fun$_3' != 'fmb_A_a_option_fun_a_option_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_A_option_a_option_bool_fun_fun$',type,
    'A_option_a_option_bool_fun_fun$': $tType ).

tff('declare_A_option_a_option_bool_fun_fun$1',type,
    'fmb_A_option_a_option_bool_fun_fun$_1': 'A_option_a_option_bool_fun_fun$' ).

tff('declare_A_option_a_option_bool_fun_fun$2',type,
    'fmb_A_option_a_option_bool_fun_fun$_2': 'A_option_a_option_bool_fun_fun$' ).

tff('declare_A_option_a_option_bool_fun_fun$3',type,
    'fmb_A_option_a_option_bool_fun_fun$_3': 'A_option_a_option_bool_fun_fun$' ).

tff('declare_A_option_a_option_bool_fun_fun$4',type,
    'fmb_A_option_a_option_bool_fun_fun$_4': 'A_option_a_option_bool_fun_fun$' ).

tff('finite_domain_A_option_a_option_bool_fun_fun$',axiom,
    ! [X: 'A_option_a_option_bool_fun_fun$'] :
      ( ( X = 'fmb_A_option_a_option_bool_fun_fun$_1' )
      | ( X = 'fmb_A_option_a_option_bool_fun_fun$_2' )
      | ( X = 'fmb_A_option_a_option_bool_fun_fun$_3' )
      | ( X = 'fmb_A_option_a_option_bool_fun_fun$_4' ) ) ).

tff('distinct_domain_A_option_a_option_bool_fun_fun$',axiom,
    ( ( 'fmb_A_option_a_option_bool_fun_fun$_1' != 'fmb_A_option_a_option_bool_fun_fun$_2' )
    & ( 'fmb_A_option_a_option_bool_fun_fun$_1' != 'fmb_A_option_a_option_bool_fun_fun$_3' )
    & ( 'fmb_A_option_a_option_bool_fun_fun$_1' != 'fmb_A_option_a_option_bool_fun_fun$_4' )
    & ( 'fmb_A_option_a_option_bool_fun_fun$_2' != 'fmb_A_option_a_option_bool_fun_fun$_3' )
    & ( 'fmb_A_option_a_option_bool_fun_fun$_2' != 'fmb_A_option_a_option_bool_fun_fun$_4' )
    & ( 'fmb_A_option_a_option_bool_fun_fun$_3' != 'fmb_A_option_a_option_bool_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_A_b_b_fun_fun$',type,
    'A_b_b_fun_fun$': $tType ).

tff('declare_A_b_b_fun_fun$1',type,
    'fmb_A_b_b_fun_fun$_1': 'A_b_b_fun_fun$' ).

tff('finite_domain_A_b_b_fun_fun$',axiom,
    ! [X: 'A_b_b_fun_fun$'] : ( X = 'fmb_A_b_b_fun_fun$_1' ) ).

tff('declare_C_c_option_fun_c_c_option_fun_fun$',type,
    'C_c_option_fun_c_c_option_fun_fun$': $tType ).

tff('declare_C_c_option_fun_c_c_option_fun_fun$1',type,
    'fmb_C_c_option_fun_c_c_option_fun_fun$_1': 'C_c_option_fun_c_c_option_fun_fun$' ).

tff('declare_C_c_option_fun_c_c_option_fun_fun$2',type,
    'fmb_C_c_option_fun_c_c_option_fun_fun$_2': 'C_c_option_fun_c_c_option_fun_fun$' ).

tff('declare_C_c_option_fun_c_c_option_fun_fun$3',type,
    'fmb_C_c_option_fun_c_c_option_fun_fun$_3': 'C_c_option_fun_c_c_option_fun_fun$' ).

tff('declare_C_c_option_fun_c_c_option_fun_fun$4',type,
    'fmb_C_c_option_fun_c_c_option_fun_fun$_4': 'C_c_option_fun_c_c_option_fun_fun$' ).

tff('finite_domain_C_c_option_fun_c_c_option_fun_fun$',axiom,
    ! [X: 'C_c_option_fun_c_c_option_fun_fun$'] :
      ( ( X = 'fmb_C_c_option_fun_c_c_option_fun_fun$_1' )
      | ( X = 'fmb_C_c_option_fun_c_c_option_fun_fun$_2' )
      | ( X = 'fmb_C_c_option_fun_c_c_option_fun_fun$_3' )
      | ( X = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' ) ) ).

tff('distinct_domain_C_c_option_fun_c_c_option_fun_fun$',axiom,
    ( ( 'fmb_C_c_option_fun_c_c_option_fun_fun$_1' != 'fmb_C_c_option_fun_c_c_option_fun_fun$_2' )
    & ( 'fmb_C_c_option_fun_c_c_option_fun_fun$_1' != 'fmb_C_c_option_fun_c_c_option_fun_fun$_3' )
    & ( 'fmb_C_c_option_fun_c_c_option_fun_fun$_1' != 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' )
    & ( 'fmb_C_c_option_fun_c_c_option_fun_fun$_2' != 'fmb_C_c_option_fun_c_c_option_fun_fun$_3' )
    & ( 'fmb_C_c_option_fun_c_c_option_fun_fun$_2' != 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' )
    & ( 'fmb_C_c_option_fun_c_c_option_fun_fun$_3' != 'fmb_C_c_option_fun_c_c_option_fun_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_B_option_a_option_fun$',type,
    'B_option_a_option_fun$': $tType ).

tff('declare_B_option_a_option_fun$1',type,
    'fmb_B_option_a_option_fun$_1': 'B_option_a_option_fun$' ).

tff('declare_B_option_a_option_fun$2',type,
    'fmb_B_option_a_option_fun$_2': 'B_option_a_option_fun$' ).

tff('declare_B_option_a_option_fun$3',type,
    'fmb_B_option_a_option_fun$_3': 'B_option_a_option_fun$' ).

tff('declare_B_option_a_option_fun$4',type,
    'fmb_B_option_a_option_fun$_4': 'B_option_a_option_fun$' ).

tff('finite_domain_B_option_a_option_fun$',axiom,
    ! [X: 'B_option_a_option_fun$'] :
      ( ( X = 'fmb_B_option_a_option_fun$_1' )
      | ( X = 'fmb_B_option_a_option_fun$_2' )
      | ( X = 'fmb_B_option_a_option_fun$_3' )
      | ( X = 'fmb_B_option_a_option_fun$_4' ) ) ).

tff('distinct_domain_B_option_a_option_fun$',axiom,
    ( ( 'fmb_B_option_a_option_fun$_1' != 'fmb_B_option_a_option_fun$_2' )
    & ( 'fmb_B_option_a_option_fun$_1' != 'fmb_B_option_a_option_fun$_3' )
    & ( 'fmb_B_option_a_option_fun$_1' != 'fmb_B_option_a_option_fun$_4' )
    & ( 'fmb_B_option_a_option_fun$_2' != 'fmb_B_option_a_option_fun$_3' )
    & ( 'fmb_B_option_a_option_fun$_2' != 'fmb_B_option_a_option_fun$_4' )
    & ( 'fmb_B_option_a_option_fun$_3' != 'fmb_B_option_a_option_fun$_4' ) ) ).

tff('declare_B_c_fun$',type,
    'B_c_fun$': $tType ).

tff('declare_B_c_fun$1',type,
    'fmb_B_c_fun$_1': 'B_c_fun$' ).

tff('declare_B_c_fun$2',type,
    'fmb_B_c_fun$_2': 'B_c_fun$' ).

tff('declare_B_c_fun$3',type,
    'fmb_B_c_fun$_3': 'B_c_fun$' ).

tff('declare_B_c_fun$4',type,
    'fmb_B_c_fun$_4': 'B_c_fun$' ).

tff('finite_domain_B_c_fun$',axiom,
    ! [X: 'B_c_fun$'] :
      ( ( X = 'fmb_B_c_fun$_1' )
      | ( X = 'fmb_B_c_fun$_2' )
      | ( X = 'fmb_B_c_fun$_3' )
      | ( X = 'fmb_B_c_fun$_4' ) ) ).

tff('distinct_domain_B_c_fun$',axiom,
    ( ( 'fmb_B_c_fun$_1' != 'fmb_B_c_fun$_2' )
    & ( 'fmb_B_c_fun$_1' != 'fmb_B_c_fun$_3' )
    & ( 'fmb_B_c_fun$_1' != 'fmb_B_c_fun$_4' )
    & ( 'fmb_B_c_fun$_2' != 'fmb_B_c_fun$_3' )
    & ( 'fmb_B_c_fun$_2' != 'fmb_B_c_fun$_4' )
    & ( 'fmb_B_c_fun$_3' != 'fmb_B_c_fun$_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('finite_domain_C_set$',axiom,
    ! [X: 'C_set$'] :
      ( ( X = 'fmb_C_set$_1' )
      | ( X = 'fmb_C_set$_2' ) ) ).

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

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_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('declare_A_c_option_fun$2',type,
    'fmb_A_c_option_fun$_2': 'A_c_option_fun$' ).

tff('declare_A_c_option_fun$3',type,
    'fmb_A_c_option_fun$_3': 'A_c_option_fun$' ).

tff('declare_A_c_option_fun$4',type,
    'fmb_A_c_option_fun$_4': 'A_c_option_fun$' ).

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

tff('distinct_domain_A_c_option_fun$',axiom,
    ( ( 'fmb_A_c_option_fun$_1' != 'fmb_A_c_option_fun$_2' )
    & ( 'fmb_A_c_option_fun$_1' != 'fmb_A_c_option_fun$_3' )
    & ( 'fmb_A_c_option_fun$_1' != 'fmb_A_c_option_fun$_4' )
    & ( 'fmb_A_c_option_fun$_2' != 'fmb_A_c_option_fun$_3' )
    & ( 'fmb_A_c_option_fun$_2' != 'fmb_A_c_option_fun$_4' )
    & ( 'fmb_A_c_option_fun$_3' != 'fmb_A_c_option_fun$_4' ) ) ).

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_B_b_sum_b_fun$',type,
    'B_b_sum_b_fun$': $tType ).

tff('declare_B_b_sum_b_fun$1',type,
    'fmb_B_b_sum_b_fun$_1': 'B_b_sum_b_fun$' ).

tff('declare_B_b_sum_b_fun$2',type,
    'fmb_B_b_sum_b_fun$_2': 'B_b_sum_b_fun$' ).

tff('declare_B_b_sum_b_fun$3',type,
    'fmb_B_b_sum_b_fun$_3': 'B_b_sum_b_fun$' ).

tff('declare_B_b_sum_b_fun$4',type,
    'fmb_B_b_sum_b_fun$_4': 'B_b_sum_b_fun$' ).

tff('finite_domain_B_b_sum_b_fun$',axiom,
    ! [X: 'B_b_sum_b_fun$'] :
      ( ( X = 'fmb_B_b_sum_b_fun$_1' )
      | ( X = 'fmb_B_b_sum_b_fun$_2' )
      | ( X = 'fmb_B_b_sum_b_fun$_3' )
      | ( X = 'fmb_B_b_sum_b_fun$_4' ) ) ).

tff('distinct_domain_B_b_sum_b_fun$',axiom,
    ( ( 'fmb_B_b_sum_b_fun$_1' != 'fmb_B_b_sum_b_fun$_2' )
    & ( 'fmb_B_b_sum_b_fun$_1' != 'fmb_B_b_sum_b_fun$_3' )
    & ( 'fmb_B_b_sum_b_fun$_1' != 'fmb_B_b_sum_b_fun$_4' )
    & ( 'fmb_B_b_sum_b_fun$_2' != 'fmb_B_b_sum_b_fun$_3' )
    & ( 'fmb_B_b_sum_b_fun$_2' != 'fmb_B_b_sum_b_fun$_4' )
    & ( 'fmb_B_b_sum_b_fun$_3' != 'fmb_B_b_sum_b_fun$_4' ) ) ).

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

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

tff('declare_the$',type,
    'the$': 'B_option_b_fun$' ).

tff('the$_definition',axiom,
    'the$' = 'fmb_B_option_b_fun$_1' ).

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_uvm$',type,
    'uvm$': 'B_b_fun$' ).

tff('uvm$_definition',axiom,
    'uvm$' = 'fmb_B_b_fun$_1' ).

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

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

tff('declare_uug$',type,
    'uug$': 'B_bool_fun$' ).

tff('uug$_definition',axiom,
    'uug$' = 'fmb_B_bool_fun$_2' ).

tff('declare_g$',type,
    'g$': 'B_b_option_fun_c_c_option_fun_fun$' ).

tff('g$_definition',axiom,
    'g$' = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' ).

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

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

tff('declare_uwg$',type,
    'uwg$': 'C_option_bool_fun$' ).

tff('uwg$_definition',axiom,
    'uwg$' = 'fmb_C_option_bool_fun$_1' ).

tff('declare_uvs$',type,
    'uvs$': 'C_c_fun$' ).

tff('uvs$_definition',axiom,
    'uvs$' = 'fmb_C_c_fun$_1' ).

tff('declare_top$a',type,
    'top$a': 'C_set$' ).

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

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

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

tff('declare_id$b',type,
    'id$b': 'B_b_fun$' ).

tff('id$b_definition',axiom,
    'id$b' = 'fmb_B_b_fun$_1' ).

tff('declare_id$g',type,
    'id$g': 'C_c_option_fun_c_c_option_fun_fun$' ).

tff('id$g_definition',axiom,
    'id$g' = 'fmb_C_c_option_fun_c_c_option_fun_fun$_1' ).

tff('declare_id$c',type,
    'id$c': 'C_option_c_option_fun$' ).

tff('id$c_definition',axiom,
    'id$c' = 'fmb_C_option_c_option_fun$_1' ).

tff('declare_uub$',type,
    'uub$': 'A_bool_fun$' ).

tff('uub$_definition',axiom,
    'uub$' = 'fmb_A_bool_fun$_1' ).

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

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

tff('declare_uud$',type,
    'uud$': 'B_bool_fun$' ).

tff('uud$_definition',axiom,
    'uud$' = 'fmb_B_bool_fun$_3' ).

tff('declare_uwd$',type,
    'uwd$': 'B_b_option_fun$' ).

tff('uwd$_definition',axiom,
    'uwd$' = 'fmb_B_b_option_fun$_1' ).

tff('declare_top$',type,
    'top$': 'C_option_set$' ).

tff('top$_definition',axiom,
    'top$' = 'fmb_C_option_set$_1' ).

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

tff('some$_definition',axiom,
    'some$' = 'fmb_B_b_option_fun$_2' ).

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

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

tff('declare_the$a',type,
    'the$a': 'C_option_c_fun$' ).

tff('the$a_definition',axiom,
    'the$a' = 'fmb_C_option_c_fun$_1' ).

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

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

tff('declare_id$d',type,
    'id$d': 'B_option_b_option_fun$' ).

tff('id$d_definition',axiom,
    'id$d' = 'fmb_B_option_b_option_fun$_1' ).

tff('declare_f$',type,
    'f$': 'A_a_option_fun_b_b_option_fun_fun$' ).

tff('f$_definition',axiom,
    'f$' = 'fmb_A_a_option_fun_b_b_option_fun_fun$_1' ).

tff(declare_tltrue,type,
    tltrue: tlbool ).

tff(tltrue_definition,axiom,
    tltrue = fmb_tlbool_1 ).

tff('declare_top$c',type,
    'top$c': 'B_set$' ).

tff('top$c_definition',axiom,
    'top$c' = 'fmb_B_set$_2' ).

tff('declare_uuc$',type,
    'uuc$': 'C_bool_fun$' ).

tff('uuc$_definition',axiom,
    'uuc$' = 'fmb_C_bool_fun$_1' ).

tff('declare_uvo$',type,
    'uvo$': 'A_a_a_fun_fun$' ).

tff('uvo$_definition',axiom,
    'uvo$' = 'fmb_A_a_a_fun_fun$_1' ).

tff('declare_uwc$',type,
    'uwc$': 'C_c_option_fun$' ).

tff('uwc$_definition',axiom,
    'uwc$' = 'fmb_C_c_option_fun$_2' ).

tff('declare_uws$',type,
    'uws$': 'C_option_c_option_bool_fun_fun$' ).

tff('uws$_definition',axiom,
    'uws$' = 'fmb_C_option_c_option_bool_fun_fun$_1' ).

tff('declare_id$',type,
    'id$': 'A_a_fun$' ).

tff('id$_definition',axiom,
    'id$' = 'fmb_A_a_fun$_1' ).

tff('declare_undefined$a',type,
    'undefined$a': 'B$' ).

tff('undefined$a_definition',axiom,
    'undefined$a' = 'fmb_B$_1' ).

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

tff('bot$c_definition',axiom,
    'bot$c' = 'fmb_C_set$_2' ).

tff('declare_id$e',type,
    'id$e': 'A_option_a_option_fun$' ).

tff('id$e_definition',axiom,
    'id$e' = 'fmb_A_option_a_option_fun$_1' ).

tff('declare_top$b',type,
    'top$b': 'B_option_set$' ).

tff('top$b_definition',axiom,
    'top$b' = 'fmb_B_option_set$_2' ).

tff('declare_uwe$',type,
    'uwe$': 'C_b_option_fun$' ).

tff('uwe$_definition',axiom,
    'uwe$' = 'fmb_C_b_option_fun$_1' ).

tff('declare_uwo$',type,
    'uwo$': 'C_option_c_option_bool_fun_fun$' ).

tff('uwo$_definition',axiom,
    'uwo$' = 'fmb_C_option_c_option_bool_fun_fun$_1' ).

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

tff('bot$b_definition',axiom,
    'bot$b' = 'fmb_C_option_set$_2' ).

tff('declare_uvp$',type,
    'uvp$': 'B_b_b_fun_fun$' ).

tff('uvp$_definition',axiom,
    'uvp$' = 'fmb_B_b_b_fun_fun$_1' ).

tff('declare_uuf$',type,
    'uuf$': 'C_bool_fun$' ).

tff('uuf$_definition',axiom,
    'uuf$' = 'fmb_C_bool_fun$_2' ).

tff('declare_id$f',type,
    'id$f': 'B_b_option_fun_b_b_option_fun_fun$' ).

tff('id$f_definition',axiom,
    'id$f' = 'fmb_B_b_option_fun_b_b_option_fun_fun$_1' ).

tff('declare_uwf$',type,
    'uwf$': 'B_option_bool_fun$' ).

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

tff('declare_uwr$',type,
    'uwr$': 'B_option_b_option_bool_fun_fun$' ).

tff('uwr$_definition',axiom,
    'uwr$' = 'fmb_B_option_b_option_bool_fun_fun$_1' ).

tff(declare_tlfalse,type,
    tlfalse: tlbool ).

tff(tlfalse_definition,axiom,
    tlfalse = fmb_tlbool_2 ).

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

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

tff('declare_uvn$',type,
    'uvn$': 'A_a_fun$' ).

tff('uvn$_definition',axiom,
    'uvn$' = 'fmb_A_a_fun$_2' ).

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

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

tff('declare_uwn$',type,
    'uwn$': 'B_option_b_option_bool_fun_fun$' ).

tff('uwn$_definition',axiom,
    'uwn$' = 'fmb_B_option_b_option_bool_fun_fun$_1' ).

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

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

tff('declare_the$b',type,
    'the$b': 'A_option_a_fun$' ).

tff('the$b_definition',axiom,
    'the$b' = 'fmb_A_option_a_fun$_1' ).

tff('declare_undefined$b',type,
    'undefined$b': 'C$' ).

tff('undefined$b_definition',axiom,
    'undefined$b' = 'fmb_C$_1' ).

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

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

tff('declare_id$a',type,
    'id$a': 'C_c_fun$' ).

tff('id$a_definition',axiom,
    'id$a' = 'fmb_C_c_fun$_1' ).

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

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

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

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

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

tff('is_none$a_definition',axiom,
    'is_none$a' = 'fmb_C_option_bool_fun$_2' ).

tff('declare_undefined$',type,
    'undefined$': 'A$' ).

tff('undefined$_definition',axiom,
    'undefined$' = 'fmb_A$_1' ).

tff('declare_sF$',type,
    'sF$': 'A_b_b_fun_fun$' ).

tff('sF$_definition',axiom,
    'sF$' = 'fmb_A_b_b_fun_fun$_1' ).

tff('declare_uue$',type,
    'uue$': 'A_bool_fun$' ).

tff('uue$_definition',axiom,
    'uue$' = 'fmb_A_bool_fun$_2' ).

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

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

tff('declare_gF$',type,
    'gF$': 'B_a_fun$' ).

tff('gF$_definition',axiom,
    'gF$' = 'fmb_B_a_fun$_1' ).

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

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

tff('declare_uwb$',type,
    'uwb$': 'B_c_option_fun$' ).

tff('uwb$_definition',axiom,
    'uwb$' = 'fmb_B_c_option_fun$_1' ).

tff('declare_register_from_getter_setter$d',type,
    'register_from_getter_setter$d': ( 'C_c_fun$' * 'C_c_c_fun_fun$' ) > 'C_c_option_fun_c_c_option_fun_fun$' ).

tff('function_register_from_getter_setter$d',axiom,
    ( ( 'register_from_getter_setter$d'('fmb_C_c_fun$_1','fmb_C_c_c_fun_fun$_1') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_2' )
    & ( 'register_from_getter_setter$d'('fmb_C_c_fun$_1','fmb_C_c_c_fun_fun$_2') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_1' )
    & ( 'register_from_getter_setter$d'('fmb_C_c_fun$_1','fmb_C_c_c_fun_fun$_3') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' )
    & ( 'register_from_getter_setter$d'('fmb_C_c_fun$_1','fmb_C_c_c_fun_fun$_4') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' ) ) ).

tff('declare_map_option$c',type,
    'map_option$c': 'C_c_fun$' > 'C_option_c_option_fun$' ).

tff('function_map_option$c',axiom,
    'map_option$c'('fmb_C_c_fun$_1') = 'fmb_C_option_c_option_fun$_1' ).

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

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

tff('declare_comp$aw',type,
    'comp$aw': ( 'B_option_c_option_fun$' * 'C_b_option_fun$' ) > 'C_c_option_fun$' ).

tff('function_comp$aw',axiom,
    ( ( 'comp$aw'('fmb_B_option_c_option_fun$_1','fmb_C_b_option_fun$_1') = 'fmb_C_c_option_fun$_3' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_1','fmb_C_b_option_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_1','fmb_C_b_option_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_1','fmb_C_b_option_fun$_4') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_2','fmb_C_b_option_fun$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_2','fmb_C_b_option_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_2','fmb_C_b_option_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_2','fmb_C_b_option_fun$_4') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_3','fmb_C_b_option_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_3','fmb_C_b_option_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_3','fmb_C_b_option_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_3','fmb_C_b_option_fun$_4') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_4','fmb_C_b_option_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_4','fmb_C_b_option_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_4','fmb_C_b_option_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$aw'('fmb_B_option_c_option_fun$_4','fmb_C_b_option_fun$_4') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_uuq$',type,
    'uuq$': ( 'C_option_bool_fun$' * 'C_c_option_fun$' ) > 'C_bool_fun$' ).

tff('function_uuq$',axiom,
    ( ( 'uuq$'('fmb_C_option_bool_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_C_bool_fun$_4' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_C_bool_fun$_4' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_C_bool_fun$_4' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_2','fmb_C_c_option_fun$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_2','fmb_C_c_option_fun$_2') = 'fmb_C_bool_fun$_3' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_2','fmb_C_c_option_fun$_3') = 'fmb_C_bool_fun$_4' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_2','fmb_C_c_option_fun$_4') = 'fmb_C_bool_fun$_4' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_3','fmb_C_c_option_fun$_1') = 'fmb_C_bool_fun$_3' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_3','fmb_C_c_option_fun$_2') = 'fmb_C_bool_fun$_4' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_3','fmb_C_c_option_fun$_3') = 'fmb_C_bool_fun$_3' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_3','fmb_C_c_option_fun$_4') = 'fmb_C_bool_fun$_3' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_4','fmb_C_c_option_fun$_1') = 'fmb_C_bool_fun$_3' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_4','fmb_C_c_option_fun$_2') = 'fmb_C_bool_fun$_3' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_4','fmb_C_c_option_fun$_3') = 'fmb_C_bool_fun$_3' )
    & ( 'uuq$'('fmb_C_option_bool_fun$_4','fmb_C_c_option_fun$_4') = 'fmb_C_bool_fun$_3' ) ) ).

tff('declare_comp$ax',type,
    'comp$ax': 'B_option_b_option_fun$' > 'B_b_option_fun_b_b_option_fun_fun$' ).

tff('function_comp$ax',axiom,
    ( ( 'comp$ax'('fmb_B_option_b_option_fun$_1') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_2' )
    & ( 'comp$ax'('fmb_B_option_b_option_fun$_2') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_3' )
    & ( 'comp$ax'('fmb_B_option_b_option_fun$_3') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' )
    & ( 'comp$ax'('fmb_B_option_b_option_fun$_4') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' ) ) ).

tff('declare_fun_app$ao',type,
    'fun_app$ao': ( 'B_a_fun$' * 'B$' ) > 'A$' ).

tff('function_fun_app$ao',axiom,
    'fun_app$ao'('fmb_B_a_fun$_1','fmb_B$_1') = 'fmb_A$_1' ).

tff('declare_combine_options$',type,
    'combine_options$': ( 'A_a_a_fun_fun$' * 'A_option$' ) > 'A_option_a_option_fun$' ).

tff('function_combine_options$',axiom,
    ( ( 'combine_options$'('fmb_A_a_a_fun_fun$_1','fmb_A_option$_1') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'combine_options$'('fmb_A_a_a_fun_fun$_1','fmb_A_option$_2') = 'fmb_A_option_a_option_fun$_3' )
    & ( 'combine_options$'('fmb_A_a_a_fun_fun$_2','fmb_A_option$_1') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'combine_options$'('fmb_A_a_a_fun_fun$_2','fmb_A_option$_2') = 'fmb_A_option_a_option_fun$_3' )
    & ( 'combine_options$'('fmb_A_a_a_fun_fun$_3','fmb_A_option$_1') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'combine_options$'('fmb_A_a_a_fun_fun$_3','fmb_A_option$_2') = 'fmb_A_option_a_option_fun$_3' )
    & ( 'combine_options$'('fmb_A_a_a_fun_fun$_4','fmb_A_option$_1') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'combine_options$'('fmb_A_a_a_fun_fun$_4','fmb_A_option$_2') = 'fmb_A_option_a_option_fun$_3' ) ) ).

tff('declare_comp$ag',type,
    'comp$ag': ( 'B_b_fun$' * 'C_b_fun$' ) > 'C_b_fun$' ).

tff('function_comp$ag',axiom,
    'comp$ag'('fmb_B_b_fun$_1','fmb_C_b_fun$_1') = 'fmb_C_b_fun$_1' ).

tff('declare_collect$c',type,
    'collect$c': 'C_option_bool_fun$' > 'C_option_set$' ).

tff('function_collect$c',axiom,
    ( ( 'collect$c'('fmb_C_option_bool_fun$_1') = 'fmb_C_option_set$_2' )
    & ( 'collect$c'('fmb_C_option_bool_fun$_2') = 'fmb_C_option_set$_4' )
    & ( 'collect$c'('fmb_C_option_bool_fun$_3') = 'fmb_C_option_set$_3' )
    & ( 'collect$c'('fmb_C_option_bool_fun$_4') = 'fmb_C_option_set$_1' ) ) ).

tff('declare_the$c',type,
    'the$c': 'A_bool_fun$' > 'A$' ).

tff('function_the$c',axiom,
    ( ( 'the$c'('fmb_A_bool_fun$_1') = 'fmb_A$_1' )
    & ( 'the$c'('fmb_A_bool_fun$_2') = 'fmb_A$_1' )
    & ( 'the$c'('fmb_A_bool_fun$_3') = 'fmb_A$_1' )
    & ( 'the$c'('fmb_A_bool_fun$_4') = 'fmb_A$_1' ) ) ).

tff('declare_comp$an',type,
    'comp$an': ( 'C_c_option_fun_c_c_option_fun_fun$' * 'B_b_option_fun_c_c_option_fun_fun$' ) > 'B_b_option_fun_c_c_option_fun_fun$' ).

tff('function_comp$an',axiom,
    ( ( 'comp$an'('fmb_C_c_option_fun_c_c_option_fun_fun$_1','fmb_B_b_option_fun_c_c_option_fun_fun$_1') = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' )
    & ( 'comp$an'('fmb_C_c_option_fun_c_c_option_fun_fun$_2','fmb_B_b_option_fun_c_c_option_fun_fun$_1') = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' )
    & ( 'comp$an'('fmb_C_c_option_fun_c_c_option_fun_fun$_3','fmb_B_b_option_fun_c_c_option_fun_fun$_1') = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' )
    & ( 'comp$an'('fmb_C_c_option_fun_c_c_option_fun_fun$_4','fmb_B_b_option_fun_c_c_option_fun_fun$_1') = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' ) ) ).

tff('declare_update1$',type,
    'update1$': ( 'A$' * 'A$' ) > 'A_a_option_fun$' ).

tff('function_update1$',axiom,
    'update1$'('fmb_A$_1','fmb_A$_1') = 'fmb_A_a_option_fun$_2' ).

tff('declare_uuv$',type,
    'uuv$': ( 'A_b_b_option_fun_fun$' * 'B$' ) > 'A_b_option_fun$' ).

tff('function_uuv$',axiom,
    ( ( 'uuv$'('fmb_A_b_b_option_fun_fun$_1','fmb_B$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'uuv$'('fmb_A_b_b_option_fun_fun$_2','fmb_B$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'uuv$'('fmb_A_b_b_option_fun_fun$_3','fmb_B$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'uuv$'('fmb_A_b_b_option_fun_fun$_4','fmb_B$_1') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_comp$s',type,
    'comp$s': ( 'B_a_fun$' * 'A_b_fun$' ) > 'A_a_fun$' ).

tff('function_comp$s',axiom,
    ( ( 'comp$s'('fmb_B_a_fun$_1','fmb_A_b_fun$_1') = 'fmb_A_a_fun$_4' )
    & ( 'comp$s'('fmb_B_a_fun$_1','fmb_A_b_fun$_2') = 'fmb_A_a_fun$_4' )
    & ( 'comp$s'('fmb_B_a_fun$_1','fmb_A_b_fun$_3') = 'fmb_A_a_fun$_4' )
    & ( 'comp$s'('fmb_B_a_fun$_1','fmb_A_b_fun$_4') = 'fmb_A_a_fun$_4' ) ) ).

tff('declare_comp$z',type,
    'comp$z': ( 'B_option_c_option_fun$' * 'C_option_b_option_fun$' ) > 'C_option_c_option_fun$' ).

tff('function_comp$z',axiom,
    ( ( 'comp$z'('fmb_B_option_c_option_fun$_1','fmb_C_option_b_option_fun$_1') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_1','fmb_C_option_b_option_fun$_2') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_1','fmb_C_option_b_option_fun$_3') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_1','fmb_C_option_b_option_fun$_4') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_2','fmb_C_option_b_option_fun$_1') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_2','fmb_C_option_b_option_fun$_2') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_2','fmb_C_option_b_option_fun$_3') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_2','fmb_C_option_b_option_fun$_4') = 'fmb_C_option_c_option_fun$_1' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_3','fmb_C_option_b_option_fun$_1') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_3','fmb_C_option_b_option_fun$_2') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_3','fmb_C_option_b_option_fun$_3') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_3','fmb_C_option_b_option_fun$_4') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_4','fmb_C_option_b_option_fun$_1') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_4','fmb_C_option_b_option_fun$_2') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_4','fmb_C_option_b_option_fun$_3') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'comp$z'('fmb_B_option_c_option_fun$_4','fmb_C_option_b_option_fun$_4') = 'fmb_C_option_c_option_fun$_4' ) ) ).

tff('declare_fun_app$t',type,
    'fun_app$t': ( 'B_b_b_option_fun_fun$' * 'B$' ) > 'B_b_option_fun$' ).

tff('function_fun_app$t',axiom,
    ( ( 'fun_app$t'('fmb_B_b_b_option_fun_fun$_1','fmb_B$_1') = 'fmb_B_b_option_fun$_3' )
    & ( 'fun_app$t'('fmb_B_b_b_option_fun_fun$_2','fmb_B$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$t'('fmb_B_b_b_option_fun_fun$_3','fmb_B$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$t'('fmb_B_b_b_option_fun_fun$_4','fmb_B$_1') = 'fmb_B_b_option_fun$_4' ) ) ).

tff(declare_def_1,type,
    def_1: ( 'C_bool_fun$' * 'C$' ) > tlbool ).

tff(function_def_1,axiom,
    ( ( def_1('fmb_C_bool_fun$_1','fmb_C$_1') = fmb_tlbool_2 )
    & ( def_1('fmb_C_bool_fun$_2','fmb_C$_1') = fmb_tlbool_1 )
    & ( def_1('fmb_C_bool_fun$_3','fmb_C$_1') = fmb_tlbool_1 )
    & ( def_1('fmb_C_bool_fun$_4','fmb_C$_1') = fmb_tlbool_2 ) ) ).

tff('declare_case_option$l',type,
    'case_option$l': ( 'B$' * 'B_option_b_fun$' * 'B_option_option$' ) > 'B$' ).

tff('function_case_option$l',axiom,
    ( ( 'case_option$l'('fmb_B$_1','fmb_B_option_b_fun$_1','fmb_B_option_option$_1') = 'fmb_B$_1' )
    & ( 'case_option$l'('fmb_B$_1','fmb_B_option_b_fun$_1','fmb_B_option_option$_2') = 'fmb_B$_1' )
    & ( 'case_option$l'('fmb_B$_1','fmb_B_option_b_fun$_2','fmb_B_option_option$_1') = 'fmb_B$_1' )
    & ( 'case_option$l'('fmb_B$_1','fmb_B_option_b_fun$_2','fmb_B_option_option$_2') = 'fmb_B$_1' )
    & ( 'case_option$l'('fmb_B$_1','fmb_B_option_b_fun$_3','fmb_B_option_option$_1') = 'fmb_B$_1' )
    & ( 'case_option$l'('fmb_B$_1','fmb_B_option_b_fun$_3','fmb_B_option_option$_2') = 'fmb_B$_1' )
    & ( 'case_option$l'('fmb_B$_1','fmb_B_option_b_fun$_4','fmb_B_option_option$_1') = 'fmb_B$_1' )
    & ( 'case_option$l'('fmb_B$_1','fmb_B_option_b_fun$_4','fmb_B_option_option$_2') = 'fmb_B$_1' ) ) ).

tff(declare_def_7,type,
    def_7: ( 'Bool_bool_fun$' * tlbool ) > tlbool ).

tff(function_def_7,axiom,
    ( ( def_7('fmb_Bool_bool_fun$_1',fmb_tlbool_1) = fmb_tlbool_2 )
    & ( def_7('fmb_Bool_bool_fun$_1',fmb_tlbool_2) = fmb_tlbool_2 )
    & ( def_7('fmb_Bool_bool_fun$_2',fmb_tlbool_1) = fmb_tlbool_2 )
    & ( def_7('fmb_Bool_bool_fun$_2',fmb_tlbool_2) = fmb_tlbool_2 )
    & ( def_7('fmb_Bool_bool_fun$_3',fmb_tlbool_1) = fmb_tlbool_2 )
    & ( def_7('fmb_Bool_bool_fun$_3',fmb_tlbool_2) = fmb_tlbool_2 )
    & ( def_7('fmb_Bool_bool_fun$_4',fmb_tlbool_1) = fmb_tlbool_2 )
    & ( def_7('fmb_Bool_bool_fun$_4',fmb_tlbool_2) = fmb_tlbool_2 ) ) ).

tff('declare_bind$b',type,
    'bind$b': ( 'B_option$' * 'B_c_option_fun$' ) > 'C_option$' ).

tff('function_bind$b',axiom,
    ( ( 'bind$b'('fmb_B_option$_1','fmb_B_c_option_fun$_1') = 'fmb_C_option$_1' )
    & ( 'bind$b'('fmb_B_option$_1','fmb_B_c_option_fun$_2') = 'fmb_C_option$_1' )
    & ( 'bind$b'('fmb_B_option$_2','fmb_B_c_option_fun$_1') = 'fmb_C_option$_1' )
    & ( 'bind$b'('fmb_B_option$_2','fmb_B_c_option_fun$_2') = 'fmb_C_option$_2' ) ) ).

tff('declare_map_option$e',type,
    'map_option$e': 'A_b_fun$' > 'A_option_b_option_fun$' ).

tff('function_map_option$e',axiom,
    ( ( 'map_option$e'('fmb_A_b_fun$_1') = 'fmb_A_option_b_option_fun$_2' )
    & ( 'map_option$e'('fmb_A_b_fun$_2') = 'fmb_A_option_b_option_fun$_2' )
    & ( 'map_option$e'('fmb_A_b_fun$_3') = 'fmb_A_option_b_option_fun$_2' )
    & ( 'map_option$e'('fmb_A_b_fun$_4') = 'fmb_A_option_b_option_fun$_2' ) ) ).

tff('declare_case_option$d',type,
    'case_option$d': ( 'B_option$' * 'A_b_option_fun$' ) > 'A_option_b_option_fun$' ).

tff('function_case_option$d',axiom,
    ( ( 'case_option$d'('fmb_B_option$_1','fmb_A_b_option_fun$_1') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'case_option$d'('fmb_B_option$_1','fmb_A_b_option_fun$_2') = 'fmb_A_option_b_option_fun$_2' )
    & ( 'case_option$d'('fmb_B_option$_2','fmb_A_b_option_fun$_1') = 'fmb_A_option_b_option_fun$_1' )
    & ( 'case_option$d'('fmb_B_option$_2','fmb_A_b_option_fun$_2') = 'fmb_A_option_b_option_fun$_3' ) ) ).

tff(declare_def_4,type,
    def_4: ( 'C_bool_fun$' * 'C$' ) > tlbool ).

tff(function_def_4,axiom,
    ( ( def_4('fmb_C_bool_fun$_1','fmb_C$_1') = fmb_tlbool_2 )
    & ( def_4('fmb_C_bool_fun$_2','fmb_C$_1') = fmb_tlbool_1 )
    & ( def_4('fmb_C_bool_fun$_3','fmb_C$_1') = fmb_tlbool_1 )
    & ( def_4('fmb_C_bool_fun$_4','fmb_C$_1') = fmb_tlbool_2 ) ) ).

tff('declare_register_apply$a',type,
    'register_apply$a': ( 'B_b_option_fun_c_c_option_fun_fun$' * 'B_b_fun$' ) > 'C_c_fun$' ).

tff('function_register_apply$a',axiom,
    'register_apply$a'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_B_b_fun$_1') = 'fmb_C_c_fun$_1' ).

tff('declare_fun_app$ba',type,
    'fun_app$ba': ( 'A_option_b_option_bool_fun_fun$' * 'A_option$' ) > 'B_option_bool_fun$' ).

tff('function_fun_app$ba',axiom,
    ( ( 'fun_app$ba'('fmb_A_option_b_option_bool_fun_fun$_1','fmb_A_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ba'('fmb_A_option_b_option_bool_fun_fun$_1','fmb_A_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ba'('fmb_A_option_b_option_bool_fun_fun$_2','fmb_A_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ba'('fmb_A_option_b_option_bool_fun_fun$_2','fmb_A_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ba'('fmb_A_option_b_option_bool_fun_fun$_3','fmb_A_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ba'('fmb_A_option_b_option_bool_fun_fun$_3','fmb_A_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ba'('fmb_A_option_b_option_bool_fun_fun$_4','fmb_A_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$ba'('fmb_A_option_b_option_bool_fun_fun$_4','fmb_A_option$_2') = 'fmb_B_option_bool_fun$_4' ) ) ).

tff('declare_uur$',type,
    'uur$': 'B$' > 'A_b_option_fun$' ).

tff('function_uur$',axiom,
    'uur$'('fmb_B$_1') = 'fmb_A_b_option_fun$_2' ).

tff(declare_def_2,type,
    def_2: ( 'B_bool_fun$' * 'B$' ) > tlbool ).

tff(function_def_2,axiom,
    ( ( def_2('fmb_B_bool_fun$_1','fmb_B$_1') = fmb_tlbool_2 )
    & ( def_2('fmb_B_bool_fun$_2','fmb_B$_1') = fmb_tlbool_1 )
    & ( def_2('fmb_B_bool_fun$_3','fmb_B$_1') = fmb_tlbool_2 )
    & ( def_2('fmb_B_bool_fun$_4','fmb_B$_1') = fmb_tlbool_2 ) ) ).

tff('declare_uux$',type,
    'uux$': ( 'A_a_a_fun_fun$' * 'A_option$' ) > 'A_a_option_fun$' ).

tff('function_uux$',axiom,
    ( ( 'uux$'('fmb_A_a_a_fun_fun$_1','fmb_A_option$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'uux$'('fmb_A_a_a_fun_fun$_1','fmb_A_option$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'uux$'('fmb_A_a_a_fun_fun$_2','fmb_A_option$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'uux$'('fmb_A_a_a_fun_fun$_2','fmb_A_option$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'uux$'('fmb_A_a_a_fun_fun$_3','fmb_A_option$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'uux$'('fmb_A_a_a_fun_fun$_3','fmb_A_option$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'uux$'('fmb_A_a_a_fun_fun$_4','fmb_A_option$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'uux$'('fmb_A_a_a_fun_fun$_4','fmb_A_option$_2') = 'fmb_A_a_option_fun$_4' ) ) ).

tff('declare_comp$t',type,
    'comp$t': ( 'C_option_b_option_fun$' * 'C_option_c_option_fun$' ) > 'C_option_b_option_fun$' ).

tff('function_comp$t',axiom,
    ( ( 'comp$t'('fmb_C_option_b_option_fun$_1','fmb_C_option_c_option_fun$_1') = 'fmb_C_option_b_option_fun$_2' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_1','fmb_C_option_c_option_fun$_2') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_1','fmb_C_option_c_option_fun$_3') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_1','fmb_C_option_c_option_fun$_4') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_2','fmb_C_option_c_option_fun$_1') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_2','fmb_C_option_c_option_fun$_2') = 'fmb_C_option_b_option_fun$_3' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_2','fmb_C_option_c_option_fun$_3') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_2','fmb_C_option_c_option_fun$_4') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_3','fmb_C_option_c_option_fun$_1') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_3','fmb_C_option_c_option_fun$_2') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_3','fmb_C_option_c_option_fun$_3') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_3','fmb_C_option_c_option_fun$_4') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_4','fmb_C_option_c_option_fun$_1') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_4','fmb_C_option_c_option_fun$_2') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_4','fmb_C_option_c_option_fun$_3') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$t'('fmb_C_option_b_option_fun$_4','fmb_C_option_c_option_fun$_4') = 'fmb_C_option_b_option_fun$_4' ) ) ).

tff('declare_map_option$j',type,
    'map_option$j': ( 'C_option_c_option_fun$' * 'C_option_option$' ) > 'C_option_option$' ).

tff('function_map_option$j',axiom,
    ( ( 'map_option$j'('fmb_C_option_c_option_fun$_1','fmb_C_option_option$_1') = 'fmb_C_option_option$_1' )
    & ( 'map_option$j'('fmb_C_option_c_option_fun$_1','fmb_C_option_option$_2') = 'fmb_C_option_option$_2' )
    & ( 'map_option$j'('fmb_C_option_c_option_fun$_2','fmb_C_option_option$_1') = 'fmb_C_option_option$_1' )
    & ( 'map_option$j'('fmb_C_option_c_option_fun$_2','fmb_C_option_option$_2') = 'fmb_C_option_option$_2' )
    & ( 'map_option$j'('fmb_C_option_c_option_fun$_3','fmb_C_option_option$_1') = 'fmb_C_option_option$_1' )
    & ( 'map_option$j'('fmb_C_option_c_option_fun$_3','fmb_C_option_option$_2') = 'fmb_C_option_option$_2' )
    & ( 'map_option$j'('fmb_C_option_c_option_fun$_4','fmb_C_option_option$_1') = 'fmb_C_option_option$_1' )
    & ( 'map_option$j'('fmb_C_option_c_option_fun$_4','fmb_C_option_option$_2') = 'fmb_C_option_option$_2' ) ) ).

tff('declare_fun_app$r',type,
    'fun_app$r': ( 'A_a_fun$' * 'A$' ) > 'A$' ).

tff('function_fun_app$r',axiom,
    ( ( 'fun_app$r'('fmb_A_a_fun$_1','fmb_A$_1') = 'fmb_A$_1' )
    & ( 'fun_app$r'('fmb_A_a_fun$_2','fmb_A$_1') = 'fmb_A$_1' )
    & ( 'fun_app$r'('fmb_A_a_fun$_3','fmb_A$_1') = 'fmb_A$_1' )
    & ( 'fun_app$r'('fmb_A_a_fun$_4','fmb_A$_1') = 'fmb_A$_1' ) ) ).

tff('declare_fun_app$bp',type,
    'fun_app$bp': ( 'A_a_option_fun_a_option_fun$' * 'A_a_option_fun$' ) > 'A_option$' ).

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

tff('declare_fun_upd$b',type,
    'fun_upd$b': ( 'B_b_fun$' * 'B$' ) > 'B_b_b_fun_fun$' ).

tff('function_fun_upd$b',axiom,
    'fun_upd$b'('fmb_B_b_fun$_1','fmb_B$_1') = 'fmb_B_b_b_fun_fun$_2' ).

tff('declare_comp$be',type,
    'comp$be': ( 'A_a_fun$' * 'A_a_fun$' ) > 'A_a_fun$' ).

tff('function_comp$be',axiom,
    ( ( 'comp$be'('fmb_A_a_fun$_1','fmb_A_a_fun$_1') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_1','fmb_A_a_fun$_2') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_1','fmb_A_a_fun$_3') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_1','fmb_A_a_fun$_4') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_2','fmb_A_a_fun$_1') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_2','fmb_A_a_fun$_2') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_2','fmb_A_a_fun$_3') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_2','fmb_A_a_fun$_4') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_3','fmb_A_a_fun$_1') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_3','fmb_A_a_fun$_2') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_3','fmb_A_a_fun$_3') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_3','fmb_A_a_fun$_4') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_4','fmb_A_a_fun$_1') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_4','fmb_A_a_fun$_2') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_4','fmb_A_a_fun$_3') = 'fmb_A_a_fun$_4' )
    & ( 'comp$be'('fmb_A_a_fun$_4','fmb_A_a_fun$_4') = 'fmb_A_a_fun$_4' ) ) ).

tff('declare_map_option$f',type,
    'map_option$f': 'A_c_fun$' > 'A_option_c_option_fun$' ).

tff('function_map_option$f',axiom,
    ( ( 'map_option$f'('fmb_A_c_fun$_1') = 'fmb_A_option_c_option_fun$_2' )
    & ( 'map_option$f'('fmb_A_c_fun$_2') = 'fmb_A_option_c_option_fun$_3' )
    & ( 'map_option$f'('fmb_A_c_fun$_3') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'map_option$f'('fmb_A_c_fun$_4') = 'fmb_A_option_c_option_fun$_4' ) ) ).

tff('declare_comp$aa',type,
    'comp$aa': ( 'B_c_fun$' * 'C_b_fun$' ) > 'C_c_fun$' ).

tff('function_comp$aa',axiom,
    ( ( 'comp$aa'('fmb_B_c_fun$_1','fmb_C_b_fun$_1') = 'fmb_C_c_fun$_1' )
    & ( 'comp$aa'('fmb_B_c_fun$_2','fmb_C_b_fun$_1') = 'fmb_C_c_fun$_1' )
    & ( 'comp$aa'('fmb_B_c_fun$_3','fmb_C_b_fun$_1') = 'fmb_C_c_fun$_1' )
    & ( 'comp$aa'('fmb_B_c_fun$_4','fmb_C_b_fun$_1') = 'fmb_C_c_fun$_1' ) ) ).

tff('declare_case_option$k',type,
    'case_option$k': ( 'C$' * 'C_c_fun$' ) > 'C_option_c_fun$' ).

tff('function_case_option$k',axiom,
    'case_option$k'('fmb_C$_1','fmb_C_c_fun$_1') = 'fmb_C_option_c_fun$_2' ).

tff('declare_comp$x',type,
    'comp$x': ( 'C_option_b_option_fun$' * 'B_option_c_option_fun$' ) > 'B_option_b_option_fun$' ).

tff('function_comp$x',axiom,
    ( ( 'comp$x'('fmb_C_option_b_option_fun$_1','fmb_B_option_c_option_fun$_1') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_1','fmb_B_option_c_option_fun$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_1','fmb_B_option_c_option_fun$_3') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_1','fmb_B_option_c_option_fun$_4') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_2','fmb_B_option_c_option_fun$_1') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_2','fmb_B_option_c_option_fun$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_2','fmb_B_option_c_option_fun$_3') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_2','fmb_B_option_c_option_fun$_4') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_3','fmb_B_option_c_option_fun$_1') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_3','fmb_B_option_c_option_fun$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_3','fmb_B_option_c_option_fun$_3') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_3','fmb_B_option_c_option_fun$_4') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_4','fmb_B_option_c_option_fun$_1') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_4','fmb_B_option_c_option_fun$_2') = 'fmb_B_option_b_option_fun$_1' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_4','fmb_B_option_c_option_fun$_3') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$x'('fmb_C_option_b_option_fun$_4','fmb_B_option_c_option_fun$_4') = 'fmb_B_option_b_option_fun$_4' ) ) ).

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

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

tff('declare_fun_app$ac',type,
    'fun_app$ac': ( 'B_b_option_fun_b_option_fun$' * 'B_b_option_fun$' ) > 'B_option$' ).

tff('function_fun_app$ac',axiom,
    ( ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_2','fmb_B_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_2','fmb_B_b_option_fun$_2') = 'fmb_B_option$_1' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_2','fmb_B_b_option_fun$_3') = 'fmb_B_option$_1' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_2','fmb_B_b_option_fun$_4') = 'fmb_B_option$_1' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_3','fmb_B_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_3','fmb_B_b_option_fun$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_3','fmb_B_b_option_fun$_3') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_3','fmb_B_b_option_fun$_4') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_4','fmb_B_b_option_fun$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_4','fmb_B_b_option_fun$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_4','fmb_B_b_option_fun$_3') = 'fmb_B_option$_2' )
    & ( 'fun_app$ac'('fmb_B_b_option_fun_b_option_fun$_4','fmb_B_b_option_fun$_4') = 'fmb_B_option$_2' ) ) ).

tff('declare_register_apply$',type,
    'register_apply$': ( 'A_a_option_fun_b_b_option_fun_fun$' * 'A_a_fun$' ) > 'B_b_fun$' ).

tff('function_register_apply$',axiom,
    ( ( 'register_apply$'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_A_a_fun$_1') = 'fmb_B_b_fun$_1' )
    & ( 'register_apply$'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_A_a_fun$_2') = 'fmb_B_b_fun$_1' )
    & ( 'register_apply$'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_A_a_fun$_3') = 'fmb_B_b_fun$_1' )
    & ( 'register_apply$'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_A_a_fun$_4') = 'fmb_B_b_fun$_1' ) ) ).

tff('declare_bind$d',type,
    'bind$d': ( 'A_option$' * 'A_c_option_fun$' ) > 'C_option$' ).

tff('function_bind$d',axiom,
    ( ( 'bind$d'('fmb_A_option$_1','fmb_A_c_option_fun$_1') = 'fmb_C_option$_1' )
    & ( 'bind$d'('fmb_A_option$_1','fmb_A_c_option_fun$_2') = 'fmb_C_option$_1' )
    & ( 'bind$d'('fmb_A_option$_1','fmb_A_c_option_fun$_3') = 'fmb_C_option$_1' )
    & ( 'bind$d'('fmb_A_option$_1','fmb_A_c_option_fun$_4') = 'fmb_C_option$_1' )
    & ( 'bind$d'('fmb_A_option$_2','fmb_A_c_option_fun$_1') = 'fmb_C_option$_2' )
    & ( 'bind$d'('fmb_A_option$_2','fmb_A_c_option_fun$_2') = 'fmb_C_option$_1' )
    & ( 'bind$d'('fmb_A_option$_2','fmb_A_c_option_fun$_3') = 'fmb_C_option$_2' )
    & ( 'bind$d'('fmb_A_option$_2','fmb_A_c_option_fun$_4') = 'fmb_C_option$_2' ) ) ).

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

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

tff('declare_case_sum$',type,
    'case_sum$': ( 'A_a_fun$' * 'A_a_fun$' ) > 'A_a_sum_a_fun$' ).

tff('function_case_sum$',axiom,
    ( ( 'case_sum$'('fmb_A_a_fun$_1','fmb_A_a_fun$_1') = 'fmb_A_a_sum_a_fun$_2' )
    & ( 'case_sum$'('fmb_A_a_fun$_1','fmb_A_a_fun$_2') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_1','fmb_A_a_fun$_3') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_1','fmb_A_a_fun$_4') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_2','fmb_A_a_fun$_1') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_2','fmb_A_a_fun$_2') = 'fmb_A_a_sum_a_fun$_3' )
    & ( 'case_sum$'('fmb_A_a_fun$_2','fmb_A_a_fun$_3') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_2','fmb_A_a_fun$_4') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_3','fmb_A_a_fun$_1') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_3','fmb_A_a_fun$_2') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_3','fmb_A_a_fun$_3') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_3','fmb_A_a_fun$_4') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_4','fmb_A_a_fun$_1') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_4','fmb_A_a_fun$_2') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_4','fmb_A_a_fun$_3') = 'fmb_A_a_sum_a_fun$_4' )
    & ( 'case_sum$'('fmb_A_a_fun$_4','fmb_A_a_fun$_4') = 'fmb_A_a_sum_a_fun$_4' ) ) ).

tff('declare_uui$',type,
    'uui$': ( 'B_option_b_option_fun$' * 'A_b_option_fun$' ) > 'A_b_option_fun$' ).

tff('function_uui$',axiom,
    ( ( 'uui$'('fmb_B_option_b_option_fun$_1','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_1' )
    & ( 'uui$'('fmb_B_option_b_option_fun$_1','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'uui$'('fmb_B_option_b_option_fun$_2','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'uui$'('fmb_B_option_b_option_fun$_2','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'uui$'('fmb_B_option_b_option_fun$_3','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'uui$'('fmb_B_option_b_option_fun$_3','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_1' )
    & ( 'uui$'('fmb_B_option_b_option_fun$_4','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_1' )
    & ( 'uui$'('fmb_B_option_b_option_fun$_4','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_1' ) ) ).

tff('declare_case_option$i',type,
    'case_option$i': ( 'A$' * 'A_a_fun$' * 'A_option$' ) > 'A$' ).

tff('function_case_option$i',axiom,
    ( ( 'case_option$i'('fmb_A$_1','fmb_A_a_fun$_1','fmb_A_option$_1') = 'fmb_A$_1' )
    & ( 'case_option$i'('fmb_A$_1','fmb_A_a_fun$_1','fmb_A_option$_2') = 'fmb_A$_1' )
    & ( 'case_option$i'('fmb_A$_1','fmb_A_a_fun$_2','fmb_A_option$_1') = 'fmb_A$_1' )
    & ( 'case_option$i'('fmb_A$_1','fmb_A_a_fun$_2','fmb_A_option$_2') = 'fmb_A$_1' )
    & ( 'case_option$i'('fmb_A$_1','fmb_A_a_fun$_3','fmb_A_option$_1') = 'fmb_A$_1' )
    & ( 'case_option$i'('fmb_A$_1','fmb_A_a_fun$_3','fmb_A_option$_2') = 'fmb_A$_1' )
    & ( 'case_option$i'('fmb_A$_1','fmb_A_a_fun$_4','fmb_A_option$_1') = 'fmb_A$_1' )
    & ( 'case_option$i'('fmb_A$_1','fmb_A_a_fun$_4','fmb_A_option$_2') = 'fmb_A$_1' ) ) ).

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

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

tff('declare_collect$a',type,
    'collect$a': 'C_bool_fun$' > 'C_set$' ).

tff('function_collect$a',axiom,
    ( ( 'collect$a'('fmb_C_bool_fun$_1') = 'fmb_C_set$_2' )
    & ( 'collect$a'('fmb_C_bool_fun$_2') = 'fmb_C_set$_1' )
    & ( 'collect$a'('fmb_C_bool_fun$_3') = 'fmb_C_set$_1' )
    & ( 'collect$a'('fmb_C_bool_fun$_4') = 'fmb_C_set$_2' ) ) ).

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

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

tff('declare_fun_app$e',type,
    'fun_app$e': ( 'B_option_b_option_bool_fun_fun$' * 'B_option$' ) > 'B_option_bool_fun$' ).

tff('function_fun_app$e',axiom,
    ( ( 'fun_app$e'('fmb_B_option_b_option_bool_fun_fun$_1','fmb_B_option$_1') = 'fmb_B_option_bool_fun$_2' )
    & ( 'fun_app$e'('fmb_B_option_b_option_bool_fun_fun$_1','fmb_B_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$e'('fmb_B_option_b_option_bool_fun_fun$_2','fmb_B_option$_1') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$e'('fmb_B_option_b_option_bool_fun_fun$_2','fmb_B_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$e'('fmb_B_option_b_option_bool_fun_fun$_3','fmb_B_option$_1') = 'fmb_B_option_bool_fun$_2' )
    & ( 'fun_app$e'('fmb_B_option_b_option_bool_fun_fun$_3','fmb_B_option$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'fun_app$e'('fmb_B_option_b_option_bool_fun_fun$_4','fmb_B_option$_1') = 'fmb_B_option_bool_fun$_2' )
    & ( 'fun_app$e'('fmb_B_option_b_option_bool_fun_fun$_4','fmb_B_option$_2') = 'fmb_B_option_bool_fun$_4' ) ) ).

tff('declare_bind$h',type,
    'bind$h': 'A_option$' > 'A_a_option_fun_a_option_fun$' ).

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

tff('declare_comp$e',type,
    'comp$e': ( 'A_a_option_fun$' * 'A_a_fun$' ) > 'A_a_option_fun$' ).

tff('function_comp$e',axiom,
    ( ( 'comp$e'('fmb_A_a_option_fun$_1','fmb_A_a_fun$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_1','fmb_A_a_fun$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_1','fmb_A_a_fun$_3') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_1','fmb_A_a_fun$_4') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_2','fmb_A_a_fun$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_2','fmb_A_a_fun$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_2','fmb_A_a_fun$_3') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_2','fmb_A_a_fun$_4') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_3','fmb_A_a_fun$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_3','fmb_A_a_fun$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_3','fmb_A_a_fun$_3') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_3','fmb_A_a_fun$_4') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_4','fmb_A_a_fun$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_4','fmb_A_a_fun$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_4','fmb_A_a_fun$_3') = 'fmb_A_a_option_fun$_4' )
    & ( 'comp$e'('fmb_A_a_option_fun$_4','fmb_A_a_fun$_4') = 'fmb_A_a_option_fun$_4' ) ) ).

tff(declare_def_12,type,
    def_12: ( tlbool * 'B_bool_fun$' * 'B_option$' ) > tlbool ).

tff(function_def_12,axiom,
    ( ( def_12(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_12(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_12(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_12(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_12(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_12(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_12(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_12(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_12(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_12(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_12(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_12(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_12(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_12(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_12(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_12(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_fun_app$bn',type,
    'fun_app$bn': ( 'C_a_option_fun$' * 'C$' ) > 'A_option$' ).

tff('function_fun_app$bn',axiom,
    ( ( 'fun_app$bn'('fmb_C_a_option_fun$_1','fmb_C$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bn'('fmb_C_a_option_fun$_2','fmb_C$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bn'('fmb_C_a_option_fun$_3','fmb_C$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bn'('fmb_C_a_option_fun$_4','fmb_C$_1') = 'fmb_A_option$_2' ) ) ).

tff(declare_def_17,type,
    def_17: ( 'B_bool_fun$' * 'B_option$' ) > tlbool ).

tff(function_def_17,axiom,
    ( ( def_17('fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_17('fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_17('fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_17('fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_17('fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_17('fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_17('fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_17('fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_fun_app$bi',type,
    'fun_app$bi': ( 'C_option_a_option_fun$' * 'C_option$' ) > 'A_option$' ).

tff('function_fun_app$bi',axiom,
    ( ( 'fun_app$bi'('fmb_C_option_a_option_fun$_1','fmb_C_option$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bi'('fmb_C_option_a_option_fun$_1','fmb_C_option$_2') = 'fmb_A_option$_2' )
    & ( 'fun_app$bi'('fmb_C_option_a_option_fun$_2','fmb_C_option$_1') = 'fmb_A_option$_1' )
    & ( 'fun_app$bi'('fmb_C_option_a_option_fun$_2','fmb_C_option$_2') = 'fmb_A_option$_2' )
    & ( 'fun_app$bi'('fmb_C_option_a_option_fun$_3','fmb_C_option$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bi'('fmb_C_option_a_option_fun$_3','fmb_C_option$_2') = 'fmb_A_option$_2' )
    & ( 'fun_app$bi'('fmb_C_option_a_option_fun$_4','fmb_C_option$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bi'('fmb_C_option_a_option_fun$_4','fmb_C_option$_2') = 'fmb_A_option$_2' ) ) ).

tff('declare_fun_app$al',type,
    'fun_app$al': ( 'B_option_b_fun$' * 'B_option$' ) > 'B$' ).

tff('function_fun_app$al',axiom,
    ( ( 'fun_app$al'('fmb_B_option_b_fun$_1','fmb_B_option$_1') = 'fmb_B$_1' )
    & ( 'fun_app$al'('fmb_B_option_b_fun$_1','fmb_B_option$_2') = 'fmb_B$_1' )
    & ( 'fun_app$al'('fmb_B_option_b_fun$_2','fmb_B_option$_1') = 'fmb_B$_1' )
    & ( 'fun_app$al'('fmb_B_option_b_fun$_2','fmb_B_option$_2') = 'fmb_B$_1' )
    & ( 'fun_app$al'('fmb_B_option_b_fun$_3','fmb_B_option$_1') = 'fmb_B$_1' )
    & ( 'fun_app$al'('fmb_B_option_b_fun$_3','fmb_B_option$_2') = 'fmb_B$_1' )
    & ( 'fun_app$al'('fmb_B_option_b_fun$_4','fmb_B_option$_1') = 'fmb_B$_1' )
    & ( 'fun_app$al'('fmb_B_option_b_fun$_4','fmb_B_option$_2') = 'fmb_B$_1' ) ) ).

tff('declare_uvh$',type,
    'uvh$': 'A_b_fun$' > 'A_b_option_fun$' ).

tff('function_uvh$',axiom,
    ( ( 'uvh$'('fmb_A_b_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'uvh$'('fmb_A_b_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'uvh$'('fmb_A_b_fun$_3') = 'fmb_A_b_option_fun$_2' )
    & ( 'uvh$'('fmb_A_b_fun$_4') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_comp$al',type,
    'comp$al': ( 'B_b_option_fun_b_b_option_fun_fun$' * 'A_a_option_fun_b_b_option_fun_fun$' ) > 'A_a_option_fun_b_b_option_fun_fun$' ).

tff('function_comp$al',axiom,
    ( ( 'comp$al'('fmb_B_b_option_fun_b_b_option_fun_fun$_1','fmb_A_a_option_fun_b_b_option_fun_fun$_1') = 'fmb_A_a_option_fun_b_b_option_fun_fun$_1' )
    & ( 'comp$al'('fmb_B_b_option_fun_b_b_option_fun_fun$_2','fmb_A_a_option_fun_b_b_option_fun_fun$_1') = 'fmb_A_a_option_fun_b_b_option_fun_fun$_1' )
    & ( 'comp$al'('fmb_B_b_option_fun_b_b_option_fun_fun$_3','fmb_A_a_option_fun_b_b_option_fun_fun$_1') = 'fmb_A_a_option_fun_b_b_option_fun_fun$_1' )
    & ( 'comp$al'('fmb_B_b_option_fun_b_b_option_fun_fun$_4','fmb_A_a_option_fun_b_b_option_fun_fun$_1') = 'fmb_A_a_option_fun_b_b_option_fun_fun$_1' ) ) ).

tff('declare_comp$bl',type,
    'comp$bl': ( 'B_option_b_fun$' * 'B_b_sum_b_option_fun$' ) > 'B_b_sum_b_fun$' ).

tff('function_comp$bl',axiom,
    ( ( 'comp$bl'('fmb_B_option_b_fun$_1','fmb_B_b_sum_b_option_fun$_1') = 'fmb_B_b_sum_b_fun$_2' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_1','fmb_B_b_sum_b_option_fun$_2') = 'fmb_B_b_sum_b_fun$_3' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_1','fmb_B_b_sum_b_option_fun$_3') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_1','fmb_B_b_sum_b_option_fun$_4') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_2','fmb_B_b_sum_b_option_fun$_1') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_2','fmb_B_b_sum_b_option_fun$_2') = 'fmb_B_b_sum_b_fun$_3' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_2','fmb_B_b_sum_b_option_fun$_3') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_2','fmb_B_b_sum_b_option_fun$_4') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_3','fmb_B_b_sum_b_option_fun$_1') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_3','fmb_B_b_sum_b_option_fun$_2') = 'fmb_B_b_sum_b_fun$_3' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_3','fmb_B_b_sum_b_option_fun$_3') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_3','fmb_B_b_sum_b_option_fun$_4') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_4','fmb_B_b_sum_b_option_fun$_1') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_4','fmb_B_b_sum_b_option_fun$_2') = 'fmb_B_b_sum_b_fun$_3' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_4','fmb_B_b_sum_b_option_fun$_3') = 'fmb_B_b_sum_b_fun$_4' )
    & ( 'comp$bl'('fmb_B_option_b_fun$_4','fmb_B_b_sum_b_option_fun$_4') = 'fmb_B_b_sum_b_fun$_4' ) ) ).

tff('declare_set_option$a',type,
    'set_option$a': 'C_option_option$' > 'C_option_set$' ).

tff('function_set_option$a',axiom,
    ( ( 'set_option$a'('fmb_C_option_option$_1') = 'fmb_C_option_set$_2' )
    & ( 'set_option$a'('fmb_C_option_option$_2') = 'fmb_C_option_set$_1' ) ) ).

tff('declare_uvy$',type,
    'uvy$': ( 'C_b_option_fun$' * 'B_c_option_fun$' ) > 'C_c_option_fun$' ).

tff('function_uvy$',axiom,
    ( ( 'uvy$'('fmb_C_b_option_fun$_1','fmb_B_c_option_fun$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'uvy$'('fmb_C_b_option_fun$_1','fmb_B_c_option_fun$_2') = 'fmb_C_c_option_fun$_2' )
    & ( 'uvy$'('fmb_C_b_option_fun$_2','fmb_B_c_option_fun$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'uvy$'('fmb_C_b_option_fun$_2','fmb_B_c_option_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'uvy$'('fmb_C_b_option_fun$_3','fmb_B_c_option_fun$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'uvy$'('fmb_C_b_option_fun$_3','fmb_B_c_option_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'uvy$'('fmb_C_b_option_fun$_4','fmb_B_c_option_fun$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'uvy$'('fmb_C_b_option_fun$_4','fmb_B_c_option_fun$_2') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_case_option$m',type,
    'case_option$m': ( 'C$' * 'C_option_c_fun$' * 'C_option_option$' ) > 'C$' ).

tff('function_case_option$m',axiom,
    ( ( 'case_option$m'('fmb_C$_1','fmb_C_option_c_fun$_1','fmb_C_option_option$_1') = 'fmb_C$_1' )
    & ( 'case_option$m'('fmb_C$_1','fmb_C_option_c_fun$_1','fmb_C_option_option$_2') = 'fmb_C$_1' )
    & ( 'case_option$m'('fmb_C$_1','fmb_C_option_c_fun$_2','fmb_C_option_option$_1') = 'fmb_C$_1' )
    & ( 'case_option$m'('fmb_C$_1','fmb_C_option_c_fun$_2','fmb_C_option_option$_2') = 'fmb_C$_1' )
    & ( 'case_option$m'('fmb_C$_1','fmb_C_option_c_fun$_3','fmb_C_option_option$_1') = 'fmb_C$_1' )
    & ( 'case_option$m'('fmb_C$_1','fmb_C_option_c_fun$_3','fmb_C_option_option$_2') = 'fmb_C$_1' )
    & ( 'case_option$m'('fmb_C$_1','fmb_C_option_c_fun$_4','fmb_C_option_option$_1') = 'fmb_C$_1' )
    & ( 'case_option$m'('fmb_C$_1','fmb_C_option_c_fun$_4','fmb_C_option_option$_2') = 'fmb_C$_1' ) ) ).

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

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

tff('declare_map_option$',type,
    'map_option$': 'C_b_fun$' > 'C_option_b_option_fun$' ).

tff('function_map_option$',axiom,
    'map_option$'('fmb_C_b_fun$_1') = 'fmb_C_option_b_option_fun$_4' ).

tff('declare_comp$h',type,
    'comp$h': ( 'B_bool_fun$' * 'A_b_fun$' ) > 'A_bool_fun$' ).

tff('function_comp$h',axiom,
    ( ( 'comp$h'('fmb_B_bool_fun$_1','fmb_A_b_fun$_1') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_1','fmb_A_b_fun$_2') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_1','fmb_A_b_fun$_3') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_1','fmb_A_b_fun$_4') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_2','fmb_A_b_fun$_1') = 'fmb_A_bool_fun$_4' )
    & ( 'comp$h'('fmb_B_bool_fun$_2','fmb_A_b_fun$_2') = 'fmb_A_bool_fun$_4' )
    & ( 'comp$h'('fmb_B_bool_fun$_2','fmb_A_b_fun$_3') = 'fmb_A_bool_fun$_4' )
    & ( 'comp$h'('fmb_B_bool_fun$_2','fmb_A_b_fun$_4') = 'fmb_A_bool_fun$_4' )
    & ( 'comp$h'('fmb_B_bool_fun$_3','fmb_A_b_fun$_1') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_3','fmb_A_b_fun$_2') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_3','fmb_A_b_fun$_3') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_3','fmb_A_b_fun$_4') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_4','fmb_A_b_fun$_1') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_4','fmb_A_b_fun$_2') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_4','fmb_A_b_fun$_3') = 'fmb_A_bool_fun$_3' )
    & ( 'comp$h'('fmb_B_bool_fun$_4','fmb_A_b_fun$_4') = 'fmb_A_bool_fun$_3' ) ) ).

tff('declare_fun_app$bj',type,
    'fun_app$bj': ( 'B_option_a_option_fun$' * 'B_option$' ) > 'A_option$' ).

tff('function_fun_app$bj',axiom,
    ( ( 'fun_app$bj'('fmb_B_option_a_option_fun$_1','fmb_B_option$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bj'('fmb_B_option_a_option_fun$_1','fmb_B_option$_2') = 'fmb_A_option$_2' )
    & ( 'fun_app$bj'('fmb_B_option_a_option_fun$_2','fmb_B_option$_1') = 'fmb_A_option$_1' )
    & ( 'fun_app$bj'('fmb_B_option_a_option_fun$_2','fmb_B_option$_2') = 'fmb_A_option$_2' )
    & ( 'fun_app$bj'('fmb_B_option_a_option_fun$_3','fmb_B_option$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bj'('fmb_B_option_a_option_fun$_3','fmb_B_option$_2') = 'fmb_A_option$_2' )
    & ( 'fun_app$bj'('fmb_B_option_a_option_fun$_4','fmb_B_option$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bj'('fmb_B_option_a_option_fun$_4','fmb_B_option$_2') = 'fmb_A_option$_2' ) ) ).

tff('declare_case_sum$e',type,
    'case_sum$e': ( 'C_c_option_fun$' * 'C_c_option_fun$' ) > 'C_c_sum_c_option_fun$' ).

tff('function_case_sum$e',axiom,
    ( ( 'case_sum$e'('fmb_C_c_option_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_C_c_sum_c_option_fun$_2' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_2','fmb_C_c_option_fun$_1') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_2','fmb_C_c_option_fun$_2') = 'fmb_C_c_sum_c_option_fun$_3' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_2','fmb_C_c_option_fun$_3') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_2','fmb_C_c_option_fun$_4') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_3','fmb_C_c_option_fun$_1') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_3','fmb_C_c_option_fun$_2') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_3','fmb_C_c_option_fun$_3') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_3','fmb_C_c_option_fun$_4') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_4','fmb_C_c_option_fun$_1') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_4','fmb_C_c_option_fun$_2') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_4','fmb_C_c_option_fun$_3') = 'fmb_C_c_sum_c_option_fun$_4' )
    & ( 'case_sum$e'('fmb_C_c_option_fun$_4','fmb_C_c_option_fun$_4') = 'fmb_C_c_sum_c_option_fun$_4' ) ) ).

tff(declare_def_14,type,
    def_14: ( 'B_option_bool_fun$' * 'B_option$' ) > tlbool ).

tff(function_def_14,axiom,
    ( ( def_14('fmb_B_option_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_14('fmb_B_option_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_14('fmb_B_option_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_14('fmb_B_option_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_14('fmb_B_option_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_14('fmb_B_option_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_14('fmb_B_option_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_14('fmb_B_option_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_1 ) ) ).

tff('declare_fun_app$ar',type,
    'fun_app$ar': ( 'A_a_option_fun_c_c_option_fun_fun$' * 'A_a_option_fun$' ) > 'C_c_option_fun$' ).

tff('function_fun_app$ar',axiom,
    ( ( 'fun_app$ar'('fmb_A_a_option_fun_c_c_option_fun_fun$_1','fmb_A_a_option_fun$_1') = 'fmb_C_c_option_fun$_1' )
    & ( 'fun_app$ar'('fmb_A_a_option_fun_c_c_option_fun_fun$_1','fmb_A_a_option_fun$_2') = 'fmb_C_c_option_fun$_1' )
    & ( 'fun_app$ar'('fmb_A_a_option_fun_c_c_option_fun_fun$_1','fmb_A_a_option_fun$_3') = 'fmb_C_c_option_fun$_1' )
    & ( 'fun_app$ar'('fmb_A_a_option_fun_c_c_option_fun_fun$_1','fmb_A_a_option_fun$_4') = 'fmb_C_c_option_fun$_1' ) ) ).

tff(declare_def_19,type,
    def_19: ( 'C_bool_fun$' * 'C_option$' ) > tlbool ).

tff(function_def_19,axiom,
    ( ( def_19('fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_19('fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_19('fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_19('fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_19('fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_19('fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_19('fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_19('fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_fun_app$v',type,
    'fun_app$v': ( 'C_c_c_option_fun_fun$' * 'C$' ) > 'C_c_option_fun$' ).

tff('function_fun_app$v',axiom,
    ( ( 'fun_app$v'('fmb_C_c_c_option_fun_fun$_1','fmb_C$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$v'('fmb_C_c_c_option_fun_fun$_2','fmb_C$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$v'('fmb_C_c_c_option_fun_fun$_3','fmb_C$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$v'('fmb_C_c_c_option_fun_fun$_4','fmb_C$_1') = 'fmb_C_c_option_fun$_4' ) ) ).

tff(declare_def_10,type,
    def_10: ( 'C_option_bool_fun$' * 'C_option$' ) > tlbool ).

tff(function_def_10,axiom,
    ( ( def_10('fmb_C_option_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_10('fmb_C_option_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_10('fmb_C_option_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_10('fmb_C_option_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_10('fmb_C_option_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_10('fmb_C_option_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_10('fmb_C_option_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_10('fmb_C_option_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_1 ) ) ).

tff('declare_comp$ba',type,
    'comp$ba': ( 'A_option_b_option_fun$' * 'C_a_option_fun$' ) > 'C_b_option_fun$' ).

tff('function_comp$ba',axiom,
    ( ( 'comp$ba'('fmb_A_option_b_option_fun$_1','fmb_C_a_option_fun$_1') = 'fmb_C_b_option_fun$_2' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_1','fmb_C_a_option_fun$_2') = 'fmb_C_b_option_fun$_2' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_1','fmb_C_a_option_fun$_3') = 'fmb_C_b_option_fun$_2' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_1','fmb_C_a_option_fun$_4') = 'fmb_C_b_option_fun$_2' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_2','fmb_C_a_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_2','fmb_C_a_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_2','fmb_C_a_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_2','fmb_C_a_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_3','fmb_C_a_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_3','fmb_C_a_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_3','fmb_C_a_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_3','fmb_C_a_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_4','fmb_C_a_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_4','fmb_C_a_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_4','fmb_C_a_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ba'('fmb_A_option_b_option_fun$_4','fmb_C_a_option_fun$_4') = 'fmb_C_b_option_fun$_4' ) ) ).

tff('declare_map_option$d',type,
    'map_option$d': 'B_c_fun$' > 'B_option_c_option_fun$' ).

tff('function_map_option$d',axiom,
    ( ( 'map_option$d'('fmb_B_c_fun$_1') = 'fmb_B_option_c_option_fun$_2' )
    & ( 'map_option$d'('fmb_B_c_fun$_2') = 'fmb_B_option_c_option_fun$_2' )
    & ( 'map_option$d'('fmb_B_c_fun$_3') = 'fmb_B_option_c_option_fun$_2' )
    & ( 'map_option$d'('fmb_B_c_fun$_4') = 'fmb_B_option_c_option_fun$_2' ) ) ).

tff('declare_comp$p',type,
    'comp$p': ( 'C_option_c_option_fun$' * 'B_option_c_option_fun$' ) > 'B_option_c_option_fun$' ).

tff('function_comp$p',axiom,
    ( ( 'comp$p'('fmb_C_option_c_option_fun$_1','fmb_B_option_c_option_fun$_1') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_1','fmb_B_option_c_option_fun$_2') = 'fmb_B_option_c_option_fun$_2' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_1','fmb_B_option_c_option_fun$_3') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_1','fmb_B_option_c_option_fun$_4') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_2','fmb_B_option_c_option_fun$_1') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_2','fmb_B_option_c_option_fun$_2') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_2','fmb_B_option_c_option_fun$_3') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_2','fmb_B_option_c_option_fun$_4') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_3','fmb_B_option_c_option_fun$_1') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_3','fmb_B_option_c_option_fun$_2') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_3','fmb_B_option_c_option_fun$_3') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_3','fmb_B_option_c_option_fun$_4') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_4','fmb_B_option_c_option_fun$_1') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_4','fmb_B_option_c_option_fun$_2') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_4','fmb_B_option_c_option_fun$_3') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$p'('fmb_C_option_c_option_fun$_4','fmb_B_option_c_option_fun$_4') = 'fmb_B_option_c_option_fun$_4' ) ) ).

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

tff('function_fun_app$bo',axiom,
    ( ( 'fun_app$bo'('fmb_B_a_option_fun$_1','fmb_B$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bo'('fmb_B_a_option_fun$_2','fmb_B$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bo'('fmb_B_a_option_fun$_3','fmb_B$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$bo'('fmb_B_a_option_fun$_4','fmb_B$_1') = 'fmb_A_option$_2' ) ) ).

tff(declare_def_8,type,
    def_8: ( tlbool * 'C_bool_fun$' * 'C_option$' ) > tlbool ).

tff(function_def_8,axiom,
    ( ( def_8(fmb_tlbool_1,'fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_8(fmb_tlbool_1,'fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_8(fmb_tlbool_1,'fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_8(fmb_tlbool_1,'fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_8(fmb_tlbool_1,'fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_8(fmb_tlbool_1,'fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_8(fmb_tlbool_1,'fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_8(fmb_tlbool_1,'fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_8(fmb_tlbool_2,'fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_8(fmb_tlbool_2,'fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_8(fmb_tlbool_2,'fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_8(fmb_tlbool_2,'fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_8(fmb_tlbool_2,'fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_8(fmb_tlbool_2,'fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_8(fmb_tlbool_2,'fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_8(fmb_tlbool_2,'fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_fun_app$an',type,
    'fun_app$an': ( 'B_option_c_option_fun$' * 'B_option$' ) > 'C_option$' ).

tff('function_fun_app$an',axiom,
    ( ( 'fun_app$an'('fmb_B_option_c_option_fun$_1','fmb_B_option$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$an'('fmb_B_option_c_option_fun$_1','fmb_B_option$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$an'('fmb_B_option_c_option_fun$_2','fmb_B_option$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$an'('fmb_B_option_c_option_fun$_2','fmb_B_option$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$an'('fmb_B_option_c_option_fun$_3','fmb_B_option$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$an'('fmb_B_option_c_option_fun$_3','fmb_B_option$_2') = 'fmb_C_option$_1' )
    & ( 'fun_app$an'('fmb_B_option_c_option_fun$_4','fmb_B_option$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$an'('fmb_B_option_c_option_fun$_4','fmb_B_option$_2') = 'fmb_C_option$_1' ) ) ).

tff('declare_uua$',type,
    'uua$': ( 'A_b_b_fun_fun$' * 'B$' ) > 'A_b_option_fun$' ).

tff('function_uua$',axiom,
    'uua$'('fmb_A_b_b_fun_fun$_1','fmb_B$_1') = 'fmb_A_b_option_fun$_2' ).

tff('declare_comp$bh',type,
    'comp$bh': ( 'B_option_b_fun$' * 'B_option_b_option_fun$' ) > 'B_option_b_fun$' ).

tff('function_comp$bh',axiom,
    ( ( 'comp$bh'('fmb_B_option_b_fun$_1','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_b_fun$_2' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_1','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_1','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_1','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_2','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_2','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_b_fun$_3' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_2','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_2','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_3','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_3','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_3','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_3','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_4','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_4','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_4','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bh'('fmb_B_option_b_fun$_4','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_b_fun$_4' ) ) ).

tff('declare_comp$r',type,
    'comp$r': ( 'B_option_a_option_fun$' * 'A_option_b_option_fun$' ) > 'A_option_a_option_fun$' ).

tff('function_comp$r',axiom,
    ( ( 'comp$r'('fmb_B_option_a_option_fun$_1','fmb_A_option_b_option_fun$_1') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_1','fmb_A_option_b_option_fun$_2') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_1','fmb_A_option_b_option_fun$_3') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_1','fmb_A_option_b_option_fun$_4') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_2','fmb_A_option_b_option_fun$_1') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_2','fmb_A_option_b_option_fun$_2') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_2','fmb_A_option_b_option_fun$_3') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_2','fmb_A_option_b_option_fun$_4') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_3','fmb_A_option_b_option_fun$_1') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_3','fmb_A_option_b_option_fun$_2') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_3','fmb_A_option_b_option_fun$_3') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_3','fmb_A_option_b_option_fun$_4') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_4','fmb_A_option_b_option_fun$_1') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_4','fmb_A_option_b_option_fun$_2') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_4','fmb_A_option_b_option_fun$_3') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'comp$r'('fmb_B_option_a_option_fun$_4','fmb_A_option_b_option_fun$_4') = 'fmb_A_option_a_option_fun$_4' ) ) ).

tff('declare_fun_app$bk',type,
    'fun_app$bk': ( 'A_c_fun$' * 'A$' ) > 'C$' ).

tff('function_fun_app$bk',axiom,
    ( ( 'fun_app$bk'('fmb_A_c_fun$_1','fmb_A$_1') = 'fmb_C$_1' )
    & ( 'fun_app$bk'('fmb_A_c_fun$_2','fmb_A$_1') = 'fmb_C$_1' )
    & ( 'fun_app$bk'('fmb_A_c_fun$_3','fmb_A$_1') = 'fmb_C$_1' )
    & ( 'fun_app$bk'('fmb_A_c_fun$_4','fmb_A$_1') = 'fmb_C$_1' ) ) ).

tff('declare_some$c',type,
    'some$c': 'B_option$' > 'B_option_option$' ).

tff('function_some$c',axiom,
    ( ( 'some$c'('fmb_B_option$_1') = 'fmb_B_option_option$_2' )
    & ( 'some$c'('fmb_B_option$_2') = 'fmb_B_option_option$_2' ) ) ).

tff('declare_bind$e',type,
    'bind$e': ( 'A_option$' * 'A_b_option_fun$' ) > 'B_option$' ).

tff('function_bind$e',axiom,
    ( ( 'bind$e'('fmb_A_option$_1','fmb_A_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_A_option$_1','fmb_A_b_option_fun$_2') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_A_option$_2','fmb_A_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'bind$e'('fmb_A_option$_2','fmb_A_b_option_fun$_2') = 'fmb_B_option$_2' ) ) ).

tff('declare_fun_app$aj',type,
    'fun_app$aj': ( 'A_a_a_fun_fun$' * 'A$' ) > 'A_a_fun$' ).

tff('function_fun_app$aj',axiom,
    ( ( 'fun_app$aj'('fmb_A_a_a_fun_fun$_1','fmb_A$_1') = 'fmb_A_a_fun$_4' )
    & ( 'fun_app$aj'('fmb_A_a_a_fun_fun$_2','fmb_A$_1') = 'fmb_A_a_fun$_4' )
    & ( 'fun_app$aj'('fmb_A_a_a_fun_fun$_3','fmb_A$_1') = 'fmb_A_a_fun$_4' )
    & ( 'fun_app$aj'('fmb_A_a_a_fun_fun$_4','fmb_A$_1') = 'fmb_A_a_fun$_4' ) ) ).

tff('declare_comp$a',type,
    'comp$a': ( 'B_b_option_fun$' * 'C_b_fun$' ) > 'C_b_option_fun$' ).

tff('function_comp$a',axiom,
    ( ( 'comp$a'('fmb_B_b_option_fun$_1','fmb_C_b_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'comp$a'('fmb_B_b_option_fun$_2','fmb_C_b_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$a'('fmb_B_b_option_fun$_3','fmb_C_b_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$a'('fmb_B_b_option_fun$_4','fmb_C_b_fun$_1') = 'fmb_C_b_option_fun$_4' ) ) ).

tff('declare_uwq$',type,
    'uwq$': 'C$' > 'C_bool_fun$' ).

tff('function_uwq$',axiom,
    'uwq$'('fmb_C$_1') = 'fmb_C_bool_fun$_3' ).

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

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

tff('declare_comp$bd',type,
    'comp$bd': ( 'C_c_fun$' * 'C_option_c_fun$' ) > 'C_option_c_fun$' ).

tff('function_comp$bd',axiom,
    ( ( 'comp$bd'('fmb_C_c_fun$_1','fmb_C_option_c_fun$_1') = 'fmb_C_option_c_fun$_4' )
    & ( 'comp$bd'('fmb_C_c_fun$_1','fmb_C_option_c_fun$_2') = 'fmb_C_option_c_fun$_4' )
    & ( 'comp$bd'('fmb_C_c_fun$_1','fmb_C_option_c_fun$_3') = 'fmb_C_option_c_fun$_4' )
    & ( 'comp$bd'('fmb_C_c_fun$_1','fmb_C_option_c_fun$_4') = 'fmb_C_option_c_fun$_4' ) ) ).

tff('declare_uvk$',type,
    'uvk$': 'B_option_set$' > 'B_option_bool_fun$' ).

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

tff('declare_uwj$',type,
    'uwj$': 'B$' > 'B_option_b_fun$' ).

tff('function_uwj$',axiom,
    'uwj$'('fmb_B$_1') = 'fmb_B_option_b_fun$_4' ).

tff('declare_uvr$',type,
    'uvr$': ( 'B_b_option_fun_c_c_option_fun_fun$' * 'C$' ) > 'B_bool_fun$' ).

tff('function_uvr$',axiom,
    'uvr$'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_C$_1') = 'fmb_B_bool_fun$_2' ).

tff('declare_fun_app$i',type,
    'fun_app$i': ( 'A_b_b_fun_fun$' * 'A$' ) > 'B_b_fun$' ).

tff('function_fun_app$i',axiom,
    'fun_app$i'('fmb_A_b_b_fun_fun$_1','fmb_A$_1') = 'fmb_B_b_fun$_1' ).

tff('declare_fun_upd$d',type,
    'fun_upd$d': ( 'B_b_option_fun$' * 'B$' * 'B_option$' ) > 'B_b_option_fun$' ).

tff('function_fun_upd$d',axiom,
    ( ( 'fun_upd$d'('fmb_B_b_option_fun$_1','fmb_B$_1','fmb_B_option$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_upd$d'('fmb_B_b_option_fun$_1','fmb_B$_1','fmb_B_option$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_upd$d'('fmb_B_b_option_fun$_2','fmb_B$_1','fmb_B_option$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_upd$d'('fmb_B_b_option_fun$_2','fmb_B$_1','fmb_B_option$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_upd$d'('fmb_B_b_option_fun$_3','fmb_B$_1','fmb_B_option$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_upd$d'('fmb_B_b_option_fun$_3','fmb_B$_1','fmb_B_option$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_upd$d'('fmb_B_b_option_fun$_4','fmb_B$_1','fmb_B_option$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_upd$d'('fmb_B_b_option_fun$_4','fmb_B$_1','fmb_B_option$_2') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_uus$',type,
    'uus$': 'B_b_b_option_fun_fun$' > 'B_b_b_option_fun_fun$' ).

tff('function_uus$',axiom,
    ( ( 'uus$'('fmb_B_b_b_option_fun_fun$_1') = 'fmb_B_b_b_option_fun_fun$_2' )
    & ( 'uus$'('fmb_B_b_b_option_fun_fun$_2') = 'fmb_B_b_b_option_fun_fun$_3' )
    & ( 'uus$'('fmb_B_b_b_option_fun_fun$_3') = 'fmb_B_b_b_option_fun_fun$_4' )
    & ( 'uus$'('fmb_B_b_b_option_fun_fun$_4') = 'fmb_B_b_b_option_fun_fun$_4' ) ) ).

tff('declare_fun_app$p',type,
    'fun_app$p': ( 'A_b_fun$' * 'A$' ) > 'B$' ).

tff('function_fun_app$p',axiom,
    ( ( 'fun_app$p'('fmb_A_b_fun$_1','fmb_A$_1') = 'fmb_B$_1' )
    & ( 'fun_app$p'('fmb_A_b_fun$_2','fmb_A$_1') = 'fmb_B$_1' )
    & ( 'fun_app$p'('fmb_A_b_fun$_3','fmb_A$_1') = 'fmb_B$_1' )
    & ( 'fun_app$p'('fmb_A_b_fun$_4','fmb_A$_1') = 'fmb_B$_1' ) ) ).

tff('declare_comp$bc',type,
    'comp$bc': ( 'C_c_fun$' * 'C_c_fun$' ) > 'C_c_fun$' ).

tff('function_comp$bc',axiom,
    'comp$bc'('fmb_C_c_fun$_1','fmb_C_c_fun$_1') = 'fmb_C_c_fun$_1' ).

tff('declare_comp$l',type,
    'comp$l': ( 'C_bool_fun$' * 'C_c_fun$' ) > 'C_bool_fun$' ).

tff('function_comp$l',axiom,
    ( ( 'comp$l'('fmb_C_bool_fun$_1','fmb_C_c_fun$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'comp$l'('fmb_C_bool_fun$_2','fmb_C_c_fun$_1') = 'fmb_C_bool_fun$_3' )
    & ( 'comp$l'('fmb_C_bool_fun$_3','fmb_C_c_fun$_1') = 'fmb_C_bool_fun$_3' )
    & ( 'comp$l'('fmb_C_bool_fun$_4','fmb_C_c_fun$_1') = 'fmb_C_bool_fun$_4' ) ) ).

tff('declare_case_option$h',type,
    'case_option$h': ( 'B_option$' * 'C_b_option_fun$' * 'C_option$' ) > 'B_option$' ).

tff('function_case_option$h',axiom,
    ( ( 'case_option$h'('fmb_B_option$_1','fmb_C_b_option_fun$_1','fmb_C_option$_1') = 'fmb_B_option$_1' )
    & ( 'case_option$h'('fmb_B_option$_1','fmb_C_b_option_fun$_1','fmb_C_option$_2') = 'fmb_B_option$_1' )
    & ( 'case_option$h'('fmb_B_option$_1','fmb_C_b_option_fun$_2','fmb_C_option$_1') = 'fmb_B_option$_1' )
    & ( 'case_option$h'('fmb_B_option$_1','fmb_C_b_option_fun$_2','fmb_C_option$_2') = 'fmb_B_option$_2' )
    & ( 'case_option$h'('fmb_B_option$_1','fmb_C_b_option_fun$_3','fmb_C_option$_1') = 'fmb_B_option$_1' )
    & ( 'case_option$h'('fmb_B_option$_1','fmb_C_b_option_fun$_3','fmb_C_option$_2') = 'fmb_B_option$_2' )
    & ( 'case_option$h'('fmb_B_option$_1','fmb_C_b_option_fun$_4','fmb_C_option$_1') = 'fmb_B_option$_1' )
    & ( 'case_option$h'('fmb_B_option$_1','fmb_C_b_option_fun$_4','fmb_C_option$_2') = 'fmb_B_option$_2' )
    & ( 'case_option$h'('fmb_B_option$_2','fmb_C_b_option_fun$_1','fmb_C_option$_1') = 'fmb_B_option$_2' )
    & ( 'case_option$h'('fmb_B_option$_2','fmb_C_b_option_fun$_1','fmb_C_option$_2') = 'fmb_B_option$_1' )
    & ( 'case_option$h'('fmb_B_option$_2','fmb_C_b_option_fun$_2','fmb_C_option$_1') = 'fmb_B_option$_2' )
    & ( 'case_option$h'('fmb_B_option$_2','fmb_C_b_option_fun$_2','fmb_C_option$_2') = 'fmb_B_option$_2' )
    & ( 'case_option$h'('fmb_B_option$_2','fmb_C_b_option_fun$_3','fmb_C_option$_1') = 'fmb_B_option$_2' )
    & ( 'case_option$h'('fmb_B_option$_2','fmb_C_b_option_fun$_3','fmb_C_option$_2') = 'fmb_B_option$_2' )
    & ( 'case_option$h'('fmb_B_option$_2','fmb_C_b_option_fun$_4','fmb_C_option$_1') = 'fmb_B_option$_2' )
    & ( 'case_option$h'('fmb_B_option$_2','fmb_C_b_option_fun$_4','fmb_C_option$_2') = 'fmb_B_option$_2' ) ) ).

tff('declare_set_option$c',type,
    'set_option$c': 'C_option$' > 'C_set$' ).

tff('function_set_option$c',axiom,
    ( ( 'set_option$c'('fmb_C_option$_1') = 'fmb_C_set$_2' )
    & ( 'set_option$c'('fmb_C_option$_2') = 'fmb_C_set$_1' ) ) ).

tff('declare_fun_app$bd',type,
    'fun_app$bd': ( 'B_option_c_option_bool_fun_fun$' * 'B_option$' ) > 'C_option_bool_fun$' ).

tff('function_fun_app$bd',axiom,
    ( ( 'fun_app$bd'('fmb_B_option_c_option_bool_fun_fun$_1','fmb_B_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$bd'('fmb_B_option_c_option_bool_fun_fun$_1','fmb_B_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$bd'('fmb_B_option_c_option_bool_fun_fun$_2','fmb_B_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$bd'('fmb_B_option_c_option_bool_fun_fun$_2','fmb_B_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$bd'('fmb_B_option_c_option_bool_fun_fun$_3','fmb_B_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$bd'('fmb_B_option_c_option_bool_fun_fun$_3','fmb_B_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$bd'('fmb_B_option_c_option_bool_fun_fun$_4','fmb_B_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$bd'('fmb_B_option_c_option_bool_fun_fun$_4','fmb_B_option$_2') = 'fmb_C_option_bool_fun$_4' ) ) ).

tff('declare_uvg$',type,
    'uvg$': 'B_c_fun$' > 'B_c_option_fun$' ).

tff('function_uvg$',axiom,
    ( ( 'uvg$'('fmb_B_c_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uvg$'('fmb_B_c_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'uvg$'('fmb_B_c_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'uvg$'('fmb_B_c_fun$_4') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_uvt$',type,
    'uvt$': 'B_b_option_fun$' > 'B_b_option_fun_b_b_option_fun_fun$' ).

tff('function_uvt$',axiom,
    ( ( 'uvt$'('fmb_B_b_option_fun$_1') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' )
    & ( 'uvt$'('fmb_B_b_option_fun$_2') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_3' )
    & ( 'uvt$'('fmb_B_b_option_fun$_3') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_3' )
    & ( 'uvt$'('fmb_B_b_option_fun$_4') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_3' ) ) ).

tff('declare_collect$',type,
    'collect$': 'B_bool_fun$' > 'B_set$' ).

tff('function_collect$',axiom,
    ( ( 'collect$'('fmb_B_bool_fun$_1') = 'fmb_B_set$_1' )
    & ( 'collect$'('fmb_B_bool_fun$_2') = 'fmb_B_set$_2' )
    & ( 'collect$'('fmb_B_bool_fun$_3') = 'fmb_B_set$_1' )
    & ( 'collect$'('fmb_B_bool_fun$_4') = 'fmb_B_set$_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$_2' )
    & ( 'these$'('fmb_C_option_set$_3') = 'fmb_C_set$_1' )
    & ( 'these$'('fmb_C_option_set$_4') = 'fmb_C_set$_2' ) ) ).

tff('declare_comp$n',type,
    'comp$n': ( 'C_option_c_fun$' * 'C_c_option_fun$' ) > 'C_c_fun$' ).

tff('function_comp$n',axiom,
    ( ( 'comp$n'('fmb_C_option_c_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_2','fmb_C_c_option_fun$_1') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_2','fmb_C_c_option_fun$_2') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_2','fmb_C_c_option_fun$_3') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_2','fmb_C_c_option_fun$_4') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_3','fmb_C_c_option_fun$_1') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_3','fmb_C_c_option_fun$_2') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_3','fmb_C_c_option_fun$_3') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_3','fmb_C_c_option_fun$_4') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_4','fmb_C_c_option_fun$_1') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_4','fmb_C_c_option_fun$_2') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_4','fmb_C_c_option_fun$_3') = 'fmb_C_c_fun$_1' )
    & ( 'comp$n'('fmb_C_option_c_fun$_4','fmb_C_c_option_fun$_4') = 'fmb_C_c_fun$_1' ) ) ).

tff(declare_def_23,type,
    def_23: ( 'C_bool_fun$' * 'C_option$' ) > tlbool ).

tff(function_def_23,axiom,
    ( ( def_23('fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_23('fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_23('fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_23('fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_23('fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_23('fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_23('fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_23('fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 ) ) ).

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

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

tff('declare_comp$w',type,
    'comp$w': ( 'C_b_fun$' * 'A_c_fun$' ) > 'A_b_fun$' ).

tff('function_comp$w',axiom,
    ( ( 'comp$w'('fmb_C_b_fun$_1','fmb_A_c_fun$_1') = 'fmb_A_b_fun$_2' )
    & ( 'comp$w'('fmb_C_b_fun$_1','fmb_A_c_fun$_2') = 'fmb_A_b_fun$_3' )
    & ( 'comp$w'('fmb_C_b_fun$_1','fmb_A_c_fun$_3') = 'fmb_A_b_fun$_4' )
    & ( 'comp$w'('fmb_C_b_fun$_1','fmb_A_c_fun$_4') = 'fmb_A_b_fun$_4' ) ) ).

tff(declare_def_9,type,
    def_9: ( 'Bool_bool_fun$' * tlbool ) > tlbool ).

tff(function_def_9,axiom,
    ( ( def_9('fmb_Bool_bool_fun$_1',fmb_tlbool_1) = fmb_tlbool_2 )
    & ( def_9('fmb_Bool_bool_fun$_1',fmb_tlbool_2) = fmb_tlbool_2 )
    & ( def_9('fmb_Bool_bool_fun$_2',fmb_tlbool_1) = fmb_tlbool_2 )
    & ( def_9('fmb_Bool_bool_fun$_2',fmb_tlbool_2) = fmb_tlbool_2 )
    & ( def_9('fmb_Bool_bool_fun$_3',fmb_tlbool_1) = fmb_tlbool_2 )
    & ( def_9('fmb_Bool_bool_fun$_3',fmb_tlbool_2) = fmb_tlbool_2 )
    & ( def_9('fmb_Bool_bool_fun$_4',fmb_tlbool_1) = fmb_tlbool_2 )
    & ( def_9('fmb_Bool_bool_fun$_4',fmb_tlbool_2) = fmb_tlbool_2 ) ) ).

tff('declare_fun_app$ak',type,
    'fun_app$ak': ( 'C_option_c_fun$' * 'C_option$' ) > 'C$' ).

tff('function_fun_app$ak',axiom,
    ( ( 'fun_app$ak'('fmb_C_option_c_fun$_1','fmb_C_option$_1') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_option_c_fun$_1','fmb_C_option$_2') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_option_c_fun$_2','fmb_C_option$_1') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_option_c_fun$_2','fmb_C_option$_2') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_option_c_fun$_3','fmb_C_option$_1') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_option_c_fun$_3','fmb_C_option$_2') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_option_c_fun$_4','fmb_C_option$_1') = 'fmb_C$_1' )
    & ( 'fun_app$ak'('fmb_C_option_c_fun$_4','fmb_C_option$_2') = 'fmb_C$_1' ) ) ).

tff('declare_map_option$g',type,
    'map_option$g': 'C_a_fun$' > 'C_option_a_option_fun$' ).

tff('function_map_option$g',axiom,
    ( ( 'map_option$g'('fmb_C_a_fun$_1') = 'fmb_C_option_a_option_fun$_2' )
    & ( 'map_option$g'('fmb_C_a_fun$_2') = 'fmb_C_option_a_option_fun$_2' )
    & ( 'map_option$g'('fmb_C_a_fun$_3') = 'fmb_C_option_a_option_fun$_2' )
    & ( 'map_option$g'('fmb_C_a_fun$_4') = 'fmb_C_option_a_option_fun$_2' ) ) ).

tff('declare_map_option$l',type,
    'map_option$l': ( 'C_c_option_fun$' * 'C_option$' ) > 'C_option_option$' ).

tff('function_map_option$l',axiom,
    ( ( 'map_option$l'('fmb_C_c_option_fun$_1','fmb_C_option$_1') = 'fmb_C_option_option$_2' )
    & ( 'map_option$l'('fmb_C_c_option_fun$_1','fmb_C_option$_2') = 'fmb_C_option_option$_2' )
    & ( 'map_option$l'('fmb_C_c_option_fun$_2','fmb_C_option$_1') = 'fmb_C_option_option$_2' )
    & ( 'map_option$l'('fmb_C_c_option_fun$_2','fmb_C_option$_2') = 'fmb_C_option_option$_2' )
    & ( 'map_option$l'('fmb_C_c_option_fun$_3','fmb_C_option$_1') = 'fmb_C_option_option$_2' )
    & ( 'map_option$l'('fmb_C_c_option_fun$_3','fmb_C_option$_2') = 'fmb_C_option_option$_2' )
    & ( 'map_option$l'('fmb_C_c_option_fun$_4','fmb_C_option$_1') = 'fmb_C_option_option$_2' )
    & ( 'map_option$l'('fmb_C_c_option_fun$_4','fmb_C_option$_2') = 'fmb_C_option_option$_2' ) ) ).

tff('declare_uut$',type,
    'uut$': 'C_c_c_option_fun_fun$' > 'C_c_c_option_fun_fun$' ).

tff('function_uut$',axiom,
    ( ( 'uut$'('fmb_C_c_c_option_fun_fun$_1') = 'fmb_C_c_c_option_fun_fun$_2' )
    & ( 'uut$'('fmb_C_c_c_option_fun_fun$_2') = 'fmb_C_c_c_option_fun_fun$_3' )
    & ( 'uut$'('fmb_C_c_c_option_fun_fun$_3') = 'fmb_C_c_c_option_fun_fun$_4' )
    & ( 'uut$'('fmb_C_c_c_option_fun_fun$_4') = 'fmb_C_c_c_option_fun_fun$_4' ) ) ).

tff('declare_uvq$',type,
    'uvq$': ( 'A_a_option_fun_b_b_option_fun_fun$' * 'B$' ) > 'A_bool_fun$' ).

tff('function_uvq$',axiom,
    'uvq$'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_B$_1') = 'fmb_A_bool_fun$_4' ).

tff('declare_fun_upd$',type,
    'fun_upd$': ( 'A_a_fun$' * 'A$' ) > 'A_a_a_fun_fun$' ).

tff('function_fun_upd$',axiom,
    ( ( 'fun_upd$'('fmb_A_a_fun$_1','fmb_A$_1') = 'fmb_A_a_a_fun_fun$_2' )
    & ( 'fun_upd$'('fmb_A_a_fun$_2','fmb_A$_1') = 'fmb_A_a_a_fun_fun$_3' )
    & ( 'fun_upd$'('fmb_A_a_fun$_3','fmb_A$_1') = 'fmb_A_a_a_fun_fun$_4' )
    & ( 'fun_upd$'('fmb_A_a_fun$_4','fmb_A$_1') = 'fmb_A_a_a_fun_fun$_4' ) ) ).

tff('declare_combine_options$a',type,
    'combine_options$a': ( 'C_c_c_fun_fun$' * 'C_option$' ) > 'C_option_c_option_fun$' ).

tff('function_combine_options$a',axiom,
    ( ( 'combine_options$a'('fmb_C_c_c_fun_fun$_1','fmb_C_option$_1') = 'fmb_C_option_c_option_fun$_1' )
    & ( 'combine_options$a'('fmb_C_c_c_fun_fun$_1','fmb_C_option$_2') = 'fmb_C_option_c_option_fun$_2' )
    & ( 'combine_options$a'('fmb_C_c_c_fun_fun$_2','fmb_C_option$_1') = 'fmb_C_option_c_option_fun$_1' )
    & ( 'combine_options$a'('fmb_C_c_c_fun_fun$_2','fmb_C_option$_2') = 'fmb_C_option_c_option_fun$_2' )
    & ( 'combine_options$a'('fmb_C_c_c_fun_fun$_3','fmb_C_option$_1') = 'fmb_C_option_c_option_fun$_1' )
    & ( 'combine_options$a'('fmb_C_c_c_fun_fun$_3','fmb_C_option$_2') = 'fmb_C_option_c_option_fun$_2' )
    & ( 'combine_options$a'('fmb_C_c_c_fun_fun$_4','fmb_C_option$_1') = 'fmb_C_option_c_option_fun$_1' )
    & ( 'combine_options$a'('fmb_C_c_c_fun_fun$_4','fmb_C_option$_2') = 'fmb_C_option_c_option_fun$_2' ) ) ).

tff('declare_update1$a',type,
    'update1$a': 'C$' > 'C_c_c_option_fun_fun$' ).

tff('function_update1$a',axiom,
    'update1$a'('fmb_C$_1') = 'fmb_C_c_c_option_fun_fun$_4' ).

tff('declare_fun_app$at',type,
    'fun_app$at': ( 'C_c_option_fun_b_b_option_fun_fun$' * 'C_c_option_fun$' ) > 'B_b_option_fun$' ).

tff('function_fun_app$at',axiom,
    ( ( 'fun_app$at'('fmb_C_c_option_fun_b_b_option_fun_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'fun_app$at'('fmb_C_c_option_fun_b_b_option_fun_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_B_b_option_fun$_1' )
    & ( 'fun_app$at'('fmb_C_c_option_fun_b_b_option_fun_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_B_b_option_fun$_1' )
    & ( 'fun_app$at'('fmb_C_c_option_fun_b_b_option_fun_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_B_b_option_fun$_1' ) ) ).

tff('declare_register_from_getter_setter$b',type,
    'register_from_getter_setter$b': ( 'B_b_fun$' * 'B_b_b_fun_fun$' ) > 'B_b_option_fun_b_b_option_fun_fun$' ).

tff('function_register_from_getter_setter$b',axiom,
    ( ( 'register_from_getter_setter$b'('fmb_B_b_fun$_1','fmb_B_b_b_fun_fun$_1') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' )
    & ( 'register_from_getter_setter$b'('fmb_B_b_fun$_1','fmb_B_b_b_fun_fun$_2') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_1' )
    & ( 'register_from_getter_setter$b'('fmb_B_b_fun$_1','fmb_B_b_b_fun_fun$_3') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' )
    & ( 'register_from_getter_setter$b'('fmb_B_b_fun$_1','fmb_B_b_b_fun_fun$_4') = 'fmb_B_b_option_fun_b_b_option_fun_fun$_4' ) ) ).

tff(declare_def_11,type,
    def_11: ( tlbool * 'B_bool_fun$' * 'B_option$' ) > tlbool ).

tff(function_def_11,axiom,
    ( ( def_11(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_11(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_11(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_11(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_11(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_11(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_11(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_11(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_11(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_11(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_11(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_11(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_11(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_11(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_11(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_11(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_comp$ab',type,
    'comp$ab': ( 'B_option_c_option_fun$' * 'B_option_b_option_fun$' ) > 'B_option_c_option_fun$' ).

tff('function_comp$ab',axiom,
    ( ( 'comp$ab'('fmb_B_option_c_option_fun$_1','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_1','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_1','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_1','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_2','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_c_option_fun$_2' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_2','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_2','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_2','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_3','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_3','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_3','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_3','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_4','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_4','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_4','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$ab'('fmb_B_option_c_option_fun$_4','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_c_option_fun$_4' ) ) ).

tff('declare_case_option$b',type,
    'case_option$b': ( 'A_option$' * 'A_a_option_fun$' * 'A_option$' ) > 'A_option$' ).

tff('function_case_option$b',axiom,
    ( ( 'case_option$b'('fmb_A_option$_1','fmb_A_a_option_fun$_1','fmb_A_option$_1') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_1','fmb_A_a_option_fun$_1','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_1','fmb_A_a_option_fun$_2','fmb_A_option$_1') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_1','fmb_A_a_option_fun$_2','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_1','fmb_A_a_option_fun$_3','fmb_A_option$_1') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_1','fmb_A_a_option_fun$_3','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_1','fmb_A_a_option_fun$_4','fmb_A_option$_1') = 'fmb_A_option$_1' )
    & ( 'case_option$b'('fmb_A_option$_1','fmb_A_a_option_fun$_4','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_2','fmb_A_a_option_fun$_1','fmb_A_option$_1') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_2','fmb_A_a_option_fun$_1','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_2','fmb_A_a_option_fun$_2','fmb_A_option$_1') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_2','fmb_A_a_option_fun$_2','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_2','fmb_A_a_option_fun$_3','fmb_A_option$_1') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_2','fmb_A_a_option_fun$_3','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_2','fmb_A_a_option_fun$_4','fmb_A_option$_1') = 'fmb_A_option$_2' )
    & ( 'case_option$b'('fmb_A_option$_2','fmb_A_a_option_fun$_4','fmb_A_option$_2') = 'fmb_A_option$_2' ) ) ).

tff('declare_uuz$',type,
    'uuz$': ( 'C_c_c_fun_fun$' * 'C_option$' ) > 'C_c_option_fun$' ).

tff('function_uuz$',axiom,
    ( ( 'uuz$'('fmb_C_c_c_fun_fun$_1','fmb_C_option$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuz$'('fmb_C_c_c_fun_fun$_1','fmb_C_option$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuz$'('fmb_C_c_c_fun_fun$_2','fmb_C_option$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuz$'('fmb_C_c_c_fun_fun$_2','fmb_C_option$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuz$'('fmb_C_c_c_fun_fun$_3','fmb_C_option$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuz$'('fmb_C_c_c_fun_fun$_3','fmb_C_option$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuz$'('fmb_C_c_c_fun_fun$_4','fmb_C_option$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuz$'('fmb_C_c_c_fun_fun$_4','fmb_C_option$_2') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_comp$ad',type,
    'comp$ad': ( 'B_option_c_option_fun$' * 'A_option_b_option_fun$' ) > 'A_option_c_option_fun$' ).

tff('function_comp$ad',axiom,
    ( ( 'comp$ad'('fmb_B_option_c_option_fun$_1','fmb_A_option_b_option_fun$_1') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_1','fmb_A_option_b_option_fun$_2') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_1','fmb_A_option_b_option_fun$_3') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_1','fmb_A_option_b_option_fun$_4') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_2','fmb_A_option_b_option_fun$_1') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_2','fmb_A_option_b_option_fun$_2') = 'fmb_A_option_c_option_fun$_3' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_2','fmb_A_option_b_option_fun$_3') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_2','fmb_A_option_b_option_fun$_4') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_3','fmb_A_option_b_option_fun$_1') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_3','fmb_A_option_b_option_fun$_2') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_3','fmb_A_option_b_option_fun$_3') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_3','fmb_A_option_b_option_fun$_4') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_4','fmb_A_option_b_option_fun$_1') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_4','fmb_A_option_b_option_fun$_2') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_4','fmb_A_option_b_option_fun$_3') = 'fmb_A_option_c_option_fun$_4' )
    & ( 'comp$ad'('fmb_B_option_c_option_fun$_4','fmb_A_option_b_option_fun$_4') = 'fmb_A_option_c_option_fun$_4' ) ) ).

tff('declare_case_sum$c',type,
    'case_sum$c': ( 'B_c_option_fun$' * 'B_c_option_fun$' ) > 'B_b_sum_c_option_fun$' ).

tff('function_case_sum$c',axiom,
    ( ( 'case_sum$c'('fmb_B_c_option_fun$_1','fmb_B_c_option_fun$_1') = 'fmb_B_b_sum_c_option_fun$_2' )
    & ( 'case_sum$c'('fmb_B_c_option_fun$_1','fmb_B_c_option_fun$_2') = 'fmb_B_b_sum_c_option_fun$_4' )
    & ( 'case_sum$c'('fmb_B_c_option_fun$_2','fmb_B_c_option_fun$_1') = 'fmb_B_b_sum_c_option_fun$_4' )
    & ( 'case_sum$c'('fmb_B_c_option_fun$_2','fmb_B_c_option_fun$_2') = 'fmb_B_b_sum_c_option_fun$_3' ) ) ).

tff('declare_uun$',type,
    'uun$': ( 'Bool_b_option_fun$' * 'B_bool_fun$' ) > 'B_b_option_fun$' ).

tff('function_uun$',axiom,
    ( ( 'uun$'('fmb_Bool_b_option_fun$_1','fmb_B_bool_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_1','fmb_B_bool_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_1','fmb_B_bool_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_1','fmb_B_bool_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_2','fmb_B_bool_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_2','fmb_B_bool_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_2','fmb_B_bool_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_2','fmb_B_bool_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_3','fmb_B_bool_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_3','fmb_B_bool_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_3','fmb_B_bool_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_3','fmb_B_bool_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_4','fmb_B_bool_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_4','fmb_B_bool_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_4','fmb_B_bool_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'uun$'('fmb_Bool_b_option_fun$_4','fmb_B_bool_fun$_4') = 'fmb_B_b_option_fun$_4' ) ) ).

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

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

tff('declare_uvz$',type,
    'uvz$': ( 'B_c_option_fun$' * 'C_c_option_fun$' ) > 'B_c_option_fun$' ).

tff('function_uvz$',axiom,
    ( ( 'uvz$'('fmb_B_c_option_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvz$'('fmb_B_c_option_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvz$'('fmb_B_c_option_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvz$'('fmb_B_c_option_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvz$'('fmb_B_c_option_fun$_2','fmb_C_c_option_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uvz$'('fmb_B_c_option_fun$_2','fmb_C_c_option_fun$_2') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvz$'('fmb_B_c_option_fun$_2','fmb_C_c_option_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'uvz$'('fmb_B_c_option_fun$_2','fmb_C_c_option_fun$_4') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_getter$a',type,
    'getter$a': 'A_a_option_fun_b_b_option_fun_fun$' > 'B_a_fun$' ).

tff('function_getter$a',axiom,
    'getter$a'('fmb_A_a_option_fun_b_b_option_fun_fun$_1') = 'fmb_B_a_fun$_1' ).

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

tff('function_fun_app$bm',axiom,
    ( ( 'fun_app$bm'('fmb_A_c_option_fun$_1','fmb_A$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$bm'('fmb_A_c_option_fun$_2','fmb_A$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$bm'('fmb_A_c_option_fun$_3','fmb_A$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$bm'('fmb_A_c_option_fun$_4','fmb_A$_1') = 'fmb_C_option$_2' ) ) ).

tff('declare_the$e',type,
    'the$e': 'B_option_option$' > 'B_option$' ).

tff('function_the$e',axiom,
    ( ( 'the$e'('fmb_B_option_option$_1') = 'fmb_B_option$_2' )
    & ( 'the$e'('fmb_B_option_option$_2') = 'fmb_B_option$_2' ) ) ).

tff('declare_uuw$',type,
    'uuw$': ( 'A_a_a_fun_fun$' * 'A$' ) > 'A_a_option_fun$' ).

tff('function_uuw$',axiom,
    ( ( 'uuw$'('fmb_A_a_a_fun_fun$_1','fmb_A$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'uuw$'('fmb_A_a_a_fun_fun$_2','fmb_A$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'uuw$'('fmb_A_a_a_fun_fun$_3','fmb_A$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'uuw$'('fmb_A_a_a_fun_fun$_4','fmb_A$_1') = 'fmb_A_a_option_fun$_4' ) ) ).

tff('declare_comp$ae',type,
    'comp$ae': ( 'B_c_fun$' * 'A_b_fun$' ) > 'A_c_fun$' ).

tff('function_comp$ae',axiom,
    ( ( 'comp$ae'('fmb_B_c_fun$_1','fmb_A_b_fun$_1') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_1','fmb_A_b_fun$_2') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_1','fmb_A_b_fun$_3') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_1','fmb_A_b_fun$_4') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_2','fmb_A_b_fun$_1') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_2','fmb_A_b_fun$_2') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_2','fmb_A_b_fun$_3') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_2','fmb_A_b_fun$_4') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_3','fmb_A_b_fun$_1') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_3','fmb_A_b_fun$_2') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_3','fmb_A_b_fun$_3') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_3','fmb_A_b_fun$_4') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_4','fmb_A_b_fun$_1') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_4','fmb_A_b_fun$_2') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_4','fmb_A_b_fun$_3') = 'fmb_A_c_fun$_2' )
    & ( 'comp$ae'('fmb_B_c_fun$_4','fmb_A_b_fun$_4') = 'fmb_A_c_fun$_2' ) ) ).

tff('declare_fun_app$aq',type,
    'fun_app$aq': ( 'B_b_option_fun_a_a_option_fun_fun$' * 'B_b_option_fun$' ) > 'A_a_option_fun$' ).

tff('function_fun_app$aq',axiom,
    ( ( 'fun_app$aq'('fmb_B_b_option_fun_a_a_option_fun_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_A_a_option_fun$_1' )
    & ( 'fun_app$aq'('fmb_B_b_option_fun_a_a_option_fun_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_A_a_option_fun$_1' )
    & ( 'fun_app$aq'('fmb_B_b_option_fun_a_a_option_fun_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_A_a_option_fun$_1' )
    & ( 'fun_app$aq'('fmb_B_b_option_fun_a_a_option_fun_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_A_a_option_fun$_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_comp$j',type,
    'comp$j': ( 'B_bool_fun$' * 'C_b_fun$' ) > 'C_bool_fun$' ).

tff('function_comp$j',axiom,
    ( ( 'comp$j'('fmb_B_bool_fun$_1','fmb_C_b_fun$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'comp$j'('fmb_B_bool_fun$_2','fmb_C_b_fun$_1') = 'fmb_C_bool_fun$_3' )
    & ( 'comp$j'('fmb_B_bool_fun$_3','fmb_C_b_fun$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'comp$j'('fmb_B_bool_fun$_4','fmb_C_b_fun$_1') = 'fmb_C_bool_fun$_4' ) ) ).

tff(declare_def_5,type,
    def_5: ( 'B_bool_fun$' * 'B$' ) > tlbool ).

tff(function_def_5,axiom,
    ( ( def_5('fmb_B_bool_fun$_1','fmb_B$_1') = fmb_tlbool_2 )
    & ( def_5('fmb_B_bool_fun$_2','fmb_B$_1') = fmb_tlbool_1 )
    & ( def_5('fmb_B_bool_fun$_3','fmb_B$_1') = fmb_tlbool_2 )
    & ( def_5('fmb_B_bool_fun$_4','fmb_B$_1') = fmb_tlbool_2 ) ) ).

tff('declare_fun_app$ad',type,
    'fun_app$ad': ( 'B_b_option_fun_b_b_option_fun_fun$' * 'B_b_option_fun$' ) > 'B_b_option_fun$' ).

tff('function_fun_app$ad',axiom,
    ( ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_B_b_option_fun$_2' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_2','fmb_B_b_option_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_2','fmb_B_b_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_2','fmb_B_b_option_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_2','fmb_B_b_option_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_3','fmb_B_b_option_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_3','fmb_B_b_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_3','fmb_B_b_option_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_3','fmb_B_b_option_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_4','fmb_B_b_option_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_4','fmb_B_b_option_fun$_2') = 'fmb_B_b_option_fun$_1' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_4','fmb_B_b_option_fun$_3') = 'fmb_B_b_option_fun$_1' )
    & ( 'fun_app$ad'('fmb_B_b_option_fun_b_b_option_fun_fun$_4','fmb_B_b_option_fun$_4') = 'fmb_B_b_option_fun$_1' ) ) ).

tff('declare_bind$g',type,
    'bind$g': ( 'B_option$' * 'B_a_option_fun$' ) > 'A_option$' ).

tff('function_bind$g',axiom,
    ( ( 'bind$g'('fmb_B_option$_1','fmb_B_a_option_fun$_1') = 'fmb_A_option$_1' )
    & ( 'bind$g'('fmb_B_option$_1','fmb_B_a_option_fun$_2') = 'fmb_A_option$_1' )
    & ( 'bind$g'('fmb_B_option$_1','fmb_B_a_option_fun$_3') = 'fmb_A_option$_1' )
    & ( 'bind$g'('fmb_B_option$_1','fmb_B_a_option_fun$_4') = 'fmb_A_option$_1' )
    & ( 'bind$g'('fmb_B_option$_2','fmb_B_a_option_fun$_1') = 'fmb_A_option$_2' )
    & ( 'bind$g'('fmb_B_option$_2','fmb_B_a_option_fun$_2') = 'fmb_A_option$_2' )
    & ( 'bind$g'('fmb_B_option$_2','fmb_B_a_option_fun$_3') = 'fmb_A_option$_2' )
    & ( 'bind$g'('fmb_B_option$_2','fmb_B_a_option_fun$_4') = 'fmb_A_option$_2' ) ) ).

tff('declare_map_option$b',type,
    'map_option$b': 'B_b_fun$' > 'B_option_b_option_fun$' ).

tff('function_map_option$b',axiom,
    'map_option$b'('fmb_B_b_fun$_1') = 'fmb_B_option_b_option_fun$_1' ).

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

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

tff(declare_def_13,type,
    def_13: ( tlbool * 'C_bool_fun$' * 'C_option$' ) > tlbool ).

tff(function_def_13,axiom,
    ( ( def_13(fmb_tlbool_1,'fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_13(fmb_tlbool_1,'fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_13(fmb_tlbool_1,'fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_13(fmb_tlbool_1,'fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_13(fmb_tlbool_1,'fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_13(fmb_tlbool_1,'fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_13(fmb_tlbool_1,'fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_13(fmb_tlbool_1,'fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_13(fmb_tlbool_2,'fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_13(fmb_tlbool_2,'fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_13(fmb_tlbool_2,'fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_13(fmb_tlbool_2,'fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_13(fmb_tlbool_2,'fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_13(fmb_tlbool_2,'fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_13(fmb_tlbool_2,'fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_13(fmb_tlbool_2,'fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_fun_app$ax',type,
    'fun_app$ax': ( 'C_option_a_option_bool_fun_fun$' * 'C_option$' ) > 'A_option_bool_fun$' ).

tff('function_fun_app$ax',axiom,
    ( ( 'fun_app$ax'('fmb_C_option_a_option_bool_fun_fun$_1','fmb_C_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ax'('fmb_C_option_a_option_bool_fun_fun$_1','fmb_C_option$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ax'('fmb_C_option_a_option_bool_fun_fun$_2','fmb_C_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ax'('fmb_C_option_a_option_bool_fun_fun$_2','fmb_C_option$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ax'('fmb_C_option_a_option_bool_fun_fun$_3','fmb_C_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ax'('fmb_C_option_a_option_bool_fun_fun$_3','fmb_C_option$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ax'('fmb_C_option_a_option_bool_fun_fun$_4','fmb_C_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ax'('fmb_C_option_a_option_bool_fun_fun$_4','fmb_C_option$_2') = 'fmb_A_option_bool_fun$_4' ) ) ).

tff('declare_comp$at',type,
    'comp$at': ( 'C_option_b_option_fun$' * 'B_c_option_fun$' ) > 'B_b_option_fun$' ).

tff('function_comp$at',axiom,
    ( ( 'comp$at'('fmb_C_option_b_option_fun$_1','fmb_B_c_option_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$at'('fmb_C_option_b_option_fun$_1','fmb_B_c_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$at'('fmb_C_option_b_option_fun$_2','fmb_B_c_option_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$at'('fmb_C_option_b_option_fun$_2','fmb_B_c_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$at'('fmb_C_option_b_option_fun$_3','fmb_B_c_option_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$at'('fmb_C_option_b_option_fun$_3','fmb_B_c_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$at'('fmb_C_option_b_option_fun$_4','fmb_B_c_option_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'comp$at'('fmb_C_option_b_option_fun$_4','fmb_B_c_option_fun$_2') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_fun_app$af',type,
    'fun_app$af': ( 'Bool_b_option_fun$' * tlbool ) > 'B_option$' ).

tff('function_fun_app$af',axiom,
    ( ( 'fun_app$af'('fmb_Bool_b_option_fun$_1',fmb_tlbool_1) = 'fmb_B_option$_2' )
    & ( 'fun_app$af'('fmb_Bool_b_option_fun$_1',fmb_tlbool_2) = 'fmb_B_option$_2' )
    & ( 'fun_app$af'('fmb_Bool_b_option_fun$_2',fmb_tlbool_1) = 'fmb_B_option$_2' )
    & ( 'fun_app$af'('fmb_Bool_b_option_fun$_2',fmb_tlbool_2) = 'fmb_B_option$_2' )
    & ( 'fun_app$af'('fmb_Bool_b_option_fun$_3',fmb_tlbool_1) = 'fmb_B_option$_2' )
    & ( 'fun_app$af'('fmb_Bool_b_option_fun$_3',fmb_tlbool_2) = 'fmb_B_option$_2' )
    & ( 'fun_app$af'('fmb_Bool_b_option_fun$_4',fmb_tlbool_1) = 'fmb_B_option$_2' )
    & ( 'fun_app$af'('fmb_Bool_b_option_fun$_4',fmb_tlbool_2) = 'fmb_B_option$_2' ) ) ).

tff('declare_uvi$',type,
    'uvi$': 'B_set$' > 'B_bool_fun$' ).

tff('function_uvi$',axiom,
    ( ( 'uvi$'('fmb_B_set$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'uvi$'('fmb_B_set$_2') = 'fmb_B_bool_fun$_2' ) ) ).

tff(declare_def_21,type,
    def_21: ( 'B_bool_fun$' * 'B_option$' ) > tlbool ).

tff(function_def_21,axiom,
    ( ( def_21('fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_21('fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_21('fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_21('fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_21('fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_21('fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_21('fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_21('fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_uvd$',type,
    'uvd$': 'A_a_fun$' > 'A_a_option_fun$' ).

tff('function_uvd$',axiom,
    ( ( 'uvd$'('fmb_A_a_fun$_1') = 'fmb_A_a_option_fun$_4' )
    & ( 'uvd$'('fmb_A_a_fun$_2') = 'fmb_A_a_option_fun$_4' )
    & ( 'uvd$'('fmb_A_a_fun$_3') = 'fmb_A_a_option_fun$_4' )
    & ( 'uvd$'('fmb_A_a_fun$_4') = 'fmb_A_a_option_fun$_4' ) ) ).

tff('declare_uuy$',type,
    'uuy$': 'C_c_c_fun_fun$' > 'C_c_c_option_fun_fun$' ).

tff('function_uuy$',axiom,
    ( ( 'uuy$'('fmb_C_c_c_fun_fun$_1') = 'fmb_C_c_c_option_fun_fun$_4' )
    & ( 'uuy$'('fmb_C_c_c_fun_fun$_2') = 'fmb_C_c_c_option_fun_fun$_4' )
    & ( 'uuy$'('fmb_C_c_c_fun_fun$_3') = 'fmb_C_c_c_option_fun_fun$_4' )
    & ( 'uuy$'('fmb_C_c_c_fun_fun$_4') = 'fmb_C_c_c_option_fun_fun$_4' ) ) ).

tff('declare_comp$bf',type,
    'comp$bf': ( 'B_option_b_option_fun$' * 'A_b_option_fun$' ) > 'A_b_option_fun$' ).

tff('function_comp$bf',axiom,
    ( ( 'comp$bf'('fmb_B_option_b_option_fun$_1','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_1' )
    & ( 'comp$bf'('fmb_B_option_b_option_fun$_1','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$bf'('fmb_B_option_b_option_fun$_2','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$bf'('fmb_B_option_b_option_fun$_2','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$bf'('fmb_B_option_b_option_fun$_3','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$bf'('fmb_B_option_b_option_fun$_3','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$bf'('fmb_B_option_b_option_fun$_4','fmb_A_b_option_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$bf'('fmb_B_option_b_option_fun$_4','fmb_A_b_option_fun$_2') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_uvu$',type,
    'uvu$': ( 'C_b_option_fun$' * 'B_b_option_fun$' ) > 'C_b_option_fun$' ).

tff('function_uvu$',axiom,
    ( ( 'uvu$'('fmb_C_b_option_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvu$'('fmb_C_b_option_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvu$'('fmb_C_b_option_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvu$'('fmb_C_b_option_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvu$'('fmb_C_b_option_fun$_2','fmb_B_b_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvu$'('fmb_C_b_option_fun$_2','fmb_B_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvu$'('fmb_C_b_option_fun$_2','fmb_B_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvu$'('fmb_C_b_option_fun$_2','fmb_B_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvu$'('fmb_C_b_option_fun$_3','fmb_B_b_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvu$'('fmb_C_b_option_fun$_3','fmb_B_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvu$'('fmb_C_b_option_fun$_3','fmb_B_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvu$'('fmb_C_b_option_fun$_3','fmb_B_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvu$'('fmb_C_b_option_fun$_4','fmb_B_b_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvu$'('fmb_C_b_option_fun$_4','fmb_B_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvu$'('fmb_C_b_option_fun$_4','fmb_B_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvu$'('fmb_C_b_option_fun$_4','fmb_B_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' ) ) ).

tff('declare_comp$ac',type,
    'comp$ac': ( 'B_c_fun$' * 'B_b_fun$' ) > 'B_c_fun$' ).

tff('function_comp$ac',axiom,
    ( ( 'comp$ac'('fmb_B_c_fun$_1','fmb_B_b_fun$_1') = 'fmb_B_c_fun$_2' )
    & ( 'comp$ac'('fmb_B_c_fun$_2','fmb_B_b_fun$_1') = 'fmb_B_c_fun$_2' )
    & ( 'comp$ac'('fmb_B_c_fun$_3','fmb_B_b_fun$_1') = 'fmb_B_c_fun$_2' )
    & ( 'comp$ac'('fmb_B_c_fun$_4','fmb_B_b_fun$_1') = 'fmb_B_c_fun$_2' ) ) ).

tff('declare_case_option$a',type,
    'case_option$a': ( 'C_option$' * 'C_c_option_fun$' ) > 'C_option_c_option_fun$' ).

tff('function_case_option$a',axiom,
    ( ( 'case_option$a'('fmb_C_option$_1','fmb_C_c_option_fun$_1') = 'fmb_C_option_c_option_fun$_1' )
    & ( 'case_option$a'('fmb_C_option$_1','fmb_C_c_option_fun$_2') = 'fmb_C_option_c_option_fun$_4' )
    & ( 'case_option$a'('fmb_C_option$_1','fmb_C_c_option_fun$_3') = 'fmb_C_option_c_option_fun$_1' )
    & ( 'case_option$a'('fmb_C_option$_1','fmb_C_c_option_fun$_4') = 'fmb_C_option_c_option_fun$_1' )
    & ( 'case_option$a'('fmb_C_option$_2','fmb_C_c_option_fun$_1') = 'fmb_C_option_c_option_fun$_2' )
    & ( 'case_option$a'('fmb_C_option$_2','fmb_C_c_option_fun$_2') = 'fmb_C_option_c_option_fun$_3' )
    & ( 'case_option$a'('fmb_C_option$_2','fmb_C_c_option_fun$_3') = 'fmb_C_option_c_option_fun$_2' )
    & ( 'case_option$a'('fmb_C_option$_2','fmb_C_c_option_fun$_4') = 'fmb_C_option_c_option_fun$_2' ) ) ).

tff('declare_comp$af',type,
    'comp$af': ( 'B_option_b_option_fun$' * 'C_option_b_option_fun$' ) > 'C_option_b_option_fun$' ).

tff('function_comp$af',axiom,
    ( ( 'comp$af'('fmb_B_option_b_option_fun$_1','fmb_C_option_b_option_fun$_1') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_1','fmb_C_option_b_option_fun$_2') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_1','fmb_C_option_b_option_fun$_3') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_1','fmb_C_option_b_option_fun$_4') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_2','fmb_C_option_b_option_fun$_1') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_2','fmb_C_option_b_option_fun$_2') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_2','fmb_C_option_b_option_fun$_3') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_2','fmb_C_option_b_option_fun$_4') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_3','fmb_C_option_b_option_fun$_1') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_3','fmb_C_option_b_option_fun$_2') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_3','fmb_C_option_b_option_fun$_3') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_3','fmb_C_option_b_option_fun$_4') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_4','fmb_C_option_b_option_fun$_1') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_4','fmb_C_option_b_option_fun$_2') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_4','fmb_C_option_b_option_fun$_3') = 'fmb_C_option_b_option_fun$_4' )
    & ( 'comp$af'('fmb_B_option_b_option_fun$_4','fmb_C_option_b_option_fun$_4') = 'fmb_C_option_b_option_fun$_4' ) ) ).

tff('declare_comp$y',type,
    'comp$y': ( 'C_b_fun$' * 'B_c_fun$' ) > 'B_b_fun$' ).

tff('function_comp$y',axiom,
    ( ( 'comp$y'('fmb_C_b_fun$_1','fmb_B_c_fun$_1') = 'fmb_B_b_fun$_1' )
    & ( 'comp$y'('fmb_C_b_fun$_1','fmb_B_c_fun$_2') = 'fmb_B_b_fun$_1' )
    & ( 'comp$y'('fmb_C_b_fun$_1','fmb_B_c_fun$_3') = 'fmb_B_b_fun$_1' )
    & ( 'comp$y'('fmb_C_b_fun$_1','fmb_B_c_fun$_4') = 'fmb_B_b_fun$_1' ) ) ).

tff('declare_insert$c',type,
    'insert$c': ( 'C_option$' * 'C_option_set$' ) > 'C_option_set$' ).

tff('function_insert$c',axiom,
    ( ( 'insert$c'('fmb_C_option$_1','fmb_C_option_set$_1') = 'fmb_C_option_set$_3' )
    & ( 'insert$c'('fmb_C_option$_1','fmb_C_option_set$_2') = 'fmb_C_option_set$_4' )
    & ( 'insert$c'('fmb_C_option$_1','fmb_C_option_set$_3') = 'fmb_C_option_set$_1' )
    & ( 'insert$c'('fmb_C_option$_1','fmb_C_option_set$_4') = 'fmb_C_option_set$_4' )
    & ( 'insert$c'('fmb_C_option$_2','fmb_C_option_set$_1') = 'fmb_C_option_set$_4' )
    & ( 'insert$c'('fmb_C_option$_2','fmb_C_option_set$_2') = 'fmb_C_option_set$_3' )
    & ( 'insert$c'('fmb_C_option$_2','fmb_C_option_set$_3') = 'fmb_C_option_set$_4' )
    & ( 'insert$c'('fmb_C_option$_2','fmb_C_option_set$_4') = 'fmb_C_option_set$_3' ) ) ).

tff('declare_bind$f',type,
    'bind$f': ( 'C_option$' * 'C_a_option_fun$' ) > 'A_option$' ).

tff('function_bind$f',axiom,
    ( ( 'bind$f'('fmb_C_option$_1','fmb_C_a_option_fun$_1') = 'fmb_A_option$_1' )
    & ( 'bind$f'('fmb_C_option$_1','fmb_C_a_option_fun$_2') = 'fmb_A_option$_1' )
    & ( 'bind$f'('fmb_C_option$_1','fmb_C_a_option_fun$_3') = 'fmb_A_option$_1' )
    & ( 'bind$f'('fmb_C_option$_1','fmb_C_a_option_fun$_4') = 'fmb_A_option$_1' )
    & ( 'bind$f'('fmb_C_option$_2','fmb_C_a_option_fun$_1') = 'fmb_A_option$_2' )
    & ( 'bind$f'('fmb_C_option$_2','fmb_C_a_option_fun$_2') = 'fmb_A_option$_2' )
    & ( 'bind$f'('fmb_C_option$_2','fmb_C_a_option_fun$_3') = 'fmb_A_option$_2' )
    & ( 'bind$f'('fmb_C_option$_2','fmb_C_a_option_fun$_4') = 'fmb_A_option$_2' ) ) ).

tff('declare_update1$b',type,
    'update1$b': 'B$' > 'B_b_b_option_fun_fun$' ).

tff('function_update1$b',axiom,
    'update1$b'('fmb_B$_1') = 'fmb_B_b_b_option_fun_fun$_4' ).

tff('declare_comp$bi',type,
    'comp$bi': ( 'A_option_a_fun$' * 'A_a_option_fun$' ) > 'A_a_fun$' ).

tff('function_comp$bi',axiom,
    ( ( 'comp$bi'('fmb_A_option_a_fun$_1','fmb_A_a_option_fun$_1') = 'fmb_A_a_fun$_1' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_1','fmb_A_a_option_fun$_2') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_1','fmb_A_a_option_fun$_3') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_1','fmb_A_a_option_fun$_4') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_2','fmb_A_a_option_fun$_1') = 'fmb_A_a_fun$_1' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_2','fmb_A_a_option_fun$_2') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_2','fmb_A_a_option_fun$_3') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_2','fmb_A_a_option_fun$_4') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_3','fmb_A_a_option_fun$_1') = 'fmb_A_a_fun$_1' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_3','fmb_A_a_option_fun$_2') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_3','fmb_A_a_option_fun$_3') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_3','fmb_A_a_option_fun$_4') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_4','fmb_A_a_option_fun$_1') = 'fmb_A_a_fun$_1' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_4','fmb_A_a_option_fun$_2') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_4','fmb_A_a_option_fun$_3') = 'fmb_A_a_fun$_4' )
    & ( 'comp$bi'('fmb_A_option_a_fun$_4','fmb_A_a_option_fun$_4') = 'fmb_A_a_fun$_4' ) ) ).

tff('declare_fun_app$ap',type,
    'fun_app$ap': ( 'C_c_option_fun_a_a_option_fun_fun$' * 'C_c_option_fun$' ) > 'A_a_option_fun$' ).

tff('function_fun_app$ap',axiom,
    ( ( 'fun_app$ap'('fmb_C_c_option_fun_a_a_option_fun_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_A_a_option_fun$_1' )
    & ( 'fun_app$ap'('fmb_C_c_option_fun_a_a_option_fun_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_A_a_option_fun$_1' )
    & ( 'fun_app$ap'('fmb_C_c_option_fun_a_a_option_fun_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_A_a_option_fun$_1' )
    & ( 'fun_app$ap'('fmb_C_c_option_fun_a_a_option_fun_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_A_a_option_fun$_1' ) ) ).

tff('declare_some$d',type,
    'some$d': 'C_option$' > 'C_option_option$' ).

tff('function_some$d',axiom,
    ( ( 'some$d'('fmb_C_option$_1') = 'fmb_C_option_option$_2' )
    & ( 'some$d'('fmb_C_option$_2') = 'fmb_C_option_option$_2' ) ) ).

tff('declare_uvl$',type,
    'uvl$': 'C_option_set$' > 'C_option_bool_fun$' ).

tff('function_uvl$',axiom,
    ( ( 'uvl$'('fmb_C_option_set$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'uvl$'('fmb_C_option_set$_2') = 'fmb_C_option_bool_fun$_1' )
    & ( 'uvl$'('fmb_C_option_set$_3') = 'fmb_C_option_bool_fun$_3' )
    & ( 'uvl$'('fmb_C_option_set$_4') = 'fmb_C_option_bool_fun$_2' ) ) ).

tff('declare_uvj$',type,
    'uvj$': 'C_set$' > 'C_bool_fun$' ).

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

tff('declare_case_option$e',type,
    'case_option$e': ( tlbool * 'B_bool_fun$' ) > 'B_option_bool_fun$' ).

tff('function_case_option$e',axiom,
    ( ( 'case_option$e'(fmb_tlbool_1,'fmb_B_bool_fun$_1') = 'fmb_B_option_bool_fun$_2' )
    & ( 'case_option$e'(fmb_tlbool_1,'fmb_B_bool_fun$_2') = 'fmb_B_option_bool_fun$_3' )
    & ( 'case_option$e'(fmb_tlbool_1,'fmb_B_bool_fun$_3') = 'fmb_B_option_bool_fun$_2' )
    & ( 'case_option$e'(fmb_tlbool_1,'fmb_B_bool_fun$_4') = 'fmb_B_option_bool_fun$_2' )
    & ( 'case_option$e'(fmb_tlbool_2,'fmb_B_bool_fun$_1') = 'fmb_B_option_bool_fun$_1' )
    & ( 'case_option$e'(fmb_tlbool_2,'fmb_B_bool_fun$_2') = 'fmb_B_option_bool_fun$_4' )
    & ( 'case_option$e'(fmb_tlbool_2,'fmb_B_bool_fun$_3') = 'fmb_B_option_bool_fun$_1' )
    & ( 'case_option$e'(fmb_tlbool_2,'fmb_B_bool_fun$_4') = 'fmb_B_option_bool_fun$_1' ) ) ).

tff('declare_case_option$f',type,
    'case_option$f': ( tlbool * 'C_bool_fun$' ) > 'C_option_bool_fun$' ).

tff('function_case_option$f',axiom,
    ( ( 'case_option$f'(fmb_tlbool_1,'fmb_C_bool_fun$_1') = 'fmb_C_option_bool_fun$_2' )
    & ( 'case_option$f'(fmb_tlbool_1,'fmb_C_bool_fun$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'case_option$f'(fmb_tlbool_1,'fmb_C_bool_fun$_3') = 'fmb_C_option_bool_fun$_4' )
    & ( 'case_option$f'(fmb_tlbool_1,'fmb_C_bool_fun$_4') = 'fmb_C_option_bool_fun$_2' )
    & ( 'case_option$f'(fmb_tlbool_2,'fmb_C_bool_fun$_1') = 'fmb_C_option_bool_fun$_1' )
    & ( 'case_option$f'(fmb_tlbool_2,'fmb_C_bool_fun$_2') = 'fmb_C_option_bool_fun$_3' )
    & ( 'case_option$f'(fmb_tlbool_2,'fmb_C_bool_fun$_3') = 'fmb_C_option_bool_fun$_3' )
    & ( 'case_option$f'(fmb_tlbool_2,'fmb_C_bool_fun$_4') = 'fmb_C_option_bool_fun$_1' ) ) ).

tff('declare_comp$b',type,
    'comp$b': ( 'C_c_option_fun$' * 'B_c_fun$' ) > 'B_c_option_fun$' ).

tff('function_comp$b',axiom,
    ( ( 'comp$b'('fmb_C_c_option_fun$_1','fmb_B_c_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_1','fmb_B_c_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_1','fmb_B_c_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_1','fmb_B_c_fun$_4') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_2','fmb_B_c_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$b'('fmb_C_c_option_fun$_2','fmb_B_c_fun$_2') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$b'('fmb_C_c_option_fun$_2','fmb_B_c_fun$_3') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$b'('fmb_C_c_option_fun$_2','fmb_B_c_fun$_4') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$b'('fmb_C_c_option_fun$_3','fmb_B_c_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_3','fmb_B_c_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_3','fmb_B_c_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_3','fmb_B_c_fun$_4') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_4','fmb_B_c_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_4','fmb_B_c_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_4','fmb_B_c_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$b'('fmb_C_c_option_fun$_4','fmb_B_c_fun$_4') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_fun_app$bf',type,
    'fun_app$bf': ( 'A_option_a_fun$' * 'A_option$' ) > 'A$' ).

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

tff('declare_uwh$',type,
    'uwh$': 'B_option$' > 'A_b_option_fun$' ).

tff('function_uwh$',axiom,
    ( ( 'uwh$'('fmb_B_option$_1') = 'fmb_A_b_option_fun$_1' )
    & ( 'uwh$'('fmb_B_option$_2') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_case_option$j',type,
    'case_option$j': ( 'B$' * 'B_b_fun$' ) > 'B_option_b_fun$' ).

tff('function_case_option$j',axiom,
    'case_option$j'('fmb_B$_1','fmb_B_b_fun$_1') = 'fmb_B_option_b_fun$_4' ).

tff('declare_fun_app$k',type,
    'fun_app$k': ( 'C_c_fun$' * 'C$' ) > 'C$' ).

tff('function_fun_app$k',axiom,
    'fun_app$k'('fmb_C_c_fun$_1','fmb_C$_1') = 'fmb_C$_1' ).

tff('declare_fun_app$bb',type,
    'fun_app$bb': ( 'A_option_a_option_bool_fun_fun$' * 'A_option$' ) > 'A_option_bool_fun$' ).

tff('function_fun_app$bb',axiom,
    ( ( 'fun_app$bb'('fmb_A_option_a_option_bool_fun_fun$_1','fmb_A_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$bb'('fmb_A_option_a_option_bool_fun_fun$_1','fmb_A_option$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$bb'('fmb_A_option_a_option_bool_fun_fun$_2','fmb_A_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$bb'('fmb_A_option_a_option_bool_fun_fun$_2','fmb_A_option$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$bb'('fmb_A_option_a_option_bool_fun_fun$_3','fmb_A_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$bb'('fmb_A_option_a_option_bool_fun_fun$_3','fmb_A_option$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$bb'('fmb_A_option_a_option_bool_fun_fun$_4','fmb_A_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$bb'('fmb_A_option_a_option_bool_fun_fun$_4','fmb_A_option$_2') = 'fmb_A_option_bool_fun$_4' ) ) ).

tff('declare_comp$c',type,
    'comp$c': ( 'B_b_option_fun$' * 'B_b_fun$' ) > 'B_b_option_fun$' ).

tff('function_comp$c',axiom,
    ( ( 'comp$c'('fmb_B_b_option_fun$_1','fmb_B_b_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'comp$c'('fmb_B_b_option_fun$_2','fmb_B_b_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$c'('fmb_B_b_option_fun$_3','fmb_B_b_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$c'('fmb_B_b_option_fun$_4','fmb_B_b_fun$_1') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_uul$',type,
    'uul$': ( 'C_option_bool_fun$' * 'B_c_option_fun$' ) > 'B_bool_fun$' ).

tff('function_uul$',axiom,
    ( ( 'uul$'('fmb_C_option_bool_fun$_1','fmb_B_c_option_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'uul$'('fmb_C_option_bool_fun$_1','fmb_B_c_option_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'uul$'('fmb_C_option_bool_fun$_2','fmb_B_c_option_fun$_1') = 'fmb_B_bool_fun$_2' )
    & ( 'uul$'('fmb_C_option_bool_fun$_2','fmb_B_c_option_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'uul$'('fmb_C_option_bool_fun$_3','fmb_B_c_option_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'uul$'('fmb_C_option_bool_fun$_3','fmb_B_c_option_fun$_2') = 'fmb_B_bool_fun$_2' )
    & ( 'uul$'('fmb_C_option_bool_fun$_4','fmb_B_c_option_fun$_1') = 'fmb_B_bool_fun$_2' )
    & ( 'uul$'('fmb_C_option_bool_fun$_4','fmb_B_c_option_fun$_2') = 'fmb_B_bool_fun$_2' ) ) ).

tff('declare_fun_app$n',type,
    'fun_app$n': ( 'B_c_option_fun$' * 'B$' ) > 'C_option$' ).

tff('function_fun_app$n',axiom,
    ( ( 'fun_app$n'('fmb_B_c_option_fun$_1','fmb_B$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$n'('fmb_B_c_option_fun$_2','fmb_B$_1') = 'fmb_C_option$_2' ) ) ).

tff('declare_fun_app$am',type,
    'fun_app$am': ( 'B_b_option_fun_c_c_option_fun_fun$' * 'B_b_option_fun$' ) > 'C_c_option_fun$' ).

tff('function_fun_app$am',axiom,
    ( ( 'fun_app$am'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'fun_app$am'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_C_c_option_fun$_1' )
    & ( 'fun_app$am'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$am'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_fun_app$ae',type,
    'fun_app$ae': ( 'Bool_c_option_fun$' * tlbool ) > 'C_option$' ).

tff('function_fun_app$ae',axiom,
    ( ( 'fun_app$ae'('fmb_Bool_c_option_fun$_1',fmb_tlbool_1) = 'fmb_C_option$_2' )
    & ( 'fun_app$ae'('fmb_Bool_c_option_fun$_1',fmb_tlbool_2) = 'fmb_C_option$_2' )
    & ( 'fun_app$ae'('fmb_Bool_c_option_fun$_2',fmb_tlbool_1) = 'fmb_C_option$_2' )
    & ( 'fun_app$ae'('fmb_Bool_c_option_fun$_2',fmb_tlbool_2) = 'fmb_C_option$_2' )
    & ( 'fun_app$ae'('fmb_Bool_c_option_fun$_3',fmb_tlbool_1) = 'fmb_C_option$_2' )
    & ( 'fun_app$ae'('fmb_Bool_c_option_fun$_3',fmb_tlbool_2) = 'fmb_C_option$_2' )
    & ( 'fun_app$ae'('fmb_Bool_c_option_fun$_4',fmb_tlbool_1) = 'fmb_C_option$_2' )
    & ( 'fun_app$ae'('fmb_Bool_c_option_fun$_4',fmb_tlbool_2) = 'fmb_C_option$_2' ) ) ).

tff('declare_comp$ap',type,
    'comp$ap': ( 'B_c_option_fun$' * 'C_b_fun$' ) > 'C_c_option_fun$' ).

tff('function_comp$ap',axiom,
    ( ( 'comp$ap'('fmb_B_c_option_fun$_1','fmb_C_b_fun$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'comp$ap'('fmb_B_c_option_fun$_2','fmb_C_b_fun$_1') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_uuh$',type,
    'uuh$': ( 'C_option_c_option_fun$' * 'B_c_option_fun$' ) > 'B_c_option_fun$' ).

tff('function_uuh$',axiom,
    ( ( 'uuh$'('fmb_C_option_c_option_fun$_1','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'uuh$'('fmb_C_option_c_option_fun$_1','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'uuh$'('fmb_C_option_c_option_fun$_2','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uuh$'('fmb_C_option_c_option_fun$_2','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'uuh$'('fmb_C_option_c_option_fun$_3','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uuh$'('fmb_C_option_c_option_fun$_3','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_1' )
    & ( 'uuh$'('fmb_C_option_c_option_fun$_4','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'uuh$'('fmb_C_option_c_option_fun$_4','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_1' ) ) ).

tff('declare_uvb$',type,
    'uvb$': ( 'B_b_b_fun_fun$' * 'B_option$' ) > 'B_b_option_fun$' ).

tff('function_uvb$',axiom,
    ( ( 'uvb$'('fmb_B_b_b_fun_fun$_1','fmb_B_option$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'uvb$'('fmb_B_b_b_fun_fun$_1','fmb_B_option$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'uvb$'('fmb_B_b_b_fun_fun$_2','fmb_B_option$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'uvb$'('fmb_B_b_b_fun_fun$_2','fmb_B_option$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'uvb$'('fmb_B_b_b_fun_fun$_3','fmb_B_option$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'uvb$'('fmb_B_b_b_fun_fun$_3','fmb_B_option$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'uvb$'('fmb_B_b_b_fun_fun$_4','fmb_B_option$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'uvb$'('fmb_B_b_b_fun_fun$_4','fmb_B_option$_2') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_uuk$',type,
    'uuk$': ( 'Bool_bool_fun$' * 'C_bool_fun$' ) > 'C_bool_fun$' ).

tff('function_uuk$',axiom,
    ( ( 'uuk$'('fmb_Bool_bool_fun$_1','fmb_C_bool_fun$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_1','fmb_C_bool_fun$_2') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_1','fmb_C_bool_fun$_3') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_1','fmb_C_bool_fun$_4') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_2','fmb_C_bool_fun$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_2','fmb_C_bool_fun$_2') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_2','fmb_C_bool_fun$_3') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_2','fmb_C_bool_fun$_4') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_3','fmb_C_bool_fun$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_3','fmb_C_bool_fun$_2') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_3','fmb_C_bool_fun$_3') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_3','fmb_C_bool_fun$_4') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_4','fmb_C_bool_fun$_1') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_4','fmb_C_bool_fun$_2') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_4','fmb_C_bool_fun$_3') = 'fmb_C_bool_fun$_4' )
    & ( 'uuk$'('fmb_Bool_bool_fun$_4','fmb_C_bool_fun$_4') = 'fmb_C_bool_fun$_4' ) ) ).

tff('declare_uvf$',type,
    'uvf$': 'C_c_fun$' > 'C_c_option_fun$' ).

tff('function_uvf$',axiom,
    'uvf$'('fmb_C_c_fun$_1') = 'fmb_C_c_option_fun$_4' ).

tff('declare_comp$q',type,
    'comp$q': ( 'C_c_fun$' * 'B_c_fun$' ) > 'B_c_fun$' ).

tff('function_comp$q',axiom,
    ( ( 'comp$q'('fmb_C_c_fun$_1','fmb_B_c_fun$_1') = 'fmb_B_c_fun$_4' )
    & ( 'comp$q'('fmb_C_c_fun$_1','fmb_B_c_fun$_2') = 'fmb_B_c_fun$_4' )
    & ( 'comp$q'('fmb_C_c_fun$_1','fmb_B_c_fun$_3') = 'fmb_B_c_fun$_4' )
    & ( 'comp$q'('fmb_C_c_fun$_1','fmb_B_c_fun$_4') = 'fmb_B_c_fun$_4' ) ) ).

tff('declare_case_option$g',type,
    'case_option$g': ( tlbool * 'A_bool_fun$' ) > 'A_option_bool_fun$' ).

tff('function_case_option$g',axiom,
    ( ( 'case_option$g'(fmb_tlbool_1,'fmb_A_bool_fun$_1') = 'fmb_A_option_bool_fun$_1' )
    & ( 'case_option$g'(fmb_tlbool_1,'fmb_A_bool_fun$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'case_option$g'(fmb_tlbool_1,'fmb_A_bool_fun$_3') = 'fmb_A_option_bool_fun$_1' )
    & ( 'case_option$g'(fmb_tlbool_1,'fmb_A_bool_fun$_4') = 'fmb_A_option_bool_fun$_3' )
    & ( 'case_option$g'(fmb_tlbool_2,'fmb_A_bool_fun$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'case_option$g'(fmb_tlbool_2,'fmb_A_bool_fun$_2') = 'fmb_A_option_bool_fun$_2' )
    & ( 'case_option$g'(fmb_tlbool_2,'fmb_A_bool_fun$_3') = 'fmb_A_option_bool_fun$_4' )
    & ( 'case_option$g'(fmb_tlbool_2,'fmb_A_bool_fun$_4') = 'fmb_A_option_bool_fun$_2' ) ) ).

tff('declare_comp$o',type,
    'comp$o': ( 'C_b_option_fun$' * 'B_c_fun$' ) > 'B_b_option_fun$' ).

tff('function_comp$o',axiom,
    ( ( 'comp$o'('fmb_C_b_option_fun$_1','fmb_B_c_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'comp$o'('fmb_C_b_option_fun$_1','fmb_B_c_fun$_2') = 'fmb_B_b_option_fun$_1' )
    & ( 'comp$o'('fmb_C_b_option_fun$_1','fmb_B_c_fun$_3') = 'fmb_B_b_option_fun$_1' )
    & ( 'comp$o'('fmb_C_b_option_fun$_1','fmb_B_c_fun$_4') = 'fmb_B_b_option_fun$_1' )
    & ( 'comp$o'('fmb_C_b_option_fun$_2','fmb_B_c_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_2','fmb_B_c_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_2','fmb_B_c_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_2','fmb_B_c_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_3','fmb_B_c_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_3','fmb_B_c_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_3','fmb_B_c_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_3','fmb_B_c_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_4','fmb_B_c_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_4','fmb_B_c_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_4','fmb_B_c_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$o'('fmb_C_b_option_fun$_4','fmb_B_c_fun$_4') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_comp$bk',type,
    'comp$bk': ( 'B_c_option_fun$' * 'B_b_sum_b_fun$' ) > 'B_b_sum_c_option_fun$' ).

tff('function_comp$bk',axiom,
    ( ( 'comp$bk'('fmb_B_c_option_fun$_1','fmb_B_b_sum_b_fun$_1') = 'fmb_B_b_sum_c_option_fun$_4' )
    & ( 'comp$bk'('fmb_B_c_option_fun$_1','fmb_B_b_sum_b_fun$_2') = 'fmb_B_b_sum_c_option_fun$_4' )
    & ( 'comp$bk'('fmb_B_c_option_fun$_1','fmb_B_b_sum_b_fun$_3') = 'fmb_B_b_sum_c_option_fun$_2' )
    & ( 'comp$bk'('fmb_B_c_option_fun$_1','fmb_B_b_sum_b_fun$_4') = 'fmb_B_b_sum_c_option_fun$_4' )
    & ( 'comp$bk'('fmb_B_c_option_fun$_2','fmb_B_b_sum_b_fun$_1') = 'fmb_B_b_sum_c_option_fun$_4' )
    & ( 'comp$bk'('fmb_B_c_option_fun$_2','fmb_B_b_sum_b_fun$_2') = 'fmb_B_b_sum_c_option_fun$_4' )
    & ( 'comp$bk'('fmb_B_c_option_fun$_2','fmb_B_b_sum_b_fun$_3') = 'fmb_B_b_sum_c_option_fun$_3' )
    & ( 'comp$bk'('fmb_B_c_option_fun$_2','fmb_B_b_sum_b_fun$_4') = 'fmb_B_b_sum_c_option_fun$_4' ) ) ).

tff('declare_the$d',type,
    'the$d': 'B_bool_fun$' > 'B$' ).

tff('function_the$d',axiom,
    ( ( 'the$d'('fmb_B_bool_fun$_1') = 'fmb_B$_1' )
    & ( 'the$d'('fmb_B_bool_fun$_2') = 'fmb_B$_1' )
    & ( 'the$d'('fmb_B_bool_fun$_3') = 'fmb_B$_1' )
    & ( 'the$d'('fmb_B_bool_fun$_4') = 'fmb_B$_1' ) ) ).

tff('declare_uuj$',type,
    'uuj$': ( 'Bool_bool_fun$' * 'B_bool_fun$' ) > 'B_bool_fun$' ).

tff('function_uuj$',axiom,
    ( ( 'uuj$'('fmb_Bool_bool_fun$_1','fmb_B_bool_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_1','fmb_B_bool_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_1','fmb_B_bool_fun$_3') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_1','fmb_B_bool_fun$_4') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_2','fmb_B_bool_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_2','fmb_B_bool_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_2','fmb_B_bool_fun$_3') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_2','fmb_B_bool_fun$_4') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_3','fmb_B_bool_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_3','fmb_B_bool_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_3','fmb_B_bool_fun$_3') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_3','fmb_B_bool_fun$_4') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_4','fmb_B_bool_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_4','fmb_B_bool_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_4','fmb_B_bool_fun$_3') = 'fmb_B_bool_fun$_4' )
    & ( 'uuj$'('fmb_Bool_bool_fun$_4','fmb_B_bool_fun$_4') = 'fmb_B_bool_fun$_4' ) ) ).

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$_3' ) ) ).

tff('declare_map_option$h',type,
    'map_option$h': 'B_a_fun$' > 'B_option_a_option_fun$' ).

tff('function_map_option$h',axiom,
    'map_option$h'('fmb_B_a_fun$_1') = 'fmb_B_option_a_option_fun$_2' ).

tff('declare_comp$aj',type,
    'comp$aj': ( 'A_a_option_fun_b_b_option_fun_fun$' * 'A_a_option_fun_a_a_option_fun_fun$' ) > 'A_a_option_fun_b_b_option_fun_fun$' ).

tff('function_comp$aj',axiom,
    'comp$aj'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_A_a_option_fun_a_a_option_fun_fun$_1') = 'fmb_A_a_option_fun_b_b_option_fun_fun$_1' ).

tff('declare_fun_app$bl',type,
    'fun_app$bl': ( 'C_a_fun$' * 'C$' ) > 'A$' ).

tff('function_fun_app$bl',axiom,
    ( ( 'fun_app$bl'('fmb_C_a_fun$_1','fmb_C$_1') = 'fmb_A$_1' )
    & ( 'fun_app$bl'('fmb_C_a_fun$_2','fmb_C$_1') = 'fmb_A$_1' )
    & ( 'fun_app$bl'('fmb_C_a_fun$_3','fmb_C$_1') = 'fmb_A$_1' )
    & ( 'fun_app$bl'('fmb_C_a_fun$_4','fmb_C$_1') = 'fmb_A$_1' ) ) ).

tff('declare_fun_app$s',type,
    'fun_app$s': ( 'B_option_b_option_fun$' * 'B_option$' ) > 'B_option$' ).

tff('function_fun_app$s',axiom,
    ( ( 'fun_app$s'('fmb_B_option_b_option_fun$_1','fmb_B_option$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$s'('fmb_B_option_b_option_fun$_1','fmb_B_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$s'('fmb_B_option_b_option_fun$_2','fmb_B_option$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$s'('fmb_B_option_b_option_fun$_2','fmb_B_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$s'('fmb_B_option_b_option_fun$_3','fmb_B_option$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$s'('fmb_B_option_b_option_fun$_3','fmb_B_option$_2') = 'fmb_B_option$_1' )
    & ( 'fun_app$s'('fmb_B_option_b_option_fun$_4','fmb_B_option$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$s'('fmb_B_option_b_option_fun$_4','fmb_B_option$_2') = 'fmb_B_option$_1' ) ) ).

tff('declare_setter$a',type,
    'setter$a': 'A_a_option_fun_b_b_option_fun_fun$' > 'A_b_b_fun_fun$' ).

tff('function_setter$a',axiom,
    'setter$a'('fmb_A_a_option_fun_b_b_option_fun_fun$_1') = 'fmb_A_b_b_fun_fun$_1' ).

tff('declare_comp$u',type,
    'comp$u': ( 'C_b_fun$' * 'C_c_fun$' ) > 'C_b_fun$' ).

tff('function_comp$u',axiom,
    'comp$u'('fmb_C_b_fun$_1','fmb_C_c_fun$_1') = 'fmb_C_b_fun$_1' ).

tff('declare_comp$d',type,
    'comp$d': ( 'B_b_option_fun$' * 'A_b_fun$' ) > 'A_b_option_fun$' ).

tff('function_comp$d',axiom,
    ( ( 'comp$d'('fmb_B_b_option_fun$_1','fmb_A_b_fun$_1') = 'fmb_A_b_option_fun$_1' )
    & ( 'comp$d'('fmb_B_b_option_fun$_1','fmb_A_b_fun$_2') = 'fmb_A_b_option_fun$_1' )
    & ( 'comp$d'('fmb_B_b_option_fun$_1','fmb_A_b_fun$_3') = 'fmb_A_b_option_fun$_1' )
    & ( 'comp$d'('fmb_B_b_option_fun$_1','fmb_A_b_fun$_4') = 'fmb_A_b_option_fun$_1' )
    & ( 'comp$d'('fmb_B_b_option_fun$_2','fmb_A_b_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_2','fmb_A_b_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_2','fmb_A_b_fun$_3') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_2','fmb_A_b_fun$_4') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_3','fmb_A_b_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_3','fmb_A_b_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_3','fmb_A_b_fun$_3') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_3','fmb_A_b_fun$_4') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_4','fmb_A_b_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_4','fmb_A_b_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_4','fmb_A_b_fun$_3') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$d'('fmb_B_b_option_fun$_4','fmb_A_b_fun$_4') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_fun_app$h',type,
    'fun_app$h': ( 'B_b_fun$' * 'B$' ) > 'B$' ).

tff('function_fun_app$h',axiom,
    'fun_app$h'('fmb_B_b_fun$_1','fmb_B$_1') = 'fmb_B$_1' ).

tff(declare_def_6,type,
    def_6: ( tlbool * 'B_bool_fun$' * 'B_option$' ) > tlbool ).

tff(function_def_6,axiom,
    ( ( def_6(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_6(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_6(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_6(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_6(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_6(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_6(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_6(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_6(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_6(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_6(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_6(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_6(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_6(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_6(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_6(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 ) ) ).

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

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

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

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

tff('declare_fun_app$ah',type,
    'fun_app$ah': ( 'C_c_c_fun_fun$' * 'C$' ) > 'C_c_fun$' ).

tff('function_fun_app$ah',axiom,
    ( ( 'fun_app$ah'('fmb_C_c_c_fun_fun$_1','fmb_C$_1') = 'fmb_C_c_fun$_1' )
    & ( 'fun_app$ah'('fmb_C_c_c_fun_fun$_2','fmb_C$_1') = 'fmb_C_c_fun$_1' )
    & ( 'fun_app$ah'('fmb_C_c_c_fun_fun$_3','fmb_C$_1') = 'fmb_C_c_fun$_1' )
    & ( 'fun_app$ah'('fmb_C_c_c_fun_fun$_4','fmb_C$_1') = 'fmb_C_c_fun$_1' ) ) ).

tff('declare_comp$',type,
    'comp$': ( 'C_c_option_fun$' * 'C_c_fun$' ) > 'C_c_option_fun$' ).

tff('function_comp$',axiom,
    ( ( 'comp$'('fmb_C_c_option_fun$_1','fmb_C_c_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$'('fmb_C_c_option_fun$_2','fmb_C_c_fun$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'comp$'('fmb_C_c_option_fun$_3','fmb_C_c_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'comp$'('fmb_C_c_option_fun$_4','fmb_C_c_fun$_1') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_comp$av',type,
    'comp$av': ( 'B_option_c_option_fun$' * 'B_b_option_fun$' ) > 'B_c_option_fun$' ).

tff('function_comp$av',axiom,
    ( ( 'comp$av'('fmb_B_option_c_option_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_2','fmb_B_b_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_2','fmb_B_b_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_2','fmb_B_b_option_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_2','fmb_B_b_option_fun$_4') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_3','fmb_B_b_option_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_3','fmb_B_b_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_3','fmb_B_b_option_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_3','fmb_B_b_option_fun$_4') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_4','fmb_B_b_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_4','fmb_B_b_option_fun$_2') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_4','fmb_B_b_option_fun$_3') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$av'('fmb_B_option_c_option_fun$_4','fmb_B_b_option_fun$_4') = 'fmb_B_c_option_fun$_1' ) ) ).

tff('declare_uwp$',type,
    'uwp$': 'B$' > 'B_bool_fun$' ).

tff('function_uwp$',axiom,
    'uwp$'('fmb_B$_1') = 'fmb_B_bool_fun$_2' ).

tff('declare_uvx$',type,
    'uvx$': ( 'B_b_option_fun$' * 'B_c_option_fun$' ) > 'B_c_option_fun$' ).

tff('function_uvx$',axiom,
    ( ( 'uvx$'('fmb_B_b_option_fun$_1','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvx$'('fmb_B_b_option_fun$_1','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvx$'('fmb_B_b_option_fun$_2','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvx$'('fmb_B_b_option_fun$_2','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'uvx$'('fmb_B_b_option_fun$_3','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvx$'('fmb_B_b_option_fun$_3','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'uvx$'('fmb_B_b_option_fun$_4','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'uvx$'('fmb_B_b_option_fun$_4','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_fun_app$as',type,
    'fun_app$as': ( 'A_a_option_fun_a_a_option_fun_fun$' * 'A_a_option_fun$' ) > 'A_a_option_fun$' ).

tff('function_fun_app$as',axiom,
    ( ( 'fun_app$as'('fmb_A_a_option_fun_a_a_option_fun_fun$_1','fmb_A_a_option_fun$_1') = 'fmb_A_a_option_fun$_1' )
    & ( 'fun_app$as'('fmb_A_a_option_fun_a_a_option_fun_fun$_1','fmb_A_a_option_fun$_2') = 'fmb_A_a_option_fun$_1' )
    & ( 'fun_app$as'('fmb_A_a_option_fun_a_a_option_fun_fun$_1','fmb_A_a_option_fun$_3') = 'fmb_A_a_option_fun$_1' )
    & ( 'fun_app$as'('fmb_A_a_option_fun_a_a_option_fun_fun$_1','fmb_A_a_option_fun$_4') = 'fmb_A_a_option_fun$_1' ) ) ).

tff('declare_fun_app$bh',type,
    'fun_app$bh': ( 'A_option_c_option_fun$' * 'A_option$' ) > 'C_option$' ).

tff('function_fun_app$bh',axiom,
    ( ( 'fun_app$bh'('fmb_A_option_c_option_fun$_1','fmb_A_option$_1') = 'fmb_C_option$_2' )
    & ( 'fun_app$bh'('fmb_A_option_c_option_fun$_1','fmb_A_option$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$bh'('fmb_A_option_c_option_fun$_2','fmb_A_option$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$bh'('fmb_A_option_c_option_fun$_2','fmb_A_option$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$bh'('fmb_A_option_c_option_fun$_3','fmb_A_option$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$bh'('fmb_A_option_c_option_fun$_3','fmb_A_option$_2') = 'fmb_C_option$_2' )
    & ( 'fun_app$bh'('fmb_A_option_c_option_fun$_4','fmb_A_option$_1') = 'fmb_C_option$_1' )
    & ( 'fun_app$bh'('fmb_A_option_c_option_fun$_4','fmb_A_option$_2') = 'fmb_C_option$_2' ) ) ).

tff('declare_uvv$',type,
    'uvv$': ( 'B_c_option_fun$' * 'C_b_option_fun$' ) > 'B_b_option_fun$' ).

tff('function_uvv$',axiom,
    ( ( 'uvv$'('fmb_B_c_option_fun$_1','fmb_C_b_option_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'uvv$'('fmb_B_c_option_fun$_1','fmb_C_b_option_fun$_2') = 'fmb_B_b_option_fun$_1' )
    & ( 'uvv$'('fmb_B_c_option_fun$_1','fmb_C_b_option_fun$_3') = 'fmb_B_b_option_fun$_1' )
    & ( 'uvv$'('fmb_B_c_option_fun$_1','fmb_C_b_option_fun$_4') = 'fmb_B_b_option_fun$_1' )
    & ( 'uvv$'('fmb_B_c_option_fun$_2','fmb_C_b_option_fun$_1') = 'fmb_B_b_option_fun$_1' )
    & ( 'uvv$'('fmb_B_c_option_fun$_2','fmb_C_b_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'uvv$'('fmb_B_c_option_fun$_2','fmb_C_b_option_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'uvv$'('fmb_B_c_option_fun$_2','fmb_C_b_option_fun$_4') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_fun_upd$c',type,
    'fun_upd$c': ( 'B_c_option_fun$' * 'B$' * 'C_option$' ) > 'B_c_option_fun$' ).

tff('function_fun_upd$c',axiom,
    ( ( 'fun_upd$c'('fmb_B_c_option_fun$_1','fmb_B$_1','fmb_C_option$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'fun_upd$c'('fmb_B_c_option_fun$_1','fmb_B$_1','fmb_C_option$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'fun_upd$c'('fmb_B_c_option_fun$_2','fmb_B$_1','fmb_C_option$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'fun_upd$c'('fmb_B_c_option_fun$_2','fmb_B$_1','fmb_C_option$_2') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_bind$a',type,
    'bind$a': ( 'C_option$' * 'C_b_option_fun$' ) > 'B_option$' ).

tff('function_bind$a',axiom,
    ( ( 'bind$a'('fmb_C_option$_1','fmb_C_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'bind$a'('fmb_C_option$_1','fmb_C_b_option_fun$_2') = 'fmb_B_option$_1' )
    & ( 'bind$a'('fmb_C_option$_1','fmb_C_b_option_fun$_3') = 'fmb_B_option$_1' )
    & ( 'bind$a'('fmb_C_option$_1','fmb_C_b_option_fun$_4') = 'fmb_B_option$_1' )
    & ( 'bind$a'('fmb_C_option$_2','fmb_C_b_option_fun$_1') = 'fmb_B_option$_1' )
    & ( 'bind$a'('fmb_C_option$_2','fmb_C_b_option_fun$_2') = 'fmb_B_option$_2' )
    & ( 'bind$a'('fmb_C_option$_2','fmb_C_b_option_fun$_3') = 'fmb_B_option$_2' )
    & ( 'bind$a'('fmb_C_option$_2','fmb_C_b_option_fun$_4') = 'fmb_B_option$_2' ) ) ).

tff('declare_getter$',type,
    'getter$': 'B_b_option_fun_c_c_option_fun_fun$' > 'C_b_fun$' ).

tff('function_getter$',axiom,
    'getter$'('fmb_B_b_option_fun_c_c_option_fun_fun$_1') = 'fmb_C_b_fun$_1' ).

tff('declare_fun_app$ay',type,
    'fun_app$ay': ( 'B_option_a_option_bool_fun_fun$' * 'B_option$' ) > 'A_option_bool_fun$' ).

tff('function_fun_app$ay',axiom,
    ( ( 'fun_app$ay'('fmb_B_option_a_option_bool_fun_fun$_1','fmb_B_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ay'('fmb_B_option_a_option_bool_fun_fun$_1','fmb_B_option$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ay'('fmb_B_option_a_option_bool_fun_fun$_2','fmb_B_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ay'('fmb_B_option_a_option_bool_fun_fun$_2','fmb_B_option$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ay'('fmb_B_option_a_option_bool_fun_fun$_3','fmb_B_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ay'('fmb_B_option_a_option_bool_fun_fun$_3','fmb_B_option$_2') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ay'('fmb_B_option_a_option_bool_fun_fun$_4','fmb_B_option$_1') = 'fmb_A_option_bool_fun$_4' )
    & ( 'fun_app$ay'('fmb_B_option_a_option_bool_fun_fun$_4','fmb_B_option$_2') = 'fmb_A_option_bool_fun$_4' ) ) ).

tff('declare_case_option$c',type,
    'case_option$c': ( 'C_option$' * 'B_c_option_fun$' ) > 'B_option_c_option_fun$' ).

tff('function_case_option$c',axiom,
    ( ( 'case_option$c'('fmb_C_option$_1','fmb_B_c_option_fun$_1') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'case_option$c'('fmb_C_option$_1','fmb_B_c_option_fun$_2') = 'fmb_B_option_c_option_fun$_2' )
    & ( 'case_option$c'('fmb_C_option$_2','fmb_B_c_option_fun$_1') = 'fmb_B_option_c_option_fun$_3' )
    & ( 'case_option$c'('fmb_C_option$_2','fmb_B_c_option_fun$_2') = 'fmb_B_option_c_option_fun$_1' ) ) ).

tff('declare_uvw$',type,
    'uvw$': ( 'C_c_option_fun$' * 'C_b_option_fun$' ) > 'C_b_option_fun$' ).

tff('function_uvw$',axiom,
    ( ( 'uvw$'('fmb_C_c_option_fun$_1','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvw$'('fmb_C_c_option_fun$_1','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvw$'('fmb_C_c_option_fun$_1','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvw$'('fmb_C_c_option_fun$_1','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvw$'('fmb_C_c_option_fun$_2','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvw$'('fmb_C_c_option_fun$_2','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvw$'('fmb_C_c_option_fun$_2','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvw$'('fmb_C_c_option_fun$_2','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvw$'('fmb_C_c_option_fun$_3','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvw$'('fmb_C_c_option_fun$_3','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvw$'('fmb_C_c_option_fun$_3','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvw$'('fmb_C_c_option_fun$_3','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvw$'('fmb_C_c_option_fun$_4','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'uvw$'('fmb_C_c_option_fun$_4','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvw$'('fmb_C_c_option_fun$_4','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'uvw$'('fmb_C_c_option_fun$_4','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' ) ) ).

tff(declare_def_16,type,
    def_16: ( tlbool * 'B_bool_fun$' * 'B_option$' ) > tlbool ).

tff(function_def_16,axiom,
    ( ( def_16(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_16(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_16(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_16(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_16(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_16(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_16(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_16(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_16(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_16(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_16(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_16(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_16(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_16(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_16(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_16(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_case_option$',type,
    'case_option$': ( 'B_option$' * 'B_b_option_fun$' ) > 'B_option_b_option_fun$' ).

tff('function_case_option$',axiom,
    ( ( 'case_option$'('fmb_B_option$_1','fmb_B_b_option_fun$_1') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'case_option$'('fmb_B_option$_1','fmb_B_b_option_fun$_2') = 'fmb_B_option_b_option_fun$_1' )
    & ( 'case_option$'('fmb_B_option$_1','fmb_B_b_option_fun$_3') = 'fmb_B_option_b_option_fun$_1' )
    & ( 'case_option$'('fmb_B_option$_1','fmb_B_b_option_fun$_4') = 'fmb_B_option_b_option_fun$_1' )
    & ( 'case_option$'('fmb_B_option$_2','fmb_B_b_option_fun$_1') = 'fmb_B_option_b_option_fun$_3' )
    & ( 'case_option$'('fmb_B_option$_2','fmb_B_b_option_fun$_2') = 'fmb_B_option_b_option_fun$_2' )
    & ( 'case_option$'('fmb_B_option$_2','fmb_B_b_option_fun$_3') = 'fmb_B_option_b_option_fun$_2' )
    & ( 'case_option$'('fmb_B_option$_2','fmb_B_b_option_fun$_4') = 'fmb_B_option_b_option_fun$_2' ) ) ).

tff('declare_comp$m',type,
    'comp$m': ( 'B_option_b_fun$' * 'B_b_option_fun$' ) > 'B_b_fun$' ).

tff('function_comp$m',axiom,
    ( ( 'comp$m'('fmb_B_option_b_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_2','fmb_B_b_option_fun$_1') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_2','fmb_B_b_option_fun$_2') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_2','fmb_B_b_option_fun$_3') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_2','fmb_B_b_option_fun$_4') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_3','fmb_B_b_option_fun$_1') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_3','fmb_B_b_option_fun$_2') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_3','fmb_B_b_option_fun$_3') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_3','fmb_B_b_option_fun$_4') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_4','fmb_B_b_option_fun$_1') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_4','fmb_B_b_option_fun$_2') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_4','fmb_B_b_option_fun$_3') = 'fmb_B_b_fun$_1' )
    & ( 'comp$m'('fmb_B_option_b_fun$_4','fmb_B_b_option_fun$_4') = 'fmb_B_b_fun$_1' ) ) ).

tff(declare_def_20,type,
    def_20: ( tlbool * 'B_bool_fun$' * 'B_option$' ) > tlbool ).

tff(function_def_20,axiom,
    ( ( def_20(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_20(fmb_tlbool_1,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_20(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_20(fmb_tlbool_1,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_20(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_20(fmb_tlbool_1,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_20(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_1 )
    & ( def_20(fmb_tlbool_1,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_20(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_20(fmb_tlbool_2,'fmb_B_bool_fun$_1','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_20(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_20(fmb_tlbool_2,'fmb_B_bool_fun$_2','fmb_B_option$_2') = fmb_tlbool_1 )
    & ( def_20(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_20(fmb_tlbool_2,'fmb_B_bool_fun$_3','fmb_B_option$_2') = fmb_tlbool_2 )
    & ( def_20(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_1') = fmb_tlbool_2 )
    & ( def_20(fmb_tlbool_2,'fmb_B_bool_fun$_4','fmb_B_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_comp$as',type,
    'comp$as': 'C_option_c_option_fun$' > 'C_c_option_fun_c_c_option_fun_fun$' ).

tff('function_comp$as',axiom,
    ( ( 'comp$as'('fmb_C_option_c_option_fun$_1') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' )
    & ( 'comp$as'('fmb_C_option_c_option_fun$_2') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' )
    & ( 'comp$as'('fmb_C_option_c_option_fun$_3') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' )
    & ( 'comp$as'('fmb_C_option_c_option_fun$_4') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' ) ) ).

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

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

tff('declare_comp$ar',type,
    'comp$ar': ( 'C_option_c_option_fun$' * 'B_c_option_fun$' ) > 'B_c_option_fun$' ).

tff('function_comp$ar',axiom,
    ( ( 'comp$ar'('fmb_C_option_c_option_fun$_1','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$ar'('fmb_C_option_c_option_fun$_1','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$ar'('fmb_C_option_c_option_fun$_2','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$ar'('fmb_C_option_c_option_fun$_2','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$ar'('fmb_C_option_c_option_fun$_3','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$ar'('fmb_C_option_c_option_fun$_3','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$ar'('fmb_C_option_c_option_fun$_4','fmb_B_c_option_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'comp$ar'('fmb_C_option_c_option_fun$_4','fmb_B_c_option_fun$_2') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_fun_app$bg',type,
    'fun_app$bg': ( 'C_option_b_option_fun$' * 'C_option$' ) > 'B_option$' ).

tff('function_fun_app$bg',axiom,
    ( ( 'fun_app$bg'('fmb_C_option_b_option_fun$_1','fmb_C_option$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$bg'('fmb_C_option_b_option_fun$_1','fmb_C_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$bg'('fmb_C_option_b_option_fun$_2','fmb_C_option$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$bg'('fmb_C_option_b_option_fun$_2','fmb_C_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$bg'('fmb_C_option_b_option_fun$_3','fmb_C_option$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$bg'('fmb_C_option_b_option_fun$_3','fmb_C_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$bg'('fmb_C_option_b_option_fun$_4','fmb_C_option$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$bg'('fmb_C_option_b_option_fun$_4','fmb_C_option$_2') = 'fmb_B_option$_2' ) ) ).

tff(declare_def_3,type,
    def_3: ( 'B_bool_fun$' * 'B$' ) > tlbool ).

tff(function_def_3,axiom,
    ( ( def_3('fmb_B_bool_fun$_1','fmb_B$_1') = fmb_tlbool_2 )
    & ( def_3('fmb_B_bool_fun$_2','fmb_B$_1') = fmb_tlbool_1 )
    & ( def_3('fmb_B_bool_fun$_3','fmb_B$_1') = fmb_tlbool_2 )
    & ( def_3('fmb_B_bool_fun$_4','fmb_B$_1') = fmb_tlbool_2 ) ) ).

tff(declare_def_22,type,
    def_22: ( tlbool * 'C_bool_fun$' * 'C_option$' ) > tlbool ).

tff(function_def_22,axiom,
    ( ( def_22(fmb_tlbool_1,'fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_22(fmb_tlbool_1,'fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_22(fmb_tlbool_1,'fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_22(fmb_tlbool_1,'fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_22(fmb_tlbool_1,'fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_22(fmb_tlbool_1,'fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_22(fmb_tlbool_1,'fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_22(fmb_tlbool_1,'fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_22(fmb_tlbool_2,'fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_22(fmb_tlbool_2,'fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_22(fmb_tlbool_2,'fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_22(fmb_tlbool_2,'fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_22(fmb_tlbool_2,'fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_22(fmb_tlbool_2,'fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_22(fmb_tlbool_2,'fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_22(fmb_tlbool_2,'fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_uum$',type,
    'uum$': ( 'Bool_c_option_fun$' * 'B_bool_fun$' ) > 'B_c_option_fun$' ).

tff('function_uum$',axiom,
    ( ( 'uum$'('fmb_Bool_c_option_fun$_1','fmb_B_bool_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_1','fmb_B_bool_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_1','fmb_B_bool_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_1','fmb_B_bool_fun$_4') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_2','fmb_B_bool_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_2','fmb_B_bool_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_2','fmb_B_bool_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_2','fmb_B_bool_fun$_4') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_3','fmb_B_bool_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_3','fmb_B_bool_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_3','fmb_B_bool_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_3','fmb_B_bool_fun$_4') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_4','fmb_B_bool_fun$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_4','fmb_B_bool_fun$_2') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_4','fmb_B_bool_fun$_3') = 'fmb_B_c_option_fun$_2' )
    & ( 'uum$'('fmb_Bool_c_option_fun$_4','fmb_B_bool_fun$_4') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_uwl$',type,
    'uwl$': 'B$' > 'B_bool_fun$' ).

tff('function_uwl$',axiom,
    'uwl$'('fmb_B$_1') = 'fmb_B_bool_fun$_2' ).

tff('declare_comp$ai',type,
    'comp$ai': ( 'B_b_fun$' * 'B_b_fun$' ) > 'B_b_fun$' ).

tff('function_comp$ai',axiom,
    'comp$ai'('fmb_B_b_fun$_1','fmb_B_b_fun$_1') = 'fmb_B_b_fun$_1' ).

tff('declare_map_option$k',type,
    'map_option$k': ( 'B_b_option_fun$' * 'B_option$' ) > 'B_option_option$' ).

tff('function_map_option$k',axiom,
    ( ( 'map_option$k'('fmb_B_b_option_fun$_1','fmb_B_option$_1') = 'fmb_B_option_option$_2' )
    & ( 'map_option$k'('fmb_B_b_option_fun$_1','fmb_B_option$_2') = 'fmb_B_option_option$_2' )
    & ( 'map_option$k'('fmb_B_b_option_fun$_2','fmb_B_option$_1') = 'fmb_B_option_option$_2' )
    & ( 'map_option$k'('fmb_B_b_option_fun$_2','fmb_B_option$_2') = 'fmb_B_option_option$_2' )
    & ( 'map_option$k'('fmb_B_b_option_fun$_3','fmb_B_option$_1') = 'fmb_B_option_option$_2' )
    & ( 'map_option$k'('fmb_B_b_option_fun$_3','fmb_B_option$_2') = 'fmb_B_option_option$_2' )
    & ( 'map_option$k'('fmb_B_b_option_fun$_4','fmb_B_option$_1') = 'fmb_B_option_option$_2' )
    & ( 'map_option$k'('fmb_B_b_option_fun$_4','fmb_B_option$_2') = 'fmb_B_option_option$_2' ) ) ).

tff('declare_comp$bb',type,
    'comp$bb': ( 'B_b_fun$' * 'B_option_b_fun$' ) > 'B_option_b_fun$' ).

tff('function_comp$bb',axiom,
    ( ( 'comp$bb'('fmb_B_b_fun$_1','fmb_B_option_b_fun$_1') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bb'('fmb_B_b_fun$_1','fmb_B_option_b_fun$_2') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bb'('fmb_B_b_fun$_1','fmb_B_option_b_fun$_3') = 'fmb_B_option_b_fun$_4' )
    & ( 'comp$bb'('fmb_B_b_fun$_1','fmb_B_option_b_fun$_4') = 'fmb_B_option_b_fun$_4' ) ) ).

tff('declare_comp$az',type,
    'comp$az': ( 'A_option_b_option_fun$' * 'B_a_option_fun$' ) > 'B_b_option_fun$' ).

tff('function_comp$az',axiom,
    ( ( 'comp$az'('fmb_A_option_b_option_fun$_1','fmb_B_a_option_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_1','fmb_B_a_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_1','fmb_B_a_option_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_1','fmb_B_a_option_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_2','fmb_B_a_option_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_2','fmb_B_a_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_2','fmb_B_a_option_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_2','fmb_B_a_option_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_3','fmb_B_a_option_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_3','fmb_B_a_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_3','fmb_B_a_option_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_3','fmb_B_a_option_fun$_4') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_4','fmb_B_a_option_fun$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_4','fmb_B_a_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_4','fmb_B_a_option_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'comp$az'('fmb_A_option_b_option_fun$_4','fmb_B_a_option_fun$_4') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_register_from_getter_setter$a',type,
    'register_from_getter_setter$a': ( 'C_b_fun$' * 'B_c_c_fun_fun$' ) > 'B_b_option_fun_c_c_option_fun_fun$' ).

tff('function_register_from_getter_setter$a',axiom,
    'register_from_getter_setter$a'('fmb_C_b_fun$_1','fmb_B_c_c_fun_fun$_1') = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' ).

tff('declare_uva$',type,
    'uva$': 'B_b_b_fun_fun$' > 'B_b_b_option_fun_fun$' ).

tff('function_uva$',axiom,
    ( ( 'uva$'('fmb_B_b_b_fun_fun$_1') = 'fmb_B_b_b_option_fun_fun$_4' )
    & ( 'uva$'('fmb_B_b_b_fun_fun$_2') = 'fmb_B_b_b_option_fun_fun$_4' )
    & ( 'uva$'('fmb_B_b_b_fun_fun$_3') = 'fmb_B_b_b_option_fun_fun$_4' )
    & ( 'uva$'('fmb_B_b_b_fun_fun$_4') = 'fmb_B_b_b_option_fun_fun$_4' ) ) ).

tff('declare_fun_upd$f',type,
    'fun_upd$f': ( 'C_c_fun$' * 'C$' ) > 'C_c_c_fun_fun$' ).

tff('function_fun_upd$f',axiom,
    'fun_upd$f'('fmb_C_c_fun$_1','fmb_C$_1') = 'fmb_C_c_c_fun_fun$_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_case_sum$f',type,
    'case_sum$f': ( 'C_c_fun$' * 'C_c_fun$' ) > 'C_c_sum_c_fun$' ).

tff('function_case_sum$f',axiom,
    'case_sum$f'('fmb_C_c_fun$_1','fmb_C_c_fun$_1') = 'fmb_C_c_sum_c_fun$_2' ).

tff('declare_setter$',type,
    'setter$': 'B_b_option_fun_c_c_option_fun_fun$' > 'B_c_c_fun_fun$' ).

tff('function_setter$',axiom,
    'setter$'('fmb_B_b_option_fun_c_c_option_fun_fun$_1') = 'fmb_B_c_c_fun_fun$_1' ).

tff('declare_uwi$',type,
    'uwi$': 'C_option$' > 'B_c_option_fun$' ).

tff('function_uwi$',axiom,
    ( ( 'uwi$'('fmb_C_option$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'uwi$'('fmb_C_option$_2') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_fun_app$au',type,
    'fun_app$au': ( 'A_a_option_fun_b_b_option_fun_fun$' * 'A_a_option_fun$' ) > 'B_b_option_fun$' ).

tff('function_fun_app$au',axiom,
    ( ( 'fun_app$au'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_A_a_option_fun$_1') = 'fmb_B_b_option_fun$_2' )
    & ( 'fun_app$au'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_A_a_option_fun$_2') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$au'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_A_a_option_fun$_3') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$au'('fmb_A_a_option_fun_b_b_option_fun_fun$_1','fmb_A_a_option_fun$_4') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_fun_app$y',type,
    'fun_app$y': ( 'B_c_c_fun_fun$' * 'B$' ) > 'C_c_fun$' ).

tff('function_fun_app$y',axiom,
    'fun_app$y'('fmb_B_c_c_fun_fun$_1','fmb_B$_1') = 'fmb_C_c_fun$_1' ).

tff('declare_uvc$',type,
    'uvc$': 'C_b_fun$' > 'C_b_option_fun$' ).

tff('function_uvc$',axiom,
    'uvc$'('fmb_C_b_fun$_1') = 'fmb_C_b_option_fun$_4' ).

tff('declare_comp$bm',type,
    'comp$bm': ( 'C_option_c_fun$' * 'C_c_sum_c_option_fun$' ) > 'C_c_sum_c_fun$' ).

tff('function_comp$bm',axiom,
    ( ( 'comp$bm'('fmb_C_option_c_fun$_1','fmb_C_c_sum_c_option_fun$_1') = 'fmb_C_c_sum_c_fun$_4' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_1','fmb_C_c_sum_c_option_fun$_2') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_1','fmb_C_c_sum_c_option_fun$_3') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_1','fmb_C_c_sum_c_option_fun$_4') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_2','fmb_C_c_sum_c_option_fun$_1') = 'fmb_C_c_sum_c_fun$_4' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_2','fmb_C_c_sum_c_option_fun$_2') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_2','fmb_C_c_sum_c_option_fun$_3') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_2','fmb_C_c_sum_c_option_fun$_4') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_3','fmb_C_c_sum_c_option_fun$_1') = 'fmb_C_c_sum_c_fun$_4' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_3','fmb_C_c_sum_c_option_fun$_2') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_3','fmb_C_c_sum_c_option_fun$_3') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_3','fmb_C_c_sum_c_option_fun$_4') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_4','fmb_C_c_sum_c_option_fun$_1') = 'fmb_C_c_sum_c_fun$_4' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_4','fmb_C_c_sum_c_option_fun$_2') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_4','fmb_C_c_sum_c_option_fun$_3') = 'fmb_C_c_sum_c_fun$_2' )
    & ( 'comp$bm'('fmb_C_option_c_fun$_4','fmb_C_c_sum_c_option_fun$_4') = 'fmb_C_c_sum_c_fun$_2' ) ) ).

tff('declare_image$a',type,
    'image$a': ( 'B_b_option_fun$' * 'B_set$' ) > 'B_option_set$' ).

tff('function_image$a',axiom,
    ( ( 'image$a'('fmb_B_b_option_fun$_1','fmb_B_set$_1') = 'fmb_B_option_set$_4' )
    & ( 'image$a'('fmb_B_b_option_fun$_1','fmb_B_set$_2') = 'fmb_B_option_set$_4' )
    & ( 'image$a'('fmb_B_b_option_fun$_2','fmb_B_set$_1') = 'fmb_B_option_set$_4' )
    & ( 'image$a'('fmb_B_b_option_fun$_2','fmb_B_set$_2') = 'fmb_B_option_set$_3' )
    & ( 'image$a'('fmb_B_b_option_fun$_3','fmb_B_set$_1') = 'fmb_B_option_set$_4' )
    & ( 'image$a'('fmb_B_b_option_fun$_3','fmb_B_set$_2') = 'fmb_B_option_set$_4' )
    & ( 'image$a'('fmb_B_b_option_fun$_4','fmb_B_set$_1') = 'fmb_B_option_set$_4' )
    & ( 'image$a'('fmb_B_b_option_fun$_4','fmb_B_set$_2') = 'fmb_B_option_set$_4' ) ) ).

tff('declare_fun_app$m',type,
    'fun_app$m': ( 'C_b_fun$' * 'C$' ) > 'B$' ).

tff('function_fun_app$m',axiom,
    'fun_app$m'('fmb_C_b_fun$_1','fmb_C$_1') = 'fmb_B$_1' ).

tff('declare_uve$',type,
    'uve$': 'B_b_fun$' > 'B_b_option_fun$' ).

tff('function_uve$',axiom,
    'uve$'('fmb_B_b_fun$_1') = 'fmb_B_b_option_fun$_4' ).

tff('declare_fun_app$ai',type,
    'fun_app$ai': ( 'B_b_b_fun_fun$' * 'B$' ) > 'B_b_fun$' ).

tff('function_fun_app$ai',axiom,
    ( ( 'fun_app$ai'('fmb_B_b_b_fun_fun$_1','fmb_B$_1') = 'fmb_B_b_fun$_1' )
    & ( 'fun_app$ai'('fmb_B_b_b_fun_fun$_2','fmb_B$_1') = 'fmb_B_b_fun$_1' )
    & ( 'fun_app$ai'('fmb_B_b_b_fun_fun$_3','fmb_B$_1') = 'fmb_B_b_fun$_1' )
    & ( 'fun_app$ai'('fmb_B_b_b_fun_fun$_4','fmb_B$_1') = 'fmb_B_b_fun$_1' ) ) ).

tff('declare_register_from_getter_setter$',type,
    'register_from_getter_setter$': ( 'B_a_fun$' * 'A_b_b_fun_fun$' ) > 'A_a_option_fun_b_b_option_fun_fun$' ).

tff('function_register_from_getter_setter$',axiom,
    'register_from_getter_setter$'('fmb_B_a_fun$_1','fmb_A_b_b_fun_fun$_1') = 'fmb_A_a_option_fun_b_b_option_fun_fun$_1' ).

tff('declare_map_option$a',type,
    'map_option$a': 'A_a_fun$' > 'A_option_a_option_fun$' ).

tff('function_map_option$a',axiom,
    ( ( 'map_option$a'('fmb_A_a_fun$_1') = 'fmb_A_option_a_option_fun$_1' )
    & ( 'map_option$a'('fmb_A_a_fun$_2') = 'fmb_A_option_a_option_fun$_1' )
    & ( 'map_option$a'('fmb_A_a_fun$_3') = 'fmb_A_option_a_option_fun$_4' )
    & ( 'map_option$a'('fmb_A_a_fun$_4') = 'fmb_A_option_a_option_fun$_4' ) ) ).

tff('declare_uup$',type,
    'uup$': ( 'B_option_bool_fun$' * 'B_b_option_fun$' ) > 'B_bool_fun$' ).

tff('function_uup$',axiom,
    ( ( 'uup$'('fmb_B_option_bool_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'uup$'('fmb_B_option_bool_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'uup$'('fmb_B_option_bool_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_B_bool_fun$_4' )
    & ( 'uup$'('fmb_B_option_bool_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_B_bool_fun$_4' )
    & ( 'uup$'('fmb_B_option_bool_fun$_2','fmb_B_b_option_fun$_1') = 'fmb_B_bool_fun$_2' )
    & ( 'uup$'('fmb_B_option_bool_fun$_2','fmb_B_b_option_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'uup$'('fmb_B_option_bool_fun$_2','fmb_B_b_option_fun$_3') = 'fmb_B_bool_fun$_4' )
    & ( 'uup$'('fmb_B_option_bool_fun$_2','fmb_B_b_option_fun$_4') = 'fmb_B_bool_fun$_4' )
    & ( 'uup$'('fmb_B_option_bool_fun$_3','fmb_B_b_option_fun$_1') = 'fmb_B_bool_fun$_2' )
    & ( 'uup$'('fmb_B_option_bool_fun$_3','fmb_B_b_option_fun$_2') = 'fmb_B_bool_fun$_2' )
    & ( 'uup$'('fmb_B_option_bool_fun$_3','fmb_B_b_option_fun$_3') = 'fmb_B_bool_fun$_2' )
    & ( 'uup$'('fmb_B_option_bool_fun$_3','fmb_B_b_option_fun$_4') = 'fmb_B_bool_fun$_2' )
    & ( 'uup$'('fmb_B_option_bool_fun$_4','fmb_B_b_option_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'uup$'('fmb_B_option_bool_fun$_4','fmb_B_b_option_fun$_2') = 'fmb_B_bool_fun$_2' )
    & ( 'uup$'('fmb_B_option_bool_fun$_4','fmb_B_b_option_fun$_3') = 'fmb_B_bool_fun$_2' )
    & ( 'uup$'('fmb_B_option_bool_fun$_4','fmb_B_b_option_fun$_4') = 'fmb_B_bool_fun$_2' ) ) ).

tff('declare_fun_app$aa',type,
    'fun_app$aa': ( 'C_c_option_fun_c_c_option_fun_fun$' * 'C_c_option_fun$' ) > 'C_c_option_fun$' ).

tff('function_fun_app$aa',axiom,
    ( ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_C_c_option_fun$_1' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_C_c_option_fun$_2' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_2','fmb_C_c_option_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_2','fmb_C_c_option_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_2','fmb_C_c_option_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_2','fmb_C_c_option_fun$_4') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_3','fmb_C_c_option_fun$_1') = 'fmb_C_c_option_fun$_2' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_3','fmb_C_c_option_fun$_2') = 'fmb_C_c_option_fun$_2' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_3','fmb_C_c_option_fun$_3') = 'fmb_C_c_option_fun$_2' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_3','fmb_C_c_option_fun$_4') = 'fmb_C_c_option_fun$_2' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_4','fmb_C_c_option_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_4','fmb_C_c_option_fun$_2') = 'fmb_C_c_option_fun$_2' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_4','fmb_C_c_option_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$aa'('fmb_C_c_option_fun_c_c_option_fun_fun$_4','fmb_C_c_option_fun$_4') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_uwk$',type,
    'uwk$': 'C$' > 'C_option_c_fun$' ).

tff('function_uwk$',axiom,
    'uwk$'('fmb_C$_1') = 'fmb_C_option_c_fun$_4' ).

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

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

tff('declare_uuu$',type,
    'uuu$': ( 'B_c_c_option_fun_fun$' * 'C$' ) > 'B_c_option_fun$' ).

tff('function_uuu$',axiom,
    ( ( 'uuu$'('fmb_B_c_c_option_fun_fun$_1','fmb_C$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uuu$'('fmb_B_c_c_option_fun_fun$_2','fmb_C$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uuu$'('fmb_B_c_c_option_fun_fun$_3','fmb_C$_1') = 'fmb_B_c_option_fun$_2' )
    & ( 'uuu$'('fmb_B_c_c_option_fun_fun$_4','fmb_C$_1') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_comp$bg',type,
    'comp$bg': ( 'B_c_option_fun$' * 'B_option_b_fun$' ) > 'B_option_c_option_fun$' ).

tff('function_comp$bg',axiom,
    ( ( 'comp$bg'('fmb_B_c_option_fun$_1','fmb_B_option_b_fun$_1') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$bg'('fmb_B_c_option_fun$_1','fmb_B_option_b_fun$_2') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$bg'('fmb_B_c_option_fun$_1','fmb_B_option_b_fun$_3') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$bg'('fmb_B_c_option_fun$_1','fmb_B_option_b_fun$_4') = 'fmb_B_option_c_option_fun$_4' )
    & ( 'comp$bg'('fmb_B_c_option_fun$_2','fmb_B_option_b_fun$_1') = 'fmb_B_option_c_option_fun$_3' )
    & ( 'comp$bg'('fmb_B_c_option_fun$_2','fmb_B_option_b_fun$_2') = 'fmb_B_option_c_option_fun$_3' )
    & ( 'comp$bg'('fmb_B_c_option_fun$_2','fmb_B_option_b_fun$_3') = 'fmb_B_option_c_option_fun$_3' )
    & ( 'comp$bg'('fmb_B_c_option_fun$_2','fmb_B_option_b_fun$_4') = 'fmb_B_option_c_option_fun$_3' ) ) ).

tff('declare_comp$ah',type,
    'comp$ah': ( 'B_option_b_option_fun$' * 'B_option_b_option_fun$' ) > 'B_option_b_option_fun$' ).

tff('function_comp$ah',axiom,
    ( ( 'comp$ah'('fmb_B_option_b_option_fun$_1','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_b_option_fun$_1' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_1','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_1','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_1','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_2','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_2','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_2','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_2','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_3','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_3','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_3','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_3','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_4','fmb_B_option_b_option_fun$_1') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_4','fmb_B_option_b_option_fun$_2') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_4','fmb_B_option_b_option_fun$_3') = 'fmb_B_option_b_option_fun$_4' )
    & ( 'comp$ah'('fmb_B_option_b_option_fun$_4','fmb_B_option_b_option_fun$_4') = 'fmb_B_option_b_option_fun$_4' ) ) ).

tff('declare_case_sum$a',type,
    'case_sum$a': ( 'A_b_option_fun$' * 'A_b_option_fun$' ) > 'A_a_sum_b_option_fun$' ).

tff('function_case_sum$a',axiom,
    ( ( 'case_sum$a'('fmb_A_b_option_fun$_1','fmb_A_b_option_fun$_1') = 'fmb_A_a_sum_b_option_fun$_2' )
    & ( 'case_sum$a'('fmb_A_b_option_fun$_1','fmb_A_b_option_fun$_2') = 'fmb_A_a_sum_b_option_fun$_4' )
    & ( 'case_sum$a'('fmb_A_b_option_fun$_2','fmb_A_b_option_fun$_1') = 'fmb_A_a_sum_b_option_fun$_4' )
    & ( 'case_sum$a'('fmb_A_b_option_fun$_2','fmb_A_b_option_fun$_2') = 'fmb_A_a_sum_b_option_fun$_3' ) ) ).

tff('declare_comp$ay',type,
    'comp$ay': ( 'B_option_b_option_fun$' * 'C_b_option_fun$' ) > 'C_b_option_fun$' ).

tff('function_comp$ay',axiom,
    ( ( 'comp$ay'('fmb_B_option_b_option_fun$_1','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_1','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_1','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_1','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_2','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_2','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_2','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_2','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_3','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_3','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_3','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_3','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_4','fmb_C_b_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_4','fmb_C_b_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_4','fmb_C_b_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ay'('fmb_B_option_b_option_fun$_4','fmb_C_b_option_fun$_4') = 'fmb_C_b_option_fun$_4' ) ) ).

tff('declare_comp$v',type,
    'comp$v': ( 'C_option_b_option_fun$' * 'A_option_c_option_fun$' ) > 'A_option_b_option_fun$' ).

tff('function_comp$v',axiom,
    ( ( 'comp$v'('fmb_C_option_b_option_fun$_1','fmb_A_option_c_option_fun$_1') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_1','fmb_A_option_c_option_fun$_2') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_1','fmb_A_option_c_option_fun$_3') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_1','fmb_A_option_c_option_fun$_4') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_2','fmb_A_option_c_option_fun$_1') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_2','fmb_A_option_c_option_fun$_2') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_2','fmb_A_option_c_option_fun$_3') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_2','fmb_A_option_c_option_fun$_4') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_3','fmb_A_option_c_option_fun$_1') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_3','fmb_A_option_c_option_fun$_2') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_3','fmb_A_option_c_option_fun$_3') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_3','fmb_A_option_c_option_fun$_4') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_4','fmb_A_option_c_option_fun$_1') = 'fmb_A_option_b_option_fun$_4' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_4','fmb_A_option_c_option_fun$_2') = 'fmb_A_option_b_option_fun$_2' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_4','fmb_A_option_c_option_fun$_3') = 'fmb_A_option_b_option_fun$_2' )
    & ( 'comp$v'('fmb_C_option_b_option_fun$_4','fmb_A_option_c_option_fun$_4') = 'fmb_A_option_b_option_fun$_2' ) ) ).

tff('declare_case_sum$d',type,
    'case_sum$d': ( 'B_b_option_fun$' * 'B_b_option_fun$' ) > 'B_b_sum_b_option_fun$' ).

tff('function_case_sum$d',axiom,
    ( ( 'case_sum$d'('fmb_B_b_option_fun$_1','fmb_B_b_option_fun$_1') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_1','fmb_B_b_option_fun$_2') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_1','fmb_B_b_option_fun$_3') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_1','fmb_B_b_option_fun$_4') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_2','fmb_B_b_option_fun$_1') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_2','fmb_B_b_option_fun$_2') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_2','fmb_B_b_option_fun$_3') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_2','fmb_B_b_option_fun$_4') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_3','fmb_B_b_option_fun$_1') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_3','fmb_B_b_option_fun$_2') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_3','fmb_B_b_option_fun$_3') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_3','fmb_B_b_option_fun$_4') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_4','fmb_B_b_option_fun$_1') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_4','fmb_B_b_option_fun$_2') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_4','fmb_B_b_option_fun$_3') = 'fmb_B_b_sum_b_option_fun$_2' )
    & ( 'case_sum$d'('fmb_B_b_option_fun$_4','fmb_B_b_option_fun$_4') = 'fmb_B_b_sum_b_option_fun$_2' ) ) ).

tff('declare_comp$ak',type,
    'comp$ak': ( 'B_b_option_fun_c_c_option_fun_fun$' * 'B_b_option_fun_b_b_option_fun_fun$' ) > 'B_b_option_fun_c_c_option_fun_fun$' ).

tff('function_comp$ak',axiom,
    ( ( 'comp$ak'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_B_b_option_fun_b_b_option_fun_fun$_1') = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' )
    & ( 'comp$ak'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_B_b_option_fun_b_b_option_fun_fun$_2') = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' )
    & ( 'comp$ak'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_B_b_option_fun_b_b_option_fun_fun$_3') = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' )
    & ( 'comp$ak'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_B_b_option_fun_b_b_option_fun_fun$_4') = 'fmb_B_b_option_fun_c_c_option_fun_fun$_1' ) ) ).

tff('declare_comp$bj',type,
    'comp$bj': ( 'A_b_option_fun$' * 'A_a_sum_a_fun$' ) > 'A_a_sum_b_option_fun$' ).

tff('function_comp$bj',axiom,
    ( ( 'comp$bj'('fmb_A_b_option_fun$_1','fmb_A_a_sum_a_fun$_1') = 'fmb_A_a_sum_b_option_fun$_4' )
    & ( 'comp$bj'('fmb_A_b_option_fun$_1','fmb_A_a_sum_a_fun$_2') = 'fmb_A_a_sum_b_option_fun$_2' )
    & ( 'comp$bj'('fmb_A_b_option_fun$_1','fmb_A_a_sum_a_fun$_3') = 'fmb_A_a_sum_b_option_fun$_2' )
    & ( 'comp$bj'('fmb_A_b_option_fun$_1','fmb_A_a_sum_a_fun$_4') = 'fmb_A_a_sum_b_option_fun$_2' )
    & ( 'comp$bj'('fmb_A_b_option_fun$_2','fmb_A_a_sum_a_fun$_1') = 'fmb_A_a_sum_b_option_fun$_4' )
    & ( 'comp$bj'('fmb_A_b_option_fun$_2','fmb_A_a_sum_a_fun$_2') = 'fmb_A_a_sum_b_option_fun$_3' )
    & ( 'comp$bj'('fmb_A_b_option_fun$_2','fmb_A_a_sum_a_fun$_3') = 'fmb_A_a_sum_b_option_fun$_3' )
    & ( 'comp$bj'('fmb_A_b_option_fun$_2','fmb_A_a_sum_a_fun$_4') = 'fmb_A_a_sum_b_option_fun$_3' ) ) ).

tff('declare_the$f',type,
    'the$f': 'C_option_option$' > 'C_option$' ).

tff('function_the$f',axiom,
    ( ( 'the$f'('fmb_C_option_option$_1') = 'fmb_C_option$_2' )
    & ( 'the$f'('fmb_C_option_option$_2') = 'fmb_C_option$_2' ) ) ).

tff('declare_fun_upd$a',type,
    'fun_upd$a': ( 'A_b_option_fun$' * 'A$' * 'B_option$' ) > 'A_b_option_fun$' ).

tff('function_fun_upd$a',axiom,
    ( ( 'fun_upd$a'('fmb_A_b_option_fun$_1','fmb_A$_1','fmb_B_option$_1') = 'fmb_A_b_option_fun$_1' )
    & ( 'fun_upd$a'('fmb_A_b_option_fun$_1','fmb_A$_1','fmb_B_option$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_upd$a'('fmb_A_b_option_fun$_2','fmb_A$_1','fmb_B_option$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'fun_upd$a'('fmb_A_b_option_fun$_2','fmb_A$_1','fmb_B_option$_2') = 'fmb_A_b_option_fun$_2' ) ) ).

tff('declare_uu$',type,
    'uu$': ( 'B_c_c_fun_fun$' * 'C$' ) > 'B_c_option_fun$' ).

tff('function_uu$',axiom,
    'uu$'('fmb_B_c_c_fun_fun$_1','fmb_C$_1') = 'fmb_B_c_option_fun$_2' ).

tff('declare_fun_app$av',type,
    'fun_app$av': ( 'A_option_b_option_fun$' * 'A_option$' ) > 'B_option$' ).

tff('function_fun_app$av',axiom,
    ( ( 'fun_app$av'('fmb_A_option_b_option_fun$_1','fmb_A_option$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$av'('fmb_A_option_b_option_fun$_1','fmb_A_option$_2') = 'fmb_B_option$_1' )
    & ( 'fun_app$av'('fmb_A_option_b_option_fun$_2','fmb_A_option$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$av'('fmb_A_option_b_option_fun$_2','fmb_A_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$av'('fmb_A_option_b_option_fun$_3','fmb_A_option$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$av'('fmb_A_option_b_option_fun$_3','fmb_A_option$_2') = 'fmb_B_option$_2' )
    & ( 'fun_app$av'('fmb_A_option_b_option_fun$_4','fmb_A_option$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$av'('fmb_A_option_b_option_fun$_4','fmb_A_option$_2') = 'fmb_B_option$_1' ) ) ).

tff('declare_comp$aq',type,
    'comp$aq': ( 'B_c_option_fun$' * 'A_b_fun$' ) > 'A_c_option_fun$' ).

tff('function_comp$aq',axiom,
    ( ( 'comp$aq'('fmb_B_c_option_fun$_1','fmb_A_b_fun$_1') = 'fmb_A_c_option_fun$_2' )
    & ( 'comp$aq'('fmb_B_c_option_fun$_1','fmb_A_b_fun$_2') = 'fmb_A_c_option_fun$_2' )
    & ( 'comp$aq'('fmb_B_c_option_fun$_1','fmb_A_b_fun$_3') = 'fmb_A_c_option_fun$_2' )
    & ( 'comp$aq'('fmb_B_c_option_fun$_1','fmb_A_b_fun$_4') = 'fmb_A_c_option_fun$_2' )
    & ( 'comp$aq'('fmb_B_c_option_fun$_2','fmb_A_b_fun$_1') = 'fmb_A_c_option_fun$_4' )
    & ( 'comp$aq'('fmb_B_c_option_fun$_2','fmb_A_b_fun$_2') = 'fmb_A_c_option_fun$_3' )
    & ( 'comp$aq'('fmb_B_c_option_fun$_2','fmb_A_b_fun$_3') = 'fmb_A_c_option_fun$_4' )
    & ( 'comp$aq'('fmb_B_c_option_fun$_2','fmb_A_b_fun$_4') = 'fmb_A_c_option_fun$_4' ) ) ).

tff('declare_fun_app$az',type,
    'fun_app$az': ( 'A_option_c_option_bool_fun_fun$' * 'A_option$' ) > 'C_option_bool_fun$' ).

tff('function_fun_app$az',axiom,
    ( ( 'fun_app$az'('fmb_A_option_c_option_bool_fun_fun$_1','fmb_A_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$az'('fmb_A_option_c_option_bool_fun_fun$_1','fmb_A_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$az'('fmb_A_option_c_option_bool_fun_fun$_2','fmb_A_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$az'('fmb_A_option_c_option_bool_fun_fun$_2','fmb_A_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$az'('fmb_A_option_c_option_bool_fun_fun$_3','fmb_A_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$az'('fmb_A_option_c_option_bool_fun_fun$_3','fmb_A_option$_2') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$az'('fmb_A_option_c_option_bool_fun_fun$_4','fmb_A_option$_1') = 'fmb_C_option_bool_fun$_4' )
    & ( 'fun_app$az'('fmb_A_option_c_option_bool_fun_fun$_4','fmb_A_option$_2') = 'fmb_C_option_bool_fun$_4' ) ) ).

tff('declare_comp$am',type,
    'comp$am': ( 'B_b_option_fun_c_c_option_fun_fun$' * 'A_a_option_fun_b_b_option_fun_fun$' ) > 'A_a_option_fun_c_c_option_fun_fun$' ).

tff('function_comp$am',axiom,
    'comp$am'('fmb_B_b_option_fun_c_c_option_fun_fun$_1','fmb_A_a_option_fun_b_b_option_fun_fun$_1') = 'fmb_A_a_option_fun_c_c_option_fun_fun$_1' ).

tff('declare_fun_app$w',type,
    'fun_app$w': ( 'B_c_c_option_fun_fun$' * 'B$' ) > 'C_c_option_fun$' ).

tff('function_fun_app$w',axiom,
    ( ( 'fun_app$w'('fmb_B_c_c_option_fun_fun$_1','fmb_B$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$w'('fmb_B_c_c_option_fun_fun$_2','fmb_B$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$w'('fmb_B_c_c_option_fun_fun$_3','fmb_B$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_app$w'('fmb_B_c_c_option_fun_fun$_4','fmb_B$_1') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_uwa$',type,
    'uwa$': 'C_c_option_fun$' > 'C_c_option_fun_c_c_option_fun_fun$' ).

tff('function_uwa$',axiom,
    ( ( 'uwa$'('fmb_C_c_option_fun$_1') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' )
    & ( 'uwa$'('fmb_C_c_option_fun$_2') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_3' )
    & ( 'uwa$'('fmb_C_c_option_fun$_3') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' )
    & ( 'uwa$'('fmb_C_c_option_fun$_4') = 'fmb_C_c_option_fun_c_c_option_fun_fun$_4' ) ) ).

tff('declare_map_option$i',type,
    'map_option$i': ( 'B_option_b_option_fun$' * 'B_option_option$' ) > 'B_option_option$' ).

tff('function_map_option$i',axiom,
    ( ( 'map_option$i'('fmb_B_option_b_option_fun$_1','fmb_B_option_option$_1') = 'fmb_B_option_option$_1' )
    & ( 'map_option$i'('fmb_B_option_b_option_fun$_1','fmb_B_option_option$_2') = 'fmb_B_option_option$_2' )
    & ( 'map_option$i'('fmb_B_option_b_option_fun$_2','fmb_B_option_option$_1') = 'fmb_B_option_option$_1' )
    & ( 'map_option$i'('fmb_B_option_b_option_fun$_2','fmb_B_option_option$_2') = 'fmb_B_option_option$_2' )
    & ( 'map_option$i'('fmb_B_option_b_option_fun$_3','fmb_B_option_option$_1') = 'fmb_B_option_option$_1' )
    & ( 'map_option$i'('fmb_B_option_b_option_fun$_3','fmb_B_option_option$_2') = 'fmb_B_option_option$_2' )
    & ( 'map_option$i'('fmb_B_option_b_option_fun$_4','fmb_B_option_option$_1') = 'fmb_B_option_option$_1' )
    & ( 'map_option$i'('fmb_B_option_b_option_fun$_4','fmb_B_option_option$_2') = 'fmb_B_option_option$_2' ) ) ).

tff('declare_fun_app$j',type,
    'fun_app$j': ( 'C_c_option_fun$' * 'C$' ) > 'C_option$' ).

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

tff('declare_fun_app$be',type,
    'fun_app$be': ( 'A_option_a_option_fun$' * 'A_option$' ) > 'A_option$' ).

tff('function_fun_app$be',axiom,
    ( ( 'fun_app$be'('fmb_A_option_a_option_fun$_1','fmb_A_option$_1') = 'fmb_A_option$_1' )
    & ( 'fun_app$be'('fmb_A_option_a_option_fun$_1','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'fun_app$be'('fmb_A_option_a_option_fun$_2','fmb_A_option$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$be'('fmb_A_option_a_option_fun$_2','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'fun_app$be'('fmb_A_option_a_option_fun$_3','fmb_A_option$_1') = 'fmb_A_option$_2' )
    & ( 'fun_app$be'('fmb_A_option_a_option_fun$_3','fmb_A_option$_2') = 'fmb_A_option$_2' )
    & ( 'fun_app$be'('fmb_A_option_a_option_fun$_4','fmb_A_option$_1') = 'fmb_A_option$_1' )
    & ( 'fun_app$be'('fmb_A_option_a_option_fun$_4','fmb_A_option$_2') = 'fmb_A_option$_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$_1' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_1','fmb_B_option$_2') = 'fmb_B_option_b_option_fun$_2' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_2','fmb_B_option$_1') = 'fmb_B_option_b_option_fun$_1' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_2','fmb_B_option$_2') = 'fmb_B_option_b_option_fun$_2' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_3','fmb_B_option$_1') = 'fmb_B_option_b_option_fun$_1' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_3','fmb_B_option$_2') = 'fmb_B_option_b_option_fun$_2' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_4','fmb_B_option$_1') = 'fmb_B_option_b_option_fun$_1' )
    & ( 'combine_options$b'('fmb_B_b_b_fun_fun$_4','fmb_B_option$_2') = 'fmb_B_option_b_option_fun$_2' ) ) ).

tff('declare_comp$f',type,
    'comp$f': ( 'B_c_option_fun$' * 'B_b_fun$' ) > 'B_c_option_fun$' ).

tff('function_comp$f',axiom,
    ( ( 'comp$f'('fmb_B_c_option_fun$_1','fmb_B_b_fun$_1') = 'fmb_B_c_option_fun$_1' )
    & ( 'comp$f'('fmb_B_c_option_fun$_2','fmb_B_b_fun$_1') = 'fmb_B_c_option_fun$_2' ) ) ).

tff('declare_comp$au',type,
    'comp$au': ( 'C_option_b_option_fun$' * 'C_c_option_fun$' ) > 'C_b_option_fun$' ).

tff('function_comp$au',axiom,
    ( ( 'comp$au'('fmb_C_option_b_option_fun$_1','fmb_C_c_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_1','fmb_C_c_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_1','fmb_C_c_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_1','fmb_C_c_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_2','fmb_C_c_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_2','fmb_C_c_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_2','fmb_C_c_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_2','fmb_C_c_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_3','fmb_C_c_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_3','fmb_C_c_option_fun$_2') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_3','fmb_C_c_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_3','fmb_C_c_option_fun$_4') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_4','fmb_C_c_option_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_4','fmb_C_c_option_fun$_2') = 'fmb_C_b_option_fun$_1' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_4','fmb_C_c_option_fun$_3') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$au'('fmb_C_option_b_option_fun$_4','fmb_C_c_option_fun$_4') = 'fmb_C_b_option_fun$_4' ) ) ).

tff('declare_comp$k',type,
    'comp$k': ( 'C_bool_fun$' * 'B_c_fun$' ) > 'B_bool_fun$' ).

tff('function_comp$k',axiom,
    ( ( 'comp$k'('fmb_C_bool_fun$_1','fmb_B_c_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'comp$k'('fmb_C_bool_fun$_1','fmb_B_c_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'comp$k'('fmb_C_bool_fun$_1','fmb_B_c_fun$_3') = 'fmb_B_bool_fun$_4' )
    & ( 'comp$k'('fmb_C_bool_fun$_1','fmb_B_c_fun$_4') = 'fmb_B_bool_fun$_4' )
    & ( 'comp$k'('fmb_C_bool_fun$_2','fmb_B_c_fun$_1') = 'fmb_B_bool_fun$_2' )
    & ( 'comp$k'('fmb_C_bool_fun$_2','fmb_B_c_fun$_2') = 'fmb_B_bool_fun$_2' )
    & ( 'comp$k'('fmb_C_bool_fun$_2','fmb_B_c_fun$_3') = 'fmb_B_bool_fun$_2' )
    & ( 'comp$k'('fmb_C_bool_fun$_2','fmb_B_c_fun$_4') = 'fmb_B_bool_fun$_2' )
    & ( 'comp$k'('fmb_C_bool_fun$_3','fmb_B_c_fun$_1') = 'fmb_B_bool_fun$_2' )
    & ( 'comp$k'('fmb_C_bool_fun$_3','fmb_B_c_fun$_2') = 'fmb_B_bool_fun$_2' )
    & ( 'comp$k'('fmb_C_bool_fun$_3','fmb_B_c_fun$_3') = 'fmb_B_bool_fun$_2' )
    & ( 'comp$k'('fmb_C_bool_fun$_3','fmb_B_c_fun$_4') = 'fmb_B_bool_fun$_2' )
    & ( 'comp$k'('fmb_C_bool_fun$_4','fmb_B_c_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'comp$k'('fmb_C_bool_fun$_4','fmb_B_c_fun$_2') = 'fmb_B_bool_fun$_4' )
    & ( 'comp$k'('fmb_C_bool_fun$_4','fmb_B_c_fun$_3') = 'fmb_B_bool_fun$_4' )
    & ( 'comp$k'('fmb_C_bool_fun$_4','fmb_B_c_fun$_4') = 'fmb_B_bool_fun$_4' ) ) ).

tff('declare_case_sum$b',type,
    'case_sum$b': ( 'B_b_fun$' * 'B_b_fun$' ) > 'B_b_sum_b_fun$' ).

tff('function_case_sum$b',axiom,
    'case_sum$b'('fmb_B_b_fun$_1','fmb_B_b_fun$_1') = 'fmb_B_b_sum_b_fun$_3' ).

tff('declare_fun_upd$e',type,
    'fun_upd$e': ( 'C_c_option_fun$' * 'C$' * 'C_option$' ) > 'C_c_option_fun$' ).

tff('function_fun_upd$e',axiom,
    ( ( 'fun_upd$e'('fmb_C_c_option_fun$_1','fmb_C$_1','fmb_C_option$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_upd$e'('fmb_C_c_option_fun$_1','fmb_C$_1','fmb_C_option$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_upd$e'('fmb_C_c_option_fun$_2','fmb_C$_1','fmb_C_option$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_upd$e'('fmb_C_c_option_fun$_2','fmb_C$_1','fmb_C_option$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_upd$e'('fmb_C_c_option_fun$_3','fmb_C$_1','fmb_C_option$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_upd$e'('fmb_C_c_option_fun$_3','fmb_C$_1','fmb_C_option$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_upd$e'('fmb_C_c_option_fun$_4','fmb_C$_1','fmb_C_option$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'fun_upd$e'('fmb_C_c_option_fun$_4','fmb_C$_1','fmb_C_option$_2') = 'fmb_C_c_option_fun$_4' ) ) ).

tff('declare_fun_app$g',type,
    'fun_app$g': ( 'B_b_option_fun$' * 'B$' ) > 'B_option$' ).

tff('function_fun_app$g',axiom,
    ( ( 'fun_app$g'('fmb_B_b_option_fun$_1','fmb_B$_1') = 'fmb_B_option$_1' )
    & ( 'fun_app$g'('fmb_B_b_option_fun$_2','fmb_B$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$g'('fmb_B_b_option_fun$_3','fmb_B$_1') = 'fmb_B_option$_2' )
    & ( 'fun_app$g'('fmb_B_b_option_fun$_4','fmb_B$_1') = 'fmb_B_option$_2' ) ) ).

tff('declare_fun_app$o',type,
    'fun_app$o': ( 'B_c_fun$' * 'B$' ) > 'C$' ).

tff('function_fun_app$o',axiom,
    ( ( 'fun_app$o'('fmb_B_c_fun$_1','fmb_B$_1') = 'fmb_C$_1' )
    & ( 'fun_app$o'('fmb_B_c_fun$_2','fmb_B$_1') = 'fmb_C$_1' )
    & ( 'fun_app$o'('fmb_B_c_fun$_3','fmb_B$_1') = 'fmb_C$_1' )
    & ( 'fun_app$o'('fmb_B_c_fun$_4','fmb_B$_1') = 'fmb_C$_1' ) ) ).

tff('declare_fun_app$x',type,
    'fun_app$x': ( 'A_b_b_option_fun_fun$' * 'A$' ) > 'B_b_option_fun$' ).

tff('function_fun_app$x',axiom,
    ( ( 'fun_app$x'('fmb_A_b_b_option_fun_fun$_1','fmb_A$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$x'('fmb_A_b_b_option_fun_fun$_2','fmb_A$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$x'('fmb_A_b_b_option_fun_fun$_3','fmb_A$_1') = 'fmb_B_b_option_fun$_4' )
    & ( 'fun_app$x'('fmb_A_b_b_option_fun_fun$_4','fmb_A$_1') = 'fmb_B_b_option_fun$_4' ) ) ).

tff('declare_register_from_getter_setter$c',type,
    'register_from_getter_setter$c': ( 'B_c_fun$' * 'C_b_b_fun_fun$' ) > 'C_c_option_fun_b_b_option_fun_fun$' ).

tff('function_register_from_getter_setter$c',axiom,
    ( ( 'register_from_getter_setter$c'('fmb_B_c_fun$_1','fmb_C_b_b_fun_fun$_1') = 'fmb_C_c_option_fun_b_b_option_fun_fun$_1' )
    & ( 'register_from_getter_setter$c'('fmb_B_c_fun$_2','fmb_C_b_b_fun_fun$_1') = 'fmb_C_c_option_fun_b_b_option_fun_fun$_1' )
    & ( 'register_from_getter_setter$c'('fmb_B_c_fun$_3','fmb_C_b_b_fun_fun$_1') = 'fmb_C_c_option_fun_b_b_option_fun_fun$_1' )
    & ( 'register_from_getter_setter$c'('fmb_B_c_fun$_4','fmb_C_b_b_fun_fun$_1') = 'fmb_C_c_option_fun_b_b_option_fun_fun$_1' ) ) ).

tff('declare_comp$g',type,
    'comp$g': ( 'A_b_option_fun$' * 'A_a_fun$' ) > 'A_b_option_fun$' ).

tff('function_comp$g',axiom,
    ( ( 'comp$g'('fmb_A_b_option_fun$_1','fmb_A_a_fun$_1') = 'fmb_A_b_option_fun$_1' )
    & ( 'comp$g'('fmb_A_b_option_fun$_1','fmb_A_a_fun$_2') = 'fmb_A_b_option_fun$_1' )
    & ( 'comp$g'('fmb_A_b_option_fun$_1','fmb_A_a_fun$_3') = 'fmb_A_b_option_fun$_1' )
    & ( 'comp$g'('fmb_A_b_option_fun$_1','fmb_A_a_fun$_4') = 'fmb_A_b_option_fun$_1' )
    & ( 'comp$g'('fmb_A_b_option_fun$_2','fmb_A_a_fun$_1') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$g'('fmb_A_b_option_fun$_2','fmb_A_a_fun$_2') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$g'('fmb_A_b_option_fun$_2','fmb_A_a_fun$_3') = 'fmb_A_b_option_fun$_2' )
    & ( 'comp$g'('fmb_A_b_option_fun$_2','fmb_A_a_fun$_4') = 'fmb_A_b_option_fun$_2' ) ) ).

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

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

tff(declare_def_18,type,
    def_18: ( tlbool * 'C_bool_fun$' * 'C_option$' ) > tlbool ).

tff(function_def_18,axiom,
    ( ( def_18(fmb_tlbool_1,'fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_18(fmb_tlbool_1,'fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_18(fmb_tlbool_1,'fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_18(fmb_tlbool_1,'fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_18(fmb_tlbool_1,'fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_18(fmb_tlbool_1,'fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_18(fmb_tlbool_1,'fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_18(fmb_tlbool_1,'fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_18(fmb_tlbool_2,'fmb_C_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_18(fmb_tlbool_2,'fmb_C_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_18(fmb_tlbool_2,'fmb_C_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_18(fmb_tlbool_2,'fmb_C_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_18(fmb_tlbool_2,'fmb_C_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_18(fmb_tlbool_2,'fmb_C_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_18(fmb_tlbool_2,'fmb_C_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_18(fmb_tlbool_2,'fmb_C_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_2 ) ) ).

tff('declare_comp$i',type,
    'comp$i': ( 'B_bool_fun$' * 'B_b_fun$' ) > 'B_bool_fun$' ).

tff('function_comp$i',axiom,
    ( ( 'comp$i'('fmb_B_bool_fun$_1','fmb_B_b_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'comp$i'('fmb_B_bool_fun$_2','fmb_B_b_fun$_1') = 'fmb_B_bool_fun$_2' )
    & ( 'comp$i'('fmb_B_bool_fun$_3','fmb_B_b_fun$_1') = 'fmb_B_bool_fun$_4' )
    & ( 'comp$i'('fmb_B_bool_fun$_4','fmb_B_b_fun$_1') = 'fmb_B_bool_fun$_4' ) ) ).

tff('declare_comp$ao',type,
    'comp$ao': ( 'C_b_option_fun$' * 'C_c_fun$' ) > 'C_b_option_fun$' ).

tff('function_comp$ao',axiom,
    ( ( 'comp$ao'('fmb_C_b_option_fun$_1','fmb_C_c_fun$_1') = 'fmb_C_b_option_fun$_1' )
    & ( 'comp$ao'('fmb_C_b_option_fun$_2','fmb_C_c_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ao'('fmb_C_b_option_fun$_3','fmb_C_c_fun$_1') = 'fmb_C_b_option_fun$_4' )
    & ( 'comp$ao'('fmb_C_b_option_fun$_4','fmb_C_c_fun$_1') = 'fmb_C_b_option_fun$_4' ) ) ).

tff('declare_uuo$',type,
    'uuo$': ( 'Bool_c_option_fun$' * 'C_bool_fun$' ) > 'C_c_option_fun$' ).

tff('function_uuo$',axiom,
    ( ( 'uuo$'('fmb_Bool_c_option_fun$_1','fmb_C_bool_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_1','fmb_C_bool_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_1','fmb_C_bool_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_1','fmb_C_bool_fun$_4') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_2','fmb_C_bool_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_2','fmb_C_bool_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_2','fmb_C_bool_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_2','fmb_C_bool_fun$_4') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_3','fmb_C_bool_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_3','fmb_C_bool_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_3','fmb_C_bool_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_3','fmb_C_bool_fun$_4') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_4','fmb_C_bool_fun$_1') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_4','fmb_C_bool_fun$_2') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_4','fmb_C_bool_fun$_3') = 'fmb_C_c_option_fun$_4' )
    & ( 'uuo$'('fmb_Bool_c_option_fun$_4','fmb_C_bool_fun$_4') = 'fmb_C_c_option_fun$_4' ) ) ).

tff(declare_def_15,type,
    def_15: ( 'C_option_bool_fun$' * 'C_option$' ) > tlbool ).

tff(function_def_15,axiom,
    ( ( def_15('fmb_C_option_bool_fun$_1','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_15('fmb_C_option_bool_fun$_1','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_15('fmb_C_option_bool_fun$_2','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_15('fmb_C_option_bool_fun$_2','fmb_C_option$_2') = fmb_tlbool_2 )
    & ( def_15('fmb_C_option_bool_fun$_3','fmb_C_option$_1') = fmb_tlbool_2 )
    & ( def_15('fmb_C_option_bool_fun$_3','fmb_C_option$_2') = fmb_tlbool_1 )
    & ( def_15('fmb_C_option_bool_fun$_4','fmb_C_option$_1') = fmb_tlbool_1 )
    & ( def_15('fmb_C_option_bool_fun$_4','fmb_C_option$_2') = fmb_tlbool_1 ) ) ).

tff('declare_uwm$',type,
    'uwm$': 'C$' > 'C_bool_fun$' ).

tff('function_uwm$',axiom,
    'uwm$'('fmb_C$_1') = 'fmb_C_bool_fun$_3' ).

tff('declare_thesis$',type,
    'thesis$': $o ).

tff('thesis$_definition',axiom,
    'thesis$' ).

tff('declare_valid_getter_setter$c',type,
    'valid_getter_setter$c': ( 'B_c_fun$' * 'C_b_b_fun_fun$' ) > $o ).

tff('predicate_valid_getter_setter$c',axiom,
    ( ~ 'valid_getter_setter$c'('fmb_B_c_fun$_1','fmb_C_b_b_fun_fun$_1')
    & ~ 'valid_getter_setter$c'('fmb_B_c_fun$_2','fmb_C_b_b_fun_fun$_1')
    & ~ 'valid_getter_setter$c'('fmb_B_c_fun$_3','fmb_C_b_b_fun_fun$_1')
    & ~ 'valid_getter_setter$c'('fmb_B_c_fun$_4','fmb_C_b_b_fun_fun$_1') ) ).

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') ) ).

tff('declare_fun_app$z',type,
    'fun_app$z': ( 'A_bool_fun$' * 'A$' ) > $o ).

tff('predicate_fun_app$z',axiom,
    ( ~ 'fun_app$z'('fmb_A_bool_fun$_1','fmb_A$_1')
    & 'fun_app$z'('fmb_A_bool_fun$_2','fmb_A$_1')
    & 'fun_app$z'('fmb_A_bool_fun$_3','fmb_A$_1')
    & 'fun_app$z'('fmb_A_bool_fun$_4','fmb_A$_1') ) ).

tff('declare_register$f',type,
    'register$f': 'C_c_option_fun_c_c_option_fun_fun$' > $o ).

tff('predicate_register$f',axiom,
    ( 'register$f'('fmb_C_c_option_fun_c_c_option_fun_fun$_1')
    & ~ 'register$f'('fmb_C_c_option_fun_c_c_option_fun_fun$_2')
    & ~ 'register$f'('fmb_C_c_option_fun_c_c_option_fun_fun$_3')
    & ~ 'register$f'('fmb_C_c_option_fun_c_c_option_fun_fun$_4') ) ).

tff('declare_is_empty$c',type,
    'is_empty$c': 'C_option_set$' > $o ).

tff('predicate_is_empty$c',axiom,
    ( ~ 'is_empty$c'('fmb_C_option_set$_1')
    & 'is_empty$c'('fmb_C_option_set$_2')
    & ~ 'is_empty$c'('fmb_C_option_set$_3')
    & ~ 'is_empty$c'('fmb_C_option_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_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')
    & ~ 'member$d'('fmb_A$_1','fmb_A_set$_3')
    & 'member$d'('fmb_A$_1','fmb_A_set$_4') ) ).

tff('declare_member$a',type,
    'member$a': ( 'B_option$' * 'B_option_set$' ) > $o ).

tff('predicate_member$a',axiom,
    ( ~ 'member$a'('fmb_B_option$_1','fmb_B_option_set$_1')
    & ~ 'member$a'('fmb_B_option$_1','fmb_B_option_set$_2')
    & 'member$a'('fmb_B_option$_1','fmb_B_option_set$_3')
    & 'member$a'('fmb_B_option$_1','fmb_B_option_set$_4')
    & ~ 'member$a'('fmb_B_option$_2','fmb_B_option_set$_1')
    & 'member$a'('fmb_B_option$_2','fmb_B_option_set$_2')
    & 'member$a'('fmb_B_option$_2','fmb_B_option_set$_3')
    & ~ 'member$a'('fmb_B_option$_2','fmb_B_option_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$_2','fmb_C_set$_1')
    & 'inj_on$'('fmb_C_c_option_fun$_2','fmb_C_set$_2')
    & '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$_4','fmb_C_set$_1')
    & 'inj_on$'('fmb_C_c_option_fun$_4','fmb_C_set$_2') ) ).

tff('declare_is_empty$b',type,
    'is_empty$b': 'B_option_set$' > $o ).

tff('predicate_is_empty$b',axiom,
    ( 'is_empty$b'('fmb_B_option_set$_1')
    & ~ 'is_empty$b'('fmb_B_option_set$_2')
    & ~ 'is_empty$b'('fmb_B_option_set$_3')
    & ~ 'is_empty$b'('fmb_B_option_set$_4') ) ).

tff('declare_valid_getter_setter$a',type,
    'valid_getter_setter$a': ( 'B_a_fun$' * 'A_b_b_fun_fun$' ) > $o ).

tff('predicate_valid_getter_setter$a',axiom,
    'valid_getter_setter$a'('fmb_B_a_fun$_1','fmb_A_b_b_fun_fun$_1') ).

tff('declare_preregister$e',type,
    'preregister$e': 'A_a_option_fun_a_a_option_fun_fun$' > $o ).

tff('predicate_preregister$e',axiom,
    ~ 'preregister$e'('fmb_A_a_option_fun_a_a_option_fun_fun$_1') ).

tff('declare_is_empty$a',type,
    'is_empty$a': 'C_set$' > $o ).

tff('predicate_is_empty$a',axiom,
    ( ~ 'is_empty$a'('fmb_C_set$_1')
    & 'is_empty$a'('fmb_C_set$_2') ) ).

tff('declare_is_empty$',type,
    'is_empty$': 'B_set$' > $o ).

tff('predicate_is_empty$',axiom,
    ( 'is_empty$'('fmb_B_set$_1')
    & ~ 'is_empty$'('fmb_B_set$_2') ) ).

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_preregister$d',type,
    'preregister$d': 'C_c_option_fun_b_b_option_fun_fun$' > $o ).

tff('predicate_preregister$d',axiom,
    'preregister$d'('fmb_C_c_option_fun_b_b_option_fun_fun$_1') ).

tff('declare_register$',type,
    'register$': 'A_a_option_fun_b_b_option_fun_fun$' > $o ).

tff('predicate_register$',axiom,
    'register$'('fmb_A_a_option_fun_b_b_option_fun_fun$_1') ).

tff('declare_register$d',type,
    'register$d': 'A_a_option_fun_c_c_option_fun_fun$' > $o ).

tff('predicate_register$d',axiom,
    ~ 'register$d'('fmb_A_a_option_fun_c_c_option_fun_fun$_1') ).

tff('declare_member$',type,
    'member$': ( 'C_option$' * 'C_option_set$' ) > $o ).

tff('predicate_member$',axiom,
    ( 'member$'('fmb_C_option$_1','fmb_C_option_set$_1')
    & ~ 'member$'('fmb_C_option$_1','fmb_C_option_set$_2')
    & ~ 'member$'('fmb_C_option$_1','fmb_C_option_set$_3')
    & 'member$'('fmb_C_option$_1','fmb_C_option_set$_4')
    & 'member$'('fmb_C_option$_2','fmb_C_option_set$_1')
    & ~ 'member$'('fmb_C_option$_2','fmb_C_option_set$_2')
    & 'member$'('fmb_C_option$_2','fmb_C_option_set$_3')
    & ~ 'member$'('fmb_C_option$_2','fmb_C_option_set$_4') ) ).

tff('declare_valid_getter_setter$b',type,
    'valid_getter_setter$b': ( 'B_b_fun$' * 'B_b_b_fun_fun$' ) > $o ).

tff('predicate_valid_getter_setter$b',axiom,
    ( ~ 'valid_getter_setter$b'('fmb_B_b_fun$_1','fmb_B_b_b_fun_fun$_1')
    & 'valid_getter_setter$b'('fmb_B_b_fun$_1','fmb_B_b_b_fun_fun$_2')
    & ~ 'valid_getter_setter$b'('fmb_B_b_fun$_1','fmb_B_b_b_fun_fun$_3')
    & ~ 'valid_getter_setter$b'('fmb_B_b_fun$_1','fmb_B_b_b_fun_fun$_4') ) ).

tff('declare_preregister$b',type,
    'preregister$b': 'B_b_option_fun_c_c_option_fun_fun$' > $o ).

tff('predicate_preregister$b',axiom,
    'preregister$b'('fmb_B_b_option_fun_c_c_option_fun_fun$_1') ).

tff('declare_preregister$f',type,
    'preregister$f': 'A_a_option_fun_c_c_option_fun_fun$' > $o ).

tff('predicate_preregister$f',axiom,
    'preregister$f'('fmb_A_a_option_fun_c_c_option_fun_fun$_1') ).

tff('declare_register$b',type,
    'register$b': 'C_c_option_fun_a_a_option_fun_fun$' > $o ).

tff('predicate_register$b',axiom,
    ~ 'register$b'('fmb_C_c_option_fun_a_a_option_fun_fun$_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_valid_getter_setter$',type,
    'valid_getter_setter$': ( 'C_b_fun$' * 'B_c_c_fun_fun$' ) > $o ).

tff('predicate_valid_getter_setter$',axiom,
    'valid_getter_setter$'('fmb_C_b_fun$_1','fmb_B_c_c_fun_fun$_1') ).

tff('declare_register$e',type,
    'register$e': 'A_a_option_fun_a_a_option_fun_fun$' > $o ).

tff('predicate_register$e',axiom,
    ~ 'register$e'('fmb_A_a_option_fun_a_a_option_fun_fun$_1') ).

tff('declare_register$h',type,
    'register$h': 'B_b_option_fun_b_b_option_fun_fun$' > $o ).

tff('predicate_register$h',axiom,
    ( 'register$h'('fmb_B_b_option_fun_b_b_option_fun_fun$_1')
    & ~ 'register$h'('fmb_B_b_option_fun_b_b_option_fun_fun$_2')
    & ~ 'register$h'('fmb_B_b_option_fun_b_b_option_fun_fun$_3')
    & ~ 'register$h'('fmb_B_b_option_fun_b_b_option_fun_fun$_4') ) ).

tff('declare_preregister$a',type,
    'preregister$a': 'C_c_option_fun_c_c_option_fun_fun$' > $o ).

tff('predicate_preregister$a',axiom,
    ( 'preregister$a'('fmb_C_c_option_fun_c_c_option_fun_fun$_1')
    & ~ 'preregister$a'('fmb_C_c_option_fun_c_c_option_fun_fun$_2')
    & ~ 'preregister$a'('fmb_C_c_option_fun_c_c_option_fun_fun$_3')
    & 'preregister$a'('fmb_C_c_option_fun_c_c_option_fun_fun$_4') ) ).

tff('declare_fun_app$aw',type,
    'fun_app$aw': ( 'A_option_bool_fun$' * 'A_option$' ) > $o ).

tff('predicate_fun_app$aw',axiom,
    ( 'fun_app$aw'('fmb_A_option_bool_fun$_1','fmb_A_option$_1')
    & ~ 'fun_app$aw'('fmb_A_option_bool_fun$_1','fmb_A_option$_2')
    & ~ 'fun_app$aw'('fmb_A_option_bool_fun$_2','fmb_A_option$_1')
    & 'fun_app$aw'('fmb_A_option_bool_fun$_2','fmb_A_option$_2')
    & 'fun_app$aw'('fmb_A_option_bool_fun$_3','fmb_A_option$_1')
    & 'fun_app$aw'('fmb_A_option_bool_fun$_3','fmb_A_option$_2')
    & ~ 'fun_app$aw'('fmb_A_option_bool_fun$_4','fmb_A_option$_1')
    & ~ 'fun_app$aw'('fmb_A_option_bool_fun$_4','fmb_A_option$_2') ) ).

tff('declare_register$c',type,
    'register$c': 'B_b_option_fun_a_a_option_fun_fun$' > $o ).

tff('predicate_register$c',axiom,
    ~ 'register$c'('fmb_B_b_option_fun_a_a_option_fun_fun$_1') ).

tff('declare_inj_on$a',type,
    'inj_on$a': ( 'B_b_option_fun$' * 'B_set$' ) > $o ).

tff('predicate_inj_on$a',axiom,
    ( 'inj_on$a'('fmb_B_b_option_fun$_1','fmb_B_set$_1')
    & 'inj_on$a'('fmb_B_b_option_fun$_1','fmb_B_set$_2')
    & 'inj_on$a'('fmb_B_b_option_fun$_2','fmb_B_set$_1')
    & 'inj_on$a'('fmb_B_b_option_fun$_2','fmb_B_set$_2')
    & 'inj_on$a'('fmb_B_b_option_fun$_3','fmb_B_set$_1')
    & 'inj_on$a'('fmb_B_b_option_fun$_3','fmb_B_set$_2')
    & 'inj_on$a'('fmb_B_b_option_fun$_4','fmb_B_set$_1')
    & 'inj_on$a'('fmb_B_b_option_fun$_4','fmb_B_set$_2') ) ).

tff('declare_fun_app$ag',type,
    'fun_app$ag': ( 'Bool_bool_fun$' * tlbool ) > $o ).

tff('predicate_fun_app$ag',axiom,
    ( ~ 'fun_app$ag'('fmb_Bool_bool_fun$_1',fmb_tlbool_1)
    & ~ 'fun_app$ag'('fmb_Bool_bool_fun$_1',fmb_tlbool_2)
    & ~ 'fun_app$ag'('fmb_Bool_bool_fun$_2',fmb_tlbool_1)
    & ~ 'fun_app$ag'('fmb_Bool_bool_fun$_2',fmb_tlbool_2)
    & ~ 'fun_app$ag'('fmb_Bool_bool_fun$_3',fmb_tlbool_1)
    & ~ 'fun_app$ag'('fmb_Bool_bool_fun$_3',fmb_tlbool_2)
    & ~ 'fun_app$ag'('fmb_Bool_bool_fun$_4',fmb_tlbool_1)
    & ~ 'fun_app$ag'('fmb_Bool_bool_fun$_4',fmb_tlbool_2) ) ).

tff('declare_register$a',type,
    'register$a': 'B_b_option_fun_c_c_option_fun_fun$' > $o ).

tff('predicate_register$a',axiom,
    'register$a'('fmb_B_b_option_fun_c_c_option_fun_fun$_1') ).

tff('declare_preregister$',type,
    'preregister$': 'B_b_option_fun_b_b_option_fun_fun$' > $o ).

tff('predicate_preregister$',axiom,
    ( 'preregister$'('fmb_B_b_option_fun_b_b_option_fun_fun$_1')
    & 'preregister$'('fmb_B_b_option_fun_b_b_option_fun_fun$_2')
    & 'preregister$'('fmb_B_b_option_fun_b_b_option_fun_fun$_3')
    & ~ 'preregister$'('fmb_B_b_option_fun_b_b_option_fun_fun$_4') ) ).

tff('declare_preregister$c',type,
    'preregister$c': 'A_a_option_fun_b_b_option_fun_fun$' > $o ).

tff('predicate_preregister$c',axiom,
    'preregister$c'('fmb_A_a_option_fun_b_b_option_fun_fun$_1') ).

tff('declare_register$g',type,
    'register$g': 'C_c_option_fun_b_b_option_fun_fun$' > $o ).

tff('predicate_register$g',axiom,
    ~ 'register$g'('fmb_C_c_option_fun_b_b_option_fun_fun$_1') ).

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

tff('predicate_fun_app$',axiom,
    ( ~ 'fun_app$'('fmb_C_option_bool_fun$_1','fmb_C_option$_1')
    & ~ 'fun_app$'('fmb_C_option_bool_fun$_1','fmb_C_option$_2')
    & 'fun_app$'('fmb_C_option_bool_fun$_2','fmb_C_option$_1')
    & ~ 'fun_app$'('fmb_C_option_bool_fun$_2','fmb_C_option$_2')
    & ~ 'fun_app$'('fmb_C_option_bool_fun$_3','fmb_C_option$_1')
    & 'fun_app$'('fmb_C_option_bool_fun$_3','fmb_C_option$_2')
    & 'fun_app$'('fmb_C_option_bool_fun$_4','fmb_C_option$_1')
    & 'fun_app$'('fmb_C_option_bool_fun$_4','fmb_C_option$_2') ) ).

tff('declare_fun_app$a',type,
    'fun_app$a': ( 'B_option_bool_fun$' * 'B_option$' ) > $o ).

tff('predicate_fun_app$a',axiom,
    ( ~ 'fun_app$a'('fmb_B_option_bool_fun$_1','fmb_B_option$_1')
    & ~ 'fun_app$a'('fmb_B_option_bool_fun$_1','fmb_B_option$_2')
    & 'fun_app$a'('fmb_B_option_bool_fun$_2','fmb_B_option$_1')
    & ~ 'fun_app$a'('fmb_B_option_bool_fun$_2','fmb_B_option$_2')
    & 'fun_app$a'('fmb_B_option_bool_fun$_3','fmb_B_option$_1')
    & 'fun_app$a'('fmb_B_option_bool_fun$_3','fmb_B_option$_2')
    & ~ 'fun_app$a'('fmb_B_option_bool_fun$_4','fmb_B_option$_1')
    & 'fun_app$a'('fmb_B_option_bool_fun$_4','fmb_B_option$_2') ) ).

tff('declare_valid_getter_setter$d',type,
    'valid_getter_setter$d': ( 'C_c_fun$' * 'C_c_c_fun_fun$' ) > $o ).

tff('predicate_valid_getter_setter$d',axiom,
    ( ~ 'valid_getter_setter$d'('fmb_C_c_fun$_1','fmb_C_c_c_fun_fun$_1')
    & 'valid_getter_setter$d'('fmb_C_c_fun$_1','fmb_C_c_c_fun_fun$_2')
    & ~ 'valid_getter_setter$d'('fmb_C_c_fun$_1','fmb_C_c_c_fun_fun$_3')
    & ~ 'valid_getter_setter$d'('fmb_C_c_fun$_1','fmb_C_c_c_fun_fun$_4') ) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03  % Problem  : ITP386_10 : TPTP v9.3.1. Released v8.2.0.
% 0.00/0.06  % Command  : run_vampire /export/starexec/sandbox2/benchmark/theBenchmark.p 300 SAT
% 0.16/0.41  % Computer : n003.cluster.edu
% 0.16/0.41  % Model    : x86_64 x86_64
% 0.16/0.41  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.41  % Memory   : 8046.5625MB
% 0.16/0.41  % OS       : Linux 6.8.0-71-generic
% 0.16/0.42  % CPULimit : 300
% 0.16/0.42  % WCLimit  : 300
% 0.16/0.42  % DateTime : Sun Sep 27 12:58:26 UTC 2026
% 0.16/0.42  % CPUTime  : 
% 0.16/0.42  Running run_vampire /export/starexec/sandbox2/benchmark/theBenchmark.p 300 SAT
% 0.23/0.47  Running first-order model finding
% 0.23/0.47  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
% 19.22/3.28  % (511377)Will run a generic schedule for satisfiability detection.
% 19.22/3.28  % (511388)ott-3_16_to=lpo:sil=16000:sp=arity:fd=off:rp=on:random_seed=291743643:i=159:bs=unit_only:nicw=on:fsr=off:amm=off_2999 on theBenchmark for (2999ds/159Mi)
% 19.22/3.28  % (511383)% WARNING: option uhcvi not known.
% 19.22/3.28  % (511382)fmb+10_1_sas=cadical:bce=on:rp=on:random_seed=1801093291_2999 on theBenchmark for (2999ds/0Mi)
% 19.22/3.28  % (511383)dis+11_61:31_drc=ordering:lsd=5:bsr=unit_only:rp=on:newcnf=on:random_seed=3201124520:i=135531:add=off:rawr=on_2999 on theBenchmark for (2999ds/135531Mi)
% 19.22/3.28  % (511384)dis+10_161_sil=256000:plsq=on:plsqr=61199697,1048576:gs=on:alpa=true:sac=on:slsq=on:cn=on:random_seed=1763833581:i=88024:add=on:rawr=on_2999 on theBenchmark for (2999ds/88024Mi)
% 19.22/3.28  % (511385)dis+10_1_sil=32000:sp=arity:random_seed=2688514275:i=103:fgj=on_2999 on theBenchmark for (2999ds/103Mi)
% 19.22/3.28  % (511386)ott+31_1_sil=16000:lcm=predicate:bce=on:newcnf=on:random_seed=3173339588:i=116_2999 on theBenchmark for (2999ds/116Mi)
% 19.22/3.28  % (511387)ott+1_1_to=lpo:sil=16000:sp=reverse_arity:erd=off:random_seed=506007111:i=131_2999 on theBenchmark for (2999ds/131Mi)
% 19.22/3.28  % (511388)Instruction limit reached! 
% 19.22/3.28  % (511388)------------------------------
% 19.22/3.28  % (511388)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 19.22/3.28  % (511388)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 19.22/3.28  % (511388)CaDiCaL version: 2.1.3
% 19.22/3.28  % (511388)Termination reason: Instruction limit
% 19.22/3.28  % (511388)Termination phase: Saturation
% 19.22/3.28  % (511388)Time elapsed: 0.090 s
% 19.22/3.28  % (511388)Peak memory usage: 15 MB
% 19.22/3.28  % (511388)Instructions burned: 160 (million)
% 19.22/3.28  % (511397)fmb+10_1_fmbas=predicate:sil=64000:sas=cadical:random_seed=3952748928:i=714:nm=2_2998 on theBenchmark for (2998ds/714Mi)
% 19.22/3.28  % (511385)Instruction limit reached! 
% 19.22/3.28  % (511385)------------------------------
% 19.22/3.28  % (511385)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 19.22/3.28  % (511385)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 19.22/3.28  % (511385)CaDiCaL version: 2.1.3
% 19.22/3.28  % (511385)Termination reason: Instruction limit
% 19.22/3.28  % (511385)Termination phase: Saturation
% 19.22/3.28  % (511385)Time elapsed: 0.105 s
% 19.22/3.28  % (511385)Peak memory usage: 14 MB
% 19.22/3.28  % (511385)Instructions burned: 103 (million)
% 19.22/3.28  % (511386)Instruction limit reached! 
% 19.22/3.28  % (511386)------------------------------
% 19.22/3.28  % (511386)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 19.22/3.28  % (511386)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 19.22/3.28  % (511386)CaDiCaL version: 2.1.3
% 19.22/3.28  % (511386)Termination reason: Instruction limit
% 19.22/3.28  % (511386)Termination phase: Saturation
% 19.22/3.28  % (511386)Time elapsed: 0.113 s
% 19.22/3.28  % (511386)Peak memory usage: 14 MB
% 19.22/3.28  % (511386)Instructions burned: 116 (million)
% 19.22/3.28  % (511387)Instruction limit reached! 
% 19.22/3.28  % (511387)------------------------------
% 19.22/3.28  % (511387)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 19.22/3.28  % (511387)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 19.22/3.28  % (511387)CaDiCaL version: 2.1.3
% 19.22/3.28  % (511387)Termination reason: Instruction limit
% 19.22/3.28  % (511387)Termination phase: Saturation
% 19.22/3.28  % (511387)Time elapsed: 0.131 s
% 19.22/3.28  % (511387)Peak memory usage: 15 MB
% 19.22/3.28  % (511387)Instructions burned: 132 (million)
% 19.22/3.28  % (511399)ott+32_1_sil=16000:bsd=on:sp=const_max:bce=on:random_seed=932696084:i=131:bd=preordered:fsd=on_2998 on theBenchmark for (2998ds/131Mi)
% 19.22/3.28  % (511400)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=551656187:i=684:slsql=off:bs=unit_only:nicw=on:rawr=on_2998 on theBenchmark for (2998ds/684Mi)
% 19.22/3.28  % (511401)ott-21_1_sil=16000:fs=off:random_seed=3532888572:i=180:av=off:fsr=off_2997 on theBenchmark for (2997ds/180Mi)
% 19.22/3.28  % (511399)Instruction limit reached! 
% 19.22/3.28  % (511399)------------------------------
% 19.22/3.28  % (511399)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 19.22/3.28  % (511399)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 19.22/3.28  % (511399)CaDiCaL version: 2.1.3
% 19.22/3.28  % (511399)Termination reason: Instruction limit
% 34.05/5.32  % (511399)Termination phase: Saturation
% 34.05/5.32  % (511399)Time elapsed: 0.132 s
% 34.05/5.32  % (511399)Peak memory usage: 14 MB
% 34.05/5.32  % (511399)Instructions burned: 132 (million)
% 34.05/5.32  % (511405)dis+10_4_sil=64000:sp=reverse_arity:bsr=on:sac=on:cn=on:random_seed=1025618910:i=477:bd=all_2996 on theBenchmark for (2996ds/477Mi)
% 34.05/5.32  % (511401)Instruction limit reached! 
% 34.05/5.32  % (511401)------------------------------
% 34.05/5.32  % (511401)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 34.05/5.32  % (511401)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 34.05/5.32  % (511401)CaDiCaL version: 2.1.3
% 34.05/5.32  % (511401)Termination reason: Instruction limit
% 34.05/5.32  % (511401)Termination phase: Saturation
% 34.05/5.32  % (511401)Time elapsed: 0.175 s
% 34.05/5.32  % (511401)Peak memory usage: 15 MB
% 34.05/5.32  % (511401)Instructions burned: 180 (million)
% 34.05/5.32  % TRYING [1]
% 34.05/5.32  % TRYING [2]
% 34.05/5.32  % (511407)fmb+10_1_sil=64000:erd=off:updr=off:random_seed=2657012703:fmbsr=1.3:i=865:ins=25_2995 on theBenchmark for (2995ds/865Mi)
% 34.05/5.32  % (511397)Instruction limit reached! 
% 34.05/5.32  % (511397)------------------------------
% 34.05/5.32  % (511397)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 34.05/5.32  % (511397)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 34.05/5.32  % (511397)CaDiCaL version: 2.1.3
% 34.05/5.32  % (511397)Termination reason: Instruction limit
% 34.05/5.32  % (511397)Termination phase: Finite model building constraint generation
% 34.05/5.32  % (511397)Time elapsed: 0.316 s
% 34.05/5.32  % (511397)Peak memory usage: 30 MB
% 34.05/5.32  % (511397)Instructions burned: 715 (million)
% 34.05/5.32  % (511411)ott+10_1_to=lpo:sil=64000:tgt=full:sp=arity:spb=goal_then_units:random_seed=963588567:i=1179_2995 on theBenchmark for (2995ds/1179Mi)
% 34.05/5.32  % (511400)Instruction limit reached! 
% 34.05/5.32  % (511400)------------------------------
% 34.05/5.32  % (511400)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 34.05/5.32  % (511400)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 34.05/5.32  % (511400)CaDiCaL version: 2.1.3
% 34.05/5.32  % (511400)Termination reason: Instruction limit
% 34.05/5.32  % (511400)Termination phase: Saturation
% 34.05/5.32  % (511400)Time elapsed: 0.675 s
% 34.05/5.32  % (511400)Peak memory usage: 18 MB
% 34.05/5.32  % (511400)Instructions burned: 684 (million)
% 34.05/5.32  % (511415)fmb+10_1_sil=64000:erd=off:fmbss=14:random_seed=3388911894:i=889:ins=1_2991 on theBenchmark for (2991ds/889Mi)
% 34.05/5.32  % (511405)Instruction limit reached! 
% 34.05/5.32  % (511405)------------------------------
% 34.05/5.32  % (511405)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 34.05/5.32  % (511405)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 34.05/5.32  % (511405)CaDiCaL version: 2.1.3
% 34.05/5.32  % (511405)Termination reason: Instruction limit
% 34.05/5.32  % (511405)Termination phase: Saturation
% 34.05/5.32  % (511405)Time elapsed: 0.557 s
% 34.05/5.32  % (511405)Peak memory usage: 16 MB
% 34.05/5.32  % (511405)Instructions burned: 477 (million)
% 34.05/5.32  % (511417)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=1504712827:avsq=on:s2a=on:i=692:avsqr=8,1:kws=arity_squared:bs=unit_only:nm=2:rawr=on_2990 on theBenchmark for (2990ds/692Mi)
% 34.05/5.32  % (511407)Instruction limit reached! 
% 34.05/5.32  % (511407)------------------------------
% 34.05/5.32  % (511407)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 34.05/5.32  % (511407)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 34.05/5.32  % (511407)CaDiCaL version: 2.1.3
% 34.05/5.32  % (511407)Termination reason: Instruction limit
% 34.05/5.32  % (511407)Termination phase: Finite model building preprocessing
% 34.05/5.32  % (511407)Time elapsed: 0.676 s
% 34.05/5.32  % (511407)Peak memory usage: 21 MB
% 34.05/5.32  % (511407)Instructions burned: 866 (million)
% 34.05/5.32  % (511421)dis-10_1_anc=none:sil=64000:spb=goal:newcnf=on:cn=on:random_seed=1587990177:i=879:kws=inv_precedence:fsr=off_2988 on theBenchmark for (2988ds/879Mi)
% 34.05/5.32  % (511411)Instruction limit reached! 
% 34.05/5.32  % (511411)------------------------------
% 34.05/5.32  % (511411)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 34.05/5.32  % (511411)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 34.05/5.32  % (511411)CaDiCaL version: 2.1.3
% 34.05/5.32  % (511411)Termination reason: Instruction limit
% 57.76/8.73  % (511411)Termination phase: Saturation
% 57.76/8.73  % (511411)Time elapsed: 0.661 s
% 57.76/8.73  % (511411)Peak memory usage: 27 MB
% 57.76/8.73  % (511411)Instructions burned: 1179 (million)
% 57.76/8.73  % (511423)fmb+10_1_sil=64000:random_seed=879279654:i=22061:nm=2:gsp=on_2988 on theBenchmark for (2988ds/22061Mi)
% 57.76/8.73  % (511421)Instruction limit reached! 
% 57.76/8.73  % (511421)------------------------------
% 57.76/8.73  % (511421)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 57.76/8.73  % (511421)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 57.76/8.73  % (511421)CaDiCaL version: 2.1.3
% 57.76/8.73  % (511421)Termination reason: Instruction limit
% 57.76/8.73  % (511421)Termination phase: Saturation
% 57.76/8.73  % (511421)Time elapsed: 0.430 s
% 57.76/8.73  % (511421)Peak memory usage: 19 MB
% 57.76/8.73  % (511421)Instructions burned: 879 (million)
% 57.76/8.73  % (511426)fmb+10_1_sil=16000:sas=cadical:fmbss=20:random_seed=2981193046:i=9515:nm=5_2984 on theBenchmark for (2984ds/9515Mi)
% 57.76/8.73  % (511415)Instruction limit reached! 
% 57.76/8.73  % (511415)------------------------------
% 57.76/8.73  % (511415)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 57.76/8.73  % (511415)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 57.76/8.73  % (511415)CaDiCaL version: 2.1.3
% 57.76/8.73  % (511415)Termination reason: Instruction limit
% 57.76/8.73  % (511415)Termination phase: Finite model building preprocessing
% 57.76/8.73  % (511415)Time elapsed: 0.739 s
% 57.76/8.73  % (511415)Peak memory usage: 22 MB
% 57.76/8.73  % (511415)Instructions burned: 889 (million)
% 57.76/8.73  % (511428)fmb+10_1_sil=64000:sas=cadical:fmbss=8:random_seed=2610280292:fmbsr=1.7:i=920_2983 on theBenchmark for (2983ds/920Mi)
% 57.76/8.73  % (511417)Instruction limit reached! 
% 57.76/8.73  % (511417)------------------------------
% 57.76/8.73  % (511417)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 57.76/8.73  % (511417)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 57.76/8.73  % (511417)CaDiCaL version: 2.1.3
% 57.76/8.73  % (511417)Termination reason: Instruction limit
% 57.76/8.73  % (511417)Termination phase: Saturation
% 57.76/8.73  % (511417)Time elapsed: 0.794 s
% 57.76/8.73  % (511417)Peak memory usage: 21 MB
% 57.76/8.73  % (511417)Instructions burned: 692 (million)
% 57.76/8.73  % (511430)dis-4_1_sil=16000:drc=ordering:sp=const_frequency:sac=on:newcnf=on:random_seed=1637317979:i=5131_2982 on theBenchmark for (2982ds/5131Mi)
% 57.76/8.73  % Detected minimum model sizes of [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
% 57.76/8.73  % Detected maximum model sizes of [max,max,max,max,max,max,max,max,max,max,max,max,max,2,max,max,max,max,max,max,max,max,max,max]
% 57.76/8.73  % 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]
% 57.76/8.73  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
% 57.76/8.73  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1]
% 57.76/8.73  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1]
% 57.76/8.73  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,1,1]
% 57.76/8.73  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,2,2,1,1]
% 57.76/8.73  % (511428)Instruction limit reached! 
% 57.76/8.73  % (511428)------------------------------
% 57.76/8.73  % (511428)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 57.76/8.73  % (511428)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 57.76/8.73  % (511428)CaDiCaL version: 2.1.3
% 57.76/8.73  % (511428)Termination reason: Instruction limit
% 57.76/8.73  % (511428)Termination phase: Finite model building preprocessing
% 57.76/8.73  % (511428)Time elapsed: 0.756 s
% 57.76/8.73  % (511428)Peak memory usage: 21 MB
% 57.76/8.73  % (511428)Instructions burned: 920 (million)
% 57.76/8.73  % TRYING [2,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,2,1,2,2,1,1]
% 57.76/8.73  % (511435)ott+11_16_sil=32000:fde=unused:bsd=on:sas=cadical:sp=arity:spb=units:lsd=10:nwc=3:random_seed=3878272787:i=1472:ins=7:fdi=8:gsp=on_2975 on theBenchmark for (2975ds/1472Mi)
% 57.76/8.73  % TRYING [2,1,2,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,2,1,2,2,1,1]
% 57.76/8.73  % TRYING [2,1,2,1,1,1,2,1,1,1,1,1,1,2,1,2,1,1,2,1,2,2,1,1]
% 57.76/8.73  % TRYING [2,1,2,1,1,1,2,1,1,1,2,1,1,2,1,2,1,1,2,1,2,2,1,1]
% 57.76/8.73  % TRYING [2,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,1,1,2,1,2,2,1,1]
% 57.76/8.73  % Detected minimum model sizes of [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
% 57.76/8.73  % Detected maximum model sizes of [max,max,max,max,max,max,max,max,max,max,max,max,max,2,max,max,max,max,max,max,max,max,max,max]
% 57.76/8.73  % fmb_start_size (= 20) larger than a detected sort maximum size!
% 57.76/8.73  % (511426)Refutation not found, incomplete strategy
% 69.38/10.36  % (511426)------------------------------
% 69.38/10.36  % (511426)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 69.38/10.36  % (511426)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 69.38/10.36  % (511426)CaDiCaL version: 2.1.3
% 69.38/10.36  % (511426)Termination reason: Refutation not found, incomplete strategy
% 69.38/10.36  % (511426)Time elapsed: 1.195 s
% 69.38/10.36  % (511426)Peak memory usage: 28 MB
% 69.38/10.36  % (511426)Instructions burned: 2644 (million)
% 69.38/10.36  % (511426)------------------------------
% 69.38/10.36  % (511426)------------------------------
% 69.38/10.36  % (511438)fmb+10_1_sil=16000:sas=cadical:bce=on:fmbss=77:random_seed=2862361546:i=6324_2971 on theBenchmark for (2971ds/6324Mi)
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,1,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [3,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,1,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [3,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % Detected minimum model sizes of [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
% 69.38/10.36  % Detected maximum model sizes of [max,max,max,max,max,max,max,max,max,max,max,max,max,2,max,max,max,max,max,max,max,max,max,max]
% 69.38/10.36  % 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]
% 69.38/10.36  % 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]
% 69.38/10.36  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1]
% 69.38/10.36  % TRYING [3,1,2,1,1,1,2,1,1,2,2,1,2,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,2,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [1,1,1,1,1,1,1,1,1,1,3,1,1,2,1,2,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,2,1,2,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [1,1,1,1,1,1,2,1,1,1,2,1,1,2,1,2,1,2,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,2,1,2,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [1,1,2,1,1,1,2,1,1,1,2,1,1,2,1,2,1,2,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,1,2,1,1,2,1,2,1,2,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,1,2,1,1,2,1,2,1,2,2,1,2,3,1,1]
% 69.38/10.36  % Detected minimum model sizes of [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
% 69.38/10.36  % Detected maximum model sizes of [max,max,max,max,max,max,max,max,max,max,max,max,max,2,max,max,max,max,max,max,max,max,max,max]
% 69.38/10.36  % fmb_start_size (= 77) larger than a detected sort maximum size!
% 69.38/10.36  % (511438)Refutation not found, incomplete strategy
% 69.38/10.36  % (511438)------------------------------
% 69.38/10.36  % (511438)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 69.38/10.36  % (511438)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 69.38/10.36  % (511438)CaDiCaL version: 2.1.3
% 69.38/10.36  % (511438)Termination reason: Refutation not found, incomplete strategy
% 69.38/10.36  % (511438)Time elapsed: 1.078 s
% 69.38/10.36  % (511438)Peak memory usage: 30 MB
% 69.38/10.36  % (511438)Instructions burned: 2723 (million)
% 69.38/10.36  % (511438)------------------------------
% 69.38/10.36  % (511438)------------------------------
% 69.38/10.36  % (511442)fmb+10_1_fmbas=function:sil=32000:sas=cadical:fmbss=16:random_seed=228310065:fmbsr=2.30978:i=2174_2960 on theBenchmark for (2960ds/2174Mi)
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,1,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [5,1,2,1,1,1,2,1,1,2,2,1,2,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % (511435)Instruction limit reached! 
% 69.38/10.36  % (511435)------------------------------
% 69.38/10.36  % (511435)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 69.38/10.36  % (511435)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 69.38/10.36  % (511435)CaDiCaL version: 2.1.3
% 69.38/10.36  % (511435)Termination reason: Instruction limit
% 69.38/10.36  % (511435)Termination phase: Saturation
% 69.38/10.36  % (511435)Time elapsed: 1.562 s
% 69.38/10.36  % (511435)Peak memory usage: 32 MB
% 69.38/10.36  % (511435)Instructions burned: 1472 (million)
% 69.38/10.36  % (511444)ott-2_1_sil=16000:newcnf=on:random_seed=3453396713:avsq=on:i=869:avsqr=1,16:kws=inv_arity_squared_2959 on theBenchmark for (2959ds/869Mi)
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [16]
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,2,2,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,3,1,2,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % (511442)Instruction limit reached! 
% 69.38/10.36  % (511442)------------------------------
% 69.38/10.36  % (511442)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 69.38/10.36  % (511442)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 69.38/10.36  % (511442)CaDiCaL version: 2.1.3
% 69.38/10.36  % (511442)Termination reason: Instruction limit
% 69.38/10.36  % (511442)Termination phase: Finite model building constraint generation
% 69.38/10.36  % (511442)Time elapsed: 0.895 s
% 69.38/10.36  % (511442)Peak memory usage: 96 MB
% 69.38/10.36  % (511442)Instructions burned: 2175 (million)
% 69.38/10.36  % TRYING [3,1,2,1,1,1,2,1,1,2,2,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % (511448)ott+10_1_sil=32000:tgt=ground:random_seed=3274892219:i=5114:av=off_2951 on theBenchmark for (2951ds/5114Mi)
% 69.38/10.36  % (511444)Instruction limit reached! 
% 69.38/10.36  % (511444)------------------------------
% 69.38/10.36  % (511444)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 69.38/10.36  % (511444)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 69.38/10.36  % (511444)CaDiCaL version: 2.1.3
% 69.38/10.36  % (511444)Termination reason: Instruction limit
% 69.38/10.36  % (511444)Termination phase: Saturation
% 69.38/10.36  % (511444)Time elapsed: 0.782 s
% 69.38/10.36  % (511444)Peak memory usage: 17 MB
% 69.38/10.36  % (511444)Instructions burned: 869 (million)
% 69.38/10.36  % (511450)fmb+10_1_sil=64000:sas=cadical:bce=on:rp=on:random_seed=1004132759:i=54282_2951 on theBenchmark for (2951ds/54282Mi)
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,2,1,2,2,2,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,2,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,4,1,2,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,3,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [5,1,2,1,1,1,2,1,1,2,3,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,3,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % (511430)Instruction limit reached! 
% 69.38/10.36  % (511430)------------------------------
% 69.38/10.36  % (511430)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 69.38/10.36  % (511430)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 69.38/10.36  % (511430)CaDiCaL version: 2.1.3
% 69.38/10.36  % (511430)Termination reason: Instruction limit
% 69.38/10.36  % (511430)Termination phase: Saturation
% 69.38/10.36  % (511430)Time elapsed: 5.103 s
% 69.38/10.36  % (511430)Peak memory usage: 53 MB
% 69.38/10.36  % (511430)Instructions burned: 5131 (million)
% 69.38/10.36  % (511452)dis-11_1_sil=16000:sp=reverse_frequency:alpa=true:random_seed=261365227:i=3512:aac=none_2930 on theBenchmark for (2930ds/3512Mi)
% 69.38/10.36  % Detected minimum model sizes of [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
% 69.38/10.36  % Detected maximum model sizes of [max,max,max,max,max,max,max,max,max,max,max,max,max,2,max,max,max,max,max,max,max,max,max,max]
% 69.38/10.36  % 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]
% 69.38/10.36  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
% 69.38/10.36  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,4,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1]
% 69.38/10.36  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,1,1]
% 69.38/10.36  % TRYING [2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [2,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,1,1,1,1,2,1,2,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,1,2,1,1,2,1,2,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [5,1,2,1,1,1,2,1,1,2,4,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,1,1,2,1,2,2,1,1]
% 69.38/10.36  % TRYING [2,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,1,1,2,1,2,3,1,1]
% 69.38/10.36  % (511448)Instruction limit reached! 
% 69.38/10.36  % (511448)------------------------------
% 69.38/10.36  % (511448)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 69.38/10.36  % (511448)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 69.38/10.36  % (511448)CaDiCaL version: 2.1.3
% 69.38/10.36  % (511448)Termination reason: Instruction limit
% 69.38/10.36  % (511448)Termination phase: Saturation
% 69.38/10.36  % (511448)Time elapsed: 2.870 s
% 69.38/10.36  % (511448)Peak memory usage: 65 MB
% 69.38/10.36  % (511448)Instructions burned: 5114 (million)
% 69.38/10.36  % (511455)dis+21_1_sil=32000:sas=cadical:random_seed=1935118342:i=3773:amm=off_2922 on theBenchmark for (2922ds/3773Mi)
% 69.38/10.36  % TRYING [3,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,1,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [3,1,2,1,1,1,2,1,1,2,2,1,1,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [3,1,2,1,1,1,2,1,1,2,2,1,2,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [5,1,2,1,1,1,2,1,1,2,3,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,3,4,1,2,2,1,2,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,2,1,2,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,4,1,2,2,1,3,2,2,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [5,1,2,1,1,1,2,1,1,2,2,1,2,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,4,1,2,2,1,2,2,2,2,1,2,4,1,1]
% 69.38/10.36  % (511455)Instruction limit reached! 
% 69.38/10.36  % (511455)------------------------------
% 69.38/10.36  % (511455)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 69.38/10.36  % (511455)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 69.38/10.36  % (511455)CaDiCaL version: 2.1.3
% 69.38/10.36  % (511455)Termination reason: Instruction limit
% 69.38/10.36  % (511455)Termination phase: Saturation
% 69.38/10.36  % (511455)Time elapsed: 1.788 s
% 69.38/10.36  % (511455)Peak memory usage: 34 MB
% 69.38/10.36  % (511455)Instructions burned: 3773 (million)
% 69.38/10.36  % (511464)ott+11_1_sil=16000:gs=on:random_seed=2641316955:s2a=on:i=2251:s2at=3:kws=inv_arity_squared:nm=2:fsr=off:fsd=on_2904 on theBenchmark for (2904ds/2251Mi)
% 69.38/10.36  % TRYING [4,1,2,1,1,1,2,1,1,2,3,1,2,2,1,2,2,1,2,1,2,3,1,1]
% 69.38/10.36  % Finite Model Found!
% 69.38/10.36  % SZS status Satisfiable for theBenchmark
% 69.38/10.36  % (511382) found proof, printing to "/export/starexec/sandbox2/tmp/vampire-proof-511377-511382"...
% 69.38/10.36  % (511382)...printing done.
% 69.38/10.36  % SZS output start FiniteModel for theBenchmark
% See solution above
% 69.38/10.38  % (511382)------------------------------
% 69.38/10.38  % (511382)Version: Vampire 5.0.1 (Release build, commit 5ef7c2677 on 2026-07-16 16:54:09 +0200)
% 69.38/10.38  % (511382)Linked with Z3 4.14.0.0 3c47fd96cf5645d0c42b2c819d9e9a84380aa721 z3-4.8.4-9178-g3c47fd96c
% 69.38/10.38  % (511382)CaDiCaL version: 2.1.3
% 69.38/10.38  % (511382)Termination reason: Satisfiable
% 69.38/10.38  % (511382)Time elapsed: 9.755 s
% 69.38/10.38  % (511382)Peak memory usage: 99 MB
% 69.38/10.38  % (511382)Instructions burned: 13406 (million)
% 69.38/10.38  % (511377)Success in time 9.883 s
% 69.38/10.38  % Vampire exiting
%------------------------------------------------------------------------------