TPTP Problem File: SLH0482^1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : SLH0000^1 : TPTP v8.2.0. Released v8.2.0.
% Domain : Archive of Formal Proofs
% Problem :
% Version : Especial.
% English :
% Refs : [Des23] Desharnais (2023), Email to Geoff Sutcliffe
% Source : [Des23]
% Names : Combinable_Wands/0002_PartialHeapSA/prob_00227_006795__7255792_1 [Des23]
% Status : Theorem
% Rating : ? v8.2.0
% Syntax : Number of formulae : 1532 ( 586 unt; 503 typ; 0 def)
% Number of atoms : 2706 (1726 equ; 0 cnn)
% Maximal formula atoms : 14 ( 2 avg)
% Number of connectives : 7671 ( 425 ~; 55 |; 178 &;6103 @)
% ( 0 <=>; 910 =>; 0 <=; 0 <~>)
% Maximal formula depth : 20 ( 5 avg)
% Number of types : 53 ( 52 usr)
% Number of type conns : 2526 (2526 >; 0 *; 0 +; 0 <<)
% Number of symbols : 454 ( 451 usr; 37 con; 0-4 aty)
% Number of variables : 2780 ( 318 ^;2371 !; 91 ?;2780 :)
% SPC : TH0_THM_EQU_NAR
% Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 2023-01-19 09:08:33.101
%------------------------------------------------------------------------------
% Could-be-implicit typings (52)
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_J,type,
list_P5521618065476132895on_val: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_J,type,
set_Pr4305388979797279737on_val: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
produc1317171644805857433on_val: $tType ).
thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J_J,type,
produc5803078220529002682t_char: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__PartialHeapSA__Ostate_J_J,type,
list_P5536455655026101949_state: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__PartialHeapSA__Ostate_J_J,type,
set_Pr6040071838687925911_state: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Mask__Oval_J_J,type,
list_P7552871840895951722al_val: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Mask__Oval_J_J,type,
set_Pr5678771902342202384al_val: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__PartialHeapSA__Ostate_J,type,
produc3589956252253634615_state: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Mask__Oval_J,type,
produc4587312360482870618al_val: $tType ).
thf(ty_n_t__Set__Oset_It__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_J,type,
set_op6240181410663953058on_val: $tType ).
thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
option8887860577033306220on_val: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
list_P8058578141249370668on_val: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
set_Pr7649655576376376530on_val: $tType ).
thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
produc9003781588162623004on_val: $tType ).
thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
produc2489117125269924006t_char: $tType ).
thf(ty_n_t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
option5747939881698552298on_val: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Mask__Oval_J_J,type,
list_P375024181684815772ar_val: $tType ).
thf(ty_n_t__Set__Oset_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
set_Pr1004501353197068112on_val: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Mask__Oval_J_J,type,
set_Pr7730668076155855478ar_val: $tType ).
thf(ty_n_t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_J,type,
option3572569098863364761r_prat: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
produc3933091914578511633r_prat: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__Option__Ooption_It__PartialHeapSA__Ostate_J_Mt__Option__Ooption_It__PartialHeapSA__Ostate_J_J,type,
produc3142500478612311029_state: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Mask__Oval_J,type,
produc4494260595660908054ar_val: $tType ).
thf(ty_n_t__List__Olist_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_J,type,
list_P6121108298706723033r_prat: $tType ).
thf(ty_n_t__Set__Oset_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_J,type,
set_Pr3433046674199179443r_prat: $tType ).
thf(ty_n_t__Set__Oset_It__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J_J,type,
set_op9137726805559506488t_char: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__Option__Ooption_It__Mask__Oval_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
produc5122021904355189735on_val: $tType ).
thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
option2736423997234022232t_char: $tType ).
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
list_P8003064839462976920t_char: $tType ).
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
set_Pr2507339680178222706t_char: $tType ).
thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
produc1457211279475724562t_char: $tType ).
thf(ty_n_t__Option__Ooption_It__Option__Ooption_It__PartialHeapSA__Ostate_J_J,type,
option_option_state: $tType ).
thf(ty_n_t__Set__Oset_It__Option__Ooption_It__PartialHeapSA__Ostate_J_J,type,
set_option_state: $tType ).
thf(ty_n_t__Option__Ooption_It__Option__Ooption_It__Mask__Oval_J_J,type,
option_option_val: $tType ).
thf(ty_n_t__Option__Ooption_It__List__Olist_It__String__Ochar_J_J,type,
option_list_char: $tType ).
thf(ty_n_t__Set__Oset_It__Option__Ooption_It__Mask__Oval_J_J,type,
set_option_val: $tType ).
thf(ty_n_t__Set__Oset_It__List__Olist_It__String__Ochar_J_J,type,
set_list_char: $tType ).
thf(ty_n_t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
option_state: $tType ).
thf(ty_n_t__List__Olist_It__PartialHeapSA__Ostate_J,type,
list_state: $tType ).
thf(ty_n_t__Set__Oset_It__PartialHeapSA__Ostate_J,type,
set_state: $tType ).
thf(ty_n_t__Option__Ooption_It__Mask__Oval_J,type,
option_val: $tType ).
thf(ty_n_t__Option__Ooption_It__Nat__Onat_J,type,
option_nat: $tType ).
thf(ty_n_t__List__Olist_It__String__Ochar_J,type,
list_char: $tType ).
thf(ty_n_t__List__Olist_It__Mask__Oval_J,type,
list_val: $tType ).
thf(ty_n_t__List__Olist_It__Nat__Onat_J,type,
list_nat: $tType ).
thf(ty_n_t__Set__Oset_It__Mask__Oval_J,type,
set_val: $tType ).
thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
set_nat: $tType ).
thf(ty_n_t__PartialHeapSA__Ostate,type,
state: $tType ).
thf(ty_n_t__PosRat__Oprat,type,
prat: $tType ).
thf(ty_n_t__Mask__Oval,type,
val: $tType ).
thf(ty_n_t__Nat__Onat,type,
nat: $tType ).
% Explicit typings (451)
thf(sy_c_BNF__Def_OGrp_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
bNF_Gr7204040508389623334on_val: set_op6240181410663953058on_val > ( option8887860577033306220on_val > option5747939881698552298on_val ) > option8887860577033306220on_val > option5747939881698552298on_val > $o ).
thf(sy_c_BNF__Def_OGrp_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_J,type,
bNF_Gr4505501571886485853r_prat: set_op6240181410663953058on_val > ( option8887860577033306220on_val > option3572569098863364761r_prat ) > option8887860577033306220on_val > option3572569098863364761r_prat > $o ).
thf(sy_c_BNF__Def_OGrp_001t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J_001t__Option__Ooption_It__List__Olist_It__String__Ochar_J_J,type,
bNF_Gr8228872360220102203t_char: set_op9137726805559506488t_char > ( option2736423997234022232t_char > option_list_char ) > option2736423997234022232t_char > option_list_char > $o ).
thf(sy_c_BNF__Def_OGrp_001t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J_001t__Option__Ooption_It__Nat__Onat_J,type,
bNF_Gr8209631520120356778on_nat: set_op9137726805559506488t_char > ( option2736423997234022232t_char > option_nat ) > option2736423997234022232t_char > option_nat > $o ).
thf(sy_c_BNF__Def_Orel__fun_001t__Mask__Oval_001t__Mask__Oval_001t__Option__Ooption_It__Mask__Oval_J_001t__Option__Ooption_It__Mask__Oval_J,type,
bNF_re7986259651653764189on_val: ( val > val > $o ) > ( option_val > option_val > $o ) > ( val > option_val ) > ( val > option_val ) > $o ).
thf(sy_c_BNF__Def_Orel__fun_001t__Mask__Oval_001t__PartialHeapSA__Ostate_001t__Option__Ooption_It__Mask__Oval_J_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
bNF_re724738890469284915_state: ( val > state > $o ) > ( option_val > option_state > $o ) > ( val > option_val ) > ( state > option_state ) > $o ).
thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_It__Mask__Oval_J_001t__Option__Ooption_It__Mask__Oval_J_001_Eo_001_Eo,type,
bNF_re8803170646668426653al_o_o: ( option_val > option_val > $o ) > ( $o > $o > $o ) > ( option_val > $o ) > ( option_val > $o ) > $o ).
thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_It__Mask__Oval_J_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001_Eo_001_Eo,type,
bNF_re9208312572002657588te_o_o: ( option_val > option_state > $o ) > ( $o > $o > $o ) > ( option_val > $o ) > ( option_state > $o ) > $o ).
thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__Option__Ooption_It__Mask__Oval_J_001_Eo_001_Eo,type,
bNF_re3324221780734229534al_o_o: ( option_state > option_val > $o ) > ( $o > $o > $o ) > ( option_state > $o ) > ( option_val > $o ) > $o ).
thf(sy_c_BNF__Def_Orel__fun_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001_Eo_001_Eo,type,
bNF_re6905797707481504115te_o_o: ( option_state > option_state > $o ) > ( $o > $o > $o ) > ( option_state > $o ) > ( option_state > $o ) > $o ).
thf(sy_c_BNF__Def_Orel__fun_001t__PartialHeapSA__Ostate_001t__Mask__Oval_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__Option__Ooption_It__Mask__Oval_J,type,
bNF_re3246193597797267091on_val: ( state > val > $o ) > ( option_state > option_val > $o ) > ( state > option_state ) > ( val > option_val ) > $o ).
thf(sy_c_BNF__Def_Orel__fun_001t__PartialHeapSA__Ostate_001t__PartialHeapSA__Ostate_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
bNF_re349789735553525609_state: ( state > state > $o ) > ( option_state > option_state > $o ) > ( state > option_state ) > ( state > option_state ) > $o ).
thf(sy_c_Finite__Set_Ofinite_001t__Mask__Oval,type,
finite_finite_val: set_val > $o ).
thf(sy_c_Finite__Set_Ofinite_001t__Option__Ooption_It__Mask__Oval_J,type,
finite4212117559080419824on_val: set_option_val > $o ).
thf(sy_c_Finite__Set_Ofinite_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
finite3180955649987104801_state: set_option_state > $o ).
thf(sy_c_Finite__Set_Ofinite_001t__PartialHeapSA__Ostate,type,
finite_finite_state: set_state > $o ).
thf(sy_c_Finite__Set_Ofinite_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
finite8324237431073730739on_val: set_Pr7649655576376376530on_val > $o ).
thf(sy_c_Finite__Set_Ofold_001t__Mask__Oval_001t__Option__Ooption_It__Mask__Oval_J,type,
finite4564359178381958990on_val: ( val > option_val > option_val ) > option_val > set_val > option_val ).
thf(sy_c_Finite__Set_Ofold_001t__PartialHeapSA__Ostate_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
finite8091670487289438734_state: ( state > option_state > option_state ) > option_state > set_state > option_state ).
thf(sy_c_Fun_Obij__betw_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
bij_be532653817181524272on_val: ( produc9003781588162623004on_val > produc9003781588162623004on_val ) > set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val > $o ).
thf(sy_c_Fun_Ocomp_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
comp_P4400950274061688490r_prat: ( ( produc1457211279475724562t_char > option_val ) > option5747939881698552298on_val ) > ( ( produc1457211279475724562t_char > prat ) > produc1457211279475724562t_char > option_val ) > ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ).
thf(sy_c_Fun_Ocomp_001t__List__Olist_It__String__Ochar_J_001t__Option__Ooption_It__List__Olist_It__String__Ochar_J_J_001t__Nat__Onat,type,
comp_l4346807716514216519ar_nat: ( list_char > option_list_char ) > ( nat > list_char ) > nat > option_list_char ).
thf(sy_c_Fun_Ocomp_001t__Option__Ooption_It__Mask__Oval_J_001t__Mask__Oval_001t__Mask__Oval,type,
comp_o5604524432708427236al_val: ( option_val > val ) > ( val > option_val ) > val > val ).
thf(sy_c_Fun_Ocomp_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__PartialHeapSA__Ostate_001t__PartialHeapSA__Ostate,type,
comp_o4916166309651032803_state: ( option_state > state ) > ( state > option_state ) > state > state ).
thf(sy_c_Fun_Ocomp_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
comp_P6513993558795193993on_val: ( produc9003781588162623004on_val > option8887860577033306220on_val ) > ( produc9003781588162623004on_val > produc9003781588162623004on_val ) > produc9003781588162623004on_val > option8887860577033306220on_val ).
thf(sy_c_Fun_Ofun__upd_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
fun_up1601731230164360576on_val: ( ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ) > ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val > ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ).
thf(sy_c_Fun_Ofun__upd_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001t__PosRat__Oprat,type,
fun_up9120501182914450918t_prat: ( ( produc1457211279475724562t_char > prat ) > prat ) > ( produc1457211279475724562t_char > prat ) > prat > ( produc1457211279475724562t_char > prat ) > prat ).
thf(sy_c_Fun_Ofun__upd_001t__Mask__Oval_001t__Option__Ooption_It__List__Olist_It__String__Ochar_J_J,type,
fun_up7032939564753911157t_char: ( val > option_list_char ) > val > option_list_char > val > option_list_char ).
thf(sy_c_Fun_Ofun__upd_001t__Mask__Oval_001t__Option__Ooption_It__Mask__Oval_J,type,
fun_up735531404784515971on_val: ( val > option_val ) > val > option_val > val > option_val ).
thf(sy_c_Fun_Ofun__upd_001t__Mask__Oval_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
fun_up7100790768922270414_state: ( val > option_state ) > val > option_state > val > option_state ).
thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001t__Option__Ooption_It__List__Olist_It__String__Ochar_J_J,type,
fun_up4009399622604172288t_char: ( nat > option_list_char ) > nat > option_list_char > nat > option_list_char ).
thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001t__Option__Ooption_It__Mask__Oval_J,type,
fun_up810121132392276792on_val: ( nat > option_val ) > nat > option_val > nat > option_val ).
thf(sy_c_Fun_Ofun__upd_001t__Nat__Onat_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
fun_up5089051266557015257_state: ( nat > option_state ) > nat > option_state > nat > option_state ).
thf(sy_c_Fun_Ofun__upd_001t__Option__Ooption_It__Mask__Oval_J_001t__Option__Ooption_It__Mask__Oval_J,type,
fun_up8761876891205509693on_val: ( option_val > option_val ) > option_val > option_val > option_val > option_val ).
thf(sy_c_Fun_Ofun__upd_001t__Option__Ooption_It__Mask__Oval_J_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
fun_up2039547756584784788_state: ( option_val > option_state ) > option_val > option_state > option_val > option_state ).
thf(sy_c_Fun_Ofun__upd_001t__PartialHeapSA__Ostate_001t__PosRat__Oprat,type,
fun_upd_state_prat: ( state > prat ) > state > prat > state > prat ).
thf(sy_c_Fun_Ofun__upd_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Option__Ooption_It__Mask__Oval_J,type,
fun_up8559965269643824108on_val: ( produc9003781588162623004on_val > option_val ) > produc9003781588162623004on_val > option_val > produc9003781588162623004on_val > option_val ).
thf(sy_c_Fun_Ofun__upd_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
fun_up6681822530636708645_state: ( produc9003781588162623004on_val > option_state ) > produc9003781588162623004on_val > option_state > produc9003781588162623004on_val > option_state ).
thf(sy_c_Fun_Ofun__upd_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
fun_up273046073882939271on_val: ( produc9003781588162623004on_val > option8887860577033306220on_val ) > produc9003781588162623004on_val > option8887860577033306220on_val > produc9003781588162623004on_val > option8887860577033306220on_val ).
thf(sy_c_Fun_Ofun__upd_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PosRat__Oprat,type,
fun_up322103695952382443l_prat: ( produc9003781588162623004on_val > prat ) > produc9003781588162623004on_val > prat > produc9003781588162623004on_val > prat ).
thf(sy_c_Fun_Ofun__upd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Option__Ooption_It__Mask__Oval_J,type,
fun_up5735975307950539954on_val: ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val > produc1457211279475724562t_char > option_val ).
thf(sy_c_Fun_Ofun__upd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__PosRat__Oprat,type,
fun_up829850848796697765r_prat: ( produc1457211279475724562t_char > prat ) > produc1457211279475724562t_char > prat > produc1457211279475724562t_char > prat ).
thf(sy_c_Fun_Ofun__upd_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_001t__PosRat__Oprat,type,
fun_up4040928134582614060l_prat: ( produc1317171644805857433on_val > prat ) > produc1317171644805857433on_val > prat > produc1317171644805857433on_val > prat ).
thf(sy_c_Fun_Oid_001t__Mask__Oval,type,
id_val: val > val ).
thf(sy_c_Fun_Oid_001t__PartialHeapSA__Ostate,type,
id_state: state > state ).
thf(sy_c_Fun_Oinj__on_001t__Mask__Oval_001t__Option__Ooption_It__Mask__Oval_J,type,
inj_on4074814566786472055on_val: ( val > option_val ) > set_val > $o ).
thf(sy_c_Fun_Oinj__on_001t__PartialHeapSA__Ostate_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
inj_on3577428053172332983_state: ( state > option_state ) > set_state > $o ).
thf(sy_c_Fun_Oinj__on_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
inj_on3812695684120442372r_prat: ( produc9003781588162623004on_val > produc1457211279475724562t_char > prat ) > set_Pr7649655576376376530on_val > $o ).
thf(sy_c_Fun_Oinj__on_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
inj_on7948954794846770859on_val: ( produc9003781588162623004on_val > produc9003781588162623004on_val ) > set_Pr7649655576376376530on_val > $o ).
thf(sy_c_Fun_Oinj__on_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Nat__Onat,type,
inj_on2499120878504899377ar_nat: ( produc1457211279475724562t_char > nat ) > set_Pr2507339680178222706t_char > $o ).
thf(sy_c_Fun_Oinj__on_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Option__Ooption_It__Mask__Oval_J,type,
inj_on4474484569326248358on_val: ( produc1457211279475724562t_char > option_val ) > set_Pr2507339680178222706t_char > $o ).
thf(sy_c_Fun_Othe__inv__into_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
the_in8616418995011220461on_val: set_Pr7649655576376376530on_val > ( produc9003781588162623004on_val > produc9003781588162623004on_val ) > produc9003781588162623004on_val > produc9003781588162623004on_val ).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
minus_9160195963678339755on_val: set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val ).
thf(sy_c_If_001t__Mask__Oval,type,
if_val: $o > val > val > val ).
thf(sy_c_If_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
if_opt6509584284076893604on_val: $o > option5747939881698552298on_val > option5747939881698552298on_val > option5747939881698552298on_val ).
thf(sy_c_If_001t__Option__Ooption_It__List__Olist_It__String__Ochar_J_J,type,
if_option_list_char: $o > option_list_char > option_list_char > option_list_char ).
thf(sy_c_If_001t__Option__Ooption_It__Mask__Oval_J,type,
if_option_val: $o > option_val > option_val > option_val ).
thf(sy_c_If_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
if_option_state: $o > option_state > option_state > option_state ).
thf(sy_c_If_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
if_opt2965748431298708774on_val: $o > option8887860577033306220on_val > option8887860577033306220on_val > option8887860577033306220on_val ).
thf(sy_c_If_001t__PosRat__Oprat,type,
if_prat: $o > prat > prat > prat ).
thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_J,type,
inf_in7380704097939900321r_prat: set_Pr3433046674199179443r_prat > set_Pr3433046674199179443r_prat > set_Pr3433046674199179443r_prat ).
thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Nat__Onat_J,type,
inf_inf_set_nat: set_nat > set_nat > set_nat ).
thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
inf_in1079285664774927716on_val: set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val ).
thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
inf_in3544766959038609504t_char: set_Pr2507339680178222706t_char > set_Pr2507339680178222706t_char > set_Pr2507339680178222706t_char ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Mask__Oval_J,type,
sup_sup_set_val: set_val > set_val > set_val ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
sup_su7506060154676209150on_val: set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
sup_su7899656352754981958t_char: set_Pr2507339680178222706t_char > set_Pr2507339680178222706t_char > set_Pr2507339680178222706t_char ).
thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Mask__Oval_J_J,type,
sup_su5754804325903363146ar_val: set_Pr7730668076155855478ar_val > set_Pr7730668076155855478ar_val > set_Pr7730668076155855478ar_val ).
thf(sy_c_Lattices__Big_Osemilattice__set_001t__Mask__Oval,type,
lattic1688671459694253327et_val: ( val > val > val ) > $o ).
thf(sy_c_Lattices__Big_Osemilattice__set_001t__PartialHeapSA__Ostate,type,
lattic1830746154417612460_state: ( state > state > state ) > $o ).
thf(sy_c_Lattices__Big_Osemilattice__set_OF_001t__Mask__Oval,type,
lattic7553830378228561755_F_val: ( val > val > val ) > set_val > val ).
thf(sy_c_Lattices__Big_Osemilattice__set_OF_001t__PartialHeapSA__Ostate,type,
lattic8707496982837646688_state: ( state > state > state ) > set_state > state ).
thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Mask__Oval_J,type,
append2405376958821693873ar_val: list_P375024181684815772ar_val > list_P375024181684815772ar_val > list_P375024181684815772ar_val ).
thf(sy_c_List_Odistinct_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
distin8840078896927665228r_prat: list_P6121108298706723033r_prat > $o ).
thf(sy_c_List_Odistinct_001t__Nat__Onat,type,
distinct_nat: list_nat > $o ).
thf(sy_c_List_Odistinct_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
distin602967888454099555on_val: list_P8058578141249370668on_val > $o ).
thf(sy_c_List_Ofind_001t__Mask__Oval,type,
find_val: ( val > $o ) > list_val > option_val ).
thf(sy_c_List_Ofind_001t__PartialHeapSA__Ostate,type,
find_state: ( state > $o ) > list_state > option_state ).
thf(sy_c_List_Ofind_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
find_P7418167508921316608on_val: ( produc9003781588162623004on_val > $o ) > list_P8058578141249370668on_val > option8887860577033306220on_val ).
thf(sy_c_List_Ofoldr_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Mask__Oval_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
foldr_426452288693369417on_val: ( produc4494260595660908054ar_val > ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val ) > list_P375024181684815772ar_val > ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val ).
thf(sy_c_List_Olist_OCons_001t__Mask__Oval,type,
cons_val: val > list_val > list_val ).
thf(sy_c_List_Olist_OCons_001t__PartialHeapSA__Ostate,type,
cons_state: state > list_state > list_state ).
thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
cons_P1300772314254706406on_val: produc9003781588162623004on_val > list_P8058578141249370668on_val > list_P8058578141249370668on_val ).
thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
cons_P6700496888814104776t_char: produc1457211279475724562t_char > list_P8003064839462976920t_char > list_P8003064839462976920t_char ).
thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
cons_P1869654434729225551on_val: produc1317171644805857433on_val > list_P5521618065476132895on_val > list_P5521618065476132895on_val ).
thf(sy_c_List_Olist_ONil_001t__Mask__Oval,type,
nil_val: list_val ).
thf(sy_c_List_Olist_ONil_001t__PartialHeapSA__Ostate,type,
nil_state: list_state ).
thf(sy_c_List_Olist_Omap_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
map_Pr6126389625903360171on_val: ( ( produc1457211279475724562t_char > prat ) > produc9003781588162623004on_val ) > list_P6121108298706723033r_prat > list_P8058578141249370668on_val ).
thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
map_na9203830342147005692t_char: ( nat > produc1457211279475724562t_char ) > list_nat > list_P8003064839462976920t_char ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
map_Pr7735014948560838385r_prat: ( produc9003781588162623004on_val > produc1457211279475724562t_char > prat ) > list_P8058578141249370668on_val > list_P6121108298706723033r_prat ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
map_Pr201512126527963679al_val: ( produc9003781588162623004on_val > val ) > list_P8058578141249370668on_val > list_val ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
map_Pr4168196228874954140_state: ( produc9003781588162623004on_val > state ) > list_P8058578141249370668on_val > list_state ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
map_Pr6762588844207200055on_val: ( produc9003781588162623004on_val > produc1317171644805857433on_val ) > list_P8058578141249370668on_val > list_P5521618065476132895on_val ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Nat__Onat,type,
map_Pr2525441637447625118ar_nat: ( produc1457211279475724562t_char > nat ) > list_P8003064839462976920t_char > list_nat ).
thf(sy_c_List_Olist_Omap_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
map_Pr2662348860696421617on_val: ( produc1317171644805857433on_val > produc9003781588162623004on_val ) > list_P5521618065476132895on_val > list_P8058578141249370668on_val ).
thf(sy_c_List_Olist_Oset_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
set_Pr7516010431435912040r_prat: list_P6121108298706723033r_prat > set_Pr3433046674199179443r_prat ).
thf(sy_c_List_Olist_Oset_001t__Mask__Oval,type,
set_val2: list_val > set_val ).
thf(sy_c_List_Olist_Oset_001t__Nat__Onat,type,
set_nat2: list_nat > set_nat ).
thf(sy_c_List_Olist_Oset_001t__PartialHeapSA__Ostate,type,
set_state2: list_state > set_state ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
set_Pr1015909255637879367on_val: list_P8058578141249370668on_val > set_Pr7649655576376376530on_val ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
set_Pr4422032998922688679t_char: list_P8003064839462976920t_char > set_Pr2507339680178222706t_char ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Mask__Oval_J,type,
set_Pr8419001214735528069al_val: list_P7552871840895951722al_val > set_Pr5678771902342202384al_val ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__PartialHeapSA__Ostate_J,type,
set_Pr5697038692337814348_state: list_P5536455655026101949_state > set_Pr6040071838687925911_state ).
thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
set_Pr5935206576607725998on_val: list_P5521618065476132895on_val > set_Pr4305388979797279737on_val ).
thf(sy_c_List_Onth_001t__Mask__Oval,type,
nth_val: list_val > nat > val ).
thf(sy_c_List_Onth_001t__PartialHeapSA__Ostate,type,
nth_state: list_state > nat > state ).
thf(sy_c_List_Orev_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Mask__Oval_J,type,
rev_Pr6055279906267038332ar_val: list_P375024181684815772ar_val > list_P375024181684815772ar_val ).
thf(sy_c_List_Otake_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
take_P84704344506987694on_val: nat > list_P8058578141249370668on_val > list_P8058578141249370668on_val ).
thf(sy_c_List_Ozip_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
zip_Pr897381525307642348al_val: list_P8058578141249370668on_val > list_val > list_P7552871840895951722al_val ).
thf(sy_c_List_Ozip_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
zip_Pr183230366627191183_state: list_P8058578141249370668on_val > list_state > list_P5536455655026101949_state ).
thf(sy_c_List_Ozip_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
zip_Pr909124973800381606ar_val: list_P8003064839462976920t_char > list_val > list_P375024181684815772ar_val ).
thf(sy_c_Map_Odom_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
dom_Pr4152820065153570843on_val: ( ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ) > set_Pr3433046674199179443r_prat ).
thf(sy_c_Map_Odom_001t__Mask__Oval_001t__List__Olist_It__String__Ochar_J,type,
dom_val_list_char: ( val > option_list_char ) > set_val ).
thf(sy_c_Map_Odom_001t__Mask__Oval_001t__Mask__Oval,type,
dom_val_val: ( val > option_val ) > set_val ).
thf(sy_c_Map_Odom_001t__Mask__Oval_001t__PartialHeapSA__Ostate,type,
dom_val_state: ( val > option_state ) > set_val ).
thf(sy_c_Map_Odom_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
dom_nat_list_char: ( nat > option_list_char ) > set_nat ).
thf(sy_c_Map_Odom_001t__Nat__Onat_001t__Mask__Oval,type,
dom_nat_val: ( nat > option_val ) > set_nat ).
thf(sy_c_Map_Odom_001t__Nat__Onat_001t__PartialHeapSA__Ostate,type,
dom_nat_state: ( nat > option_state ) > set_nat ).
thf(sy_c_Map_Odom_001t__Option__Ooption_It__Mask__Oval_J_001t__List__Olist_It__String__Ochar_J,type,
dom_op1123738440007651926t_char: ( option_val > option_list_char ) > set_option_val ).
thf(sy_c_Map_Odom_001t__Option__Ooption_It__Mask__Oval_J_001t__Mask__Oval,type,
dom_option_val_val: ( option_val > option_val ) > set_option_val ).
thf(sy_c_Map_Odom_001t__Option__Ooption_It__Mask__Oval_J_001t__PartialHeapSA__Ostate,type,
dom_option_val_state: ( option_val > option_state ) > set_option_val ).
thf(sy_c_Map_Odom_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__List__Olist_It__String__Ochar_J,type,
dom_op2927896937727732287t_char: ( option_state > option_list_char ) > set_option_state ).
thf(sy_c_Map_Odom_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__Mask__Oval,type,
dom_option_state_val: ( option_state > option_val ) > set_option_state ).
thf(sy_c_Map_Odom_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__PartialHeapSA__Ostate,type,
dom_op8569336450220619928_state: ( option_state > option_state ) > set_option_state ).
thf(sy_c_Map_Odom_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
dom_Pr7381289304162206737al_val: ( produc9003781588162623004on_val > option_val ) > set_Pr7649655576376376530on_val ).
thf(sy_c_Map_Odom_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
dom_Pr4448331044451638570_state: ( produc9003781588162623004on_val > option_state ) > set_Pr7649655576376376530on_val ).
thf(sy_c_Map_Odom_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
dom_Pr2742230247756046988on_val: ( produc9003781588162623004on_val > option8887860577033306220on_val ) > set_Pr7649655576376376530on_val ).
thf(sy_c_Map_Odom_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
dom_Pr8989479155164304065ar_val: ( produc1457211279475724562t_char > option_val ) > set_Pr2507339680178222706t_char ).
thf(sy_c_Map_Ograph_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
graph_1288227317702120175on_val: ( ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ) > set_Pr7649655576376376530on_val ).
thf(sy_c_Map_Ograph_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
graph_nat_list_char: ( nat > option_list_char ) > set_Pr2507339680178222706t_char ).
thf(sy_c_Map_Ograph_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
graph_6108330199704490680on_val: ( produc9003781588162623004on_val > option8887860577033306220on_val ) > set_Pr4305388979797279737on_val ).
thf(sy_c_Map_Ograph_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
graph_1733029056113894637ar_val: ( produc1457211279475724562t_char > option_val ) > set_Pr7730668076155855478ar_val ).
thf(sy_c_Map_Omap__add_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
map_ad2898753242718228216on_val: ( ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ) > ( ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ) > ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ).
thf(sy_c_Map_Omap__add_001t__Mask__Oval_001t__List__Olist_It__String__Ochar_J,type,
map_ad6513282191902725485t_char: ( val > option_list_char ) > ( val > option_list_char ) > val > option_list_char ).
thf(sy_c_Map_Omap__add_001t__Mask__Oval_001t__Mask__Oval,type,
map_add_val_val: ( val > option_val ) > ( val > option_val ) > val > option_val ).
thf(sy_c_Map_Omap__add_001t__Mask__Oval_001t__PartialHeapSA__Ostate,type,
map_add_val_state: ( val > option_state ) > ( val > option_state ) > val > option_state ).
thf(sy_c_Map_Omap__add_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
map_ad208561015412637672t_char: ( nat > option_list_char ) > ( nat > option_list_char ) > nat > option_list_char ).
thf(sy_c_Map_Omap__add_001t__Nat__Onat_001t__Mask__Oval,type,
map_add_nat_val: ( nat > option_val ) > ( nat > option_val ) > nat > option_val ).
thf(sy_c_Map_Omap__add_001t__Nat__Onat_001t__PartialHeapSA__Ostate,type,
map_add_nat_state: ( nat > option_state ) > ( nat > option_state ) > nat > option_state ).
thf(sy_c_Map_Omap__add_001t__Option__Ooption_It__Mask__Oval_J_001t__Mask__Oval,type,
map_ad2791809220819668783al_val: ( option_val > option_val ) > ( option_val > option_val ) > option_val > option_val ).
thf(sy_c_Map_Omap__add_001t__Option__Ooption_It__Mask__Oval_J_001t__PartialHeapSA__Ostate,type,
map_ad1596397661948740748_state: ( option_val > option_state ) > ( option_val > option_state ) > option_val > option_state ).
thf(sy_c_Map_Omap__add_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
map_ad5466549115852757998al_val: ( produc9003781588162623004on_val > option_val ) > ( produc9003781588162623004on_val > option_val ) > produc9003781588162623004on_val > option_val ).
thf(sy_c_Map_Omap__add_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
map_ad2629041965313307917_state: ( produc9003781588162623004on_val > option_state ) > ( produc9003781588162623004on_val > option_state ) > produc9003781588162623004on_val > option_state ).
thf(sy_c_Map_Omap__add_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
map_ad6375351378680859759on_val: ( produc9003781588162623004on_val > option8887860577033306220on_val ) > ( produc9003781588162623004on_val > option8887860577033306220on_val ) > produc9003781588162623004on_val > option8887860577033306220on_val ).
thf(sy_c_Map_Omap__add_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
map_ad2908576761495157028ar_val: ( produc1457211279475724562t_char > option_val ) > ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val ).
thf(sy_c_Map_Omap__le_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
map_le7591542393800649736on_val: ( ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ) > ( ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ) > $o ).
thf(sy_c_Map_Omap__le_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
map_le_nat_list_char: ( nat > option_list_char ) > ( nat > option_list_char ) > $o ).
thf(sy_c_Map_Omap__le_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
map_le662008219874789630al_val: ( produc9003781588162623004on_val > option_val ) > ( produc9003781588162623004on_val > option_val ) > $o ).
thf(sy_c_Map_Omap__le_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
map_le2714403320317326333_state: ( produc9003781588162623004on_val > option_state ) > ( produc9003781588162623004on_val > option_state ) > $o ).
thf(sy_c_Map_Omap__le_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
map_le1786601613863086943on_val: ( produc9003781588162623004on_val > option8887860577033306220on_val ) > ( produc9003781588162623004on_val > option8887860577033306220on_val ) > $o ).
thf(sy_c_Map_Omap__le_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
map_le3432596473071271956ar_val: ( produc1457211279475724562t_char > option_val ) > ( produc1457211279475724562t_char > option_val ) > $o ).
thf(sy_c_Map_Omap__of_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
map_of8940823041123231434on_val: list_P8058578141249370668on_val > ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ).
thf(sy_c_Map_Omap__of_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
map_of_nat_list_char: list_P8003064839462976920t_char > nat > option_list_char ).
thf(sy_c_Map_Omap__of_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
map_of5667034440649354688al_val: list_P7552871840895951722al_val > produc9003781588162623004on_val > option_val ).
thf(sy_c_Map_Omap__of_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
map_of2328580218031654075_state: list_P5536455655026101949_state > produc9003781588162623004on_val > option_state ).
thf(sy_c_Map_Omap__of_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
map_of2499293770471829533on_val: list_P5521618065476132895on_val > produc9003781588162623004on_val > option8887860577033306220on_val ).
thf(sy_c_Map_Omap__of_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
map_of6844234013878170066ar_val: list_P375024181684815772ar_val > produc1457211279475724562t_char > option_val ).
thf(sy_c_Map_Omap__upds_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
map_up8749164644216650349al_val: ( produc9003781588162623004on_val > option_val ) > list_P8058578141249370668on_val > list_val > produc9003781588162623004on_val > option_val ).
thf(sy_c_Map_Omap__upds_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
map_up1579866409222595534_state: ( produc9003781588162623004on_val > option_state ) > list_P8058578141249370668on_val > list_state > produc9003781588162623004on_val > option_state ).
thf(sy_c_Map_Omap__upds_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
map_up5062815548473444197ar_val: ( produc1457211279475724562t_char > option_val ) > list_P8003064839462976920t_char > list_val > produc1457211279475724562t_char > option_val ).
thf(sy_c_Map_Oran_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
ran_Pr878516737976613822on_val: ( ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ) > set_Pr1004501353197068112on_val ).
thf(sy_c_Map_Oran_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
ran_nat_list_char: ( nat > option_list_char ) > set_list_char ).
thf(sy_c_Map_Oran_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
ran_Pr786515303459910110ar_val: ( produc1457211279475724562t_char > option_val ) > set_val ).
thf(sy_c_Map_Orestrict__map_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
restri7594233908965391805on_val: ( ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ) > set_Pr3433046674199179443r_prat > ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val ).
thf(sy_c_Map_Orestrict__map_001t__Mask__Oval_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
restri8187230408314553963on_val: ( val > option5747939881698552298on_val ) > set_val > val > option5747939881698552298on_val ).
thf(sy_c_Map_Orestrict__map_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
restri7497266720855523683t_char: ( nat > option_list_char ) > set_nat > nat > option_list_char ).
thf(sy_c_Map_Orestrict__map_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
restri5251746167140823987al_val: ( produc9003781588162623004on_val > option_val ) > set_Pr7649655576376376530on_val > produc9003781588162623004on_val > option_val ).
thf(sy_c_Map_Orestrict__map_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
restri5336766904122854152_state: ( produc9003781588162623004on_val > option_state ) > set_Pr7649655576376376530on_val > produc9003781588162623004on_val > option_state ).
thf(sy_c_Map_Orestrict__map_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
restri2354629191430751338on_val: ( produc9003781588162623004on_val > option8887860577033306220on_val ) > set_Pr7649655576376376530on_val > produc9003781588162623004on_val > option8887860577033306220on_val ).
thf(sy_c_Mask_Oadd__acc_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
add_ac6043276672051819257t_char: ( produc1457211279475724562t_char > prat ) > produc1457211279475724562t_char > prat > produc1457211279475724562t_char > prat ).
thf(sy_c_Mask_Oadd__masks_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
add_ma5081279659257173972r_prat: ( ( produc1457211279475724562t_char > prat ) > prat ) > ( ( produc1457211279475724562t_char > prat ) > prat ) > ( produc1457211279475724562t_char > prat ) > prat ).
thf(sy_c_Mask_Oadd__masks_001t__PartialHeapSA__Ostate,type,
add_masks_state: ( state > prat ) > ( state > prat ) > state > prat ).
thf(sy_c_Mask_Oadd__masks_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
add_ma7175289307942684891on_val: ( produc9003781588162623004on_val > prat ) > ( produc9003781588162623004on_val > prat ) > produc9003781588162623004on_val > prat ).
thf(sy_c_Mask_Oadd__masks_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
add_ma6586698345353345811t_char: ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > prat ) > produc1457211279475724562t_char > prat ).
thf(sy_c_Mask_Oadd__masks_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
add_ma2842950146128053786on_val: ( produc1317171644805857433on_val > prat ) > ( produc1317171644805857433on_val > prat ) > produc1317171644805857433on_val > prat ).
thf(sy_c_Mask_Oadd__masks__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
add_ma2412268806269088278t_char: produc5803078220529002682t_char > produc5803078220529002682t_char > $o ).
thf(sy_c_Mask_Oempty__mask_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
empty_6616431780912394577r_prat: ( produc1457211279475724562t_char > prat ) > prat ).
thf(sy_c_Mask_Oempty__mask_001t__PartialHeapSA__Ostate,type,
empty_mask_state: state > prat ).
thf(sy_c_Mask_Oempty__mask_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
empty_6102255041883331742on_val: produc9003781588162623004on_val > prat ).
thf(sy_c_Mask_Oempty__mask_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
empty_3446695950879338768t_char: produc1457211279475724562t_char > prat ).
thf(sy_c_Mask_Oempty__mask_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
empty_4129289814623480215on_val: produc1317171644805857433on_val > prat ).
thf(sy_c_Mask_Oempty__mask__rel_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
empty_3412554051312619034r_prat: ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > prat ) > $o ).
thf(sy_c_Mask_Oempty__mask__rel_001t__PartialHeapSA__Ostate,type,
empty_mask_rel_state: state > state > $o ).
thf(sy_c_Mask_Oempty__mask__rel_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
empty_5847456986941130773on_val: produc9003781588162623004on_val > produc9003781588162623004on_val > $o ).
thf(sy_c_Mask_Oempty__mask__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
empty_8141283858255108185t_char: produc1457211279475724562t_char > produc1457211279475724562t_char > $o ).
thf(sy_c_Mask_Oempty__mask__rel_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
empty_1698368654852286560on_val: produc1317171644805857433on_val > produc1317171644805857433on_val > $o ).
thf(sy_c_Mask_Ofull__mask,type,
full_mask: produc1457211279475724562t_char > prat ).
thf(sy_c_Mask_Ogreater__mask_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
greate7680731506090375811t_char: ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > prat ) > $o ).
thf(sy_c_Mask_Omultiply__mask,type,
multiply_mask: prat > ( produc1457211279475724562t_char > prat ) > produc1457211279475724562t_char > prat ).
thf(sy_c_Mask_Onull_001t__Nat__Onat,type,
null_nat: nat ).
thf(sy_c_Mask_Opre__get__h_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
pre_ge1486375753531218896on_val: produc9003781588162623004on_val > produc1457211279475724562t_char > option_val ).
thf(sy_c_Mask_Opre__get__h_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
pre_ge5139353195879713175on_val: produc1317171644805857433on_val > produc9003781588162623004on_val ).
thf(sy_c_Mask_Opre__get__h__rel_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
pre_ge6140436789258014353on_val: produc9003781588162623004on_val > produc9003781588162623004on_val > $o ).
thf(sy_c_Mask_Opre__get__h__rel_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
pre_ge7436079647097740950on_val: produc1317171644805857433on_val > produc1317171644805857433on_val > $o ).
thf(sy_c_Mask_Opre__get__m_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
pre_ge8481574585653477131on_val: produc9003781588162623004on_val > produc1457211279475724562t_char > prat ).
thf(sy_c_Mask_Opre__get__m_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
pre_ge2740421702909910421t_char: produc1457211279475724562t_char > nat ).
thf(sy_c_Mask_Opre__get__m_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
pre_ge6899797224320663452on_val: produc1317171644805857433on_val > produc9003781588162623004on_val ).
thf(sy_c_Mask_Opre__get__m__rel_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
pre_ge4462515927930180886on_val: produc9003781588162623004on_val > produc9003781588162623004on_val > $o ).
thf(sy_c_Mask_Opre__get__m__rel_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
pre_ge8748858970926381898t_char: produc1457211279475724562t_char > produc1457211279475724562t_char > $o ).
thf(sy_c_Mask_Opre__get__m__rel_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
pre_ge1694281482089598673on_val: produc1317171644805857433on_val > produc1317171644805857433on_val > $o ).
thf(sy_c_Mask_Ouni__mask_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
uni_ma8757825773229499086r_prat: ( produc1457211279475724562t_char > prat ) > prat > ( produc1457211279475724562t_char > prat ) > prat ).
thf(sy_c_Mask_Ouni__mask_001t__PartialHeapSA__Ostate,type,
uni_mask_state: state > prat > state > prat ).
thf(sy_c_Mask_Ouni__mask_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
uni_ma3016027189315475553on_val: produc9003781588162623004on_val > prat > produc9003781588162623004on_val > prat ).
thf(sy_c_Mask_Ouni__mask_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
uni_ma6578582744724537101t_char: produc1457211279475724562t_char > prat > produc1457211279475724562t_char > prat ).
thf(sy_c_Mask_Ouni__mask_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
uni_ma2802115457281451284on_val: produc1317171644805857433on_val > prat > produc1317171644805857433on_val > prat ).
thf(sy_c_Mask_Ouni__mask__rel_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
uni_ma1788645471123007132t_char: produc3933091914578511633r_prat > produc3933091914578511633r_prat > $o ).
thf(sy_c_Mask_Oupdate__dm_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
update5099441844846592839t_char: ( produc1457211279475724562t_char > $o ) > ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > prat ) > produc1457211279475724562t_char > $o ).
thf(sy_c_Mask_Oupper__bounded,type,
upper_bounded: ( produc1457211279475724562t_char > prat ) > prat > $o ).
thf(sy_c_Mask_Ovalid__mask,type,
valid_mask: ( produc1457211279475724562t_char > prat ) > $o ).
thf(sy_c_Mask_Ovalid__mask__rel,type,
valid_mask_rel: ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > prat ) > $o ).
thf(sy_c_Mask_Ovalid__null,type,
valid_null: ( produc1457211279475724562t_char > prat ) > $o ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Mask__Oval_J,type,
size_size_list_val: list_val > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__PartialHeapSA__Ostate_J,type,
size_size_list_state: list_state > nat ).
thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
size_s4492361580139269312on_val: list_P8058578141249370668on_val > nat ).
thf(sy_c_Option_Obind_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
bind_P4424090778364213876on_val: option5747939881698552298on_val > ( ( produc1457211279475724562t_char > option_val ) > option5747939881698552298on_val ) > option5747939881698552298on_val ).
thf(sy_c_Option_Obind_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_001t__Mask__Oval,type,
bind_P5848121846087789735al_val: option5747939881698552298on_val > ( ( produc1457211279475724562t_char > option_val ) > option_val ) > option_val ).
thf(sy_c_Option_Obind_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_001t__PartialHeapSA__Ostate,type,
bind_P6102080752330912020_state: option5747939881698552298on_val > ( ( produc1457211279475724562t_char > option_val ) > option_state ) > option_state ).
thf(sy_c_Option_Obind_001t__List__Olist_It__String__Ochar_J_001t__List__Olist_It__String__Ochar_J,type,
bind_l7575086113700739714t_char: option_list_char > ( list_char > option_list_char ) > option_list_char ).
thf(sy_c_Option_Obind_001t__List__Olist_It__String__Ochar_J_001t__Mask__Oval,type,
bind_list_char_val: option_list_char > ( list_char > option_val ) > option_val ).
thf(sy_c_Option_Obind_001t__List__Olist_It__String__Ochar_J_001t__PartialHeapSA__Ostate,type,
bind_list_char_state: option_list_char > ( list_char > option_state ) > option_state ).
thf(sy_c_Option_Obind_001t__Mask__Oval_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
bind_v3756559123625202269on_val: option_val > ( val > option5747939881698552298on_val ) > option5747939881698552298on_val ).
thf(sy_c_Option_Obind_001t__Mask__Oval_001t__List__Olist_It__String__Ochar_J,type,
bind_val_list_char: option_val > ( val > option_list_char ) > option_list_char ).
thf(sy_c_Option_Obind_001t__Mask__Oval_001t__Mask__Oval,type,
bind_val_val: option_val > ( val > option_val ) > option_val ).
thf(sy_c_Option_Obind_001t__Mask__Oval_001t__PartialHeapSA__Ostate,type,
bind_val_state: option_val > ( val > option_state ) > option_state ).
thf(sy_c_Option_Obind_001t__PartialHeapSA__Ostate_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
bind_s7388421589535509396on_val: option_state > ( state > option5747939881698552298on_val ) > option5747939881698552298on_val ).
thf(sy_c_Option_Obind_001t__PartialHeapSA__Ostate_001t__List__Olist_It__String__Ochar_J,type,
bind_state_list_char: option_state > ( state > option_list_char ) > option_list_char ).
thf(sy_c_Option_Obind_001t__PartialHeapSA__Ostate_001t__Mask__Oval,type,
bind_state_val: option_state > ( state > option_val ) > option_val ).
thf(sy_c_Option_Obind_001t__PartialHeapSA__Ostate_001t__PartialHeapSA__Ostate,type,
bind_state_state: option_state > ( state > option_state ) > option_state ).
thf(sy_c_Option_Obind_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
bind_P8603646205577311397al_val: option8887860577033306220on_val > ( produc9003781588162623004on_val > option_val ) > option_val ).
thf(sy_c_Option_Obind_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
bind_P2178757275261240214_state: option8887860577033306220on_val > ( produc9003781588162623004on_val > option_state ) > option_state ).
thf(sy_c_Option_Obind_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
bind_P2485767298420691192on_val: option8887860577033306220on_val > ( produc9003781588162623004on_val > option8887860577033306220on_val ) > option8887860577033306220on_val ).
thf(sy_c_Option_Ocombine__options_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
combin3271118981050854363on_val: ( ( produc1457211279475724562t_char > option_val ) > ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val ) > option5747939881698552298on_val > option5747939881698552298on_val > option5747939881698552298on_val ).
thf(sy_c_Option_Ocombine__options_001t__List__Olist_It__String__Ochar_J,type,
combin4118143342443788322t_char: ( list_char > list_char > list_char ) > option_list_char > option_list_char > option_list_char ).
thf(sy_c_Option_Ocombine__options_001t__Mask__Oval,type,
combine_options_val: ( val > val > val ) > option_val > option_val > option_val ).
thf(sy_c_Option_Ocombine__options_001t__PartialHeapSA__Ostate,type,
combin3633514924185701883_state: ( state > state > state ) > option_state > option_state > option_state ).
thf(sy_c_Option_Ocombine__options_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
combin6222804963853957469on_val: ( produc9003781588162623004on_val > produc9003781588162623004on_val > produc9003781588162623004on_val ) > option8887860577033306220on_val > option8887860577033306220on_val > option8887860577033306220on_val ).
thf(sy_c_Option_Ois__none_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
is_non6205214127102033982on_val: option5747939881698552298on_val > $o ).
thf(sy_c_Option_Ois__none_001t__List__Olist_It__String__Ochar_J,type,
is_none_list_char: option_list_char > $o ).
thf(sy_c_Option_Ois__none_001t__Mask__Oval,type,
is_none_val: option_val > $o ).
thf(sy_c_Option_Ois__none_001t__PartialHeapSA__Ostate,type,
is_none_state: option_state > $o ).
thf(sy_c_Option_Ois__none_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
is_non3468859156093823296on_val: option8887860577033306220on_val > $o ).
thf(sy_c_Option_Ooption_ONone_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
none_P1334921381875262201on_val: option5747939881698552298on_val ).
thf(sy_c_Option_Ooption_ONone_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
none_P6742040017396684084r_prat: option3572569098863364761r_prat ).
thf(sy_c_Option_Ooption_ONone_001t__List__Olist_It__String__Ochar_J,type,
none_list_char: option_list_char ).
thf(sy_c_Option_Ooption_ONone_001t__Mask__Oval,type,
none_val: option_val ).
thf(sy_c_Option_Ooption_ONone_001t__Nat__Onat,type,
none_nat: option_nat ).
thf(sy_c_Option_Ooption_ONone_001t__Option__Ooption_It__Mask__Oval_J,type,
none_option_val: option_option_val ).
thf(sy_c_Option_Ooption_ONone_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
none_option_state: option_option_state ).
thf(sy_c_Option_Ooption_ONone_001t__PartialHeapSA__Ostate,type,
none_state: option_state ).
thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
none_P8728355543607141243on_val: option8887860577033306220on_val ).
thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
none_P5486107665612286067t_char: option2736423997234022232t_char ).
thf(sy_c_Option_Ooption_OSome_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
some_P7669353234731512949on_val: ( produc1457211279475724562t_char > option_val ) > option5747939881698552298on_val ).
thf(sy_c_Option_Ooption_OSome_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
some_P8530153984677361336r_prat: ( produc1457211279475724562t_char > prat ) > option3572569098863364761r_prat ).
thf(sy_c_Option_Ooption_OSome_001t__List__Olist_It__String__Ochar_J,type,
some_list_char: list_char > option_list_char ).
thf(sy_c_Option_Ooption_OSome_001t__Mask__Oval,type,
some_val: val > option_val ).
thf(sy_c_Option_Ooption_OSome_001t__Nat__Onat,type,
some_nat: nat > option_nat ).
thf(sy_c_Option_Ooption_OSome_001t__Option__Ooption_It__Mask__Oval_J,type,
some_option_val: option_val > option_option_val ).
thf(sy_c_Option_Ooption_OSome_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
some_option_state: option_state > option_option_state ).
thf(sy_c_Option_Ooption_OSome_001t__PartialHeapSA__Ostate,type,
some_state: state > option_state ).
thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
some_P2581650809551911671on_val: produc9003781588162623004on_val > option8887860577033306220on_val ).
thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
some_P6851457240968045559t_char: produc1457211279475724562t_char > option2736423997234022232t_char ).
thf(sy_c_Option_Ooption_Ocase__option_001_Eo_001t__Mask__Oval,type,
case_option_o_val: $o > ( val > $o ) > option_val > $o ).
thf(sy_c_Option_Ooption_Ocase__option_001_Eo_001t__PartialHeapSA__Ostate,type,
case_option_o_state: $o > ( state > $o ) > option_state > $o ).
thf(sy_c_Option_Ooption_Ocase__option_001t__Mask__Oval_001t__Mask__Oval,type,
case_option_val_val: val > ( val > val ) > option_val > val ).
thf(sy_c_Option_Ooption_Ocase__option_001t__Option__Ooption_It__Mask__Oval_J_001t__Mask__Oval,type,
case_o7794706883426356101al_val: option_val > ( val > option_val ) > option_val > option_val ).
thf(sy_c_Option_Ooption_Ocase__option_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__PartialHeapSA__Ostate,type,
case_o8916064052540797265_state: option_state > ( state > option_state ) > option_state > option_state ).
thf(sy_c_Option_Ooption_Ocase__option_001t__PartialHeapSA__Ostate_001t__PartialHeapSA__Ostate,type,
case_o2102410670496921089_state: state > ( state > state ) > option_state > state ).
thf(sy_c_Option_Ooption_Omap__option_001t__Mask__Oval_001t__Mask__Oval,type,
map_option_val_val: ( val > val ) > option_val > option_val ).
thf(sy_c_Option_Ooption_Omap__option_001t__Mask__Oval_001t__PartialHeapSA__Ostate,type,
map_option_val_state: ( val > state ) > option_val > option_state ).
thf(sy_c_Option_Ooption_Omap__option_001t__PartialHeapSA__Ostate_001t__Mask__Oval,type,
map_option_state_val: ( state > val ) > option_state > option_val ).
thf(sy_c_Option_Ooption_Omap__option_001t__PartialHeapSA__Ostate_001t__PartialHeapSA__Ostate,type,
map_op2726735944305651201_state: ( state > state ) > option_state > option_state ).
thf(sy_c_Option_Ooption_Omap__option_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
map_op5305211447164704579on_val: ( produc9003781588162623004on_val > produc1457211279475724562t_char > option_val ) > option8887860577033306220on_val > option5747939881698552298on_val ).
thf(sy_c_Option_Ooption_Omap__option_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
map_op457311912167326058r_prat: ( produc9003781588162623004on_val > produc1457211279475724562t_char > prat ) > option8887860577033306220on_val > option3572569098863364761r_prat ).
thf(sy_c_Option_Ooption_Omap__option_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
map_op7709461780610975941on_val: ( produc9003781588162623004on_val > produc9003781588162623004on_val ) > option8887860577033306220on_val > option8887860577033306220on_val ).
thf(sy_c_Option_Ooption_Omap__option_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__List__Olist_It__String__Ochar_J,type,
map_op1953669867509794472t_char: ( produc1457211279475724562t_char > list_char ) > option2736423997234022232t_char > option_list_char ).
thf(sy_c_Option_Ooption_Omap__option_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Nat__Onat,type,
map_op2304244586335077271ar_nat: ( produc1457211279475724562t_char > nat ) > option2736423997234022232t_char > option_nat ).
thf(sy_c_Option_Ooption_Opred__option_001t__Mask__Oval,type,
pred_option_val: ( val > $o ) > option_val > $o ).
thf(sy_c_Option_Ooption_Opred__option_001t__PartialHeapSA__Ostate,type,
pred_option_state: ( state > $o ) > option_state > $o ).
thf(sy_c_Option_Ooption_Opred__option_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
pred_o6356550725404909017on_val: ( produc9003781588162623004on_val > $o ) > option8887860577033306220on_val > $o ).
thf(sy_c_Option_Ooption_Orel__option_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
rel_op7555592896143267045on_val: ( ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > option_val ) > $o ) > option3572569098863364761r_prat > option5747939881698552298on_val > $o ).
thf(sy_c_Option_Ooption_Orel__option_001t__Mask__Oval_001t__Mask__Oval,type,
rel_option_val_val: ( val > val > $o ) > option_val > option_val > $o ).
thf(sy_c_Option_Ooption_Orel__option_001t__Mask__Oval_001t__PartialHeapSA__Ostate,type,
rel_option_val_state: ( val > state > $o ) > option_val > option_state > $o ).
thf(sy_c_Option_Ooption_Orel__option_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
rel_op2494113632589343803t_char: ( nat > list_char > $o ) > option_nat > option_list_char > $o ).
thf(sy_c_Option_Ooption_Orel__option_001t__PartialHeapSA__Ostate_001t__Mask__Oval,type,
rel_option_state_val: ( state > val > $o ) > option_state > option_val > $o ).
thf(sy_c_Option_Ooption_Orel__option_001t__PartialHeapSA__Ostate_001t__PartialHeapSA__Ostate,type,
rel_op4316599310523903102_state: ( state > state > $o ) > option_state > option_state > $o ).
thf(sy_c_Option_Ooption_Orel__option_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
rel_op346525543737320258on_val: ( produc9003781588162623004on_val > produc9003781588162623004on_val > $o ) > option8887860577033306220on_val > option8887860577033306220on_val > $o ).
thf(sy_c_Option_Ooption_Oset__option_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
set_op1770538635792728844on_val: option5747939881698552298on_val > set_Pr1004501353197068112on_val ).
thf(sy_c_Option_Ooption_Oset__option_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
set_op923924987228895969r_prat: option3572569098863364761r_prat > set_Pr3433046674199179443r_prat ).
thf(sy_c_Option_Ooption_Oset__option_001t__List__Olist_It__String__Ochar_J,type,
set_option_list_char: option_list_char > set_list_char ).
thf(sy_c_Option_Ooption_Oset__option_001t__Mask__Oval,type,
set_option_val2: option_val > set_val ).
thf(sy_c_Option_Ooption_Oset__option_001t__Nat__Onat,type,
set_option_nat: option_nat > set_nat ).
thf(sy_c_Option_Ooption_Oset__option_001t__Option__Ooption_It__Mask__Oval_J,type,
set_op911010586042427349on_val: option_option_val > set_option_val ).
thf(sy_c_Option_Ooption_Oset__option_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
set_op5162993263733338108_state: option_option_state > set_option_state ).
thf(sy_c_Option_Ooption_Oset__option_001t__PartialHeapSA__Ostate,type,
set_option_state2: option_state > set_state ).
thf(sy_c_Option_Ooption_Oset__option_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
set_op9004752959087400718on_val: option8887860577033306220on_val > set_Pr7649655576376376530on_val ).
thf(sy_c_Option_Ooption_Oset__option_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
set_op7440730737645789856t_char: option2736423997234022232t_char > set_Pr2507339680178222706t_char ).
thf(sy_c_Option_Ooption_Othe_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
the_Pr646328391962797958on_val: option5747939881698552298on_val > produc1457211279475724562t_char > option_val ).
thf(sy_c_Option_Ooption_Othe_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
the_Pr3206600365949932263r_prat: option3572569098863364761r_prat > produc1457211279475724562t_char > prat ).
thf(sy_c_Option_Ooption_Othe_001t__List__Olist_It__String__Ochar_J,type,
the_list_char: option_list_char > list_char ).
thf(sy_c_Option_Ooption_Othe_001t__Mask__Oval,type,
the_val: option_val > val ).
thf(sy_c_Option_Ooption_Othe_001t__Nat__Onat,type,
the_nat: option_nat > nat ).
thf(sy_c_Option_Ooption_Othe_001t__Option__Ooption_It__Mask__Oval_J,type,
the_option_val: option_option_val > option_val ).
thf(sy_c_Option_Ooption_Othe_001t__PartialHeapSA__Ostate,type,
the_state: option_state > state ).
thf(sy_c_Option_Ooption_Othe_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
the_Pr3639693038709580936on_val: option8887860577033306220on_val > produc9003781588162623004on_val ).
thf(sy_c_Option_Ooption_Othe_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
the_Pr4674812069856641446t_char: option2736423997234022232t_char > produc1457211279475724562t_char ).
thf(sy_c_Option_Othese_001t__Mask__Oval,type,
these_val: set_option_val > set_val ).
thf(sy_c_Option_Othese_001t__PartialHeapSA__Ostate,type,
these_state: set_option_state > set_state ).
thf(sy_c_Option_Othese_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
these_3919539662624406175on_val: set_op6240181410663953058on_val > set_Pr7649655576376376530on_val ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
bot_bo5671083314777306084on_val: set_Pr1004501353197068112on_val ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_J,type,
bot_bo3164680191535668511r_prat: set_Pr3433046674199179443r_prat ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__List__Olist_It__String__Ochar_J_J,type,
bot_bo8503570744482963627t_char: set_list_char ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Mask__Oval_J,type,
bot_bot_set_val: set_val ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
bot_bot_set_nat: set_nat ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Option__Ooption_It__Mask__Oval_J_J,type,
bot_bo5906790151302476563on_val: set_option_val ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Option__Ooption_It__PartialHeapSA__Ostate_J_J,type,
bot_bo710180891245420500_state: set_option_state ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__PartialHeapSA__Ostate_J,type,
bot_bot_set_state: set_state ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
bot_bo6722054719108133734on_val: set_Pr7649655576376376530on_val ).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
bot_bo1414094081888755934t_char: set_Pr2507339680178222706t_char ).
thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
ord_less_nat: nat > nat > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
ord_le6900622908513426738on_val: set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
ord_le6315511645215477266t_char: set_Pr2507339680178222706t_char > set_Pr2507339680178222706t_char > $o ).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_J,type,
ord_le7224449410216889241on_val: set_Pr4305388979797279737on_val > set_Pr4305388979797279737on_val > $o ).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Mask__Oval_J,type,
top_top_set_val: set_val ).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Option__Ooption_It__Mask__Oval_J_J,type,
top_to853123400021307383on_val: set_option_val ).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Option__Ooption_It__PartialHeapSA__Ostate_J_J,type,
top_to7666338855062656496_state: set_option_state ).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__PartialHeapSA__Ostate_J,type,
top_top_set_state: set_state ).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
top_to1561438921946393474on_val: set_Pr7649655576376376530on_val ).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
top_to1250346684925019074t_char: set_Pr2507339680178222706t_char ).
thf(sy_c_PartialHeapSA_Oadd__states,type,
add_states: produc9003781588162623004on_val > produc9003781588162623004on_val > produc9003781588162623004on_val ).
thf(sy_c_PartialHeapSA_Oadd__states__rel,type,
add_states_rel: produc1317171644805857433on_val > produc1317171644805857433on_val > $o ).
thf(sy_c_PartialHeapSA_Ocompatible,type,
compatible: produc9003781588162623004on_val > produc9003781588162623004on_val > $o ).
thf(sy_c_PartialHeapSA_Ocompatible__heaps,type,
compatible_heaps: ( produc1457211279475724562t_char > option_val ) > ( produc1457211279475724562t_char > option_val ) > $o ).
thf(sy_c_PartialHeapSA_Ocompatible__options_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
compat2032066794789061494on_val: option5747939881698552298on_val > option5747939881698552298on_val > $o ).
thf(sy_c_PartialHeapSA_Ocompatible__options_001t__List__Olist_It__String__Ochar_J,type,
compat7573737823326560701t_char: option_list_char > option_list_char > $o ).
thf(sy_c_PartialHeapSA_Ocompatible__options_001t__Mask__Oval,type,
compat7209469420100717861ns_val: option_val > option_val > $o ).
thf(sy_c_PartialHeapSA_Ocompatible__options_001t__PartialHeapSA__Ostate,type,
compat2278460363914054422_state: option_state > option_state > $o ).
thf(sy_c_PartialHeapSA_Ocompatible__options_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
compat6602494657299208312on_val: option8887860577033306220on_val > option8887860577033306220on_val > $o ).
thf(sy_c_PartialHeapSA_Ocompatible__options__rel_001t__Mask__Oval,type,
compat8294034345482142370el_val: produc5122021904355189735on_val > produc5122021904355189735on_val > $o ).
thf(sy_c_PartialHeapSA_Ocompatible__options__rel_001t__PartialHeapSA__Ostate,type,
compat1844074344818064729_state: produc3142500478612311029_state > produc3142500478612311029_state > $o ).
thf(sy_c_PartialHeapSA_Ocore,type,
core: state > state ).
thf(sy_c_PartialHeapSA_Oempty__heap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
empty_7512026568161686585ar_val: produc1457211279475724562t_char > option_val ).
thf(sy_c_PartialHeapSA_Oget__h,type,
get_h: state > produc1457211279475724562t_char > option_val ).
thf(sy_c_PartialHeapSA_Oget__h__rel,type,
get_h_rel: state > state > $o ).
thf(sy_c_PartialHeapSA_Oget__m,type,
get_m: state > produc1457211279475724562t_char > prat ).
thf(sy_c_PartialHeapSA_Oget__m__rel,type,
get_m_rel: state > state > $o ).
thf(sy_c_PartialHeapSA_Olarger__heap_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
larger6282481774126526705al_val: ( produc9003781588162623004on_val > option_val ) > ( produc9003781588162623004on_val > option_val ) > $o ).
thf(sy_c_PartialHeapSA_Olarger__heap_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
larger2674307862311229514_state: ( produc9003781588162623004on_val > option_state ) > ( produc9003781588162623004on_val > option_state ) > $o ).
thf(sy_c_PartialHeapSA_Olarger__heap_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval,type,
larger1532547405891354081ar_val: ( produc1457211279475724562t_char > option_val ) > ( produc1457211279475724562t_char > option_val ) > $o ).
thf(sy_c_PartialHeapSA_Oplus,type,
plus: state > state > option_state ).
thf(sy_c_PartialHeapSA_Ostable,type,
stable: state > $o ).
thf(sy_c_PartialHeapSA_Ostate_OAbs__state,type,
abs_state: produc9003781588162623004on_val > state ).
thf(sy_c_PartialHeapSA_Ostate_ORep__state,type,
rep_state: state > produc9003781588162623004on_val ).
thf(sy_c_PartialHeapSA_Ounit,type,
unit: state ).
thf(sy_c_PartialHeapSA_Ovalid__heap,type,
valid_heap: ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > option_val ) > $o ).
thf(sy_c_PartialHeapSA_Ovalid__state,type,
valid_state: produc9003781588162623004on_val > $o ).
thf(sy_c_PartialHeapSA_Ovalid__state__rel,type,
valid_state_rel: produc9003781588162623004on_val > produc9003781588162623004on_val > $o ).
thf(sy_c_PosRat_Ohalf,type,
half: prat ).
thf(sy_c_PosRat_Opadd,type,
padd: prat > prat > prat ).
thf(sy_c_PosRat_Opdiv,type,
pdiv: prat > prat > prat ).
thf(sy_c_PosRat_Opgt,type,
pgt: prat > prat > $o ).
thf(sy_c_PosRat_Opgte,type,
pgte: prat > prat > $o ).
thf(sy_c_PosRat_Opinv,type,
pinv: prat > prat ).
thf(sy_c_PosRat_Opmult,type,
pmult: prat > prat > prat ).
thf(sy_c_PosRat_Opnone,type,
pnone: prat ).
thf(sy_c_PosRat_Oppos,type,
ppos: prat > $o ).
thf(sy_c_PosRat_Opwrite,type,
pwrite: prat ).
thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
produc74620467203698198on_val: ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > option_val ) > produc9003781588162623004on_val ).
thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
produc2957999048406202538t_char: ( produc1457211279475724562t_char > prat ) > produc2489117125269924006t_char > produc5803078220529002682t_char ).
thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
produc2591414526589101846t_char: ( produc1457211279475724562t_char > prat ) > produc1457211279475724562t_char > produc2489117125269924006t_char ).
thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
produc120197956887798346t_char: nat > list_char > produc1457211279475724562t_char ).
thf(sy_c_Product__Type_OPair_001t__Option__Ooption_It__Mask__Oval_J_001t__Option__Ooption_It__Mask__Oval_J,type,
produc904852209897547607on_val: option_val > option_val > produc5122021904355189735on_val ).
thf(sy_c_Product__Type_OPair_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
produc9160152616361873709_state: option_state > option_state > produc3142500478612311029_state ).
thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
produc4958730763592889809on_val: produc9003781588162623004on_val > produc9003781588162623004on_val > produc1317171644805857433on_val ).
thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__PosRat__Oprat,type,
produc2920179824973321483r_prat: produc1457211279475724562t_char > prat > produc3933091914578511633r_prat ).
thf(sy_c_Product__Type_Oprod_Ocase__prod_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_001_Eo,type,
produc5248837549992124053_val_o: ( ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > option_val ) > $o ) > produc9003781588162623004on_val > $o ).
thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J_001_Eo,type,
produc8526122873445342073char_o: ( nat > list_char > $o ) > produc1457211279475724562t_char > $o ).
thf(sy_c_Product__Type_Oprod_Ocase__prod_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Mask__Oval_001_062_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
produc6541823961022407022on_val: ( produc1457211279475724562t_char > val > ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val ) > produc4494260595660908054ar_val > ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val ).
thf(sy_c_Product__Type_Oprod_Ofst_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
produc5239619271231976746on_val: produc9003781588162623004on_val > produc1457211279475724562t_char > prat ).
thf(sy_c_Product__Type_Oprod_Ofst_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
produc6204653154488278070t_char: produc1457211279475724562t_char > nat ).
thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Mask__Oval,type,
produc4782051922924837920al_val: produc4587312360482870618al_val > produc9003781588162623004on_val ).
thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__PartialHeapSA__Ostate,type,
produc6734235122797862491_state: produc3589956252253634615_state > produc9003781588162623004on_val ).
thf(sy_c_Product__Type_Oprod_Ofst_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
produc3129717363260770749on_val: produc1317171644805857433on_val > produc9003781588162623004on_val ).
thf(sy_c_Product__Type_Oprod_Osnd_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
produc2319605628138516840on_val: produc9003781588162623004on_val > produc1457211279475724562t_char > option_val ).
thf(sy_c_Product__Type_Oprod_Osnd_001t__Nat__Onat_001t__List__Olist_It__String__Ochar_J,type,
produc1900778367047502200t_char: produc1457211279475724562t_char > list_char ).
thf(sy_c_Product__Type_Oprod_Osnd_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
produc437328469718437375on_val: produc1317171644805857433on_val > produc9003781588162623004on_val ).
thf(sy_c_Relation_Oconversep_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_J,type,
conver7264604305941033974r_prat: ( option8887860577033306220on_val > option3572569098863364761r_prat > $o ) > option3572569098863364761r_prat > option8887860577033306220on_val > $o ).
thf(sy_c_Relation_Oconversep_001t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J_001t__Option__Ooption_It__Nat__Onat_J,type,
conver779780868667509187on_nat: ( option2736423997234022232t_char > option_nat > $o ) > option_nat > option2736423997234022232t_char > $o ).
thf(sy_c_Relation_Orelcompp_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_J_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
relcom6540676319459279872on_val: ( option3572569098863364761r_prat > option8887860577033306220on_val > $o ) > ( option8887860577033306220on_val > option5747939881698552298on_val > $o ) > option3572569098863364761r_prat > option5747939881698552298on_val > $o ).
thf(sy_c_Relation_Orelcompp_001t__Option__Ooption_It__Nat__Onat_J_001t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J_001t__Option__Ooption_It__List__Olist_It__String__Ochar_J_J,type,
relcom4704765297650120440t_char: ( option_nat > option2736423997234022232t_char > $o ) > ( option2736423997234022232t_char > option_list_char > $o ) > option_nat > option_list_char > $o ).
thf(sy_c_Set_OCollect_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
collec8455114619259388271on_val: ( ( produc1457211279475724562t_char > option_val ) > $o ) > set_Pr1004501353197068112on_val ).
thf(sy_c_Set_OCollect_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
collec7093475260167521854r_prat: ( ( produc1457211279475724562t_char > prat ) > $o ) > set_Pr3433046674199179443r_prat ).
thf(sy_c_Set_OCollect_001t__Mask__Oval,type,
collect_val: ( val > $o ) > set_val ).
thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
collect_nat: ( nat > $o ) > set_nat ).
thf(sy_c_Set_OCollect_001t__Option__Ooption_It__Mask__Oval_J,type,
collect_option_val: ( option_val > $o ) > set_option_val ).
thf(sy_c_Set_OCollect_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
collect_option_state: ( option_state > $o ) > set_option_state ).
thf(sy_c_Set_OCollect_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
collec6281439769543645121on_val: ( option8887860577033306220on_val > $o ) > set_op6240181410663953058on_val ).
thf(sy_c_Set_OCollect_001t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
collec3561702660602934339t_char: ( option2736423997234022232t_char > $o ) > set_op9137726805559506488t_char ).
thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
collec7475294502966882545on_val: ( produc9003781588162623004on_val > $o ) > set_Pr7649655576376376530on_val ).
thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
collec2458894688891239037t_char: ( produc1457211279475724562t_char > $o ) > set_Pr2507339680178222706t_char ).
thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
collec5166231387257825412on_val: ( produc1317171644805857433on_val > $o ) > set_Pr4305388979797279737on_val ).
thf(sy_c_Set_Oimage_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
image_1459058096221225002on_val: ( ( produc1457211279475724562t_char > prat ) > produc9003781588162623004on_val ) > set_Pr3433046674199179443r_prat > set_Pr7649655576376376530on_val ).
thf(sy_c_Set_Oimage_001t__Mask__Oval_001t__Option__Ooption_It__Mask__Oval_J,type,
image_val_option_val: ( val > option_val ) > set_val > set_option_val ).
thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
image_1003422490162143483t_char: ( nat > produc1457211279475724562t_char ) > set_nat > set_Pr2507339680178222706t_char ).
thf(sy_c_Set_Oimage_001t__Option__Ooption_It__Mask__Oval_J_001t__Mask__Oval,type,
image_option_val_val: ( option_val > val ) > set_option_val > set_val ).
thf(sy_c_Set_Oimage_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_001t__PartialHeapSA__Ostate,type,
image_3532137647693456075_state: ( option_state > state ) > set_option_state > set_state ).
thf(sy_c_Set_Oimage_001t__PartialHeapSA__Ostate_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
image_6076465424260689483_state: ( state > option_state ) > set_state > set_option_state ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
image_2330660378567450301on_val: ( produc9003781588162623004on_val > produc1457211279475724562t_char > option_val ) > set_Pr7649655576376376530on_val > set_Pr1004501353197068112on_val ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
image_3067683418878703216r_prat: ( produc9003781588162623004on_val > produc1457211279475724562t_char > prat ) > set_Pr7649655576376376530on_val > set_Pr3433046674199179443r_prat ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Option__Ooption_It__Mask__Oval_J,type,
image_453284115904594532on_val: ( produc9003781588162623004on_val > option_val ) > set_Pr7649655576376376530on_val > set_option_val ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
image_2102623794538073773_state: ( produc9003781588162623004on_val > option_state ) > set_Pr7649655576376376530on_val > set_option_state ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
image_4170889944715819327on_val: ( produc9003781588162623004on_val > produc9003781588162623004on_val ) > set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
image_4249794487667743926on_val: ( produc9003781588162623004on_val > produc1317171644805857433on_val ) > set_Pr7649655576376376530on_val > set_Pr4305388979797279737on_val ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__List__Olist_It__String__Ochar_J,type,
image_3034139768025083822t_char: ( produc1457211279475724562t_char > list_char ) > set_Pr2507339680178222706t_char > set_list_char ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Nat__Onat,type,
image_3548405822317538717ar_nat: ( produc1457211279475724562t_char > nat ) > set_Pr2507339680178222706t_char > set_nat ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_001t__Option__Ooption_It__Mask__Oval_J,type,
image_4269386950610408506on_val: ( produc1457211279475724562t_char > option_val ) > set_Pr2507339680178222706t_char > set_option_val ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Mask__Oval_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
image_8672218912373160061on_val: ( produc4587312360482870618al_val > produc9003781588162623004on_val ) > set_Pr5678771902342202384al_val > set_Pr7649655576376376530on_val ).
thf(sy_c_Set_Oimage_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__PartialHeapSA__Ostate_J_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
image_3733899853514731534on_val: ( produc3589956252253634615_state > produc9003781588162623004on_val ) > set_Pr6040071838687925911_state > set_Pr7649655576376376530on_val ).
thf(sy_c_Set_Oinsert_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
insert216038912599248202on_val: ( produc1457211279475724562t_char > option_val ) > set_Pr1004501353197068112on_val > set_Pr1004501353197068112on_val ).
thf(sy_c_Set_Oinsert_001t__List__Olist_It__String__Ochar_J,type,
insert_list_char: list_char > set_list_char > set_list_char ).
thf(sy_c_Set_Oinsert_001t__Mask__Oval,type,
insert_val: val > set_val > set_val ).
thf(sy_c_Set_Oinsert_001t__Option__Ooption_It__Mask__Oval_J,type,
insert_option_val: option_val > set_option_val > set_option_val ).
thf(sy_c_Set_Oinsert_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
insert_option_state: option_state > set_option_state > set_option_state ).
thf(sy_c_Set_Oinsert_001t__PartialHeapSA__Ostate,type,
insert_state: state > set_state > set_state ).
thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
insert3030518898131756108on_val: produc9003781588162623004on_val > set_Pr7649655576376376530on_val > set_Pr7649655576376376530on_val ).
thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
insert3372640069787401954t_char: produc1457211279475724562t_char > set_Pr2507339680178222706t_char > set_Pr2507339680178222706t_char ).
thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
insert7062705985672971881on_val: produc1317171644805857433on_val > set_Pr4305388979797279737on_val > set_Pr4305388979797279737on_val ).
thf(sy_c_Typedef_Otype__definition_001t__PartialHeapSA__Ostate_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
type_d7385716227342696708on_val: ( state > produc9003781588162623004on_val ) > ( produc9003781588162623004on_val > state ) > set_Pr7649655576376376530on_val > $o ).
thf(sy_c_Wellfounded_Oaccp_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
accp_P4765339447491148764r_prat: ( ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > prat ) > $o ) > ( produc1457211279475724562t_char > prat ) > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__PartialHeapSA__Ostate,type,
accp_state: ( state > state > $o ) > state > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
accp_P4405556307444930259on_val: ( produc9003781588162623004on_val > produc9003781588162623004on_val > $o ) > produc9003781588162623004on_val > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J_J,type,
accp_P224314924008452035t_char: ( produc5803078220529002682t_char > produc5803078220529002682t_char > $o ) > produc5803078220529002682t_char > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
accp_P8892882183480857371t_char: ( produc1457211279475724562t_char > produc1457211279475724562t_char > $o ) > produc1457211279475724562t_char > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Option__Ooption_It__Mask__Oval_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
accp_P4269981079083053040on_val: ( produc5122021904355189735on_val > produc5122021904355189735on_val > $o ) > produc5122021904355189735on_val > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Option__Ooption_It__PartialHeapSA__Ostate_J_Mt__Option__Ooption_It__PartialHeapSA__Ostate_J_J,type,
accp_P7183347322223220350_state: ( produc3142500478612311029_state > produc3142500478612311029_state > $o ) > produc3142500478612311029_state > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
accp_P6797916352740768290on_val: ( produc1317171644805857433on_val > produc1317171644805857433on_val > $o ) > produc1317171644805857433on_val > $o ).
thf(sy_c_Wellfounded_Oaccp_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
accp_P8956218777217113800r_prat: ( produc3933091914578511633r_prat > produc3933091914578511633r_prat > $o ) > produc3933091914578511633r_prat > $o ).
thf(sy_c_member_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J,type,
member1577473829074448177on_val: ( produc1457211279475724562t_char > option_val ) > set_Pr1004501353197068112on_val > $o ).
thf(sy_c_member_001_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J,type,
member2336342582916103932r_prat: ( produc1457211279475724562t_char > prat ) > set_Pr3433046674199179443r_prat > $o ).
thf(sy_c_member_001t__List__Olist_It__String__Ochar_J,type,
member_list_char: list_char > set_list_char > $o ).
thf(sy_c_member_001t__Mask__Oval,type,
member_val: val > set_val > $o ).
thf(sy_c_member_001t__Nat__Onat,type,
member_nat: nat > set_nat > $o ).
thf(sy_c_member_001t__Option__Ooption_It__Mask__Oval_J,type,
member_option_val: option_val > set_option_val > $o ).
thf(sy_c_member_001t__Option__Ooption_It__PartialHeapSA__Ostate_J,type,
member_option_state: option_state > set_option_state > $o ).
thf(sy_c_member_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
member4602090469187516291on_val: option8887860577033306220on_val > set_op6240181410663953058on_val > $o ).
thf(sy_c_member_001t__Option__Ooption_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_J,type,
member1900516542280067841t_char: option2736423997234022232t_char > set_op9137726805559506488t_char > $o ).
thf(sy_c_member_001t__PartialHeapSA__Ostate,type,
member_state: state > set_state > $o ).
thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J,type,
member2879030624002546611on_val: produc9003781588162623004on_val > set_Pr7649655576376376530on_val > $o ).
thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J,type,
member484235747325421115t_char: produc1457211279475724562t_char > set_Pr2507339680178222706t_char > $o ).
thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_Mt__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J,type,
member6505152944228695362on_val: produc1317171644805857433on_val > set_Pr4305388979797279737on_val > $o ).
thf(sy_v__092_060phi_062,type,
phi: state ).
thf(sy_v__092_060phi_062_H,type,
phi2: state ).
% Relevant facts (1012)
thf(fact_0__092_060open_062_092_060phi_062_A_092_060oplus_062_A_092_060phi_062_H_A_092_060noteq_062_ANone_A_092_060Longrightarrow_062_Acompatible__heaps_A_Iget__h_A_092_060phi_062_J_A_Iget__h_A_092_060phi_062_H_J_A_092_060and_062_Avalid__mask_A_Iadd__masks_A_Iget__m_A_092_060phi_062_J_A_Iget__m_A_092_060phi_062_H_J_J_092_060close_062,axiom,
( ( ( plus @ phi @ phi2 )
!= none_state )
=> ( ( compatible_heaps @ ( get_h @ phi ) @ ( get_h @ phi2 ) )
& ( valid_mask @ ( add_ma6586698345353345811t_char @ ( get_m @ phi ) @ ( get_m @ phi2 ) ) ) ) ) ).
% \<open>\<phi> \<oplus> \<phi>' \<noteq> None \<Longrightarrow> compatible_heaps (get_h \<phi>) (get_h \<phi>') \<and> valid_mask (add_masks (get_m \<phi>) (get_m \<phi>'))\<close>
thf(fact_1_upper__valid,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,C: produc1457211279475724562t_char > prat] :
( ( valid_mask @ A )
=> ( ( A
= ( add_ma6586698345353345811t_char @ B @ C ) )
=> ( ( valid_mask @ B )
& ( valid_mask @ C ) ) ) ) ).
% upper_valid
thf(fact_2_upper__valid__aux,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,C: produc1457211279475724562t_char > prat] :
( ( valid_mask @ A )
=> ( ( A
= ( add_ma6586698345353345811t_char @ B @ C ) )
=> ( valid_mask @ B ) ) ) ).
% upper_valid_aux
thf(fact_3_empty__heap__def,axiom,
( empty_7512026568161686585ar_val
= ( ^ [Hl: produc1457211279475724562t_char] : none_val ) ) ).
% empty_heap_def
thf(fact_4_add__masks__asso,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,C: produc1457211279475724562t_char > prat] :
( ( add_ma6586698345353345811t_char @ ( add_ma6586698345353345811t_char @ A @ B ) @ C )
= ( add_ma6586698345353345811t_char @ A @ ( add_ma6586698345353345811t_char @ B @ C ) ) ) ).
% add_masks_asso
thf(fact_5_add__masks__comm,axiom,
( add_ma6586698345353345811t_char
= ( ^ [A2: produc1457211279475724562t_char > prat,B2: produc1457211279475724562t_char > prat] : ( add_ma6586698345353345811t_char @ B2 @ A2 ) ) ) ).
% add_masks_comm
thf(fact_6_add__masks__cancellative,axiom,
! [B: produc1457211279475724562t_char > prat,C: produc1457211279475724562t_char > prat,D: produc1457211279475724562t_char > prat] :
( ( ( add_ma6586698345353345811t_char @ B @ C )
= ( add_ma6586698345353345811t_char @ B @ D ) )
=> ( C = D ) ) ).
% add_masks_cancellative
thf(fact_7_compatible__heaps__def,axiom,
( compatible_heaps
= ( ^ [H: produc1457211279475724562t_char > option_val,H2: produc1457211279475724562t_char > option_val] :
! [Hl: produc1457211279475724562t_char] : ( compat7209469420100717861ns_val @ ( H @ Hl ) @ ( H2 @ Hl ) ) ) ) ).
% compatible_heaps_def
thf(fact_8_compatible__options_Osimps_I3_J,axiom,
! [Uu: option8887860577033306220on_val] : ( compat6602494657299208312on_val @ Uu @ none_P8728355543607141243on_val ) ).
% compatible_options.simps(3)
thf(fact_9_compatible__options_Osimps_I3_J,axiom,
! [Uu: option_list_char] : ( compat7573737823326560701t_char @ Uu @ none_list_char ) ).
% compatible_options.simps(3)
thf(fact_10_compatible__options_Osimps_I3_J,axiom,
! [Uu: option5747939881698552298on_val] : ( compat2032066794789061494on_val @ Uu @ none_P1334921381875262201on_val ) ).
% compatible_options.simps(3)
thf(fact_11_compatible__options_Osimps_I3_J,axiom,
! [Uu: option_state] : ( compat2278460363914054422_state @ Uu @ none_state ) ).
% compatible_options.simps(3)
thf(fact_12_compatible__options_Osimps_I3_J,axiom,
! [Uu: option_val] : ( compat7209469420100717861ns_val @ Uu @ none_val ) ).
% compatible_options.simps(3)
thf(fact_13_compatible__options_Osimps_I2_J,axiom,
! [Uv: option8887860577033306220on_val] : ( compat6602494657299208312on_val @ none_P8728355543607141243on_val @ Uv ) ).
% compatible_options.simps(2)
thf(fact_14_compatible__options_Osimps_I2_J,axiom,
! [Uv: option_list_char] : ( compat7573737823326560701t_char @ none_list_char @ Uv ) ).
% compatible_options.simps(2)
thf(fact_15_compatible__options_Osimps_I2_J,axiom,
! [Uv: option5747939881698552298on_val] : ( compat2032066794789061494on_val @ none_P1334921381875262201on_val @ Uv ) ).
% compatible_options.simps(2)
thf(fact_16_compatible__options_Osimps_I2_J,axiom,
! [Uv: option_val] : ( compat7209469420100717861ns_val @ none_val @ Uv ) ).
% compatible_options.simps(2)
thf(fact_17_compatible__options_Osimps_I2_J,axiom,
! [Uv: option_state] : ( compat2278460363914054422_state @ none_state @ Uv ) ).
% compatible_options.simps(2)
thf(fact_18_larger__heap__comp,axiom,
! [A: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val,C: produc1457211279475724562t_char > option_val] :
( ( larger1532547405891354081ar_val @ A @ B )
=> ( ( compatible_heaps @ A @ C )
=> ( compatible_heaps @ B @ C ) ) ) ).
% larger_heap_comp
thf(fact_19_larger__compatible__sum__heaps,axiom,
! [A: produc1457211279475724562t_char > option_val,X: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val,Y: produc1457211279475724562t_char > option_val] :
( ( larger1532547405891354081ar_val @ A @ X )
=> ( ( larger1532547405891354081ar_val @ B @ Y )
=> ( ( compatible_heaps @ A @ B )
=> ( compatible_heaps @ X @ Y ) ) ) ) ).
% larger_compatible_sum_heaps
thf(fact_20_larger__heap__trans,axiom,
! [A: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val,C: produc1457211279475724562t_char > option_val] :
( ( larger1532547405891354081ar_val @ A @ B )
=> ( ( larger1532547405891354081ar_val @ B @ C )
=> ( larger1532547405891354081ar_val @ A @ C ) ) ) ).
% larger_heap_trans
thf(fact_21_larger__heap__refl,axiom,
! [H3: produc1457211279475724562t_char > option_val] : ( larger1532547405891354081ar_val @ H3 @ H3 ) ).
% larger_heap_refl
thf(fact_22_larger__heap__anti,axiom,
! [A: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val] :
( ( larger1532547405891354081ar_val @ A @ B )
=> ( ( larger1532547405891354081ar_val @ B @ A )
=> ( A = B ) ) ) ).
% larger_heap_anti
thf(fact_23_valid__mask__full__mask,axiom,
valid_mask @ full_mask ).
% valid_mask_full_mask
thf(fact_24_add__masks__equiv__valid__null,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat] :
( ( valid_null @ ( add_ma6586698345353345811t_char @ A @ B ) )
= ( ( valid_null @ A )
& ( valid_null @ B ) ) ) ).
% add_masks_equiv_valid_null
thf(fact_25_PartialHeapSA_Ostable__def,axiom,
( stable
= ( ^ [Phi: state] :
! [Hl: produc1457211279475724562t_char] :
( ( ppos @ ( get_m @ Phi @ Hl ) )
= ( ( get_h @ Phi @ Hl )
!= none_val ) ) ) ) ).
% PartialHeapSA.stable_def
thf(fact_26_larger__heaps__sum__ineq,axiom,
! [A3: produc1457211279475724562t_char > option_val,A: produc1457211279475724562t_char > option_val,B3: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val] :
( ( larger1532547405891354081ar_val @ A3 @ A )
=> ( ( larger1532547405891354081ar_val @ B3 @ B )
=> ( ( compatible_heaps @ A3 @ B3 )
=> ( larger1532547405891354081ar_val @ ( map_ad2908576761495157028ar_val @ A3 @ B3 ) @ ( map_ad2908576761495157028ar_val @ A @ B ) ) ) ) ) ).
% larger_heaps_sum_ineq
thf(fact_27_minus__empty,axiom,
! [Pi: ( produc1457211279475724562t_char > prat ) > prat] :
( Pi
= ( add_ma5081279659257173972r_prat @ Pi @ empty_6616431780912394577r_prat ) ) ).
% minus_empty
thf(fact_28_minus__empty,axiom,
! [Pi: state > prat] :
( Pi
= ( add_masks_state @ Pi @ empty_mask_state ) ) ).
% minus_empty
thf(fact_29_minus__empty,axiom,
! [Pi: produc9003781588162623004on_val > prat] :
( Pi
= ( add_ma7175289307942684891on_val @ Pi @ empty_6102255041883331742on_val ) ) ).
% minus_empty
thf(fact_30_minus__empty,axiom,
! [Pi: produc1317171644805857433on_val > prat] :
( Pi
= ( add_ma2842950146128053786on_val @ Pi @ empty_4129289814623480215on_val ) ) ).
% minus_empty
thf(fact_31_minus__empty,axiom,
! [Pi: produc1457211279475724562t_char > prat] :
( Pi
= ( add_ma6586698345353345811t_char @ Pi @ empty_3446695950879338768t_char ) ) ).
% minus_empty
thf(fact_32_combine__options__simps_I1_J,axiom,
! [F: produc9003781588162623004on_val > produc9003781588162623004on_val > produc9003781588162623004on_val,Y: option8887860577033306220on_val] :
( ( combin6222804963853957469on_val @ F @ none_P8728355543607141243on_val @ Y )
= Y ) ).
% combine_options_simps(1)
thf(fact_33_combine__options__simps_I1_J,axiom,
! [F: list_char > list_char > list_char,Y: option_list_char] :
( ( combin4118143342443788322t_char @ F @ none_list_char @ Y )
= Y ) ).
% combine_options_simps(1)
thf(fact_34_combine__options__simps_I1_J,axiom,
! [F: ( produc1457211279475724562t_char > option_val ) > ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val,Y: option5747939881698552298on_val] :
( ( combin3271118981050854363on_val @ F @ none_P1334921381875262201on_val @ Y )
= Y ) ).
% combine_options_simps(1)
thf(fact_35_combine__options__simps_I1_J,axiom,
! [F: state > state > state,Y: option_state] :
( ( combin3633514924185701883_state @ F @ none_state @ Y )
= Y ) ).
% combine_options_simps(1)
thf(fact_36_combine__options__simps_I1_J,axiom,
! [F: val > val > val,Y: option_val] :
( ( combine_options_val @ F @ none_val @ Y )
= Y ) ).
% combine_options_simps(1)
thf(fact_37_combine__options__simps_I2_J,axiom,
! [F: produc9003781588162623004on_val > produc9003781588162623004on_val > produc9003781588162623004on_val,X: option8887860577033306220on_val] :
( ( combin6222804963853957469on_val @ F @ X @ none_P8728355543607141243on_val )
= X ) ).
% combine_options_simps(2)
thf(fact_38_combine__options__simps_I2_J,axiom,
! [F: list_char > list_char > list_char,X: option_list_char] :
( ( combin4118143342443788322t_char @ F @ X @ none_list_char )
= X ) ).
% combine_options_simps(2)
thf(fact_39_combine__options__simps_I2_J,axiom,
! [F: ( produc1457211279475724562t_char > option_val ) > ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val,X: option5747939881698552298on_val] :
( ( combin3271118981050854363on_val @ F @ X @ none_P1334921381875262201on_val )
= X ) ).
% combine_options_simps(2)
thf(fact_40_combine__options__simps_I2_J,axiom,
! [F: state > state > state,X: option_state] :
( ( combin3633514924185701883_state @ F @ X @ none_state )
= X ) ).
% combine_options_simps(2)
thf(fact_41_combine__options__simps_I2_J,axiom,
! [F: val > val > val,X: option_val] :
( ( combine_options_val @ F @ X @ none_val )
= X ) ).
% combine_options_simps(2)
thf(fact_42_compatible__options_Oelims_I1_J,axiom,
! [X: option8887860577033306220on_val,Xa: option8887860577033306220on_val,Y: $o] :
( ( ( compat6602494657299208312on_val @ X @ Xa )
= Y )
=> ( ! [A4: produc9003781588162623004on_val] :
( ( X
= ( some_P2581650809551911671on_val @ A4 ) )
=> ! [B4: produc9003781588162623004on_val] :
( ( Xa
= ( some_P2581650809551911671on_val @ B4 ) )
=> ( Y
= ( A4 != B4 ) ) ) )
=> ( ( ( X = none_P8728355543607141243on_val )
=> ~ Y )
=> ~ ( ( Xa = none_P8728355543607141243on_val )
=> ~ Y ) ) ) ) ).
% compatible_options.elims(1)
thf(fact_43_compatible__options_Oelims_I1_J,axiom,
! [X: option_list_char,Xa: option_list_char,Y: $o] :
( ( ( compat7573737823326560701t_char @ X @ Xa )
= Y )
=> ( ! [A4: list_char] :
( ( X
= ( some_list_char @ A4 ) )
=> ! [B4: list_char] :
( ( Xa
= ( some_list_char @ B4 ) )
=> ( Y
= ( A4 != B4 ) ) ) )
=> ( ( ( X = none_list_char )
=> ~ Y )
=> ~ ( ( Xa = none_list_char )
=> ~ Y ) ) ) ) ).
% compatible_options.elims(1)
thf(fact_44_compatible__options_Oelims_I1_J,axiom,
! [X: option5747939881698552298on_val,Xa: option5747939881698552298on_val,Y: $o] :
( ( ( compat2032066794789061494on_val @ X @ Xa )
= Y )
=> ( ! [A4: produc1457211279475724562t_char > option_val] :
( ( X
= ( some_P7669353234731512949on_val @ A4 ) )
=> ! [B4: produc1457211279475724562t_char > option_val] :
( ( Xa
= ( some_P7669353234731512949on_val @ B4 ) )
=> ( Y
= ( A4 != B4 ) ) ) )
=> ( ( ( X = none_P1334921381875262201on_val )
=> ~ Y )
=> ~ ( ( Xa = none_P1334921381875262201on_val )
=> ~ Y ) ) ) ) ).
% compatible_options.elims(1)
thf(fact_45_compatible__options_Oelims_I1_J,axiom,
! [X: option_val,Xa: option_val,Y: $o] :
( ( ( compat7209469420100717861ns_val @ X @ Xa )
= Y )
=> ( ! [A4: val] :
( ( X
= ( some_val @ A4 ) )
=> ! [B4: val] :
( ( Xa
= ( some_val @ B4 ) )
=> ( Y
= ( A4 != B4 ) ) ) )
=> ( ( ( X = none_val )
=> ~ Y )
=> ~ ( ( Xa = none_val )
=> ~ Y ) ) ) ) ).
% compatible_options.elims(1)
thf(fact_46_compatible__options_Oelims_I1_J,axiom,
! [X: option_state,Xa: option_state,Y: $o] :
( ( ( compat2278460363914054422_state @ X @ Xa )
= Y )
=> ( ! [A4: state] :
( ( X
= ( some_state @ A4 ) )
=> ! [B4: state] :
( ( Xa
= ( some_state @ B4 ) )
=> ( Y
= ( A4 != B4 ) ) ) )
=> ( ( ( X = none_state )
=> ~ Y )
=> ~ ( ( Xa = none_state )
=> ~ Y ) ) ) ) ).
% compatible_options.elims(1)
thf(fact_47_compatible__options_Oelims_I2_J,axiom,
! [X: option8887860577033306220on_val,Xa: option8887860577033306220on_val] :
( ( compat6602494657299208312on_val @ X @ Xa )
=> ( ! [A4: produc9003781588162623004on_val] :
( ( X
= ( some_P2581650809551911671on_val @ A4 ) )
=> ! [B4: produc9003781588162623004on_val] :
( ( Xa
= ( some_P2581650809551911671on_val @ B4 ) )
=> ( A4 != B4 ) ) )
=> ( ( X != none_P8728355543607141243on_val )
=> ( Xa = none_P8728355543607141243on_val ) ) ) ) ).
% compatible_options.elims(2)
thf(fact_48_compatible__options_Oelims_I2_J,axiom,
! [X: option_list_char,Xa: option_list_char] :
( ( compat7573737823326560701t_char @ X @ Xa )
=> ( ! [A4: list_char] :
( ( X
= ( some_list_char @ A4 ) )
=> ! [B4: list_char] :
( ( Xa
= ( some_list_char @ B4 ) )
=> ( A4 != B4 ) ) )
=> ( ( X != none_list_char )
=> ( Xa = none_list_char ) ) ) ) ).
% compatible_options.elims(2)
thf(fact_49_compatible__options_Oelims_I2_J,axiom,
! [X: option5747939881698552298on_val,Xa: option5747939881698552298on_val] :
( ( compat2032066794789061494on_val @ X @ Xa )
=> ( ! [A4: produc1457211279475724562t_char > option_val] :
( ( X
= ( some_P7669353234731512949on_val @ A4 ) )
=> ! [B4: produc1457211279475724562t_char > option_val] :
( ( Xa
= ( some_P7669353234731512949on_val @ B4 ) )
=> ( A4 != B4 ) ) )
=> ( ( X != none_P1334921381875262201on_val )
=> ( Xa = none_P1334921381875262201on_val ) ) ) ) ).
% compatible_options.elims(2)
thf(fact_50_compatible__options_Oelims_I2_J,axiom,
! [X: option_val,Xa: option_val] :
( ( compat7209469420100717861ns_val @ X @ Xa )
=> ( ! [A4: val] :
( ( X
= ( some_val @ A4 ) )
=> ! [B4: val] :
( ( Xa
= ( some_val @ B4 ) )
=> ( A4 != B4 ) ) )
=> ( ( X != none_val )
=> ( Xa = none_val ) ) ) ) ).
% compatible_options.elims(2)
thf(fact_51_compatible__options_Oelims_I2_J,axiom,
! [X: option_state,Xa: option_state] :
( ( compat2278460363914054422_state @ X @ Xa )
=> ( ! [A4: state] :
( ( X
= ( some_state @ A4 ) )
=> ! [B4: state] :
( ( Xa
= ( some_state @ B4 ) )
=> ( A4 != B4 ) ) )
=> ( ( X != none_state )
=> ( Xa = none_state ) ) ) ) ).
% compatible_options.elims(2)
thf(fact_52_option_Oinject,axiom,
! [X2: produc9003781588162623004on_val,Y2: produc9003781588162623004on_val] :
( ( ( some_P2581650809551911671on_val @ X2 )
= ( some_P2581650809551911671on_val @ Y2 ) )
= ( X2 = Y2 ) ) ).
% option.inject
thf(fact_53_option_Oinject,axiom,
! [X2: list_char,Y2: list_char] :
( ( ( some_list_char @ X2 )
= ( some_list_char @ Y2 ) )
= ( X2 = Y2 ) ) ).
% option.inject
thf(fact_54_option_Oinject,axiom,
! [X2: produc1457211279475724562t_char > option_val,Y2: produc1457211279475724562t_char > option_val] :
( ( ( some_P7669353234731512949on_val @ X2 )
= ( some_P7669353234731512949on_val @ Y2 ) )
= ( X2 = Y2 ) ) ).
% option.inject
thf(fact_55_option_Oinject,axiom,
! [X2: val,Y2: val] :
( ( ( some_val @ X2 )
= ( some_val @ Y2 ) )
= ( X2 = Y2 ) ) ).
% option.inject
thf(fact_56_option_Oinject,axiom,
! [X2: state,Y2: state] :
( ( ( some_state @ X2 )
= ( some_state @ Y2 ) )
= ( X2 = Y2 ) ) ).
% option.inject
thf(fact_57_not__None__eq,axiom,
! [X: option8887860577033306220on_val] :
( ( X != none_P8728355543607141243on_val )
= ( ? [Y3: produc9003781588162623004on_val] :
( X
= ( some_P2581650809551911671on_val @ Y3 ) ) ) ) ).
% not_None_eq
thf(fact_58_not__None__eq,axiom,
! [X: option_list_char] :
( ( X != none_list_char )
= ( ? [Y3: list_char] :
( X
= ( some_list_char @ Y3 ) ) ) ) ).
% not_None_eq
thf(fact_59_not__None__eq,axiom,
! [X: option5747939881698552298on_val] :
( ( X != none_P1334921381875262201on_val )
= ( ? [Y3: produc1457211279475724562t_char > option_val] :
( X
= ( some_P7669353234731512949on_val @ Y3 ) ) ) ) ).
% not_None_eq
thf(fact_60_not__None__eq,axiom,
! [X: option_val] :
( ( X != none_val )
= ( ? [Y3: val] :
( X
= ( some_val @ Y3 ) ) ) ) ).
% not_None_eq
thf(fact_61_not__None__eq,axiom,
! [X: option_state] :
( ( X != none_state )
= ( ? [Y3: state] :
( X
= ( some_state @ Y3 ) ) ) ) ).
% not_None_eq
thf(fact_62_not__Some__eq,axiom,
! [X: option8887860577033306220on_val] :
( ( ! [Y3: produc9003781588162623004on_val] :
( X
!= ( some_P2581650809551911671on_val @ Y3 ) ) )
= ( X = none_P8728355543607141243on_val ) ) ).
% not_Some_eq
thf(fact_63_not__Some__eq,axiom,
! [X: option_list_char] :
( ( ! [Y3: list_char] :
( X
!= ( some_list_char @ Y3 ) ) )
= ( X = none_list_char ) ) ).
% not_Some_eq
thf(fact_64_not__Some__eq,axiom,
! [X: option5747939881698552298on_val] :
( ( ! [Y3: produc1457211279475724562t_char > option_val] :
( X
!= ( some_P7669353234731512949on_val @ Y3 ) ) )
= ( X = none_P1334921381875262201on_val ) ) ).
% not_Some_eq
thf(fact_65_not__Some__eq,axiom,
! [X: option_val] :
( ( ! [Y3: val] :
( X
!= ( some_val @ Y3 ) ) )
= ( X = none_val ) ) ).
% not_Some_eq
thf(fact_66_not__Some__eq,axiom,
! [X: option_state] :
( ( ! [Y3: state] :
( X
!= ( some_state @ Y3 ) ) )
= ( X = none_state ) ) ).
% not_Some_eq
thf(fact_67_combine__options__simps_I3_J,axiom,
! [F: produc9003781588162623004on_val > produc9003781588162623004on_val > produc9003781588162623004on_val,A: produc9003781588162623004on_val,B: produc9003781588162623004on_val] :
( ( combin6222804963853957469on_val @ F @ ( some_P2581650809551911671on_val @ A ) @ ( some_P2581650809551911671on_val @ B ) )
= ( some_P2581650809551911671on_val @ ( F @ A @ B ) ) ) ).
% combine_options_simps(3)
thf(fact_68_combine__options__simps_I3_J,axiom,
! [F: list_char > list_char > list_char,A: list_char,B: list_char] :
( ( combin4118143342443788322t_char @ F @ ( some_list_char @ A ) @ ( some_list_char @ B ) )
= ( some_list_char @ ( F @ A @ B ) ) ) ).
% combine_options_simps(3)
thf(fact_69_combine__options__simps_I3_J,axiom,
! [F: ( produc1457211279475724562t_char > option_val ) > ( produc1457211279475724562t_char > option_val ) > produc1457211279475724562t_char > option_val,A: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val] :
( ( combin3271118981050854363on_val @ F @ ( some_P7669353234731512949on_val @ A ) @ ( some_P7669353234731512949on_val @ B ) )
= ( some_P7669353234731512949on_val @ ( F @ A @ B ) ) ) ).
% combine_options_simps(3)
thf(fact_70_combine__options__simps_I3_J,axiom,
! [F: val > val > val,A: val,B: val] :
( ( combine_options_val @ F @ ( some_val @ A ) @ ( some_val @ B ) )
= ( some_val @ ( F @ A @ B ) ) ) ).
% combine_options_simps(3)
thf(fact_71_combine__options__simps_I3_J,axiom,
! [F: state > state > state,A: state,B: state] :
( ( combin3633514924185701883_state @ F @ ( some_state @ A ) @ ( some_state @ B ) )
= ( some_state @ ( F @ A @ B ) ) ) ).
% combine_options_simps(3)
thf(fact_72_combine__options__assoc,axiom,
! [F: val > val > val,X: option_val,Y: option_val,Z: option_val] :
( ! [X3: val,Y4: val,Z2: val] :
( ( F @ ( F @ X3 @ Y4 ) @ Z2 )
= ( F @ X3 @ ( F @ Y4 @ Z2 ) ) )
=> ( ( combine_options_val @ F @ ( combine_options_val @ F @ X @ Y ) @ Z )
= ( combine_options_val @ F @ X @ ( combine_options_val @ F @ Y @ Z ) ) ) ) ).
% combine_options_assoc
thf(fact_73_combine__options__assoc,axiom,
! [F: state > state > state,X: option_state,Y: option_state,Z: option_state] :
( ! [X3: state,Y4: state,Z2: state] :
( ( F @ ( F @ X3 @ Y4 ) @ Z2 )
= ( F @ X3 @ ( F @ Y4 @ Z2 ) ) )
=> ( ( combin3633514924185701883_state @ F @ ( combin3633514924185701883_state @ F @ X @ Y ) @ Z )
= ( combin3633514924185701883_state @ F @ X @ ( combin3633514924185701883_state @ F @ Y @ Z ) ) ) ) ).
% combine_options_assoc
thf(fact_74_combine__options__commute,axiom,
! [F: val > val > val,X: option_val,Y: option_val] :
( ! [X3: val,Y4: val] :
( ( F @ X3 @ Y4 )
= ( F @ Y4 @ X3 ) )
=> ( ( combine_options_val @ F @ X @ Y )
= ( combine_options_val @ F @ Y @ X ) ) ) ).
% combine_options_commute
thf(fact_75_combine__options__commute,axiom,
! [F: state > state > state,X: option_state,Y: option_state] :
( ! [X3: state,Y4: state] :
( ( F @ X3 @ Y4 )
= ( F @ Y4 @ X3 ) )
=> ( ( combin3633514924185701883_state @ F @ X @ Y )
= ( combin3633514924185701883_state @ F @ Y @ X ) ) ) ).
% combine_options_commute
thf(fact_76_combine__options__left__commute,axiom,
! [F: val > val > val,Y: option_val,X: option_val,Z: option_val] :
( ! [X3: val,Y4: val] :
( ( F @ X3 @ Y4 )
= ( F @ Y4 @ X3 ) )
=> ( ! [X3: val,Y4: val,Z2: val] :
( ( F @ ( F @ X3 @ Y4 ) @ Z2 )
= ( F @ X3 @ ( F @ Y4 @ Z2 ) ) )
=> ( ( combine_options_val @ F @ Y @ ( combine_options_val @ F @ X @ Z ) )
= ( combine_options_val @ F @ X @ ( combine_options_val @ F @ Y @ Z ) ) ) ) ) ).
% combine_options_left_commute
thf(fact_77_combine__options__left__commute,axiom,
! [F: state > state > state,Y: option_state,X: option_state,Z: option_state] :
( ! [X3: state,Y4: state] :
( ( F @ X3 @ Y4 )
= ( F @ Y4 @ X3 ) )
=> ( ! [X3: state,Y4: state,Z2: state] :
( ( F @ ( F @ X3 @ Y4 ) @ Z2 )
= ( F @ X3 @ ( F @ Y4 @ Z2 ) ) )
=> ( ( combin3633514924185701883_state @ F @ Y @ ( combin3633514924185701883_state @ F @ X @ Z ) )
= ( combin3633514924185701883_state @ F @ X @ ( combin3633514924185701883_state @ F @ Y @ Z ) ) ) ) ) ).
% combine_options_left_commute
thf(fact_78_option_Odistinct_I1_J,axiom,
! [X2: produc9003781588162623004on_val] :
( none_P8728355543607141243on_val
!= ( some_P2581650809551911671on_val @ X2 ) ) ).
% option.distinct(1)
thf(fact_79_option_Odistinct_I1_J,axiom,
! [X2: list_char] :
( none_list_char
!= ( some_list_char @ X2 ) ) ).
% option.distinct(1)
thf(fact_80_option_Odistinct_I1_J,axiom,
! [X2: produc1457211279475724562t_char > option_val] :
( none_P1334921381875262201on_val
!= ( some_P7669353234731512949on_val @ X2 ) ) ).
% option.distinct(1)
thf(fact_81_option_Odistinct_I1_J,axiom,
! [X2: val] :
( none_val
!= ( some_val @ X2 ) ) ).
% option.distinct(1)
thf(fact_82_option_Odistinct_I1_J,axiom,
! [X2: state] :
( none_state
!= ( some_state @ X2 ) ) ).
% option.distinct(1)
thf(fact_83_option_OdiscI,axiom,
! [Option: option8887860577033306220on_val,X2: produc9003781588162623004on_val] :
( ( Option
= ( some_P2581650809551911671on_val @ X2 ) )
=> ( Option != none_P8728355543607141243on_val ) ) ).
% option.discI
thf(fact_84_option_OdiscI,axiom,
! [Option: option_list_char,X2: list_char] :
( ( Option
= ( some_list_char @ X2 ) )
=> ( Option != none_list_char ) ) ).
% option.discI
thf(fact_85_option_OdiscI,axiom,
! [Option: option5747939881698552298on_val,X2: produc1457211279475724562t_char > option_val] :
( ( Option
= ( some_P7669353234731512949on_val @ X2 ) )
=> ( Option != none_P1334921381875262201on_val ) ) ).
% option.discI
thf(fact_86_option_OdiscI,axiom,
! [Option: option_val,X2: val] :
( ( Option
= ( some_val @ X2 ) )
=> ( Option != none_val ) ) ).
% option.discI
thf(fact_87_option_OdiscI,axiom,
! [Option: option_state,X2: state] :
( ( Option
= ( some_state @ X2 ) )
=> ( Option != none_state ) ) ).
% option.discI
thf(fact_88_option_Oexhaust,axiom,
! [Y: option8887860577033306220on_val] :
( ( Y != none_P8728355543607141243on_val )
=> ~ ! [X22: produc9003781588162623004on_val] :
( Y
!= ( some_P2581650809551911671on_val @ X22 ) ) ) ).
% option.exhaust
thf(fact_89_option_Oexhaust,axiom,
! [Y: option_list_char] :
( ( Y != none_list_char )
=> ~ ! [X22: list_char] :
( Y
!= ( some_list_char @ X22 ) ) ) ).
% option.exhaust
thf(fact_90_option_Oexhaust,axiom,
! [Y: option5747939881698552298on_val] :
( ( Y != none_P1334921381875262201on_val )
=> ~ ! [X22: produc1457211279475724562t_char > option_val] :
( Y
!= ( some_P7669353234731512949on_val @ X22 ) ) ) ).
% option.exhaust
thf(fact_91_option_Oexhaust,axiom,
! [Y: option_val] :
( ( Y != none_val )
=> ~ ! [X22: val] :
( Y
!= ( some_val @ X22 ) ) ) ).
% option.exhaust
thf(fact_92_option_Oexhaust,axiom,
! [Y: option_state] :
( ( Y != none_state )
=> ~ ! [X22: state] :
( Y
!= ( some_state @ X22 ) ) ) ).
% option.exhaust
thf(fact_93_mem__Collect__eq,axiom,
! [A: val,P: val > $o] :
( ( member_val @ A @ ( collect_val @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_94_mem__Collect__eq,axiom,
! [A: nat,P: nat > $o] :
( ( member_nat @ A @ ( collect_nat @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_95_mem__Collect__eq,axiom,
! [A: produc1457211279475724562t_char > option_val,P: ( produc1457211279475724562t_char > option_val ) > $o] :
( ( member1577473829074448177on_val @ A @ ( collec8455114619259388271on_val @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_96_mem__Collect__eq,axiom,
! [A: produc1457211279475724562t_char > prat,P: ( produc1457211279475724562t_char > prat ) > $o] :
( ( member2336342582916103932r_prat @ A @ ( collec7093475260167521854r_prat @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_97_mem__Collect__eq,axiom,
! [A: produc1457211279475724562t_char,P: produc1457211279475724562t_char > $o] :
( ( member484235747325421115t_char @ A @ ( collec2458894688891239037t_char @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_98_mem__Collect__eq,axiom,
! [A: option_state,P: option_state > $o] :
( ( member_option_state @ A @ ( collect_option_state @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_99_mem__Collect__eq,axiom,
! [A: option2736423997234022232t_char,P: option2736423997234022232t_char > $o] :
( ( member1900516542280067841t_char @ A @ ( collec3561702660602934339t_char @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_100_mem__Collect__eq,axiom,
! [A: option8887860577033306220on_val,P: option8887860577033306220on_val > $o] :
( ( member4602090469187516291on_val @ A @ ( collec6281439769543645121on_val @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_101_mem__Collect__eq,axiom,
! [A: option_val,P: option_val > $o] :
( ( member_option_val @ A @ ( collect_option_val @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_102_mem__Collect__eq,axiom,
! [A: produc9003781588162623004on_val,P: produc9003781588162623004on_val > $o] :
( ( member2879030624002546611on_val @ A @ ( collec7475294502966882545on_val @ P ) )
= ( P @ A ) ) ).
% mem_Collect_eq
thf(fact_103_Collect__mem__eq,axiom,
! [A5: set_val] :
( ( collect_val
@ ^ [X4: val] : ( member_val @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_104_Collect__mem__eq,axiom,
! [A5: set_nat] :
( ( collect_nat
@ ^ [X4: nat] : ( member_nat @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_105_Collect__mem__eq,axiom,
! [A5: set_Pr1004501353197068112on_val] :
( ( collec8455114619259388271on_val
@ ^ [X4: produc1457211279475724562t_char > option_val] : ( member1577473829074448177on_val @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_106_Collect__mem__eq,axiom,
! [A5: set_Pr3433046674199179443r_prat] :
( ( collec7093475260167521854r_prat
@ ^ [X4: produc1457211279475724562t_char > prat] : ( member2336342582916103932r_prat @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_107_Collect__mem__eq,axiom,
! [A5: set_Pr2507339680178222706t_char] :
( ( collec2458894688891239037t_char
@ ^ [X4: produc1457211279475724562t_char] : ( member484235747325421115t_char @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_108_Collect__mem__eq,axiom,
! [A5: set_option_state] :
( ( collect_option_state
@ ^ [X4: option_state] : ( member_option_state @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_109_Collect__mem__eq,axiom,
! [A5: set_op9137726805559506488t_char] :
( ( collec3561702660602934339t_char
@ ^ [X4: option2736423997234022232t_char] : ( member1900516542280067841t_char @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_110_Collect__mem__eq,axiom,
! [A5: set_op6240181410663953058on_val] :
( ( collec6281439769543645121on_val
@ ^ [X4: option8887860577033306220on_val] : ( member4602090469187516291on_val @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_111_Collect__mem__eq,axiom,
! [A5: set_option_val] :
( ( collect_option_val
@ ^ [X4: option_val] : ( member_option_val @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_112_Collect__mem__eq,axiom,
! [A5: set_Pr7649655576376376530on_val] :
( ( collec7475294502966882545on_val
@ ^ [X4: produc9003781588162623004on_val] : ( member2879030624002546611on_val @ X4 @ A5 ) )
= A5 ) ).
% Collect_mem_eq
thf(fact_113_Collect__cong,axiom,
! [P: produc1457211279475724562t_char > $o,Q: produc1457211279475724562t_char > $o] :
( ! [X3: produc1457211279475724562t_char] :
( ( P @ X3 )
= ( Q @ X3 ) )
=> ( ( collec2458894688891239037t_char @ P )
= ( collec2458894688891239037t_char @ Q ) ) ) ).
% Collect_cong
thf(fact_114_Collect__cong,axiom,
! [P: option_state > $o,Q: option_state > $o] :
( ! [X3: option_state] :
( ( P @ X3 )
= ( Q @ X3 ) )
=> ( ( collect_option_state @ P )
= ( collect_option_state @ Q ) ) ) ).
% Collect_cong
thf(fact_115_Collect__cong,axiom,
! [P: option2736423997234022232t_char > $o,Q: option2736423997234022232t_char > $o] :
( ! [X3: option2736423997234022232t_char] :
( ( P @ X3 )
= ( Q @ X3 ) )
=> ( ( collec3561702660602934339t_char @ P )
= ( collec3561702660602934339t_char @ Q ) ) ) ).
% Collect_cong
thf(fact_116_Collect__cong,axiom,
! [P: option8887860577033306220on_val > $o,Q: option8887860577033306220on_val > $o] :
( ! [X3: option8887860577033306220on_val] :
( ( P @ X3 )
= ( Q @ X3 ) )
=> ( ( collec6281439769543645121on_val @ P )
= ( collec6281439769543645121on_val @ Q ) ) ) ).
% Collect_cong
thf(fact_117_Collect__cong,axiom,
! [P: option_val > $o,Q: option_val > $o] :
( ! [X3: option_val] :
( ( P @ X3 )
= ( Q @ X3 ) )
=> ( ( collect_option_val @ P )
= ( collect_option_val @ Q ) ) ) ).
% Collect_cong
thf(fact_118_Collect__cong,axiom,
! [P: produc9003781588162623004on_val > $o,Q: produc9003781588162623004on_val > $o] :
( ! [X3: produc9003781588162623004on_val] :
( ( P @ X3 )
= ( Q @ X3 ) )
=> ( ( collec7475294502966882545on_val @ P )
= ( collec7475294502966882545on_val @ Q ) ) ) ).
% Collect_cong
thf(fact_119_split__option__ex,axiom,
( ( ^ [P2: option8887860577033306220on_val > $o] :
? [X5: option8887860577033306220on_val] : ( P2 @ X5 ) )
= ( ^ [P3: option8887860577033306220on_val > $o] :
( ( P3 @ none_P8728355543607141243on_val )
| ? [X4: produc9003781588162623004on_val] : ( P3 @ ( some_P2581650809551911671on_val @ X4 ) ) ) ) ) ).
% split_option_ex
thf(fact_120_split__option__ex,axiom,
( ( ^ [P2: option_list_char > $o] :
? [X5: option_list_char] : ( P2 @ X5 ) )
= ( ^ [P3: option_list_char > $o] :
( ( P3 @ none_list_char )
| ? [X4: list_char] : ( P3 @ ( some_list_char @ X4 ) ) ) ) ) ).
% split_option_ex
thf(fact_121_split__option__ex,axiom,
( ( ^ [P2: option5747939881698552298on_val > $o] :
? [X5: option5747939881698552298on_val] : ( P2 @ X5 ) )
= ( ^ [P3: option5747939881698552298on_val > $o] :
( ( P3 @ none_P1334921381875262201on_val )
| ? [X4: produc1457211279475724562t_char > option_val] : ( P3 @ ( some_P7669353234731512949on_val @ X4 ) ) ) ) ) ).
% split_option_ex
thf(fact_122_split__option__ex,axiom,
( ( ^ [P2: option_val > $o] :
? [X5: option_val] : ( P2 @ X5 ) )
= ( ^ [P3: option_val > $o] :
( ( P3 @ none_val )
| ? [X4: val] : ( P3 @ ( some_val @ X4 ) ) ) ) ) ).
% split_option_ex
thf(fact_123_split__option__ex,axiom,
( ( ^ [P2: option_state > $o] :
? [X5: option_state] : ( P2 @ X5 ) )
= ( ^ [P3: option_state > $o] :
( ( P3 @ none_state )
| ? [X4: state] : ( P3 @ ( some_state @ X4 ) ) ) ) ) ).
% split_option_ex
thf(fact_124_split__option__all,axiom,
( ( ^ [P2: option8887860577033306220on_val > $o] :
! [X5: option8887860577033306220on_val] : ( P2 @ X5 ) )
= ( ^ [P3: option8887860577033306220on_val > $o] :
( ( P3 @ none_P8728355543607141243on_val )
& ! [X4: produc9003781588162623004on_val] : ( P3 @ ( some_P2581650809551911671on_val @ X4 ) ) ) ) ) ).
% split_option_all
thf(fact_125_split__option__all,axiom,
( ( ^ [P2: option_list_char > $o] :
! [X5: option_list_char] : ( P2 @ X5 ) )
= ( ^ [P3: option_list_char > $o] :
( ( P3 @ none_list_char )
& ! [X4: list_char] : ( P3 @ ( some_list_char @ X4 ) ) ) ) ) ).
% split_option_all
thf(fact_126_split__option__all,axiom,
( ( ^ [P2: option5747939881698552298on_val > $o] :
! [X5: option5747939881698552298on_val] : ( P2 @ X5 ) )
= ( ^ [P3: option5747939881698552298on_val > $o] :
( ( P3 @ none_P1334921381875262201on_val )
& ! [X4: produc1457211279475724562t_char > option_val] : ( P3 @ ( some_P7669353234731512949on_val @ X4 ) ) ) ) ) ).
% split_option_all
thf(fact_127_split__option__all,axiom,
( ( ^ [P2: option_val > $o] :
! [X5: option_val] : ( P2 @ X5 ) )
= ( ^ [P3: option_val > $o] :
( ( P3 @ none_val )
& ! [X4: val] : ( P3 @ ( some_val @ X4 ) ) ) ) ) ).
% split_option_all
thf(fact_128_split__option__all,axiom,
( ( ^ [P2: option_state > $o] :
! [X5: option_state] : ( P2 @ X5 ) )
= ( ^ [P3: option_state > $o] :
( ( P3 @ none_state )
& ! [X4: state] : ( P3 @ ( some_state @ X4 ) ) ) ) ) ).
% split_option_all
thf(fact_129_combine__options__cases,axiom,
! [X: option_val,P: option_val > option_val > $o,Y: option_val] :
( ( ( X = none_val )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_val )
=> ( P @ X @ Y ) )
=> ( ! [A4: val,B4: val] :
( ( X
= ( some_val @ A4 ) )
=> ( ( Y
= ( some_val @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_130_combine__options__cases,axiom,
! [X: option_val,P: option_val > option_state > $o,Y: option_state] :
( ( ( X = none_val )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_state )
=> ( P @ X @ Y ) )
=> ( ! [A4: val,B4: state] :
( ( X
= ( some_val @ A4 ) )
=> ( ( Y
= ( some_state @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_131_combine__options__cases,axiom,
! [X: option_state,P: option_state > option_val > $o,Y: option_val] :
( ( ( X = none_state )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_val )
=> ( P @ X @ Y ) )
=> ( ! [A4: state,B4: val] :
( ( X
= ( some_state @ A4 ) )
=> ( ( Y
= ( some_val @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_132_combine__options__cases,axiom,
! [X: option_state,P: option_state > option_state > $o,Y: option_state] :
( ( ( X = none_state )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_state )
=> ( P @ X @ Y ) )
=> ( ! [A4: state,B4: state] :
( ( X
= ( some_state @ A4 ) )
=> ( ( Y
= ( some_state @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_133_combine__options__cases,axiom,
! [X: option_val,P: option_val > option_list_char > $o,Y: option_list_char] :
( ( ( X = none_val )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_list_char )
=> ( P @ X @ Y ) )
=> ( ! [A4: val,B4: list_char] :
( ( X
= ( some_val @ A4 ) )
=> ( ( Y
= ( some_list_char @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_134_combine__options__cases,axiom,
! [X: option_state,P: option_state > option_list_char > $o,Y: option_list_char] :
( ( ( X = none_state )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_list_char )
=> ( P @ X @ Y ) )
=> ( ! [A4: state,B4: list_char] :
( ( X
= ( some_state @ A4 ) )
=> ( ( Y
= ( some_list_char @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_135_combine__options__cases,axiom,
! [X: option_list_char,P: option_list_char > option_val > $o,Y: option_val] :
( ( ( X = none_list_char )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_val )
=> ( P @ X @ Y ) )
=> ( ! [A4: list_char,B4: val] :
( ( X
= ( some_list_char @ A4 ) )
=> ( ( Y
= ( some_val @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_136_combine__options__cases,axiom,
! [X: option_list_char,P: option_list_char > option_state > $o,Y: option_state] :
( ( ( X = none_list_char )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_state )
=> ( P @ X @ Y ) )
=> ( ! [A4: list_char,B4: state] :
( ( X
= ( some_list_char @ A4 ) )
=> ( ( Y
= ( some_state @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_137_combine__options__cases,axiom,
! [X: option_list_char,P: option_list_char > option_list_char > $o,Y: option_list_char] :
( ( ( X = none_list_char )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_list_char )
=> ( P @ X @ Y ) )
=> ( ! [A4: list_char,B4: list_char] :
( ( X
= ( some_list_char @ A4 ) )
=> ( ( Y
= ( some_list_char @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_138_combine__options__cases,axiom,
! [X: option_val,P: option_val > option5747939881698552298on_val > $o,Y: option5747939881698552298on_val] :
( ( ( X = none_val )
=> ( P @ X @ Y ) )
=> ( ( ( Y = none_P1334921381875262201on_val )
=> ( P @ X @ Y ) )
=> ( ! [A4: val,B4: produc1457211279475724562t_char > option_val] :
( ( X
= ( some_val @ A4 ) )
=> ( ( Y
= ( some_P7669353234731512949on_val @ B4 ) )
=> ( P @ X @ Y ) ) )
=> ( P @ X @ Y ) ) ) ) ).
% combine_options_cases
thf(fact_139_larger__heap__def,axiom,
( larger1532547405891354081ar_val
= ( ^ [H2: produc1457211279475724562t_char > option_val,H: produc1457211279475724562t_char > option_val] :
! [Hl: produc1457211279475724562t_char,X4: val] :
( ( ( H @ Hl )
= ( some_val @ X4 ) )
=> ( ( H2 @ Hl )
= ( some_val @ X4 ) ) ) ) ) ).
% larger_heap_def
thf(fact_140_larger__heapI,axiom,
! [H3: produc1457211279475724562t_char > option_val,H4: produc1457211279475724562t_char > option_val] :
( ! [Hl2: produc1457211279475724562t_char,X3: val] :
( ( ( H3 @ Hl2 )
= ( some_val @ X3 ) )
=> ( ( H4 @ Hl2 )
= ( some_val @ X3 ) ) )
=> ( larger1532547405891354081ar_val @ H4 @ H3 ) ) ).
% larger_heapI
thf(fact_141_compatible__heapsI,axiom,
! [H3: produc1457211279475724562t_char > option_val,H4: produc1457211279475724562t_char > option_val] :
( ! [Hl2: produc1457211279475724562t_char,A4: val,B4: val] :
( ( ( H3 @ Hl2 )
= ( some_val @ A4 ) )
=> ( ( ( H4 @ Hl2 )
= ( some_val @ B4 ) )
=> ( A4 = B4 ) ) )
=> ( compatible_heaps @ H3 @ H4 ) ) ).
% compatible_heapsI
thf(fact_142_compatible__options_Osimps_I1_J,axiom,
! [A: produc9003781588162623004on_val,B: produc9003781588162623004on_val] :
( ( compat6602494657299208312on_val @ ( some_P2581650809551911671on_val @ A ) @ ( some_P2581650809551911671on_val @ B ) )
= ( A = B ) ) ).
% compatible_options.simps(1)
thf(fact_143_compatible__options_Osimps_I1_J,axiom,
! [A: list_char,B: list_char] :
( ( compat7573737823326560701t_char @ ( some_list_char @ A ) @ ( some_list_char @ B ) )
= ( A = B ) ) ).
% compatible_options.simps(1)
thf(fact_144_compatible__options_Osimps_I1_J,axiom,
! [A: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val] :
( ( compat2032066794789061494on_val @ ( some_P7669353234731512949on_val @ A ) @ ( some_P7669353234731512949on_val @ B ) )
= ( A = B ) ) ).
% compatible_options.simps(1)
thf(fact_145_compatible__options_Osimps_I1_J,axiom,
! [A: val,B: val] :
( ( compat7209469420100717861ns_val @ ( some_val @ A ) @ ( some_val @ B ) )
= ( A = B ) ) ).
% compatible_options.simps(1)
thf(fact_146_compatible__options_Osimps_I1_J,axiom,
! [A: state,B: state] :
( ( compat2278460363914054422_state @ ( some_state @ A ) @ ( some_state @ B ) )
= ( A = B ) ) ).
% compatible_options.simps(1)
thf(fact_147_compatible__options_Oelims_I3_J,axiom,
! [X: option8887860577033306220on_val,Xa: option8887860577033306220on_val] :
( ~ ( compat6602494657299208312on_val @ X @ Xa )
=> ~ ! [A4: produc9003781588162623004on_val] :
( ( X
= ( some_P2581650809551911671on_val @ A4 ) )
=> ! [B4: produc9003781588162623004on_val] :
( ( Xa
= ( some_P2581650809551911671on_val @ B4 ) )
=> ( A4 = B4 ) ) ) ) ).
% compatible_options.elims(3)
thf(fact_148_compatible__options_Oelims_I3_J,axiom,
! [X: option_list_char,Xa: option_list_char] :
( ~ ( compat7573737823326560701t_char @ X @ Xa )
=> ~ ! [A4: list_char] :
( ( X
= ( some_list_char @ A4 ) )
=> ! [B4: list_char] :
( ( Xa
= ( some_list_char @ B4 ) )
=> ( A4 = B4 ) ) ) ) ).
% compatible_options.elims(3)
thf(fact_149_compatible__options_Oelims_I3_J,axiom,
! [X: option5747939881698552298on_val,Xa: option5747939881698552298on_val] :
( ~ ( compat2032066794789061494on_val @ X @ Xa )
=> ~ ! [A4: produc1457211279475724562t_char > option_val] :
( ( X
= ( some_P7669353234731512949on_val @ A4 ) )
=> ! [B4: produc1457211279475724562t_char > option_val] :
( ( Xa
= ( some_P7669353234731512949on_val @ B4 ) )
=> ( A4 = B4 ) ) ) ) ).
% compatible_options.elims(3)
thf(fact_150_compatible__options_Oelims_I3_J,axiom,
! [X: option_val,Xa: option_val] :
( ~ ( compat7209469420100717861ns_val @ X @ Xa )
=> ~ ! [A4: val] :
( ( X
= ( some_val @ A4 ) )
=> ! [B4: val] :
( ( Xa
= ( some_val @ B4 ) )
=> ( A4 = B4 ) ) ) ) ).
% compatible_options.elims(3)
thf(fact_151_compatible__options_Oelims_I3_J,axiom,
! [X: option_state,Xa: option_state] :
( ~ ( compat2278460363914054422_state @ X @ Xa )
=> ~ ! [A4: state] :
( ( X
= ( some_state @ A4 ) )
=> ! [B4: state] :
( ( Xa
= ( some_state @ B4 ) )
=> ( A4 = B4 ) ) ) ) ).
% compatible_options.elims(3)
thf(fact_152_compatible__heaps__sum,axiom,
! [A: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val,C: produc1457211279475724562t_char > option_val] :
( ( compatible_heaps @ A @ B )
=> ( ( compatible_heaps @ A @ C )
=> ( compatible_heaps @ A @ ( map_ad2908576761495157028ar_val @ B @ C ) ) ) ) ).
% compatible_heaps_sum
thf(fact_153_compatible__heaps__comm,axiom,
! [A: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val] :
( ( compatible_heaps @ A @ B )
=> ( ( map_ad2908576761495157028ar_val @ A @ B )
= ( map_ad2908576761495157028ar_val @ B @ A ) ) ) ).
% compatible_heaps_comm
thf(fact_154_larger__heap__plus,axiom,
! [A: produc9003781588162623004on_val > option_state,B: produc9003781588162623004on_val > option_state,C: produc9003781588162623004on_val > option_state] :
( ( larger2674307862311229514_state @ A @ B )
=> ( ( larger2674307862311229514_state @ A @ C )
=> ( larger2674307862311229514_state @ A @ ( map_ad2629041965313307917_state @ B @ C ) ) ) ) ).
% larger_heap_plus
thf(fact_155_larger__heap__plus,axiom,
! [A: produc9003781588162623004on_val > option_val,B: produc9003781588162623004on_val > option_val,C: produc9003781588162623004on_val > option_val] :
( ( larger6282481774126526705al_val @ A @ B )
=> ( ( larger6282481774126526705al_val @ A @ C )
=> ( larger6282481774126526705al_val @ A @ ( map_ad5466549115852757998al_val @ B @ C ) ) ) ) ).
% larger_heap_plus
thf(fact_156_larger__heap__plus,axiom,
! [A: produc1457211279475724562t_char > option_val,B: produc1457211279475724562t_char > option_val,C: produc1457211279475724562t_char > option_val] :
( ( larger1532547405891354081ar_val @ A @ B )
=> ( ( larger1532547405891354081ar_val @ A @ C )
=> ( larger1532547405891354081ar_val @ A @ ( map_ad2908576761495157028ar_val @ B @ C ) ) ) ) ).
% larger_heap_plus
thf(fact_157_valid__empty,axiom,
valid_mask @ empty_3446695950879338768t_char ).
% valid_empty
thf(fact_158_map__add__None,axiom,
! [M: produc9003781588162623004on_val > option_state,N: produc9003781588162623004on_val > option_state,K: produc9003781588162623004on_val] :
( ( ( map_ad2629041965313307917_state @ M @ N @ K )
= none_state )
= ( ( ( N @ K )
= none_state )
& ( ( M @ K )
= none_state ) ) ) ).
% map_add_None
thf(fact_159_map__add__None,axiom,
! [M: produc9003781588162623004on_val > option_val,N: produc9003781588162623004on_val > option_val,K: produc9003781588162623004on_val] :
( ( ( map_ad5466549115852757998al_val @ M @ N @ K )
= none_val )
= ( ( ( N @ K )
= none_val )
& ( ( M @ K )
= none_val ) ) ) ).
% map_add_None
thf(fact_160_map__add__None,axiom,
! [M: produc1457211279475724562t_char > option_val,N: produc1457211279475724562t_char > option_val,K: produc1457211279475724562t_char] :
( ( ( map_ad2908576761495157028ar_val @ M @ N @ K )
= none_val )
= ( ( ( N @ K )
= none_val )
& ( ( M @ K )
= none_val ) ) ) ).
% map_add_None
thf(fact_161_map__add__eq__empty__iff,axiom,
! [F: produc9003781588162623004on_val > option_state,G: produc9003781588162623004on_val > option_state] :
( ( ( map_ad2629041965313307917_state @ F @ G )
= ( ^ [X4: produc9003781588162623004on_val] : none_state ) )
= ( ( F
= ( ^ [X4: produc9003781588162623004on_val] : none_state ) )
& ( G
= ( ^ [X4: produc9003781588162623004on_val] : none_state ) ) ) ) ).
% map_add_eq_empty_iff
thf(fact_162_map__add__eq__empty__iff,axiom,
! [F: produc9003781588162623004on_val > option_val,G: produc9003781588162623004on_val > option_val] :
( ( ( map_ad5466549115852757998al_val @ F @ G )
= ( ^ [X4: produc9003781588162623004on_val] : none_val ) )
= ( ( F
= ( ^ [X4: produc9003781588162623004on_val] : none_val ) )
& ( G
= ( ^ [X4: produc9003781588162623004on_val] : none_val ) ) ) ) ).
% map_add_eq_empty_iff
thf(fact_163_map__add__eq__empty__iff,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val] :
( ( ( map_ad2908576761495157028ar_val @ F @ G )
= ( ^ [X4: produc1457211279475724562t_char] : none_val ) )
= ( ( F
= ( ^ [X4: produc1457211279475724562t_char] : none_val ) )
& ( G
= ( ^ [X4: produc1457211279475724562t_char] : none_val ) ) ) ) ).
% map_add_eq_empty_iff
thf(fact_164_map__add__find__right,axiom,
! [N: produc9003781588162623004on_val > option_val,K: produc9003781588162623004on_val,Xx: val,M: produc9003781588162623004on_val > option_val] :
( ( ( N @ K )
= ( some_val @ Xx ) )
=> ( ( map_ad5466549115852757998al_val @ M @ N @ K )
= ( some_val @ Xx ) ) ) ).
% map_add_find_right
thf(fact_165_map__add__find__right,axiom,
! [N: produc9003781588162623004on_val > option_state,K: produc9003781588162623004on_val,Xx: state,M: produc9003781588162623004on_val > option_state] :
( ( ( N @ K )
= ( some_state @ Xx ) )
=> ( ( map_ad2629041965313307917_state @ M @ N @ K )
= ( some_state @ Xx ) ) ) ).
% map_add_find_right
thf(fact_166_map__add__find__right,axiom,
! [N: produc1457211279475724562t_char > option_val,K: produc1457211279475724562t_char,Xx: val,M: produc1457211279475724562t_char > option_val] :
( ( ( N @ K )
= ( some_val @ Xx ) )
=> ( ( map_ad2908576761495157028ar_val @ M @ N @ K )
= ( some_val @ Xx ) ) ) ).
% map_add_find_right
thf(fact_167_map__add__SomeD,axiom,
! [M: produc9003781588162623004on_val > option_val,N: produc9003781588162623004on_val > option_val,K: produc9003781588162623004on_val,X: val] :
( ( ( map_ad5466549115852757998al_val @ M @ N @ K )
= ( some_val @ X ) )
=> ( ( ( N @ K )
= ( some_val @ X ) )
| ( ( ( N @ K )
= none_val )
& ( ( M @ K )
= ( some_val @ X ) ) ) ) ) ).
% map_add_SomeD
thf(fact_168_map__add__SomeD,axiom,
! [M: produc9003781588162623004on_val > option_state,N: produc9003781588162623004on_val > option_state,K: produc9003781588162623004on_val,X: state] :
( ( ( map_ad2629041965313307917_state @ M @ N @ K )
= ( some_state @ X ) )
=> ( ( ( N @ K )
= ( some_state @ X ) )
| ( ( ( N @ K )
= none_state )
& ( ( M @ K )
= ( some_state @ X ) ) ) ) ) ).
% map_add_SomeD
thf(fact_169_map__add__SomeD,axiom,
! [M: produc1457211279475724562t_char > option_val,N: produc1457211279475724562t_char > option_val,K: produc1457211279475724562t_char,X: val] :
( ( ( map_ad2908576761495157028ar_val @ M @ N @ K )
= ( some_val @ X ) )
=> ( ( ( N @ K )
= ( some_val @ X ) )
| ( ( ( N @ K )
= none_val )
& ( ( M @ K )
= ( some_val @ X ) ) ) ) ) ).
% map_add_SomeD
thf(fact_170_map__add__Some__iff,axiom,
! [M: produc9003781588162623004on_val > option_val,N: produc9003781588162623004on_val > option_val,K: produc9003781588162623004on_val,X: val] :
( ( ( map_ad5466549115852757998al_val @ M @ N @ K )
= ( some_val @ X ) )
= ( ( ( N @ K )
= ( some_val @ X ) )
| ( ( ( N @ K )
= none_val )
& ( ( M @ K )
= ( some_val @ X ) ) ) ) ) ).
% map_add_Some_iff
thf(fact_171_map__add__Some__iff,axiom,
! [M: produc9003781588162623004on_val > option_state,N: produc9003781588162623004on_val > option_state,K: produc9003781588162623004on_val,X: state] :
( ( ( map_ad2629041965313307917_state @ M @ N @ K )
= ( some_state @ X ) )
= ( ( ( N @ K )
= ( some_state @ X ) )
| ( ( ( N @ K )
= none_state )
& ( ( M @ K )
= ( some_state @ X ) ) ) ) ) ).
% map_add_Some_iff
thf(fact_172_map__add__Some__iff,axiom,
! [M: produc1457211279475724562t_char > option_val,N: produc1457211279475724562t_char > option_val,K: produc1457211279475724562t_char,X: val] :
( ( ( map_ad2908576761495157028ar_val @ M @ N @ K )
= ( some_val @ X ) )
= ( ( ( N @ K )
= ( some_val @ X ) )
| ( ( ( N @ K )
= none_val )
& ( ( M @ K )
= ( some_val @ X ) ) ) ) ) ).
% map_add_Some_iff
thf(fact_173_map__add__assoc,axiom,
! [M1: produc9003781588162623004on_val > option_state,M2: produc9003781588162623004on_val > option_state,M3: produc9003781588162623004on_val > option_state] :
( ( map_ad2629041965313307917_state @ M1 @ ( map_ad2629041965313307917_state @ M2 @ M3 ) )
= ( map_ad2629041965313307917_state @ ( map_ad2629041965313307917_state @ M1 @ M2 ) @ M3 ) ) ).
% map_add_assoc
thf(fact_174_map__add__assoc,axiom,
! [M1: produc9003781588162623004on_val > option_val,M2: produc9003781588162623004on_val > option_val,M3: produc9003781588162623004on_val > option_val] :
( ( map_ad5466549115852757998al_val @ M1 @ ( map_ad5466549115852757998al_val @ M2 @ M3 ) )
= ( map_ad5466549115852757998al_val @ ( map_ad5466549115852757998al_val @ M1 @ M2 ) @ M3 ) ) ).
% map_add_assoc
thf(fact_175_map__add__assoc,axiom,
! [M1: produc1457211279475724562t_char > option_val,M2: produc1457211279475724562t_char > option_val,M3: produc1457211279475724562t_char > option_val] :
( ( map_ad2908576761495157028ar_val @ M1 @ ( map_ad2908576761495157028ar_val @ M2 @ M3 ) )
= ( map_ad2908576761495157028ar_val @ ( map_ad2908576761495157028ar_val @ M1 @ M2 ) @ M3 ) ) ).
% map_add_assoc
thf(fact_176_valid__heapI,axiom,
! [Pi: produc1457211279475724562t_char > prat,H3: produc1457211279475724562t_char > option_val] :
( ! [Hl2: produc1457211279475724562t_char] :
( ( ppos @ ( Pi @ Hl2 ) )
=> ( ( H3 @ Hl2 )
!= none_val ) )
=> ( valid_heap @ Pi @ H3 ) ) ).
% valid_heapI
thf(fact_177_valid__heap__def,axiom,
( valid_heap
= ( ^ [Pi2: produc1457211279475724562t_char > prat,H: produc1457211279475724562t_char > option_val] :
! [Hl: produc1457211279475724562t_char] :
( ( ppos @ ( Pi2 @ Hl ) )
=> ( ( H @ Hl )
!= none_val ) ) ) ) ).
% valid_heap_def
thf(fact_178_valid__larger__mask,axiom,
( valid_mask
= ( greate7680731506090375811t_char @ full_mask ) ) ).
% valid_larger_mask
thf(fact_179_greater__mask__properties_I1_J,axiom,
! [Pi: produc1457211279475724562t_char > prat] : ( greate7680731506090375811t_char @ Pi @ Pi ) ).
% greater_mask_properties(1)
thf(fact_180_greater__mask__properties_I2_J,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,C: produc1457211279475724562t_char > prat] :
( ( ( greate7680731506090375811t_char @ A @ B )
& ( greate7680731506090375811t_char @ B @ C ) )
=> ( greate7680731506090375811t_char @ A @ C ) ) ).
% greater_mask_properties(2)
thf(fact_181_greater__mask__properties_I3_J,axiom,
! [Pi3: produc1457211279475724562t_char > prat,Pi: produc1457211279475724562t_char > prat] :
( ( ( greate7680731506090375811t_char @ Pi3 @ Pi )
& ( greate7680731506090375811t_char @ Pi @ Pi3 ) )
=> ( Pi = Pi3 ) ) ).
% greater_mask_properties(3)
thf(fact_182_const__sum__mask__greater,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,C: produc1457211279475724562t_char > prat,D: produc1457211279475724562t_char > prat] :
( ( ( add_ma6586698345353345811t_char @ A @ B )
= ( add_ma6586698345353345811t_char @ C @ D ) )
=> ( ( greate7680731506090375811t_char @ A @ C )
=> ( greate7680731506090375811t_char @ D @ B ) ) ) ).
% const_sum_mask_greater
thf(fact_183_greater__mask__decomp,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,C: produc1457211279475724562t_char > prat] :
( ( greate7680731506090375811t_char @ A @ ( add_ma6586698345353345811t_char @ B @ C ) )
=> ? [A1: produc1457211279475724562t_char > prat,A22: produc1457211279475724562t_char > prat] :
( ( A
= ( add_ma6586698345353345811t_char @ A1 @ A22 ) )
& ( greate7680731506090375811t_char @ A1 @ B )
& ( greate7680731506090375811t_char @ A22 @ C ) ) ) ).
% greater_mask_decomp
thf(fact_184_greater__mask__def,axiom,
( greate7680731506090375811t_char
= ( ^ [Pi4: produc1457211279475724562t_char > prat,Pi2: produc1457211279475724562t_char > prat] :
? [R: produc1457211279475724562t_char > prat] :
( Pi4
= ( add_ma6586698345353345811t_char @ Pi2 @ R ) ) ) ) ).
% greater_mask_def
thf(fact_185_mult__greater,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,P4: prat] :
( ( greate7680731506090375811t_char @ A @ B )
=> ( greate7680731506090375811t_char @ ( multiply_mask @ P4 @ A ) @ ( multiply_mask @ P4 @ B ) ) ) ).
% mult_greater
thf(fact_186_update__trans,axiom,
! [Pi: produc1457211279475724562t_char > prat,Pi3: produc1457211279475724562t_char > prat,Pi5: produc1457211279475724562t_char > prat,Dm: produc1457211279475724562t_char > $o] :
( ( greate7680731506090375811t_char @ Pi @ Pi3 )
=> ( ( greate7680731506090375811t_char @ Pi3 @ Pi5 )
=> ( ( update5099441844846592839t_char @ ( update5099441844846592839t_char @ Dm @ Pi @ Pi3 ) @ Pi3 @ Pi5 )
= ( update5099441844846592839t_char @ Dm @ Pi @ Pi5 ) ) ) ) ).
% update_trans
thf(fact_187_option_Ocollapse,axiom,
! [Option: option8887860577033306220on_val] :
( ( Option != none_P8728355543607141243on_val )
=> ( ( some_P2581650809551911671on_val @ ( the_Pr3639693038709580936on_val @ Option ) )
= Option ) ) ).
% option.collapse
thf(fact_188_option_Ocollapse,axiom,
! [Option: option_list_char] :
( ( Option != none_list_char )
=> ( ( some_list_char @ ( the_list_char @ Option ) )
= Option ) ) ).
% option.collapse
thf(fact_189_option_Ocollapse,axiom,
! [Option: option5747939881698552298on_val] :
( ( Option != none_P1334921381875262201on_val )
=> ( ( some_P7669353234731512949on_val @ ( the_Pr646328391962797958on_val @ Option ) )
= Option ) ) ).
% option.collapse
thf(fact_190_option_Ocollapse,axiom,
! [Option: option_val] :
( ( Option != none_val )
=> ( ( some_val @ ( the_val @ Option ) )
= Option ) ) ).
% option.collapse
thf(fact_191_option_Ocollapse,axiom,
! [Option: option_state] :
( ( Option != none_state )
=> ( ( some_state @ ( the_state @ Option ) )
= Option ) ) ).
% option.collapse
thf(fact_192_bind__split,axiom,
! [P: option_state > $o,M: option_val,F: val > option_state] :
( ( P @ ( bind_val_state @ M @ F ) )
= ( ( ( M = none_val )
=> ( P @ none_state ) )
& ! [V: val] :
( ( M
= ( some_val @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_193_bind__split,axiom,
! [P: option_val > $o,M: option_val,F: val > option_val] :
( ( P @ ( bind_val_val @ M @ F ) )
= ( ( ( M = none_val )
=> ( P @ none_val ) )
& ! [V: val] :
( ( M
= ( some_val @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_194_bind__split,axiom,
! [P: option_state > $o,M: option_state,F: state > option_state] :
( ( P @ ( bind_state_state @ M @ F ) )
= ( ( ( M = none_state )
=> ( P @ none_state ) )
& ! [V: state] :
( ( M
= ( some_state @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_195_bind__split,axiom,
! [P: option_val > $o,M: option_state,F: state > option_val] :
( ( P @ ( bind_state_val @ M @ F ) )
= ( ( ( M = none_state )
=> ( P @ none_val ) )
& ! [V: state] :
( ( M
= ( some_state @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_196_bind__split,axiom,
! [P: option_list_char > $o,M: option_val,F: val > option_list_char] :
( ( P @ ( bind_val_list_char @ M @ F ) )
= ( ( ( M = none_val )
=> ( P @ none_list_char ) )
& ! [V: val] :
( ( M
= ( some_val @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_197_bind__split,axiom,
! [P: option_list_char > $o,M: option_state,F: state > option_list_char] :
( ( P @ ( bind_state_list_char @ M @ F ) )
= ( ( ( M = none_state )
=> ( P @ none_list_char ) )
& ! [V: state] :
( ( M
= ( some_state @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_198_bind__split,axiom,
! [P: option_state > $o,M: option_list_char,F: list_char > option_state] :
( ( P @ ( bind_list_char_state @ M @ F ) )
= ( ( ( M = none_list_char )
=> ( P @ none_state ) )
& ! [V: list_char] :
( ( M
= ( some_list_char @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_199_bind__split,axiom,
! [P: option_val > $o,M: option_list_char,F: list_char > option_val] :
( ( P @ ( bind_list_char_val @ M @ F ) )
= ( ( ( M = none_list_char )
=> ( P @ none_val ) )
& ! [V: list_char] :
( ( M
= ( some_list_char @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_200_bind__split,axiom,
! [P: option_list_char > $o,M: option_list_char,F: list_char > option_list_char] :
( ( P @ ( bind_l7575086113700739714t_char @ M @ F ) )
= ( ( ( M = none_list_char )
=> ( P @ none_list_char ) )
& ! [V: list_char] :
( ( M
= ( some_list_char @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_201_bind__split,axiom,
! [P: option5747939881698552298on_val > $o,M: option_val,F: val > option5747939881698552298on_val] :
( ( P @ ( bind_v3756559123625202269on_val @ M @ F ) )
= ( ( ( M = none_val )
=> ( P @ none_P1334921381875262201on_val ) )
& ! [V: val] :
( ( M
= ( some_val @ V ) )
=> ( P @ ( F @ V ) ) ) ) ) ).
% bind_split
thf(fact_202_bind__split__asm,axiom,
! [P: option_state > $o,M: option_val,F: val > option_state] :
( ( P @ ( bind_val_state @ M @ F ) )
= ( ~ ( ( ( M = none_val )
& ~ ( P @ none_state ) )
| ? [X4: val] :
( ( M
= ( some_val @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_203_bind__split__asm,axiom,
! [P: option_val > $o,M: option_val,F: val > option_val] :
( ( P @ ( bind_val_val @ M @ F ) )
= ( ~ ( ( ( M = none_val )
& ~ ( P @ none_val ) )
| ? [X4: val] :
( ( M
= ( some_val @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_204_bind__split__asm,axiom,
! [P: option_state > $o,M: option_state,F: state > option_state] :
( ( P @ ( bind_state_state @ M @ F ) )
= ( ~ ( ( ( M = none_state )
& ~ ( P @ none_state ) )
| ? [X4: state] :
( ( M
= ( some_state @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_205_bind__split__asm,axiom,
! [P: option_val > $o,M: option_state,F: state > option_val] :
( ( P @ ( bind_state_val @ M @ F ) )
= ( ~ ( ( ( M = none_state )
& ~ ( P @ none_val ) )
| ? [X4: state] :
( ( M
= ( some_state @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_206_bind__split__asm,axiom,
! [P: option_list_char > $o,M: option_val,F: val > option_list_char] :
( ( P @ ( bind_val_list_char @ M @ F ) )
= ( ~ ( ( ( M = none_val )
& ~ ( P @ none_list_char ) )
| ? [X4: val] :
( ( M
= ( some_val @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_207_bind__split__asm,axiom,
! [P: option_list_char > $o,M: option_state,F: state > option_list_char] :
( ( P @ ( bind_state_list_char @ M @ F ) )
= ( ~ ( ( ( M = none_state )
& ~ ( P @ none_list_char ) )
| ? [X4: state] :
( ( M
= ( some_state @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_208_bind__split__asm,axiom,
! [P: option_state > $o,M: option_list_char,F: list_char > option_state] :
( ( P @ ( bind_list_char_state @ M @ F ) )
= ( ~ ( ( ( M = none_list_char )
& ~ ( P @ none_state ) )
| ? [X4: list_char] :
( ( M
= ( some_list_char @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_209_bind__split__asm,axiom,
! [P: option_val > $o,M: option_list_char,F: list_char > option_val] :
( ( P @ ( bind_list_char_val @ M @ F ) )
= ( ~ ( ( ( M = none_list_char )
& ~ ( P @ none_val ) )
| ? [X4: list_char] :
( ( M
= ( some_list_char @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_210_bind__split__asm,axiom,
! [P: option_list_char > $o,M: option_list_char,F: list_char > option_list_char] :
( ( P @ ( bind_l7575086113700739714t_char @ M @ F ) )
= ( ~ ( ( ( M = none_list_char )
& ~ ( P @ none_list_char ) )
| ? [X4: list_char] :
( ( M
= ( some_list_char @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_211_bind__split__asm,axiom,
! [P: option5747939881698552298on_val > $o,M: option_val,F: val > option5747939881698552298on_val] :
( ( P @ ( bind_v3756559123625202269on_val @ M @ F ) )
= ( ~ ( ( ( M = none_val )
& ~ ( P @ none_P1334921381875262201on_val ) )
| ? [X4: val] :
( ( M
= ( some_val @ X4 ) )
& ~ ( P @ ( F @ X4 ) ) ) ) ) ) ).
% bind_split_asm
thf(fact_212_map__add__upd,axiom,
! [F: produc9003781588162623004on_val > option_val,G: produc9003781588162623004on_val > option_val,X: produc9003781588162623004on_val,Y: val] :
( ( map_ad5466549115852757998al_val @ F @ ( fun_up8559965269643824108on_val @ G @ X @ ( some_val @ Y ) ) )
= ( fun_up8559965269643824108on_val @ ( map_ad5466549115852757998al_val @ F @ G ) @ X @ ( some_val @ Y ) ) ) ).
% map_add_upd
thf(fact_213_map__add__upd,axiom,
! [F: produc9003781588162623004on_val > option_state,G: produc9003781588162623004on_val > option_state,X: produc9003781588162623004on_val,Y: state] :
( ( map_ad2629041965313307917_state @ F @ ( fun_up6681822530636708645_state @ G @ X @ ( some_state @ Y ) ) )
= ( fun_up6681822530636708645_state @ ( map_ad2629041965313307917_state @ F @ G ) @ X @ ( some_state @ Y ) ) ) ).
% map_add_upd
thf(fact_214_map__add__upd,axiom,
! [F: produc9003781588162623004on_val > option8887860577033306220on_val,G: produc9003781588162623004on_val > option8887860577033306220on_val,X: produc9003781588162623004on_val,Y: produc9003781588162623004on_val] :
( ( map_ad6375351378680859759on_val @ F @ ( fun_up273046073882939271on_val @ G @ X @ ( some_P2581650809551911671on_val @ Y ) ) )
= ( fun_up273046073882939271on_val @ ( map_ad6375351378680859759on_val @ F @ G ) @ X @ ( some_P2581650809551911671on_val @ Y ) ) ) ).
% map_add_upd
thf(fact_215_map__add__upd,axiom,
! [F: nat > option_list_char,G: nat > option_list_char,X: nat,Y: list_char] :
( ( map_ad208561015412637672t_char @ F @ ( fun_up4009399622604172288t_char @ G @ X @ ( some_list_char @ Y ) ) )
= ( fun_up4009399622604172288t_char @ ( map_ad208561015412637672t_char @ F @ G ) @ X @ ( some_list_char @ Y ) ) ) ).
% map_add_upd
thf(fact_216_map__add__upd,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,G: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X: produc1457211279475724562t_char > prat,Y: produc1457211279475724562t_char > option_val] :
( ( map_ad2898753242718228216on_val @ F @ ( fun_up1601731230164360576on_val @ G @ X @ ( some_P7669353234731512949on_val @ Y ) ) )
= ( fun_up1601731230164360576on_val @ ( map_ad2898753242718228216on_val @ F @ G ) @ X @ ( some_P7669353234731512949on_val @ Y ) ) ) ).
% map_add_upd
thf(fact_217_map__add__upd,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val,X: produc1457211279475724562t_char,Y: val] :
( ( map_ad2908576761495157028ar_val @ F @ ( fun_up5735975307950539954on_val @ G @ X @ ( some_val @ Y ) ) )
= ( fun_up5735975307950539954on_val @ ( map_ad2908576761495157028ar_val @ F @ G ) @ X @ ( some_val @ Y ) ) ) ).
% map_add_upd
thf(fact_218_bind__runit,axiom,
! [X: option8887860577033306220on_val] :
( ( bind_P2485767298420691192on_val @ X @ some_P2581650809551911671on_val )
= X ) ).
% bind_runit
thf(fact_219_bind__runit,axiom,
! [X: option_list_char] :
( ( bind_l7575086113700739714t_char @ X @ some_list_char )
= X ) ).
% bind_runit
thf(fact_220_bind__runit,axiom,
! [X: option5747939881698552298on_val] :
( ( bind_P4424090778364213876on_val @ X @ some_P7669353234731512949on_val )
= X ) ).
% bind_runit
thf(fact_221_bind__runit,axiom,
! [X: option_val] :
( ( bind_val_val @ X @ some_val )
= X ) ).
% bind_runit
thf(fact_222_bind__runit,axiom,
! [X: option_state] :
( ( bind_state_state @ X @ some_state )
= X ) ).
% bind_runit
thf(fact_223_bind__option__cong__code,axiom,
! [X: option_state,Y: option_state,F: state > option_val] :
( ( X = Y )
=> ( ( bind_state_val @ X @ F )
= ( bind_state_val @ Y @ F ) ) ) ).
% bind_option_cong_code
thf(fact_224_bind__option__cong__code,axiom,
! [X: option_state,Y: option_state,F: state > option_state] :
( ( X = Y )
=> ( ( bind_state_state @ X @ F )
= ( bind_state_state @ Y @ F ) ) ) ).
% bind_option_cong_code
thf(fact_225_bind__option__cong__code,axiom,
! [X: option_val,Y: option_val,F: val > option_val] :
( ( X = Y )
=> ( ( bind_val_val @ X @ F )
= ( bind_val_val @ Y @ F ) ) ) ).
% bind_option_cong_code
thf(fact_226_bind__option__cong__code,axiom,
! [X: option_val,Y: option_val,F: val > option_state] :
( ( X = Y )
=> ( ( bind_val_state @ X @ F )
= ( bind_val_state @ Y @ F ) ) ) ).
% bind_option_cong_code
thf(fact_227_update__dm__same,axiom,
! [Dm: produc1457211279475724562t_char > $o,Pi: produc1457211279475724562t_char > prat] :
( ( update5099441844846592839t_char @ Dm @ Pi @ Pi )
= Dm ) ).
% update_dm_same
thf(fact_228_bind__eq__None__conv,axiom,
! [A: option_state,F: state > option_state] :
( ( ( bind_state_state @ A @ F )
= none_state )
= ( ( A = none_state )
| ( ( F @ ( the_state @ A ) )
= none_state ) ) ) ).
% bind_eq_None_conv
thf(fact_229_bind__eq__None__conv,axiom,
! [A: option_val,F: val > option_state] :
( ( ( bind_val_state @ A @ F )
= none_state )
= ( ( A = none_val )
| ( ( F @ ( the_val @ A ) )
= none_state ) ) ) ).
% bind_eq_None_conv
thf(fact_230_bind__eq__None__conv,axiom,
! [A: option_state,F: state > option_val] :
( ( ( bind_state_val @ A @ F )
= none_val )
= ( ( A = none_state )
| ( ( F @ ( the_state @ A ) )
= none_val ) ) ) ).
% bind_eq_None_conv
thf(fact_231_bind__eq__None__conv,axiom,
! [A: option_val,F: val > option_val] :
( ( ( bind_val_val @ A @ F )
= none_val )
= ( ( A = none_val )
| ( ( F @ ( the_val @ A ) )
= none_val ) ) ) ).
% bind_eq_None_conv
thf(fact_232_bind__eq__None__conv,axiom,
! [A: option_list_char,F: list_char > option_state] :
( ( ( bind_list_char_state @ A @ F )
= none_state )
= ( ( A = none_list_char )
| ( ( F @ ( the_list_char @ A ) )
= none_state ) ) ) ).
% bind_eq_None_conv
thf(fact_233_bind__eq__None__conv,axiom,
! [A: option_list_char,F: list_char > option_val] :
( ( ( bind_list_char_val @ A @ F )
= none_val )
= ( ( A = none_list_char )
| ( ( F @ ( the_list_char @ A ) )
= none_val ) ) ) ).
% bind_eq_None_conv
thf(fact_234_bind__eq__None__conv,axiom,
! [A: option_state,F: state > option_list_char] :
( ( ( bind_state_list_char @ A @ F )
= none_list_char )
= ( ( A = none_state )
| ( ( F @ ( the_state @ A ) )
= none_list_char ) ) ) ).
% bind_eq_None_conv
thf(fact_235_bind__eq__None__conv,axiom,
! [A: option_val,F: val > option_list_char] :
( ( ( bind_val_list_char @ A @ F )
= none_list_char )
= ( ( A = none_val )
| ( ( F @ ( the_val @ A ) )
= none_list_char ) ) ) ).
% bind_eq_None_conv
thf(fact_236_bind__eq__None__conv,axiom,
! [A: option_list_char,F: list_char > option_list_char] :
( ( ( bind_l7575086113700739714t_char @ A @ F )
= none_list_char )
= ( ( A = none_list_char )
| ( ( F @ ( the_list_char @ A ) )
= none_list_char ) ) ) ).
% bind_eq_None_conv
thf(fact_237_bind__eq__None__conv,axiom,
! [A: option5747939881698552298on_val,F: ( produc1457211279475724562t_char > option_val ) > option_state] :
( ( ( bind_P6102080752330912020_state @ A @ F )
= none_state )
= ( ( A = none_P1334921381875262201on_val )
| ( ( F @ ( the_Pr646328391962797958on_val @ A ) )
= none_state ) ) ) ).
% bind_eq_None_conv
thf(fact_238_map__upd__Some__unfold,axiom,
! [M: produc9003781588162623004on_val > option_val,A: produc9003781588162623004on_val,B: val,X: produc9003781588162623004on_val,Y: val] :
( ( ( fun_up8559965269643824108on_val @ M @ A @ ( some_val @ B ) @ X )
= ( some_val @ Y ) )
= ( ( ( X = A )
& ( B = Y ) )
| ( ( X != A )
& ( ( M @ X )
= ( some_val @ Y ) ) ) ) ) ).
% map_upd_Some_unfold
thf(fact_239_map__upd__Some__unfold,axiom,
! [M: produc9003781588162623004on_val > option_state,A: produc9003781588162623004on_val,B: state,X: produc9003781588162623004on_val,Y: state] :
( ( ( fun_up6681822530636708645_state @ M @ A @ ( some_state @ B ) @ X )
= ( some_state @ Y ) )
= ( ( ( X = A )
& ( B = Y ) )
| ( ( X != A )
& ( ( M @ X )
= ( some_state @ Y ) ) ) ) ) ).
% map_upd_Some_unfold
thf(fact_240_map__upd__Some__unfold,axiom,
! [M: produc9003781588162623004on_val > option8887860577033306220on_val,A: produc9003781588162623004on_val,B: produc9003781588162623004on_val,X: produc9003781588162623004on_val,Y: produc9003781588162623004on_val] :
( ( ( fun_up273046073882939271on_val @ M @ A @ ( some_P2581650809551911671on_val @ B ) @ X )
= ( some_P2581650809551911671on_val @ Y ) )
= ( ( ( X = A )
& ( B = Y ) )
| ( ( X != A )
& ( ( M @ X )
= ( some_P2581650809551911671on_val @ Y ) ) ) ) ) ).
% map_upd_Some_unfold
thf(fact_241_map__upd__Some__unfold,axiom,
! [M: nat > option_list_char,A: nat,B: list_char,X: nat,Y: list_char] :
( ( ( fun_up4009399622604172288t_char @ M @ A @ ( some_list_char @ B ) @ X )
= ( some_list_char @ Y ) )
= ( ( ( X = A )
& ( B = Y ) )
| ( ( X != A )
& ( ( M @ X )
= ( some_list_char @ Y ) ) ) ) ) ).
% map_upd_Some_unfold
thf(fact_242_map__upd__Some__unfold,axiom,
! [M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > option_val,X: produc1457211279475724562t_char > prat,Y: produc1457211279475724562t_char > option_val] :
( ( ( fun_up1601731230164360576on_val @ M @ A @ ( some_P7669353234731512949on_val @ B ) @ X )
= ( some_P7669353234731512949on_val @ Y ) )
= ( ( ( X = A )
& ( B = Y ) )
| ( ( X != A )
& ( ( M @ X )
= ( some_P7669353234731512949on_val @ Y ) ) ) ) ) ).
% map_upd_Some_unfold
thf(fact_243_map__upd__triv,axiom,
! [T: produc9003781588162623004on_val > option_val,K: produc9003781588162623004on_val,X: val] :
( ( ( T @ K )
= ( some_val @ X ) )
=> ( ( fun_up8559965269643824108on_val @ T @ K @ ( some_val @ X ) )
= T ) ) ).
% map_upd_triv
thf(fact_244_map__upd__triv,axiom,
! [T: produc9003781588162623004on_val > option_state,K: produc9003781588162623004on_val,X: state] :
( ( ( T @ K )
= ( some_state @ X ) )
=> ( ( fun_up6681822530636708645_state @ T @ K @ ( some_state @ X ) )
= T ) ) ).
% map_upd_triv
thf(fact_245_map__upd__triv,axiom,
! [T: produc9003781588162623004on_val > option8887860577033306220on_val,K: produc9003781588162623004on_val,X: produc9003781588162623004on_val] :
( ( ( T @ K )
= ( some_P2581650809551911671on_val @ X ) )
=> ( ( fun_up273046073882939271on_val @ T @ K @ ( some_P2581650809551911671on_val @ X ) )
= T ) ) ).
% map_upd_triv
thf(fact_246_map__upd__triv,axiom,
! [T: nat > option_list_char,K: nat,X: list_char] :
( ( ( T @ K )
= ( some_list_char @ X ) )
=> ( ( fun_up4009399622604172288t_char @ T @ K @ ( some_list_char @ X ) )
= T ) ) ).
% map_upd_triv
thf(fact_247_map__upd__triv,axiom,
! [T: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,K: produc1457211279475724562t_char > prat,X: produc1457211279475724562t_char > option_val] :
( ( ( T @ K )
= ( some_P7669353234731512949on_val @ X ) )
=> ( ( fun_up1601731230164360576on_val @ T @ K @ ( some_P7669353234731512949on_val @ X ) )
= T ) ) ).
% map_upd_triv
thf(fact_248_map__upd__eqD1,axiom,
! [M: produc9003781588162623004on_val > option_val,A: produc9003781588162623004on_val,X: val,N: produc9003781588162623004on_val > option_val,Y: val] :
( ( ( fun_up8559965269643824108on_val @ M @ A @ ( some_val @ X ) )
= ( fun_up8559965269643824108on_val @ N @ A @ ( some_val @ Y ) ) )
=> ( X = Y ) ) ).
% map_upd_eqD1
thf(fact_249_map__upd__eqD1,axiom,
! [M: produc9003781588162623004on_val > option_state,A: produc9003781588162623004on_val,X: state,N: produc9003781588162623004on_val > option_state,Y: state] :
( ( ( fun_up6681822530636708645_state @ M @ A @ ( some_state @ X ) )
= ( fun_up6681822530636708645_state @ N @ A @ ( some_state @ Y ) ) )
=> ( X = Y ) ) ).
% map_upd_eqD1
thf(fact_250_map__upd__eqD1,axiom,
! [M: produc9003781588162623004on_val > option8887860577033306220on_val,A: produc9003781588162623004on_val,X: produc9003781588162623004on_val,N: produc9003781588162623004on_val > option8887860577033306220on_val,Y: produc9003781588162623004on_val] :
( ( ( fun_up273046073882939271on_val @ M @ A @ ( some_P2581650809551911671on_val @ X ) )
= ( fun_up273046073882939271on_val @ N @ A @ ( some_P2581650809551911671on_val @ Y ) ) )
=> ( X = Y ) ) ).
% map_upd_eqD1
thf(fact_251_map__upd__eqD1,axiom,
! [M: nat > option_list_char,A: nat,X: list_char,N: nat > option_list_char,Y: list_char] :
( ( ( fun_up4009399622604172288t_char @ M @ A @ ( some_list_char @ X ) )
= ( fun_up4009399622604172288t_char @ N @ A @ ( some_list_char @ Y ) ) )
=> ( X = Y ) ) ).
% map_upd_eqD1
thf(fact_252_map__upd__eqD1,axiom,
! [M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,A: produc1457211279475724562t_char > prat,X: produc1457211279475724562t_char > option_val,N: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,Y: produc1457211279475724562t_char > option_val] :
( ( ( fun_up1601731230164360576on_val @ M @ A @ ( some_P7669353234731512949on_val @ X ) )
= ( fun_up1601731230164360576on_val @ N @ A @ ( some_P7669353234731512949on_val @ Y ) ) )
=> ( X = Y ) ) ).
% map_upd_eqD1
thf(fact_253_option_Osel,axiom,
! [X2: produc9003781588162623004on_val] :
( ( the_Pr3639693038709580936on_val @ ( some_P2581650809551911671on_val @ X2 ) )
= X2 ) ).
% option.sel
thf(fact_254_option_Osel,axiom,
! [X2: list_char] :
( ( the_list_char @ ( some_list_char @ X2 ) )
= X2 ) ).
% option.sel
thf(fact_255_option_Osel,axiom,
! [X2: produc1457211279475724562t_char > option_val] :
( ( the_Pr646328391962797958on_val @ ( some_P7669353234731512949on_val @ X2 ) )
= X2 ) ).
% option.sel
thf(fact_256_option_Osel,axiom,
! [X2: val] :
( ( the_val @ ( some_val @ X2 ) )
= X2 ) ).
% option.sel
thf(fact_257_option_Osel,axiom,
! [X2: state] :
( ( the_state @ ( some_state @ X2 ) )
= X2 ) ).
% option.sel
thf(fact_258_option_Oexpand,axiom,
! [Option: option8887860577033306220on_val,Option2: option8887860577033306220on_val] :
( ( ( Option = none_P8728355543607141243on_val )
= ( Option2 = none_P8728355543607141243on_val ) )
=> ( ( ( Option != none_P8728355543607141243on_val )
=> ( ( Option2 != none_P8728355543607141243on_val )
=> ( ( the_Pr3639693038709580936on_val @ Option )
= ( the_Pr3639693038709580936on_val @ Option2 ) ) ) )
=> ( Option = Option2 ) ) ) ).
% option.expand
thf(fact_259_option_Oexpand,axiom,
! [Option: option_list_char,Option2: option_list_char] :
( ( ( Option = none_list_char )
= ( Option2 = none_list_char ) )
=> ( ( ( Option != none_list_char )
=> ( ( Option2 != none_list_char )
=> ( ( the_list_char @ Option )
= ( the_list_char @ Option2 ) ) ) )
=> ( Option = Option2 ) ) ) ).
% option.expand
thf(fact_260_option_Oexpand,axiom,
! [Option: option5747939881698552298on_val,Option2: option5747939881698552298on_val] :
( ( ( Option = none_P1334921381875262201on_val )
= ( Option2 = none_P1334921381875262201on_val ) )
=> ( ( ( Option != none_P1334921381875262201on_val )
=> ( ( Option2 != none_P1334921381875262201on_val )
=> ( ( the_Pr646328391962797958on_val @ Option )
= ( the_Pr646328391962797958on_val @ Option2 ) ) ) )
=> ( Option = Option2 ) ) ) ).
% option.expand
thf(fact_261_option_Oexpand,axiom,
! [Option: option_state,Option2: option_state] :
( ( ( Option = none_state )
= ( Option2 = none_state ) )
=> ( ( ( Option != none_state )
=> ( ( Option2 != none_state )
=> ( ( the_state @ Option )
= ( the_state @ Option2 ) ) ) )
=> ( Option = Option2 ) ) ) ).
% option.expand
thf(fact_262_option_Oexpand,axiom,
! [Option: option_val,Option2: option_val] :
( ( ( Option = none_val )
= ( Option2 = none_val ) )
=> ( ( ( Option != none_val )
=> ( ( Option2 != none_val )
=> ( ( the_val @ Option )
= ( the_val @ Option2 ) ) ) )
=> ( Option = Option2 ) ) ) ).
% option.expand
thf(fact_263_bind_Obind__lunit,axiom,
! [X: val,F: val > option_val] :
( ( bind_val_val @ ( some_val @ X ) @ F )
= ( F @ X ) ) ).
% bind.bind_lunit
thf(fact_264_bind_Obind__lunit,axiom,
! [X: val,F: val > option_state] :
( ( bind_val_state @ ( some_val @ X ) @ F )
= ( F @ X ) ) ).
% bind.bind_lunit
thf(fact_265_bind_Obind__lunit,axiom,
! [X: state,F: state > option_val] :
( ( bind_state_val @ ( some_state @ X ) @ F )
= ( F @ X ) ) ).
% bind.bind_lunit
thf(fact_266_bind_Obind__lunit,axiom,
! [X: state,F: state > option_state] :
( ( bind_state_state @ ( some_state @ X ) @ F )
= ( F @ X ) ) ).
% bind.bind_lunit
thf(fact_267_Option_Obind__cong,axiom,
! [X: option_val,Y: option_val,F: val > option_val,G: val > option_val] :
( ( X = Y )
=> ( ! [A4: val] :
( ( Y
= ( some_val @ A4 ) )
=> ( ( F @ A4 )
= ( G @ A4 ) ) )
=> ( ( bind_val_val @ X @ F )
= ( bind_val_val @ Y @ G ) ) ) ) ).
% Option.bind_cong
thf(fact_268_Option_Obind__cong,axiom,
! [X: option_val,Y: option_val,F: val > option_state,G: val > option_state] :
( ( X = Y )
=> ( ! [A4: val] :
( ( Y
= ( some_val @ A4 ) )
=> ( ( F @ A4 )
= ( G @ A4 ) ) )
=> ( ( bind_val_state @ X @ F )
= ( bind_val_state @ Y @ G ) ) ) ) ).
% Option.bind_cong
thf(fact_269_Option_Obind__cong,axiom,
! [X: option_state,Y: option_state,F: state > option_val,G: state > option_val] :
( ( X = Y )
=> ( ! [A4: state] :
( ( Y
= ( some_state @ A4 ) )
=> ( ( F @ A4 )
= ( G @ A4 ) ) )
=> ( ( bind_state_val @ X @ F )
= ( bind_state_val @ Y @ G ) ) ) ) ).
% Option.bind_cong
thf(fact_270_Option_Obind__cong,axiom,
! [X: option_state,Y: option_state,F: state > option_state,G: state > option_state] :
( ( X = Y )
=> ( ! [A4: state] :
( ( Y
= ( some_state @ A4 ) )
=> ( ( F @ A4 )
= ( G @ A4 ) ) )
=> ( ( bind_state_state @ X @ F )
= ( bind_state_state @ Y @ G ) ) ) ) ).
% Option.bind_cong
thf(fact_271_bind__eq__Some__conv,axiom,
! [F: option_val,G: val > option_val,X: val] :
( ( ( bind_val_val @ F @ G )
= ( some_val @ X ) )
= ( ? [Y3: val] :
( ( F
= ( some_val @ Y3 ) )
& ( ( G @ Y3 )
= ( some_val @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_272_bind__eq__Some__conv,axiom,
! [F: option_state,G: state > option_val,X: val] :
( ( ( bind_state_val @ F @ G )
= ( some_val @ X ) )
= ( ? [Y3: state] :
( ( F
= ( some_state @ Y3 ) )
& ( ( G @ Y3 )
= ( some_val @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_273_bind__eq__Some__conv,axiom,
! [F: option_val,G: val > option_state,X: state] :
( ( ( bind_val_state @ F @ G )
= ( some_state @ X ) )
= ( ? [Y3: val] :
( ( F
= ( some_val @ Y3 ) )
& ( ( G @ Y3 )
= ( some_state @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_274_bind__eq__Some__conv,axiom,
! [F: option_state,G: state > option_state,X: state] :
( ( ( bind_state_state @ F @ G )
= ( some_state @ X ) )
= ( ? [Y3: state] :
( ( F
= ( some_state @ Y3 ) )
& ( ( G @ Y3 )
= ( some_state @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_275_bind__eq__Some__conv,axiom,
! [F: option_list_char,G: list_char > option_val,X: val] :
( ( ( bind_list_char_val @ F @ G )
= ( some_val @ X ) )
= ( ? [Y3: list_char] :
( ( F
= ( some_list_char @ Y3 ) )
& ( ( G @ Y3 )
= ( some_val @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_276_bind__eq__Some__conv,axiom,
! [F: option_list_char,G: list_char > option_state,X: state] :
( ( ( bind_list_char_state @ F @ G )
= ( some_state @ X ) )
= ( ? [Y3: list_char] :
( ( F
= ( some_list_char @ Y3 ) )
& ( ( G @ Y3 )
= ( some_state @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_277_bind__eq__Some__conv,axiom,
! [F: option_val,G: val > option_list_char,X: list_char] :
( ( ( bind_val_list_char @ F @ G )
= ( some_list_char @ X ) )
= ( ? [Y3: val] :
( ( F
= ( some_val @ Y3 ) )
& ( ( G @ Y3 )
= ( some_list_char @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_278_bind__eq__Some__conv,axiom,
! [F: option_state,G: state > option_list_char,X: list_char] :
( ( ( bind_state_list_char @ F @ G )
= ( some_list_char @ X ) )
= ( ? [Y3: state] :
( ( F
= ( some_state @ Y3 ) )
& ( ( G @ Y3 )
= ( some_list_char @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_279_bind__eq__Some__conv,axiom,
! [F: option_list_char,G: list_char > option_list_char,X: list_char] :
( ( ( bind_l7575086113700739714t_char @ F @ G )
= ( some_list_char @ X ) )
= ( ? [Y3: list_char] :
( ( F
= ( some_list_char @ Y3 ) )
& ( ( G @ Y3 )
= ( some_list_char @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_280_bind__eq__Some__conv,axiom,
! [F: option5747939881698552298on_val,G: ( produc1457211279475724562t_char > option_val ) > option_val,X: val] :
( ( ( bind_P5848121846087789735al_val @ F @ G )
= ( some_val @ X ) )
= ( ? [Y3: produc1457211279475724562t_char > option_val] :
( ( F
= ( some_P7669353234731512949on_val @ Y3 ) )
& ( ( G @ Y3 )
= ( some_val @ X ) ) ) ) ) ).
% bind_eq_Some_conv
thf(fact_281_bind_Obind__lzero,axiom,
! [F: state > option_state] :
( ( bind_state_state @ none_state @ F )
= none_state ) ).
% bind.bind_lzero
thf(fact_282_bind_Obind__lzero,axiom,
! [F: state > option_val] :
( ( bind_state_val @ none_state @ F )
= none_val ) ).
% bind.bind_lzero
thf(fact_283_bind_Obind__lzero,axiom,
! [F: val > option_state] :
( ( bind_val_state @ none_val @ F )
= none_state ) ).
% bind.bind_lzero
thf(fact_284_bind_Obind__lzero,axiom,
! [F: val > option_val] :
( ( bind_val_val @ none_val @ F )
= none_val ) ).
% bind.bind_lzero
thf(fact_285_bind_Obind__lzero,axiom,
! [F: state > option_list_char] :
( ( bind_state_list_char @ none_state @ F )
= none_list_char ) ).
% bind.bind_lzero
thf(fact_286_bind_Obind__lzero,axiom,
! [F: val > option_list_char] :
( ( bind_val_list_char @ none_val @ F )
= none_list_char ) ).
% bind.bind_lzero
thf(fact_287_bind_Obind__lzero,axiom,
! [F: list_char > option_state] :
( ( bind_list_char_state @ none_list_char @ F )
= none_state ) ).
% bind.bind_lzero
thf(fact_288_bind_Obind__lzero,axiom,
! [F: list_char > option_val] :
( ( bind_list_char_val @ none_list_char @ F )
= none_val ) ).
% bind.bind_lzero
thf(fact_289_bind_Obind__lzero,axiom,
! [F: list_char > option_list_char] :
( ( bind_l7575086113700739714t_char @ none_list_char @ F )
= none_list_char ) ).
% bind.bind_lzero
thf(fact_290_bind_Obind__lzero,axiom,
! [F: state > option5747939881698552298on_val] :
( ( bind_s7388421589535509396on_val @ none_state @ F )
= none_P1334921381875262201on_val ) ).
% bind.bind_lzero
thf(fact_291_map__upd__nonempty,axiom,
! [T: produc9003781588162623004on_val > option_val,K: produc9003781588162623004on_val,X: val] :
( ( fun_up8559965269643824108on_val @ T @ K @ ( some_val @ X ) )
!= ( ^ [X4: produc9003781588162623004on_val] : none_val ) ) ).
% map_upd_nonempty
thf(fact_292_map__upd__nonempty,axiom,
! [T: produc9003781588162623004on_val > option_state,K: produc9003781588162623004on_val,X: state] :
( ( fun_up6681822530636708645_state @ T @ K @ ( some_state @ X ) )
!= ( ^ [X4: produc9003781588162623004on_val] : none_state ) ) ).
% map_upd_nonempty
thf(fact_293_map__upd__nonempty,axiom,
! [T: produc9003781588162623004on_val > option8887860577033306220on_val,K: produc9003781588162623004on_val,X: produc9003781588162623004on_val] :
( ( fun_up273046073882939271on_val @ T @ K @ ( some_P2581650809551911671on_val @ X ) )
!= ( ^ [X4: produc9003781588162623004on_val] : none_P8728355543607141243on_val ) ) ).
% map_upd_nonempty
thf(fact_294_map__upd__nonempty,axiom,
! [T: nat > option_list_char,K: nat,X: list_char] :
( ( fun_up4009399622604172288t_char @ T @ K @ ( some_list_char @ X ) )
!= ( ^ [X4: nat] : none_list_char ) ) ).
% map_upd_nonempty
thf(fact_295_map__upd__nonempty,axiom,
! [T: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,K: produc1457211279475724562t_char > prat,X: produc1457211279475724562t_char > option_val] :
( ( fun_up1601731230164360576on_val @ T @ K @ ( some_P7669353234731512949on_val @ X ) )
!= ( ^ [X4: produc1457211279475724562t_char > prat] : none_P1334921381875262201on_val ) ) ).
% map_upd_nonempty
thf(fact_296_mult__distr__masks,axiom,
! [A: prat,B: produc1457211279475724562t_char > prat,C: produc1457211279475724562t_char > prat] :
( ( multiply_mask @ A @ ( add_ma6586698345353345811t_char @ B @ C ) )
= ( add_ma6586698345353345811t_char @ ( multiply_mask @ A @ B ) @ ( multiply_mask @ A @ C ) ) ) ).
% mult_distr_masks
thf(fact_297_option_Oexhaust__sel,axiom,
! [Option: option8887860577033306220on_val] :
( ( Option != none_P8728355543607141243on_val )
=> ( Option
= ( some_P2581650809551911671on_val @ ( the_Pr3639693038709580936on_val @ Option ) ) ) ) ).
% option.exhaust_sel
thf(fact_298_option_Oexhaust__sel,axiom,
! [Option: option_list_char] :
( ( Option != none_list_char )
=> ( Option
= ( some_list_char @ ( the_list_char @ Option ) ) ) ) ).
% option.exhaust_sel
thf(fact_299_option_Oexhaust__sel,axiom,
! [Option: option5747939881698552298on_val] :
( ( Option != none_P1334921381875262201on_val )
=> ( Option
= ( some_P7669353234731512949on_val @ ( the_Pr646328391962797958on_val @ Option ) ) ) ) ).
% option.exhaust_sel
thf(fact_300_option_Oexhaust__sel,axiom,
! [Option: option_val] :
( ( Option != none_val )
=> ( Option
= ( some_val @ ( the_val @ Option ) ) ) ) ).
% option.exhaust_sel
thf(fact_301_option_Oexhaust__sel,axiom,
! [Option: option_state] :
( ( Option != none_state )
=> ( Option
= ( some_state @ ( the_state @ Option ) ) ) ) ).
% option.exhaust_sel
thf(fact_302_fun__upd__apply,axiom,
( fun_up6681822530636708645_state
= ( ^ [F2: produc9003781588162623004on_val > option_state,X4: produc9003781588162623004on_val,Y3: option_state,Z3: produc9003781588162623004on_val] : ( if_option_state @ ( Z3 = X4 ) @ Y3 @ ( F2 @ Z3 ) ) ) ) ).
% fun_upd_apply
thf(fact_303_fun__upd__apply,axiom,
( fun_up273046073882939271on_val
= ( ^ [F2: produc9003781588162623004on_val > option8887860577033306220on_val,X4: produc9003781588162623004on_val,Y3: option8887860577033306220on_val,Z3: produc9003781588162623004on_val] : ( if_opt2965748431298708774on_val @ ( Z3 = X4 ) @ Y3 @ ( F2 @ Z3 ) ) ) ) ).
% fun_upd_apply
thf(fact_304_fun__upd__apply,axiom,
( fun_up8559965269643824108on_val
= ( ^ [F2: produc9003781588162623004on_val > option_val,X4: produc9003781588162623004on_val,Y3: option_val,Z3: produc9003781588162623004on_val] : ( if_option_val @ ( Z3 = X4 ) @ Y3 @ ( F2 @ Z3 ) ) ) ) ).
% fun_upd_apply
thf(fact_305_fun__upd__apply,axiom,
( fun_up4009399622604172288t_char
= ( ^ [F2: nat > option_list_char,X4: nat,Y3: option_list_char,Z3: nat] : ( if_option_list_char @ ( Z3 = X4 ) @ Y3 @ ( F2 @ Z3 ) ) ) ) ).
% fun_upd_apply
thf(fact_306_fun__upd__apply,axiom,
( fun_up1601731230164360576on_val
= ( ^ [F2: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X4: produc1457211279475724562t_char > prat,Y3: option5747939881698552298on_val,Z3: produc1457211279475724562t_char > prat] : ( if_opt6509584284076893604on_val @ ( Z3 = X4 ) @ Y3 @ ( F2 @ Z3 ) ) ) ) ).
% fun_upd_apply
thf(fact_307_fun__upd__triv,axiom,
! [F: produc9003781588162623004on_val > option_state,X: produc9003781588162623004on_val] :
( ( fun_up6681822530636708645_state @ F @ X @ ( F @ X ) )
= F ) ).
% fun_upd_triv
thf(fact_308_fun__upd__triv,axiom,
! [F: produc9003781588162623004on_val > option8887860577033306220on_val,X: produc9003781588162623004on_val] :
( ( fun_up273046073882939271on_val @ F @ X @ ( F @ X ) )
= F ) ).
% fun_upd_triv
thf(fact_309_fun__upd__triv,axiom,
! [F: produc9003781588162623004on_val > option_val,X: produc9003781588162623004on_val] :
( ( fun_up8559965269643824108on_val @ F @ X @ ( F @ X ) )
= F ) ).
% fun_upd_triv
thf(fact_310_fun__upd__triv,axiom,
! [F: nat > option_list_char,X: nat] :
( ( fun_up4009399622604172288t_char @ F @ X @ ( F @ X ) )
= F ) ).
% fun_upd_triv
thf(fact_311_fun__upd__triv,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X: produc1457211279475724562t_char > prat] :
( ( fun_up1601731230164360576on_val @ F @ X @ ( F @ X ) )
= F ) ).
% fun_upd_triv
thf(fact_312_fun__upd__upd,axiom,
! [F: produc9003781588162623004on_val > option_state,X: produc9003781588162623004on_val,Y: option_state,Z: option_state] :
( ( fun_up6681822530636708645_state @ ( fun_up6681822530636708645_state @ F @ X @ Y ) @ X @ Z )
= ( fun_up6681822530636708645_state @ F @ X @ Z ) ) ).
% fun_upd_upd
thf(fact_313_fun__upd__upd,axiom,
! [F: produc9003781588162623004on_val > option8887860577033306220on_val,X: produc9003781588162623004on_val,Y: option8887860577033306220on_val,Z: option8887860577033306220on_val] :
( ( fun_up273046073882939271on_val @ ( fun_up273046073882939271on_val @ F @ X @ Y ) @ X @ Z )
= ( fun_up273046073882939271on_val @ F @ X @ Z ) ) ).
% fun_upd_upd
thf(fact_314_fun__upd__upd,axiom,
! [F: produc9003781588162623004on_val > option_val,X: produc9003781588162623004on_val,Y: option_val,Z: option_val] :
( ( fun_up8559965269643824108on_val @ ( fun_up8559965269643824108on_val @ F @ X @ Y ) @ X @ Z )
= ( fun_up8559965269643824108on_val @ F @ X @ Z ) ) ).
% fun_upd_upd
thf(fact_315_fun__upd__upd,axiom,
! [F: nat > option_list_char,X: nat,Y: option_list_char,Z: option_list_char] :
( ( fun_up4009399622604172288t_char @ ( fun_up4009399622604172288t_char @ F @ X @ Y ) @ X @ Z )
= ( fun_up4009399622604172288t_char @ F @ X @ Z ) ) ).
% fun_upd_upd
thf(fact_316_fun__upd__upd,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X: produc1457211279475724562t_char > prat,Y: option5747939881698552298on_val,Z: option5747939881698552298on_val] :
( ( fun_up1601731230164360576on_val @ ( fun_up1601731230164360576on_val @ F @ X @ Y ) @ X @ Z )
= ( fun_up1601731230164360576on_val @ F @ X @ Z ) ) ).
% fun_upd_upd
thf(fact_317_option_Osplit__sel,axiom,
! [P: option_state > $o,F1: option_state,F22: state > option_state,Option: option_state] :
( ( P @ ( case_o8916064052540797265_state @ F1 @ F22 @ Option ) )
= ( ( ( Option = none_state )
=> ( P @ F1 ) )
& ( ( Option
= ( some_state @ ( the_state @ Option ) ) )
=> ( P @ ( F22 @ ( the_state @ Option ) ) ) ) ) ) ).
% option.split_sel
thf(fact_318_option_Osplit__sel,axiom,
! [P: option_val > $o,F1: option_val,F22: val > option_val,Option: option_val] :
( ( P @ ( case_o7794706883426356101al_val @ F1 @ F22 @ Option ) )
= ( ( ( Option = none_val )
=> ( P @ F1 ) )
& ( ( Option
= ( some_val @ ( the_val @ Option ) ) )
=> ( P @ ( F22 @ ( the_val @ Option ) ) ) ) ) ) ).
% option.split_sel
thf(fact_319_option_Osplit__sel,axiom,
! [P: val > $o,F1: val,F22: val > val,Option: option_val] :
( ( P @ ( case_option_val_val @ F1 @ F22 @ Option ) )
= ( ( ( Option = none_val )
=> ( P @ F1 ) )
& ( ( Option
= ( some_val @ ( the_val @ Option ) ) )
=> ( P @ ( F22 @ ( the_val @ Option ) ) ) ) ) ) ).
% option.split_sel
thf(fact_320_option_Osplit__sel,axiom,
! [P: $o > $o,F1: $o,F22: state > $o,Option: option_state] :
( ( P @ ( case_option_o_state @ F1 @ F22 @ Option ) )
= ( ( ( Option = none_state )
=> ( P @ F1 ) )
& ( ( Option
= ( some_state @ ( the_state @ Option ) ) )
=> ( P @ ( F22 @ ( the_state @ Option ) ) ) ) ) ) ).
% option.split_sel
thf(fact_321_option_Osplit__sel,axiom,
! [P: $o > $o,F1: $o,F22: val > $o,Option: option_val] :
( ( P @ ( case_option_o_val @ F1 @ F22 @ Option ) )
= ( ( ( Option = none_val )
=> ( P @ F1 ) )
& ( ( Option
= ( some_val @ ( the_val @ Option ) ) )
=> ( P @ ( F22 @ ( the_val @ Option ) ) ) ) ) ) ).
% option.split_sel
thf(fact_322_option_Osplit__sel__asm,axiom,
! [P: option_state > $o,F1: option_state,F22: state > option_state,Option: option_state] :
( ( P @ ( case_o8916064052540797265_state @ F1 @ F22 @ Option ) )
= ( ~ ( ( ( Option = none_state )
& ~ ( P @ F1 ) )
| ( ( Option
= ( some_state @ ( the_state @ Option ) ) )
& ~ ( P @ ( F22 @ ( the_state @ Option ) ) ) ) ) ) ) ).
% option.split_sel_asm
thf(fact_323_option_Osplit__sel__asm,axiom,
! [P: option_val > $o,F1: option_val,F22: val > option_val,Option: option_val] :
( ( P @ ( case_o7794706883426356101al_val @ F1 @ F22 @ Option ) )
= ( ~ ( ( ( Option = none_val )
& ~ ( P @ F1 ) )
| ( ( Option
= ( some_val @ ( the_val @ Option ) ) )
& ~ ( P @ ( F22 @ ( the_val @ Option ) ) ) ) ) ) ) ).
% option.split_sel_asm
thf(fact_324_option_Osplit__sel__asm,axiom,
! [P: val > $o,F1: val,F22: val > val,Option: option_val] :
( ( P @ ( case_option_val_val @ F1 @ F22 @ Option ) )
= ( ~ ( ( ( Option = none_val )
& ~ ( P @ F1 ) )
| ( ( Option
= ( some_val @ ( the_val @ Option ) ) )
& ~ ( P @ ( F22 @ ( the_val @ Option ) ) ) ) ) ) ) ).
% option.split_sel_asm
thf(fact_325_option_Osplit__sel__asm,axiom,
! [P: $o > $o,F1: $o,F22: state > $o,Option: option_state] :
( ( P @ ( case_option_o_state @ F1 @ F22 @ Option ) )
= ( ~ ( ( ( Option = none_state )
& ~ ( P @ F1 ) )
| ( ( Option
= ( some_state @ ( the_state @ Option ) ) )
& ~ ( P @ ( F22 @ ( the_state @ Option ) ) ) ) ) ) ) ).
% option.split_sel_asm
thf(fact_326_option_Osplit__sel__asm,axiom,
! [P: $o > $o,F1: $o,F22: val > $o,Option: option_val] :
( ( P @ ( case_option_o_val @ F1 @ F22 @ Option ) )
= ( ~ ( ( ( Option = none_val )
& ~ ( P @ F1 ) )
| ( ( Option
= ( some_val @ ( the_val @ Option ) ) )
& ~ ( P @ ( F22 @ ( the_val @ Option ) ) ) ) ) ) ) ).
% option.split_sel_asm
thf(fact_327_map__le__imp__upd__le,axiom,
! [M1: produc1457211279475724562t_char > option_val,M2: produc1457211279475724562t_char > option_val,X: produc1457211279475724562t_char,Y: val] :
( ( map_le3432596473071271956ar_val @ M1 @ M2 )
=> ( map_le3432596473071271956ar_val @ ( fun_up5735975307950539954on_val @ M1 @ X @ none_val ) @ ( fun_up5735975307950539954on_val @ M2 @ X @ ( some_val @ Y ) ) ) ) ).
% map_le_imp_upd_le
thf(fact_328_map__le__imp__upd__le,axiom,
! [M1: produc9003781588162623004on_val > option_val,M2: produc9003781588162623004on_val > option_val,X: produc9003781588162623004on_val,Y: val] :
( ( map_le662008219874789630al_val @ M1 @ M2 )
=> ( map_le662008219874789630al_val @ ( fun_up8559965269643824108on_val @ M1 @ X @ none_val ) @ ( fun_up8559965269643824108on_val @ M2 @ X @ ( some_val @ Y ) ) ) ) ).
% map_le_imp_upd_le
thf(fact_329_map__le__imp__upd__le,axiom,
! [M1: produc9003781588162623004on_val > option_state,M2: produc9003781588162623004on_val > option_state,X: produc9003781588162623004on_val,Y: state] :
( ( map_le2714403320317326333_state @ M1 @ M2 )
=> ( map_le2714403320317326333_state @ ( fun_up6681822530636708645_state @ M1 @ X @ none_state ) @ ( fun_up6681822530636708645_state @ M2 @ X @ ( some_state @ Y ) ) ) ) ).
% map_le_imp_upd_le
thf(fact_330_map__le__imp__upd__le,axiom,
! [M1: produc9003781588162623004on_val > option8887860577033306220on_val,M2: produc9003781588162623004on_val > option8887860577033306220on_val,X: produc9003781588162623004on_val,Y: produc9003781588162623004on_val] :
( ( map_le1786601613863086943on_val @ M1 @ M2 )
=> ( map_le1786601613863086943on_val @ ( fun_up273046073882939271on_val @ M1 @ X @ none_P8728355543607141243on_val ) @ ( fun_up273046073882939271on_val @ M2 @ X @ ( some_P2581650809551911671on_val @ Y ) ) ) ) ).
% map_le_imp_upd_le
thf(fact_331_map__le__imp__upd__le,axiom,
! [M1: nat > option_list_char,M2: nat > option_list_char,X: nat,Y: list_char] :
( ( map_le_nat_list_char @ M1 @ M2 )
=> ( map_le_nat_list_char @ ( fun_up4009399622604172288t_char @ M1 @ X @ none_list_char ) @ ( fun_up4009399622604172288t_char @ M2 @ X @ ( some_list_char @ Y ) ) ) ) ).
% map_le_imp_upd_le
thf(fact_332_map__le__imp__upd__le,axiom,
! [M1: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,M2: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X: produc1457211279475724562t_char > prat,Y: produc1457211279475724562t_char > option_val] :
( ( map_le7591542393800649736on_val @ M1 @ M2 )
=> ( map_le7591542393800649736on_val @ ( fun_up1601731230164360576on_val @ M1 @ X @ none_P1334921381875262201on_val ) @ ( fun_up1601731230164360576on_val @ M2 @ X @ ( some_P7669353234731512949on_val @ Y ) ) ) ) ).
% map_le_imp_upd_le
thf(fact_333_fun__upd__idem__iff,axiom,
! [F: produc9003781588162623004on_val > option_state,X: produc9003781588162623004on_val,Y: option_state] :
( ( ( fun_up6681822530636708645_state @ F @ X @ Y )
= F )
= ( ( F @ X )
= Y ) ) ).
% fun_upd_idem_iff
thf(fact_334_fun__upd__idem__iff,axiom,
! [F: produc9003781588162623004on_val > option8887860577033306220on_val,X: produc9003781588162623004on_val,Y: option8887860577033306220on_val] :
( ( ( fun_up273046073882939271on_val @ F @ X @ Y )
= F )
= ( ( F @ X )
= Y ) ) ).
% fun_upd_idem_iff
thf(fact_335_fun__upd__idem__iff,axiom,
! [F: produc9003781588162623004on_val > option_val,X: produc9003781588162623004on_val,Y: option_val] :
( ( ( fun_up8559965269643824108on_val @ F @ X @ Y )
= F )
= ( ( F @ X )
= Y ) ) ).
% fun_upd_idem_iff
thf(fact_336_fun__upd__idem__iff,axiom,
! [F: nat > option_list_char,X: nat,Y: option_list_char] :
( ( ( fun_up4009399622604172288t_char @ F @ X @ Y )
= F )
= ( ( F @ X )
= Y ) ) ).
% fun_upd_idem_iff
thf(fact_337_fun__upd__idem__iff,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X: produc1457211279475724562t_char > prat,Y: option5747939881698552298on_val] :
( ( ( fun_up1601731230164360576on_val @ F @ X @ Y )
= F )
= ( ( F @ X )
= Y ) ) ).
% fun_upd_idem_iff
thf(fact_338_fun__upd__twist,axiom,
! [A: produc9003781588162623004on_val,C: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option_state,B: option_state,D: option_state] :
( ( A != C )
=> ( ( fun_up6681822530636708645_state @ ( fun_up6681822530636708645_state @ M @ A @ B ) @ C @ D )
= ( fun_up6681822530636708645_state @ ( fun_up6681822530636708645_state @ M @ C @ D ) @ A @ B ) ) ) ).
% fun_upd_twist
thf(fact_339_fun__upd__twist,axiom,
! [A: produc9003781588162623004on_val,C: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option8887860577033306220on_val,B: option8887860577033306220on_val,D: option8887860577033306220on_val] :
( ( A != C )
=> ( ( fun_up273046073882939271on_val @ ( fun_up273046073882939271on_val @ M @ A @ B ) @ C @ D )
= ( fun_up273046073882939271on_val @ ( fun_up273046073882939271on_val @ M @ C @ D ) @ A @ B ) ) ) ).
% fun_upd_twist
thf(fact_340_fun__upd__twist,axiom,
! [A: produc9003781588162623004on_val,C: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option_val,B: option_val,D: option_val] :
( ( A != C )
=> ( ( fun_up8559965269643824108on_val @ ( fun_up8559965269643824108on_val @ M @ A @ B ) @ C @ D )
= ( fun_up8559965269643824108on_val @ ( fun_up8559965269643824108on_val @ M @ C @ D ) @ A @ B ) ) ) ).
% fun_upd_twist
thf(fact_341_fun__upd__twist,axiom,
! [A: nat,C: nat,M: nat > option_list_char,B: option_list_char,D: option_list_char] :
( ( A != C )
=> ( ( fun_up4009399622604172288t_char @ ( fun_up4009399622604172288t_char @ M @ A @ B ) @ C @ D )
= ( fun_up4009399622604172288t_char @ ( fun_up4009399622604172288t_char @ M @ C @ D ) @ A @ B ) ) ) ).
% fun_upd_twist
thf(fact_342_fun__upd__twist,axiom,
! [A: produc1457211279475724562t_char > prat,C: produc1457211279475724562t_char > prat,M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,B: option5747939881698552298on_val,D: option5747939881698552298on_val] :
( ( A != C )
=> ( ( fun_up1601731230164360576on_val @ ( fun_up1601731230164360576on_val @ M @ A @ B ) @ C @ D )
= ( fun_up1601731230164360576on_val @ ( fun_up1601731230164360576on_val @ M @ C @ D ) @ A @ B ) ) ) ).
% fun_upd_twist
thf(fact_343_fun__upd__other,axiom,
! [Z: produc9003781588162623004on_val,X: produc9003781588162623004on_val,F: produc9003781588162623004on_val > option_state,Y: option_state] :
( ( Z != X )
=> ( ( fun_up6681822530636708645_state @ F @ X @ Y @ Z )
= ( F @ Z ) ) ) ).
% fun_upd_other
thf(fact_344_fun__upd__other,axiom,
! [Z: produc9003781588162623004on_val,X: produc9003781588162623004on_val,F: produc9003781588162623004on_val > option8887860577033306220on_val,Y: option8887860577033306220on_val] :
( ( Z != X )
=> ( ( fun_up273046073882939271on_val @ F @ X @ Y @ Z )
= ( F @ Z ) ) ) ).
% fun_upd_other
thf(fact_345_fun__upd__other,axiom,
! [Z: produc9003781588162623004on_val,X: produc9003781588162623004on_val,F: produc9003781588162623004on_val > option_val,Y: option_val] :
( ( Z != X )
=> ( ( fun_up8559965269643824108on_val @ F @ X @ Y @ Z )
= ( F @ Z ) ) ) ).
% fun_upd_other
thf(fact_346_fun__upd__other,axiom,
! [Z: nat,X: nat,F: nat > option_list_char,Y: option_list_char] :
( ( Z != X )
=> ( ( fun_up4009399622604172288t_char @ F @ X @ Y @ Z )
= ( F @ Z ) ) ) ).
% fun_upd_other
thf(fact_347_fun__upd__other,axiom,
! [Z: produc1457211279475724562t_char > prat,X: produc1457211279475724562t_char > prat,F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,Y: option5747939881698552298on_val] :
( ( Z != X )
=> ( ( fun_up1601731230164360576on_val @ F @ X @ Y @ Z )
= ( F @ Z ) ) ) ).
% fun_upd_other
thf(fact_348_fun__upd__same,axiom,
! [F: produc9003781588162623004on_val > option_state,X: produc9003781588162623004on_val,Y: option_state] :
( ( fun_up6681822530636708645_state @ F @ X @ Y @ X )
= Y ) ).
% fun_upd_same
thf(fact_349_fun__upd__same,axiom,
! [F: produc9003781588162623004on_val > option8887860577033306220on_val,X: produc9003781588162623004on_val,Y: option8887860577033306220on_val] :
( ( fun_up273046073882939271on_val @ F @ X @ Y @ X )
= Y ) ).
% fun_upd_same
thf(fact_350_fun__upd__same,axiom,
! [F: produc9003781588162623004on_val > option_val,X: produc9003781588162623004on_val,Y: option_val] :
( ( fun_up8559965269643824108on_val @ F @ X @ Y @ X )
= Y ) ).
% fun_upd_same
thf(fact_351_fun__upd__same,axiom,
! [F: nat > option_list_char,X: nat,Y: option_list_char] :
( ( fun_up4009399622604172288t_char @ F @ X @ Y @ X )
= Y ) ).
% fun_upd_same
thf(fact_352_fun__upd__same,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X: produc1457211279475724562t_char > prat,Y: option5747939881698552298on_val] :
( ( fun_up1601731230164360576on_val @ F @ X @ Y @ X )
= Y ) ).
% fun_upd_same
thf(fact_353_map__le__antisym,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val] :
( ( map_le3432596473071271956ar_val @ F @ G )
=> ( ( map_le3432596473071271956ar_val @ G @ F )
=> ( F = G ) ) ) ).
% map_le_antisym
thf(fact_354_map__le__trans,axiom,
! [M1: produc1457211279475724562t_char > option_val,M2: produc1457211279475724562t_char > option_val,M3: produc1457211279475724562t_char > option_val] :
( ( map_le3432596473071271956ar_val @ M1 @ M2 )
=> ( ( map_le3432596473071271956ar_val @ M2 @ M3 )
=> ( map_le3432596473071271956ar_val @ M1 @ M3 ) ) ) ).
% map_le_trans
thf(fact_355_map__le__refl,axiom,
! [F: produc1457211279475724562t_char > option_val] : ( map_le3432596473071271956ar_val @ F @ F ) ).
% map_le_refl
thf(fact_356_map__le__map__add,axiom,
! [F: produc9003781588162623004on_val > option_state,G: produc9003781588162623004on_val > option_state] : ( map_le2714403320317326333_state @ F @ ( map_ad2629041965313307917_state @ G @ F ) ) ).
% map_le_map_add
thf(fact_357_map__le__map__add,axiom,
! [F: produc9003781588162623004on_val > option_val,G: produc9003781588162623004on_val > option_val] : ( map_le662008219874789630al_val @ F @ ( map_ad5466549115852757998al_val @ G @ F ) ) ).
% map_le_map_add
thf(fact_358_map__le__map__add,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val] : ( map_le3432596473071271956ar_val @ F @ ( map_ad2908576761495157028ar_val @ G @ F ) ) ).
% map_le_map_add
thf(fact_359_map__add__le__mapE,axiom,
! [F: produc9003781588162623004on_val > option_state,G: produc9003781588162623004on_val > option_state,H3: produc9003781588162623004on_val > option_state] :
( ( map_le2714403320317326333_state @ ( map_ad2629041965313307917_state @ F @ G ) @ H3 )
=> ( map_le2714403320317326333_state @ G @ H3 ) ) ).
% map_add_le_mapE
thf(fact_360_map__add__le__mapE,axiom,
! [F: produc9003781588162623004on_val > option_val,G: produc9003781588162623004on_val > option_val,H3: produc9003781588162623004on_val > option_val] :
( ( map_le662008219874789630al_val @ ( map_ad5466549115852757998al_val @ F @ G ) @ H3 )
=> ( map_le662008219874789630al_val @ G @ H3 ) ) ).
% map_add_le_mapE
thf(fact_361_map__add__le__mapE,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val,H3: produc1457211279475724562t_char > option_val] :
( ( map_le3432596473071271956ar_val @ ( map_ad2908576761495157028ar_val @ F @ G ) @ H3 )
=> ( map_le3432596473071271956ar_val @ G @ H3 ) ) ).
% map_add_le_mapE
thf(fact_362_map__add__le__mapI,axiom,
! [F: produc9003781588162623004on_val > option_state,H3: produc9003781588162623004on_val > option_state,G: produc9003781588162623004on_val > option_state] :
( ( map_le2714403320317326333_state @ F @ H3 )
=> ( ( map_le2714403320317326333_state @ G @ H3 )
=> ( map_le2714403320317326333_state @ ( map_ad2629041965313307917_state @ F @ G ) @ H3 ) ) ) ).
% map_add_le_mapI
thf(fact_363_map__add__le__mapI,axiom,
! [F: produc9003781588162623004on_val > option_val,H3: produc9003781588162623004on_val > option_val,G: produc9003781588162623004on_val > option_val] :
( ( map_le662008219874789630al_val @ F @ H3 )
=> ( ( map_le662008219874789630al_val @ G @ H3 )
=> ( map_le662008219874789630al_val @ ( map_ad5466549115852757998al_val @ F @ G ) @ H3 ) ) ) ).
% map_add_le_mapI
thf(fact_364_map__add__le__mapI,axiom,
! [F: produc1457211279475724562t_char > option_val,H3: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val] :
( ( map_le3432596473071271956ar_val @ F @ H3 )
=> ( ( map_le3432596473071271956ar_val @ G @ H3 )
=> ( map_le3432596473071271956ar_val @ ( map_ad2908576761495157028ar_val @ F @ G ) @ H3 ) ) ) ).
% map_add_le_mapI
thf(fact_365_map__add__subsumed1,axiom,
! [F: produc9003781588162623004on_val > option_state,G: produc9003781588162623004on_val > option_state] :
( ( map_le2714403320317326333_state @ F @ G )
=> ( ( map_ad2629041965313307917_state @ F @ G )
= G ) ) ).
% map_add_subsumed1
thf(fact_366_map__add__subsumed1,axiom,
! [F: produc9003781588162623004on_val > option_val,G: produc9003781588162623004on_val > option_val] :
( ( map_le662008219874789630al_val @ F @ G )
=> ( ( map_ad5466549115852757998al_val @ F @ G )
= G ) ) ).
% map_add_subsumed1
thf(fact_367_map__add__subsumed1,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val] :
( ( map_le3432596473071271956ar_val @ F @ G )
=> ( ( map_ad2908576761495157028ar_val @ F @ G )
= G ) ) ).
% map_add_subsumed1
thf(fact_368_map__add__subsumed2,axiom,
! [F: produc9003781588162623004on_val > option_state,G: produc9003781588162623004on_val > option_state] :
( ( map_le2714403320317326333_state @ F @ G )
=> ( ( map_ad2629041965313307917_state @ G @ F )
= G ) ) ).
% map_add_subsumed2
thf(fact_369_map__add__subsumed2,axiom,
! [F: produc9003781588162623004on_val > option_val,G: produc9003781588162623004on_val > option_val] :
( ( map_le662008219874789630al_val @ F @ G )
=> ( ( map_ad5466549115852757998al_val @ G @ F )
= G ) ) ).
% map_add_subsumed2
thf(fact_370_map__add__subsumed2,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val] :
( ( map_le3432596473071271956ar_val @ F @ G )
=> ( ( map_ad2908576761495157028ar_val @ G @ F )
= G ) ) ).
% map_add_subsumed2
thf(fact_371_map__le__iff__map__add__commute,axiom,
! [F: produc9003781588162623004on_val > option_state,G: produc9003781588162623004on_val > option_state] :
( ( map_le2714403320317326333_state @ F @ ( map_ad2629041965313307917_state @ F @ G ) )
= ( ( map_ad2629041965313307917_state @ F @ G )
= ( map_ad2629041965313307917_state @ G @ F ) ) ) ).
% map_le_iff_map_add_commute
thf(fact_372_map__le__iff__map__add__commute,axiom,
! [F: produc9003781588162623004on_val > option_val,G: produc9003781588162623004on_val > option_val] :
( ( map_le662008219874789630al_val @ F @ ( map_ad5466549115852757998al_val @ F @ G ) )
= ( ( map_ad5466549115852757998al_val @ F @ G )
= ( map_ad5466549115852757998al_val @ G @ F ) ) ) ).
% map_le_iff_map_add_commute
thf(fact_373_map__le__iff__map__add__commute,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val] :
( ( map_le3432596473071271956ar_val @ F @ ( map_ad2908576761495157028ar_val @ F @ G ) )
= ( ( map_ad2908576761495157028ar_val @ F @ G )
= ( map_ad2908576761495157028ar_val @ G @ F ) ) ) ).
% map_le_iff_map_add_commute
thf(fact_374_map__le__upd,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val,A: produc1457211279475724562t_char,B: option_val] :
( ( map_le3432596473071271956ar_val @ F @ G )
=> ( map_le3432596473071271956ar_val @ ( fun_up5735975307950539954on_val @ F @ A @ B ) @ ( fun_up5735975307950539954on_val @ G @ A @ B ) ) ) ).
% map_le_upd
thf(fact_375_map__le__upd,axiom,
! [F: produc9003781588162623004on_val > option_state,G: produc9003781588162623004on_val > option_state,A: produc9003781588162623004on_val,B: option_state] :
( ( map_le2714403320317326333_state @ F @ G )
=> ( map_le2714403320317326333_state @ ( fun_up6681822530636708645_state @ F @ A @ B ) @ ( fun_up6681822530636708645_state @ G @ A @ B ) ) ) ).
% map_le_upd
thf(fact_376_map__le__upd,axiom,
! [F: produc9003781588162623004on_val > option8887860577033306220on_val,G: produc9003781588162623004on_val > option8887860577033306220on_val,A: produc9003781588162623004on_val,B: option8887860577033306220on_val] :
( ( map_le1786601613863086943on_val @ F @ G )
=> ( map_le1786601613863086943on_val @ ( fun_up273046073882939271on_val @ F @ A @ B ) @ ( fun_up273046073882939271on_val @ G @ A @ B ) ) ) ).
% map_le_upd
thf(fact_377_map__le__upd,axiom,
! [F: produc9003781588162623004on_val > option_val,G: produc9003781588162623004on_val > option_val,A: produc9003781588162623004on_val,B: option_val] :
( ( map_le662008219874789630al_val @ F @ G )
=> ( map_le662008219874789630al_val @ ( fun_up8559965269643824108on_val @ F @ A @ B ) @ ( fun_up8559965269643824108on_val @ G @ A @ B ) ) ) ).
% map_le_upd
thf(fact_378_map__le__upd,axiom,
! [F: nat > option_list_char,G: nat > option_list_char,A: nat,B: option_list_char] :
( ( map_le_nat_list_char @ F @ G )
=> ( map_le_nat_list_char @ ( fun_up4009399622604172288t_char @ F @ A @ B ) @ ( fun_up4009399622604172288t_char @ G @ A @ B ) ) ) ).
% map_le_upd
thf(fact_379_map__le__upd,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,G: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,A: produc1457211279475724562t_char > prat,B: option5747939881698552298on_val] :
( ( map_le7591542393800649736on_val @ F @ G )
=> ( map_le7591542393800649736on_val @ ( fun_up1601731230164360576on_val @ F @ A @ B ) @ ( fun_up1601731230164360576on_val @ G @ A @ B ) ) ) ).
% map_le_upd
thf(fact_380_option_Osimps_I5_J,axiom,
! [F1: option_state,F22: state > option_state,X2: state] :
( ( case_o8916064052540797265_state @ F1 @ F22 @ ( some_state @ X2 ) )
= ( F22 @ X2 ) ) ).
% option.simps(5)
thf(fact_381_option_Osimps_I5_J,axiom,
! [F1: option_val,F22: val > option_val,X2: val] :
( ( case_o7794706883426356101al_val @ F1 @ F22 @ ( some_val @ X2 ) )
= ( F22 @ X2 ) ) ).
% option.simps(5)
thf(fact_382_option_Osimps_I5_J,axiom,
! [F1: val,F22: val > val,X2: val] :
( ( case_option_val_val @ F1 @ F22 @ ( some_val @ X2 ) )
= ( F22 @ X2 ) ) ).
% option.simps(5)
thf(fact_383_option_Osimps_I5_J,axiom,
! [F1: $o,F22: state > $o,X2: state] :
( ( case_option_o_state @ F1 @ F22 @ ( some_state @ X2 ) )
= ( F22 @ X2 ) ) ).
% option.simps(5)
thf(fact_384_option_Osimps_I5_J,axiom,
! [F1: $o,F22: val > $o,X2: val] :
( ( case_option_o_val @ F1 @ F22 @ ( some_val @ X2 ) )
= ( F22 @ X2 ) ) ).
% option.simps(5)
thf(fact_385_option_Osimps_I4_J,axiom,
! [F1: option_state,F22: state > option_state] :
( ( case_o8916064052540797265_state @ F1 @ F22 @ none_state )
= F1 ) ).
% option.simps(4)
thf(fact_386_option_Osimps_I4_J,axiom,
! [F1: option_val,F22: val > option_val] :
( ( case_o7794706883426356101al_val @ F1 @ F22 @ none_val )
= F1 ) ).
% option.simps(4)
thf(fact_387_option_Osimps_I4_J,axiom,
! [F1: val,F22: val > val] :
( ( case_option_val_val @ F1 @ F22 @ none_val )
= F1 ) ).
% option.simps(4)
thf(fact_388_option_Osimps_I4_J,axiom,
! [F1: $o,F22: state > $o] :
( ( case_option_o_state @ F1 @ F22 @ none_state )
= F1 ) ).
% option.simps(4)
thf(fact_389_option_Osimps_I4_J,axiom,
! [F1: $o,F22: val > $o] :
( ( case_option_o_val @ F1 @ F22 @ none_val )
= F1 ) ).
% option.simps(4)
thf(fact_390_upd__None__map__le,axiom,
! [F: produc9003781588162623004on_val > option_state,X: produc9003781588162623004on_val] : ( map_le2714403320317326333_state @ ( fun_up6681822530636708645_state @ F @ X @ none_state ) @ F ) ).
% upd_None_map_le
thf(fact_391_upd__None__map__le,axiom,
! [F: produc1457211279475724562t_char > option_val,X: produc1457211279475724562t_char] : ( map_le3432596473071271956ar_val @ ( fun_up5735975307950539954on_val @ F @ X @ none_val ) @ F ) ).
% upd_None_map_le
thf(fact_392_upd__None__map__le,axiom,
! [F: produc9003781588162623004on_val > option_val,X: produc9003781588162623004on_val] : ( map_le662008219874789630al_val @ ( fun_up8559965269643824108on_val @ F @ X @ none_val ) @ F ) ).
% upd_None_map_le
thf(fact_393_upd__None__map__le,axiom,
! [F: produc9003781588162623004on_val > option8887860577033306220on_val,X: produc9003781588162623004on_val] : ( map_le1786601613863086943on_val @ ( fun_up273046073882939271on_val @ F @ X @ none_P8728355543607141243on_val ) @ F ) ).
% upd_None_map_le
thf(fact_394_upd__None__map__le,axiom,
! [F: nat > option_list_char,X: nat] : ( map_le_nat_list_char @ ( fun_up4009399622604172288t_char @ F @ X @ none_list_char ) @ F ) ).
% upd_None_map_le
thf(fact_395_upd__None__map__le,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X: produc1457211279475724562t_char > prat] : ( map_le7591542393800649736on_val @ ( fun_up1601731230164360576on_val @ F @ X @ none_P1334921381875262201on_val ) @ F ) ).
% upd_None_map_le
thf(fact_396_option_Ocase__eq__if,axiom,
( case_o8916064052540797265_state
= ( ^ [F12: option_state,F23: state > option_state,Option3: option_state] : ( if_option_state @ ( Option3 = none_state ) @ F12 @ ( F23 @ ( the_state @ Option3 ) ) ) ) ) ).
% option.case_eq_if
thf(fact_397_option_Ocase__eq__if,axiom,
( case_o7794706883426356101al_val
= ( ^ [F12: option_val,F23: val > option_val,Option3: option_val] : ( if_option_val @ ( Option3 = none_val ) @ F12 @ ( F23 @ ( the_val @ Option3 ) ) ) ) ) ).
% option.case_eq_if
thf(fact_398_option_Ocase__eq__if,axiom,
( case_option_val_val
= ( ^ [F12: val,F23: val > val,Option3: option_val] : ( if_val @ ( Option3 = none_val ) @ F12 @ ( F23 @ ( the_val @ Option3 ) ) ) ) ) ).
% option.case_eq_if
thf(fact_399_option_Ocase__eq__if,axiom,
( case_option_o_state
= ( ^ [F12: $o,F23: state > $o,Option3: option_state] :
( ( ( Option3 = none_state )
=> F12 )
& ( ( Option3 != none_state )
=> ( F23 @ ( the_state @ Option3 ) ) ) ) ) ) ).
% option.case_eq_if
thf(fact_400_option_Ocase__eq__if,axiom,
( case_option_o_val
= ( ^ [F12: $o,F23: val > $o,Option3: option_val] :
( ( ( Option3 = none_val )
=> F12 )
& ( ( Option3 != none_val )
=> ( F23 @ ( the_val @ Option3 ) ) ) ) ) ) ).
% option.case_eq_if
thf(fact_401_fun__upd__def,axiom,
( fun_up6681822530636708645_state
= ( ^ [F2: produc9003781588162623004on_val > option_state,A2: produc9003781588162623004on_val,B2: option_state,X4: produc9003781588162623004on_val] : ( if_option_state @ ( X4 = A2 ) @ B2 @ ( F2 @ X4 ) ) ) ) ).
% fun_upd_def
thf(fact_402_fun__upd__def,axiom,
( fun_up273046073882939271on_val
= ( ^ [F2: produc9003781588162623004on_val > option8887860577033306220on_val,A2: produc9003781588162623004on_val,B2: option8887860577033306220on_val,X4: produc9003781588162623004on_val] : ( if_opt2965748431298708774on_val @ ( X4 = A2 ) @ B2 @ ( F2 @ X4 ) ) ) ) ).
% fun_upd_def
thf(fact_403_fun__upd__def,axiom,
( fun_up8559965269643824108on_val
= ( ^ [F2: produc9003781588162623004on_val > option_val,A2: produc9003781588162623004on_val,B2: option_val,X4: produc9003781588162623004on_val] : ( if_option_val @ ( X4 = A2 ) @ B2 @ ( F2 @ X4 ) ) ) ) ).
% fun_upd_def
thf(fact_404_fun__upd__def,axiom,
( fun_up4009399622604172288t_char
= ( ^ [F2: nat > option_list_char,A2: nat,B2: option_list_char,X4: nat] : ( if_option_list_char @ ( X4 = A2 ) @ B2 @ ( F2 @ X4 ) ) ) ) ).
% fun_upd_def
thf(fact_405_fun__upd__def,axiom,
( fun_up1601731230164360576on_val
= ( ^ [F2: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,A2: produc1457211279475724562t_char > prat,B2: option5747939881698552298on_val,X4: produc1457211279475724562t_char > prat] : ( if_opt6509584284076893604on_val @ ( X4 = A2 ) @ B2 @ ( F2 @ X4 ) ) ) ) ).
% fun_upd_def
thf(fact_406_fun__upd__eqD,axiom,
! [F: produc9003781588162623004on_val > option_state,X: produc9003781588162623004on_val,Y: option_state,G: produc9003781588162623004on_val > option_state,Z: option_state] :
( ( ( fun_up6681822530636708645_state @ F @ X @ Y )
= ( fun_up6681822530636708645_state @ G @ X @ Z ) )
=> ( Y = Z ) ) ).
% fun_upd_eqD
thf(fact_407_fun__upd__eqD,axiom,
! [F: produc9003781588162623004on_val > option8887860577033306220on_val,X: produc9003781588162623004on_val,Y: option8887860577033306220on_val,G: produc9003781588162623004on_val > option8887860577033306220on_val,Z: option8887860577033306220on_val] :
( ( ( fun_up273046073882939271on_val @ F @ X @ Y )
= ( fun_up273046073882939271on_val @ G @ X @ Z ) )
=> ( Y = Z ) ) ).
% fun_upd_eqD
thf(fact_408_fun__upd__eqD,axiom,
! [F: produc9003781588162623004on_val > option_val,X: produc9003781588162623004on_val,Y: option_val,G: produc9003781588162623004on_val > option_val,Z: option_val] :
( ( ( fun_up8559965269643824108on_val @ F @ X @ Y )
= ( fun_up8559965269643824108on_val @ G @ X @ Z ) )
=> ( Y = Z ) ) ).
% fun_upd_eqD
thf(fact_409_fun__upd__eqD,axiom,
! [F: nat > option_list_char,X: nat,Y: option_list_char,G: nat > option_list_char,Z: option_list_char] :
( ( ( fun_up4009399622604172288t_char @ F @ X @ Y )
= ( fun_up4009399622604172288t_char @ G @ X @ Z ) )
=> ( Y = Z ) ) ).
% fun_upd_eqD
thf(fact_410_fun__upd__eqD,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X: produc1457211279475724562t_char > prat,Y: option5747939881698552298on_val,G: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,Z: option5747939881698552298on_val] :
( ( ( fun_up1601731230164360576on_val @ F @ X @ Y )
= ( fun_up1601731230164360576on_val @ G @ X @ Z ) )
=> ( Y = Z ) ) ).
% fun_upd_eqD
thf(fact_411_fun__upd__idem,axiom,
! [F: produc9003781588162623004on_val > option_state,X: produc9003781588162623004on_val,Y: option_state] :
( ( ( F @ X )
= Y )
=> ( ( fun_up6681822530636708645_state @ F @ X @ Y )
= F ) ) ).
% fun_upd_idem
thf(fact_412_fun__upd__idem,axiom,
! [F: produc9003781588162623004on_val > option8887860577033306220on_val,X: produc9003781588162623004on_val,Y: option8887860577033306220on_val] :
( ( ( F @ X )
= Y )
=> ( ( fun_up273046073882939271on_val @ F @ X @ Y )
= F ) ) ).
% fun_upd_idem
thf(fact_413_fun__upd__idem,axiom,
! [F: produc9003781588162623004on_val > option_val,X: produc9003781588162623004on_val,Y: option_val] :
( ( ( F @ X )
= Y )
=> ( ( fun_up8559965269643824108on_val @ F @ X @ Y )
= F ) ) ).
% fun_upd_idem
thf(fact_414_fun__upd__idem,axiom,
! [F: nat > option_list_char,X: nat,Y: option_list_char] :
( ( ( F @ X )
= Y )
=> ( ( fun_up4009399622604172288t_char @ F @ X @ Y )
= F ) ) ).
% fun_upd_idem
thf(fact_415_fun__upd__idem,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,X: produc1457211279475724562t_char > prat,Y: option5747939881698552298on_val] :
( ( ( F @ X )
= Y )
=> ( ( fun_up1601731230164360576on_val @ F @ X @ Y )
= F ) ) ).
% fun_upd_idem
thf(fact_416_is__none__bind,axiom,
! [F: option_state,G: state > option_state] :
( ( is_none_state @ ( bind_state_state @ F @ G ) )
= ( ( is_none_state @ F )
| ( is_none_state @ ( G @ ( the_state @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_417_is__none__bind,axiom,
! [F: option_state,G: state > option_val] :
( ( is_none_val @ ( bind_state_val @ F @ G ) )
= ( ( is_none_state @ F )
| ( is_none_val @ ( G @ ( the_state @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_418_is__none__bind,axiom,
! [F: option_val,G: val > option_state] :
( ( is_none_state @ ( bind_val_state @ F @ G ) )
= ( ( is_none_val @ F )
| ( is_none_state @ ( G @ ( the_val @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_419_is__none__bind,axiom,
! [F: option_val,G: val > option_val] :
( ( is_none_val @ ( bind_val_val @ F @ G ) )
= ( ( is_none_val @ F )
| ( is_none_val @ ( G @ ( the_val @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_420_is__none__bind,axiom,
! [F: option8887860577033306220on_val,G: produc9003781588162623004on_val > option_state] :
( ( is_none_state @ ( bind_P2178757275261240214_state @ F @ G ) )
= ( ( is_non3468859156093823296on_val @ F )
| ( is_none_state @ ( G @ ( the_Pr3639693038709580936on_val @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_421_is__none__bind,axiom,
! [F: option8887860577033306220on_val,G: produc9003781588162623004on_val > option_val] :
( ( is_none_val @ ( bind_P8603646205577311397al_val @ F @ G ) )
= ( ( is_non3468859156093823296on_val @ F )
| ( is_none_val @ ( G @ ( the_Pr3639693038709580936on_val @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_422_is__none__bind,axiom,
! [F: option_list_char,G: list_char > option_state] :
( ( is_none_state @ ( bind_list_char_state @ F @ G ) )
= ( ( is_none_list_char @ F )
| ( is_none_state @ ( G @ ( the_list_char @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_423_is__none__bind,axiom,
! [F: option_list_char,G: list_char > option_val] :
( ( is_none_val @ ( bind_list_char_val @ F @ G ) )
= ( ( is_none_list_char @ F )
| ( is_none_val @ ( G @ ( the_list_char @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_424_is__none__bind,axiom,
! [F: option5747939881698552298on_val,G: ( produc1457211279475724562t_char > option_val ) > option_state] :
( ( is_none_state @ ( bind_P6102080752330912020_state @ F @ G ) )
= ( ( is_non6205214127102033982on_val @ F )
| ( is_none_state @ ( G @ ( the_Pr646328391962797958on_val @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_425_is__none__bind,axiom,
! [F: option5747939881698552298on_val,G: ( produc1457211279475724562t_char > option_val ) > option_val] :
( ( is_none_val @ ( bind_P5848121846087789735al_val @ F @ G ) )
= ( ( is_non6205214127102033982on_val @ F )
| ( is_none_val @ ( G @ ( the_Pr646328391962797958on_val @ F ) ) ) ) ) ).
% is_none_bind
thf(fact_426_uni__mask_Osimps,axiom,
( uni_ma8757825773229499086r_prat
= ( fun_up9120501182914450918t_prat @ empty_6616431780912394577r_prat ) ) ).
% uni_mask.simps
thf(fact_427_uni__mask_Osimps,axiom,
( uni_mask_state
= ( fun_upd_state_prat @ empty_mask_state ) ) ).
% uni_mask.simps
thf(fact_428_uni__mask_Osimps,axiom,
( uni_ma3016027189315475553on_val
= ( fun_up322103695952382443l_prat @ empty_6102255041883331742on_val ) ) ).
% uni_mask.simps
thf(fact_429_uni__mask_Osimps,axiom,
( uni_ma2802115457281451284on_val
= ( fun_up4040928134582614060l_prat @ empty_4129289814623480215on_val ) ) ).
% uni_mask.simps
thf(fact_430_uni__mask_Osimps,axiom,
( uni_ma6578582744724537101t_char
= ( fun_up829850848796697765r_prat @ empty_3446695950879338768t_char ) ) ).
% uni_mask.simps
thf(fact_431_uni__mask_Oelims,axiom,
! [X: produc1457211279475724562t_char > prat,Xa: prat,Y: ( produc1457211279475724562t_char > prat ) > prat] :
( ( ( uni_ma8757825773229499086r_prat @ X @ Xa )
= Y )
=> ( Y
= ( fun_up9120501182914450918t_prat @ empty_6616431780912394577r_prat @ X @ Xa ) ) ) ).
% uni_mask.elims
thf(fact_432_uni__mask_Oelims,axiom,
! [X: state,Xa: prat,Y: state > prat] :
( ( ( uni_mask_state @ X @ Xa )
= Y )
=> ( Y
= ( fun_upd_state_prat @ empty_mask_state @ X @ Xa ) ) ) ).
% uni_mask.elims
thf(fact_433_uni__mask_Oelims,axiom,
! [X: produc9003781588162623004on_val,Xa: prat,Y: produc9003781588162623004on_val > prat] :
( ( ( uni_ma3016027189315475553on_val @ X @ Xa )
= Y )
=> ( Y
= ( fun_up322103695952382443l_prat @ empty_6102255041883331742on_val @ X @ Xa ) ) ) ).
% uni_mask.elims
thf(fact_434_uni__mask_Oelims,axiom,
! [X: produc1317171644805857433on_val,Xa: prat,Y: produc1317171644805857433on_val > prat] :
( ( ( uni_ma2802115457281451284on_val @ X @ Xa )
= Y )
=> ( Y
= ( fun_up4040928134582614060l_prat @ empty_4129289814623480215on_val @ X @ Xa ) ) ) ).
% uni_mask.elims
thf(fact_435_uni__mask_Oelims,axiom,
! [X: produc1457211279475724562t_char,Xa: prat,Y: produc1457211279475724562t_char > prat] :
( ( ( uni_ma6578582744724537101t_char @ X @ Xa )
= Y )
=> ( Y
= ( fun_up829850848796697765r_prat @ empty_3446695950879338768t_char @ X @ Xa ) ) ) ).
% uni_mask.elims
thf(fact_436_map__add__upd__left,axiom,
! [M: produc1457211279475724562t_char,E2: produc1457211279475724562t_char > option_val,E1: produc1457211279475724562t_char > option_val,U1: val] :
( ~ ( member484235747325421115t_char @ M @ ( dom_Pr8989479155164304065ar_val @ E2 ) )
=> ( ( map_ad2908576761495157028ar_val @ ( fun_up5735975307950539954on_val @ E1 @ M @ ( some_val @ U1 ) ) @ E2 )
= ( fun_up5735975307950539954on_val @ ( map_ad2908576761495157028ar_val @ E1 @ E2 ) @ M @ ( some_val @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_437_map__add__upd__left,axiom,
! [M: produc9003781588162623004on_val,E2: produc9003781588162623004on_val > option_val,E1: produc9003781588162623004on_val > option_val,U1: val] :
( ~ ( member2879030624002546611on_val @ M @ ( dom_Pr7381289304162206737al_val @ E2 ) )
=> ( ( map_ad5466549115852757998al_val @ ( fun_up8559965269643824108on_val @ E1 @ M @ ( some_val @ U1 ) ) @ E2 )
= ( fun_up8559965269643824108on_val @ ( map_ad5466549115852757998al_val @ E1 @ E2 ) @ M @ ( some_val @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_438_map__add__upd__left,axiom,
! [M: produc9003781588162623004on_val,E2: produc9003781588162623004on_val > option_state,E1: produc9003781588162623004on_val > option_state,U1: state] :
( ~ ( member2879030624002546611on_val @ M @ ( dom_Pr4448331044451638570_state @ E2 ) )
=> ( ( map_ad2629041965313307917_state @ ( fun_up6681822530636708645_state @ E1 @ M @ ( some_state @ U1 ) ) @ E2 )
= ( fun_up6681822530636708645_state @ ( map_ad2629041965313307917_state @ E1 @ E2 ) @ M @ ( some_state @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_439_map__add__upd__left,axiom,
! [M: val,E2: val > option_val,E1: val > option_val,U1: val] :
( ~ ( member_val @ M @ ( dom_val_val @ E2 ) )
=> ( ( map_add_val_val @ ( fun_up735531404784515971on_val @ E1 @ M @ ( some_val @ U1 ) ) @ E2 )
= ( fun_up735531404784515971on_val @ ( map_add_val_val @ E1 @ E2 ) @ M @ ( some_val @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_440_map__add__upd__left,axiom,
! [M: nat,E2: nat > option_val,E1: nat > option_val,U1: val] :
( ~ ( member_nat @ M @ ( dom_nat_val @ E2 ) )
=> ( ( map_add_nat_val @ ( fun_up810121132392276792on_val @ E1 @ M @ ( some_val @ U1 ) ) @ E2 )
= ( fun_up810121132392276792on_val @ ( map_add_nat_val @ E1 @ E2 ) @ M @ ( some_val @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_441_map__add__upd__left,axiom,
! [M: val,E2: val > option_state,E1: val > option_state,U1: state] :
( ~ ( member_val @ M @ ( dom_val_state @ E2 ) )
=> ( ( map_add_val_state @ ( fun_up7100790768922270414_state @ E1 @ M @ ( some_state @ U1 ) ) @ E2 )
= ( fun_up7100790768922270414_state @ ( map_add_val_state @ E1 @ E2 ) @ M @ ( some_state @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_442_map__add__upd__left,axiom,
! [M: nat,E2: nat > option_state,E1: nat > option_state,U1: state] :
( ~ ( member_nat @ M @ ( dom_nat_state @ E2 ) )
=> ( ( map_add_nat_state @ ( fun_up5089051266557015257_state @ E1 @ M @ ( some_state @ U1 ) ) @ E2 )
= ( fun_up5089051266557015257_state @ ( map_add_nat_state @ E1 @ E2 ) @ M @ ( some_state @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_443_map__add__upd__left,axiom,
! [M: option_val,E2: option_val > option_val,E1: option_val > option_val,U1: val] :
( ~ ( member_option_val @ M @ ( dom_option_val_val @ E2 ) )
=> ( ( map_ad2791809220819668783al_val @ ( fun_up8761876891205509693on_val @ E1 @ M @ ( some_val @ U1 ) ) @ E2 )
= ( fun_up8761876891205509693on_val @ ( map_ad2791809220819668783al_val @ E1 @ E2 ) @ M @ ( some_val @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_444_map__add__upd__left,axiom,
! [M: option_val,E2: option_val > option_state,E1: option_val > option_state,U1: state] :
( ~ ( member_option_val @ M @ ( dom_option_val_state @ E2 ) )
=> ( ( map_ad1596397661948740748_state @ ( fun_up2039547756584784788_state @ E1 @ M @ ( some_state @ U1 ) ) @ E2 )
= ( fun_up2039547756584784788_state @ ( map_ad1596397661948740748_state @ E1 @ E2 ) @ M @ ( some_state @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_445_map__add__upd__left,axiom,
! [M: val,E2: val > option_list_char,E1: val > option_list_char,U1: list_char] :
( ~ ( member_val @ M @ ( dom_val_list_char @ E2 ) )
=> ( ( map_ad6513282191902725485t_char @ ( fun_up7032939564753911157t_char @ E1 @ M @ ( some_list_char @ U1 ) ) @ E2 )
= ( fun_up7032939564753911157t_char @ ( map_ad6513282191902725485t_char @ E1 @ E2 ) @ M @ ( some_list_char @ U1 ) ) ) ) ).
% map_add_upd_left
thf(fact_446_update__dm__def,axiom,
( update5099441844846592839t_char
= ( ^ [Dm2: produc1457211279475724562t_char > $o,Pi2: produc1457211279475724562t_char > prat,Pi4: produc1457211279475724562t_char > prat,Hl: produc1457211279475724562t_char] :
( ( Dm2 @ Hl )
| ( pgt @ ( Pi2 @ Hl ) @ ( Pi4 @ Hl ) ) ) ) ) ).
% update_dm_def
thf(fact_447_mult__add__states,axiom,
! [A: prat,B: prat,Pi: produc1457211279475724562t_char > prat] :
( ( multiply_mask @ ( padd @ A @ B ) @ Pi )
= ( add_ma6586698345353345811t_char @ ( multiply_mask @ A @ Pi ) @ ( multiply_mask @ B @ Pi ) ) ) ).
% mult_add_states
thf(fact_448_option_Oset__sel,axiom,
! [A: option_option_val] :
( ( A != none_option_val )
=> ( member_option_val @ ( the_option_val @ A ) @ ( set_op911010586042427349on_val @ A ) ) ) ).
% option.set_sel
thf(fact_449_option_Oset__sel,axiom,
! [A: option_nat] :
( ( A != none_nat )
=> ( member_nat @ ( the_nat @ A ) @ ( set_option_nat @ A ) ) ) ).
% option.set_sel
thf(fact_450_option_Oset__sel,axiom,
! [A: option3572569098863364761r_prat] :
( ( A != none_P6742040017396684084r_prat )
=> ( member2336342582916103932r_prat @ ( the_Pr3206600365949932263r_prat @ A ) @ ( set_op923924987228895969r_prat @ A ) ) ) ).
% option.set_sel
thf(fact_451_option_Oset__sel,axiom,
! [A: option_list_char] :
( ( A != none_list_char )
=> ( member_list_char @ ( the_list_char @ A ) @ ( set_option_list_char @ A ) ) ) ).
% option.set_sel
thf(fact_452_option_Oset__sel,axiom,
! [A: option5747939881698552298on_val] :
( ( A != none_P1334921381875262201on_val )
=> ( member1577473829074448177on_val @ ( the_Pr646328391962797958on_val @ A ) @ ( set_op1770538635792728844on_val @ A ) ) ) ).
% option.set_sel
thf(fact_453_option_Oset__sel,axiom,
! [A: option2736423997234022232t_char] :
( ( A != none_P5486107665612286067t_char )
=> ( member484235747325421115t_char @ ( the_Pr4674812069856641446t_char @ A ) @ ( set_op7440730737645789856t_char @ A ) ) ) ).
% option.set_sel
thf(fact_454_option_Oset__sel,axiom,
! [A: option8887860577033306220on_val] :
( ( A != none_P8728355543607141243on_val )
=> ( member2879030624002546611on_val @ ( the_Pr3639693038709580936on_val @ A ) @ ( set_op9004752959087400718on_val @ A ) ) ) ).
% option.set_sel
thf(fact_455_option_Oset__sel,axiom,
! [A: option_state] :
( ( A != none_state )
=> ( member_state @ ( the_state @ A ) @ ( set_option_state2 @ A ) ) ) ).
% option.set_sel
thf(fact_456_option_Oset__sel,axiom,
! [A: option_val] :
( ( A != none_val )
=> ( member_val @ ( the_val @ A ) @ ( set_option_val2 @ A ) ) ) ).
% option.set_sel
thf(fact_457_fun__upd__None__if__notin__dom,axiom,
! [K: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option_state] :
( ~ ( member2879030624002546611on_val @ K @ ( dom_Pr4448331044451638570_state @ M ) )
=> ( ( fun_up6681822530636708645_state @ M @ K @ none_state )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_458_fun__upd__None__if__notin__dom,axiom,
! [K: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option_val] :
( ~ ( member2879030624002546611on_val @ K @ ( dom_Pr7381289304162206737al_val @ M ) )
=> ( ( fun_up8559965269643824108on_val @ M @ K @ none_val )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_459_fun__upd__None__if__notin__dom,axiom,
! [K: val,M: val > option_state] :
( ~ ( member_val @ K @ ( dom_val_state @ M ) )
=> ( ( fun_up7100790768922270414_state @ M @ K @ none_state )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_460_fun__upd__None__if__notin__dom,axiom,
! [K: nat,M: nat > option_state] :
( ~ ( member_nat @ K @ ( dom_nat_state @ M ) )
=> ( ( fun_up5089051266557015257_state @ M @ K @ none_state )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_461_fun__upd__None__if__notin__dom,axiom,
! [K: val,M: val > option_val] :
( ~ ( member_val @ K @ ( dom_val_val @ M ) )
=> ( ( fun_up735531404784515971on_val @ M @ K @ none_val )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_462_fun__upd__None__if__notin__dom,axiom,
! [K: nat,M: nat > option_val] :
( ~ ( member_nat @ K @ ( dom_nat_val @ M ) )
=> ( ( fun_up810121132392276792on_val @ M @ K @ none_val )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_463_fun__upd__None__if__notin__dom,axiom,
! [K: option_val,M: option_val > option_state] :
( ~ ( member_option_val @ K @ ( dom_option_val_state @ M ) )
=> ( ( fun_up2039547756584784788_state @ M @ K @ none_state )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_464_fun__upd__None__if__notin__dom,axiom,
! [K: option_val,M: option_val > option_val] :
( ~ ( member_option_val @ K @ ( dom_option_val_val @ M ) )
=> ( ( fun_up8761876891205509693on_val @ M @ K @ none_val )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_465_fun__upd__None__if__notin__dom,axiom,
! [K: val,M: val > option_list_char] :
( ~ ( member_val @ K @ ( dom_val_list_char @ M ) )
=> ( ( fun_up7032939564753911157t_char @ M @ K @ none_list_char )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_466_fun__upd__None__if__notin__dom,axiom,
! [K: nat,M: nat > option_list_char] :
( ~ ( member_nat @ K @ ( dom_nat_list_char @ M ) )
=> ( ( fun_up4009399622604172288t_char @ M @ K @ none_list_char )
= M ) ) ).
% fun_upd_None_if_notin_dom
thf(fact_467_elem__set,axiom,
! [X: option_val,Xo: option_option_val] :
( ( member_option_val @ X @ ( set_op911010586042427349on_val @ Xo ) )
= ( Xo
= ( some_option_val @ X ) ) ) ).
% elem_set
thf(fact_468_elem__set,axiom,
! [X: nat,Xo: option_nat] :
( ( member_nat @ X @ ( set_option_nat @ Xo ) )
= ( Xo
= ( some_nat @ X ) ) ) ).
% elem_set
thf(fact_469_elem__set,axiom,
! [X: produc1457211279475724562t_char > prat,Xo: option3572569098863364761r_prat] :
( ( member2336342582916103932r_prat @ X @ ( set_op923924987228895969r_prat @ Xo ) )
= ( Xo
= ( some_P8530153984677361336r_prat @ X ) ) ) ).
% elem_set
thf(fact_470_elem__set,axiom,
! [X: list_char,Xo: option_list_char] :
( ( member_list_char @ X @ ( set_option_list_char @ Xo ) )
= ( Xo
= ( some_list_char @ X ) ) ) ).
% elem_set
thf(fact_471_elem__set,axiom,
! [X: produc1457211279475724562t_char > option_val,Xo: option5747939881698552298on_val] :
( ( member1577473829074448177on_val @ X @ ( set_op1770538635792728844on_val @ Xo ) )
= ( Xo
= ( some_P7669353234731512949on_val @ X ) ) ) ).
% elem_set
thf(fact_472_elem__set,axiom,
! [X: produc1457211279475724562t_char,Xo: option2736423997234022232t_char] :
( ( member484235747325421115t_char @ X @ ( set_op7440730737645789856t_char @ Xo ) )
= ( Xo
= ( some_P6851457240968045559t_char @ X ) ) ) ).
% elem_set
thf(fact_473_elem__set,axiom,
! [X: produc9003781588162623004on_val,Xo: option8887860577033306220on_val] :
( ( member2879030624002546611on_val @ X @ ( set_op9004752959087400718on_val @ Xo ) )
= ( Xo
= ( some_P2581650809551911671on_val @ X ) ) ) ).
% elem_set
thf(fact_474_elem__set,axiom,
! [X: val,Xo: option_val] :
( ( member_val @ X @ ( set_option_val2 @ Xo ) )
= ( Xo
= ( some_val @ X ) ) ) ).
% elem_set
thf(fact_475_elem__set,axiom,
! [X: state,Xo: option_state] :
( ( member_state @ X @ ( set_option_state2 @ Xo ) )
= ( Xo
= ( some_state @ X ) ) ) ).
% elem_set
thf(fact_476_is__none__code_I2_J,axiom,
! [X: produc9003781588162623004on_val] :
~ ( is_non3468859156093823296on_val @ ( some_P2581650809551911671on_val @ X ) ) ).
% is_none_code(2)
thf(fact_477_is__none__code_I2_J,axiom,
! [X: list_char] :
~ ( is_none_list_char @ ( some_list_char @ X ) ) ).
% is_none_code(2)
thf(fact_478_is__none__code_I2_J,axiom,
! [X: produc1457211279475724562t_char > option_val] :
~ ( is_non6205214127102033982on_val @ ( some_P7669353234731512949on_val @ X ) ) ).
% is_none_code(2)
thf(fact_479_is__none__code_I2_J,axiom,
! [X: val] :
~ ( is_none_val @ ( some_val @ X ) ) ).
% is_none_code(2)
thf(fact_480_is__none__code_I2_J,axiom,
! [X: state] :
~ ( is_none_state @ ( some_state @ X ) ) ).
% is_none_code(2)
thf(fact_481_is__none__code_I1_J,axiom,
is_non3468859156093823296on_val @ none_P8728355543607141243on_val ).
% is_none_code(1)
thf(fact_482_is__none__code_I1_J,axiom,
is_none_list_char @ none_list_char ).
% is_none_code(1)
thf(fact_483_is__none__code_I1_J,axiom,
is_non6205214127102033982on_val @ none_P1334921381875262201on_val ).
% is_none_code(1)
thf(fact_484_is__none__code_I1_J,axiom,
is_none_state @ none_state ).
% is_none_code(1)
thf(fact_485_is__none__code_I1_J,axiom,
is_none_val @ none_val ).
% is_none_code(1)
thf(fact_486_domI,axiom,
! [M: produc9003781588162623004on_val > option_val,A: produc9003781588162623004on_val,B: val] :
( ( ( M @ A )
= ( some_val @ B ) )
=> ( member2879030624002546611on_val @ A @ ( dom_Pr7381289304162206737al_val @ M ) ) ) ).
% domI
thf(fact_487_domI,axiom,
! [M: produc9003781588162623004on_val > option_state,A: produc9003781588162623004on_val,B: state] :
( ( ( M @ A )
= ( some_state @ B ) )
=> ( member2879030624002546611on_val @ A @ ( dom_Pr4448331044451638570_state @ M ) ) ) ).
% domI
thf(fact_488_domI,axiom,
! [M: val > option_val,A: val,B: val] :
( ( ( M @ A )
= ( some_val @ B ) )
=> ( member_val @ A @ ( dom_val_val @ M ) ) ) ).
% domI
thf(fact_489_domI,axiom,
! [M: nat > option_val,A: nat,B: val] :
( ( ( M @ A )
= ( some_val @ B ) )
=> ( member_nat @ A @ ( dom_nat_val @ M ) ) ) ).
% domI
thf(fact_490_domI,axiom,
! [M: val > option_state,A: val,B: state] :
( ( ( M @ A )
= ( some_state @ B ) )
=> ( member_val @ A @ ( dom_val_state @ M ) ) ) ).
% domI
thf(fact_491_domI,axiom,
! [M: nat > option_state,A: nat,B: state] :
( ( ( M @ A )
= ( some_state @ B ) )
=> ( member_nat @ A @ ( dom_nat_state @ M ) ) ) ).
% domI
thf(fact_492_domI,axiom,
! [M: option_val > option_val,A: option_val,B: val] :
( ( ( M @ A )
= ( some_val @ B ) )
=> ( member_option_val @ A @ ( dom_option_val_val @ M ) ) ) ).
% domI
thf(fact_493_domI,axiom,
! [M: option_val > option_state,A: option_val,B: state] :
( ( ( M @ A )
= ( some_state @ B ) )
=> ( member_option_val @ A @ ( dom_option_val_state @ M ) ) ) ).
% domI
thf(fact_494_domI,axiom,
! [M: val > option_list_char,A: val,B: list_char] :
( ( ( M @ A )
= ( some_list_char @ B ) )
=> ( member_val @ A @ ( dom_val_list_char @ M ) ) ) ).
% domI
thf(fact_495_domI,axiom,
! [M: nat > option_list_char,A: nat,B: list_char] :
( ( ( M @ A )
= ( some_list_char @ B ) )
=> ( member_nat @ A @ ( dom_nat_list_char @ M ) ) ) ).
% domI
thf(fact_496_domD,axiom,
! [A: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option_val] :
( ( member2879030624002546611on_val @ A @ ( dom_Pr7381289304162206737al_val @ M ) )
=> ? [B4: val] :
( ( M @ A )
= ( some_val @ B4 ) ) ) ).
% domD
thf(fact_497_domD,axiom,
! [A: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option_state] :
( ( member2879030624002546611on_val @ A @ ( dom_Pr4448331044451638570_state @ M ) )
=> ? [B4: state] :
( ( M @ A )
= ( some_state @ B4 ) ) ) ).
% domD
thf(fact_498_domD,axiom,
! [A: val,M: val > option_val] :
( ( member_val @ A @ ( dom_val_val @ M ) )
=> ? [B4: val] :
( ( M @ A )
= ( some_val @ B4 ) ) ) ).
% domD
thf(fact_499_domD,axiom,
! [A: nat,M: nat > option_val] :
( ( member_nat @ A @ ( dom_nat_val @ M ) )
=> ? [B4: val] :
( ( M @ A )
= ( some_val @ B4 ) ) ) ).
% domD
thf(fact_500_domD,axiom,
! [A: val,M: val > option_state] :
( ( member_val @ A @ ( dom_val_state @ M ) )
=> ? [B4: state] :
( ( M @ A )
= ( some_state @ B4 ) ) ) ).
% domD
thf(fact_501_domD,axiom,
! [A: nat,M: nat > option_state] :
( ( member_nat @ A @ ( dom_nat_state @ M ) )
=> ? [B4: state] :
( ( M @ A )
= ( some_state @ B4 ) ) ) ).
% domD
thf(fact_502_domD,axiom,
! [A: option_val,M: option_val > option_val] :
( ( member_option_val @ A @ ( dom_option_val_val @ M ) )
=> ? [B4: val] :
( ( M @ A )
= ( some_val @ B4 ) ) ) ).
% domD
thf(fact_503_domD,axiom,
! [A: option_val,M: option_val > option_state] :
( ( member_option_val @ A @ ( dom_option_val_state @ M ) )
=> ? [B4: state] :
( ( M @ A )
= ( some_state @ B4 ) ) ) ).
% domD
thf(fact_504_domD,axiom,
! [A: val,M: val > option_list_char] :
( ( member_val @ A @ ( dom_val_list_char @ M ) )
=> ? [B4: list_char] :
( ( M @ A )
= ( some_list_char @ B4 ) ) ) ).
% domD
thf(fact_505_domD,axiom,
! [A: nat,M: nat > option_list_char] :
( ( member_nat @ A @ ( dom_nat_list_char @ M ) )
=> ? [B4: list_char] :
( ( M @ A )
= ( some_list_char @ B4 ) ) ) ).
% domD
thf(fact_506_domIff,axiom,
! [A: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option_state] :
( ( member2879030624002546611on_val @ A @ ( dom_Pr4448331044451638570_state @ M ) )
= ( ( M @ A )
!= none_state ) ) ).
% domIff
thf(fact_507_domIff,axiom,
! [A: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option_val] :
( ( member2879030624002546611on_val @ A @ ( dom_Pr7381289304162206737al_val @ M ) )
= ( ( M @ A )
!= none_val ) ) ).
% domIff
thf(fact_508_domIff,axiom,
! [A: val,M: val > option_state] :
( ( member_val @ A @ ( dom_val_state @ M ) )
= ( ( M @ A )
!= none_state ) ) ).
% domIff
thf(fact_509_domIff,axiom,
! [A: nat,M: nat > option_state] :
( ( member_nat @ A @ ( dom_nat_state @ M ) )
= ( ( M @ A )
!= none_state ) ) ).
% domIff
thf(fact_510_domIff,axiom,
! [A: val,M: val > option_val] :
( ( member_val @ A @ ( dom_val_val @ M ) )
= ( ( M @ A )
!= none_val ) ) ).
% domIff
thf(fact_511_domIff,axiom,
! [A: nat,M: nat > option_val] :
( ( member_nat @ A @ ( dom_nat_val @ M ) )
= ( ( M @ A )
!= none_val ) ) ).
% domIff
thf(fact_512_domIff,axiom,
! [A: option_val,M: option_val > option_state] :
( ( member_option_val @ A @ ( dom_option_val_state @ M ) )
= ( ( M @ A )
!= none_state ) ) ).
% domIff
thf(fact_513_domIff,axiom,
! [A: option_val,M: option_val > option_val] :
( ( member_option_val @ A @ ( dom_option_val_val @ M ) )
= ( ( M @ A )
!= none_val ) ) ).
% domIff
thf(fact_514_domIff,axiom,
! [A: val,M: val > option_list_char] :
( ( member_val @ A @ ( dom_val_list_char @ M ) )
= ( ( M @ A )
!= none_list_char ) ) ).
% domIff
thf(fact_515_domIff,axiom,
! [A: nat,M: nat > option_list_char] :
( ( member_nat @ A @ ( dom_nat_list_char @ M ) )
= ( ( M @ A )
!= none_list_char ) ) ).
% domIff
thf(fact_516_map__add__dom__app__simps_I1_J,axiom,
! [M: produc9003781588162623004on_val,L2: produc9003781588162623004on_val > option8887860577033306220on_val,L1: produc9003781588162623004on_val > option8887860577033306220on_val] :
( ( member2879030624002546611on_val @ M @ ( dom_Pr2742230247756046988on_val @ L2 ) )
=> ( ( map_ad6375351378680859759on_val @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(1)
thf(fact_517_map__add__dom__app__simps_I1_J,axiom,
! [M: nat,L2: nat > option_list_char,L1: nat > option_list_char] :
( ( member_nat @ M @ ( dom_nat_list_char @ L2 ) )
=> ( ( map_ad208561015412637672t_char @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(1)
thf(fact_518_map__add__dom__app__simps_I1_J,axiom,
! [M: produc1457211279475724562t_char > prat,L2: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,L1: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ( member2336342582916103932r_prat @ M @ ( dom_Pr4152820065153570843on_val @ L2 ) )
=> ( ( map_ad2898753242718228216on_val @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(1)
thf(fact_519_map__add__dom__app__simps_I1_J,axiom,
! [M: produc9003781588162623004on_val,L2: produc9003781588162623004on_val > option_state,L1: produc9003781588162623004on_val > option_state] :
( ( member2879030624002546611on_val @ M @ ( dom_Pr4448331044451638570_state @ L2 ) )
=> ( ( map_ad2629041965313307917_state @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(1)
thf(fact_520_map__add__dom__app__simps_I1_J,axiom,
! [M: produc9003781588162623004on_val,L2: produc9003781588162623004on_val > option_val,L1: produc9003781588162623004on_val > option_val] :
( ( member2879030624002546611on_val @ M @ ( dom_Pr7381289304162206737al_val @ L2 ) )
=> ( ( map_ad5466549115852757998al_val @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(1)
thf(fact_521_map__add__dom__app__simps_I1_J,axiom,
! [M: produc1457211279475724562t_char,L2: produc1457211279475724562t_char > option_val,L1: produc1457211279475724562t_char > option_val] :
( ( member484235747325421115t_char @ M @ ( dom_Pr8989479155164304065ar_val @ L2 ) )
=> ( ( map_ad2908576761495157028ar_val @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(1)
thf(fact_522_map__add__dom__app__simps_I2_J,axiom,
! [M: produc9003781588162623004on_val,L1: produc9003781588162623004on_val > option8887860577033306220on_val,L2: produc9003781588162623004on_val > option8887860577033306220on_val] :
( ~ ( member2879030624002546611on_val @ M @ ( dom_Pr2742230247756046988on_val @ L1 ) )
=> ( ( map_ad6375351378680859759on_val @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(2)
thf(fact_523_map__add__dom__app__simps_I2_J,axiom,
! [M: nat,L1: nat > option_list_char,L2: nat > option_list_char] :
( ~ ( member_nat @ M @ ( dom_nat_list_char @ L1 ) )
=> ( ( map_ad208561015412637672t_char @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(2)
thf(fact_524_map__add__dom__app__simps_I2_J,axiom,
! [M: produc1457211279475724562t_char > prat,L1: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,L2: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ~ ( member2336342582916103932r_prat @ M @ ( dom_Pr4152820065153570843on_val @ L1 ) )
=> ( ( map_ad2898753242718228216on_val @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(2)
thf(fact_525_map__add__dom__app__simps_I2_J,axiom,
! [M: produc9003781588162623004on_val,L1: produc9003781588162623004on_val > option_state,L2: produc9003781588162623004on_val > option_state] :
( ~ ( member2879030624002546611on_val @ M @ ( dom_Pr4448331044451638570_state @ L1 ) )
=> ( ( map_ad2629041965313307917_state @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(2)
thf(fact_526_map__add__dom__app__simps_I2_J,axiom,
! [M: produc9003781588162623004on_val,L1: produc9003781588162623004on_val > option_val,L2: produc9003781588162623004on_val > option_val] :
( ~ ( member2879030624002546611on_val @ M @ ( dom_Pr7381289304162206737al_val @ L1 ) )
=> ( ( map_ad5466549115852757998al_val @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(2)
thf(fact_527_map__add__dom__app__simps_I2_J,axiom,
! [M: produc1457211279475724562t_char,L1: produc1457211279475724562t_char > option_val,L2: produc1457211279475724562t_char > option_val] :
( ~ ( member484235747325421115t_char @ M @ ( dom_Pr8989479155164304065ar_val @ L1 ) )
=> ( ( map_ad2908576761495157028ar_val @ L1 @ L2 @ M )
= ( L2 @ M ) ) ) ).
% map_add_dom_app_simps(2)
thf(fact_528_map__add__dom__app__simps_I3_J,axiom,
! [M: produc9003781588162623004on_val,L2: produc9003781588162623004on_val > option8887860577033306220on_val,L1: produc9003781588162623004on_val > option8887860577033306220on_val] :
( ~ ( member2879030624002546611on_val @ M @ ( dom_Pr2742230247756046988on_val @ L2 ) )
=> ( ( map_ad6375351378680859759on_val @ L1 @ L2 @ M )
= ( L1 @ M ) ) ) ).
% map_add_dom_app_simps(3)
thf(fact_529_map__add__dom__app__simps_I3_J,axiom,
! [M: nat,L2: nat > option_list_char,L1: nat > option_list_char] :
( ~ ( member_nat @ M @ ( dom_nat_list_char @ L2 ) )
=> ( ( map_ad208561015412637672t_char @ L1 @ L2 @ M )
= ( L1 @ M ) ) ) ).
% map_add_dom_app_simps(3)
thf(fact_530_map__add__dom__app__simps_I3_J,axiom,
! [M: produc1457211279475724562t_char > prat,L2: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,L1: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ~ ( member2336342582916103932r_prat @ M @ ( dom_Pr4152820065153570843on_val @ L2 ) )
=> ( ( map_ad2898753242718228216on_val @ L1 @ L2 @ M )
= ( L1 @ M ) ) ) ).
% map_add_dom_app_simps(3)
thf(fact_531_map__add__dom__app__simps_I3_J,axiom,
! [M: produc9003781588162623004on_val,L2: produc9003781588162623004on_val > option_state,L1: produc9003781588162623004on_val > option_state] :
( ~ ( member2879030624002546611on_val @ M @ ( dom_Pr4448331044451638570_state @ L2 ) )
=> ( ( map_ad2629041965313307917_state @ L1 @ L2 @ M )
= ( L1 @ M ) ) ) ).
% map_add_dom_app_simps(3)
thf(fact_532_map__add__dom__app__simps_I3_J,axiom,
! [M: produc9003781588162623004on_val,L2: produc9003781588162623004on_val > option_val,L1: produc9003781588162623004on_val > option_val] :
( ~ ( member2879030624002546611on_val @ M @ ( dom_Pr7381289304162206737al_val @ L2 ) )
=> ( ( map_ad5466549115852757998al_val @ L1 @ L2 @ M )
= ( L1 @ M ) ) ) ).
% map_add_dom_app_simps(3)
thf(fact_533_map__add__dom__app__simps_I3_J,axiom,
! [M: produc1457211279475724562t_char,L2: produc1457211279475724562t_char > option_val,L1: produc1457211279475724562t_char > option_val] :
( ~ ( member484235747325421115t_char @ M @ ( dom_Pr8989479155164304065ar_val @ L2 ) )
=> ( ( map_ad2908576761495157028ar_val @ L1 @ L2 @ M )
= ( L1 @ M ) ) ) ).
% map_add_dom_app_simps(3)
thf(fact_534_map__le__def,axiom,
( map_le2714403320317326333_state
= ( ^ [M_1: produc9003781588162623004on_val > option_state,M_2: produc9003781588162623004on_val > option_state] :
! [X4: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X4 @ ( dom_Pr4448331044451638570_state @ M_1 ) )
=> ( ( M_1 @ X4 )
= ( M_2 @ X4 ) ) ) ) ) ).
% map_le_def
thf(fact_535_map__le__def,axiom,
( map_le1786601613863086943on_val
= ( ^ [M_1: produc9003781588162623004on_val > option8887860577033306220on_val,M_2: produc9003781588162623004on_val > option8887860577033306220on_val] :
! [X4: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X4 @ ( dom_Pr2742230247756046988on_val @ M_1 ) )
=> ( ( M_1 @ X4 )
= ( M_2 @ X4 ) ) ) ) ) ).
% map_le_def
thf(fact_536_map__le__def,axiom,
( map_le662008219874789630al_val
= ( ^ [M_1: produc9003781588162623004on_val > option_val,M_2: produc9003781588162623004on_val > option_val] :
! [X4: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X4 @ ( dom_Pr7381289304162206737al_val @ M_1 ) )
=> ( ( M_1 @ X4 )
= ( M_2 @ X4 ) ) ) ) ) ).
% map_le_def
thf(fact_537_map__le__def,axiom,
( map_le_nat_list_char
= ( ^ [M_1: nat > option_list_char,M_2: nat > option_list_char] :
! [X4: nat] :
( ( member_nat @ X4 @ ( dom_nat_list_char @ M_1 ) )
=> ( ( M_1 @ X4 )
= ( M_2 @ X4 ) ) ) ) ) ).
% map_le_def
thf(fact_538_map__le__def,axiom,
( map_le7591542393800649736on_val
= ( ^ [M_1: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,M_2: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
! [X4: produc1457211279475724562t_char > prat] :
( ( member2336342582916103932r_prat @ X4 @ ( dom_Pr4152820065153570843on_val @ M_1 ) )
=> ( ( M_1 @ X4 )
= ( M_2 @ X4 ) ) ) ) ) ).
% map_le_def
thf(fact_539_map__le__def,axiom,
( map_le3432596473071271956ar_val
= ( ^ [M_1: produc1457211279475724562t_char > option_val,M_2: produc1457211279475724562t_char > option_val] :
! [X4: produc1457211279475724562t_char] :
( ( member484235747325421115t_char @ X4 @ ( dom_Pr8989479155164304065ar_val @ M_1 ) )
=> ( ( M_1 @ X4 )
= ( M_2 @ X4 ) ) ) ) ) ).
% map_le_def
thf(fact_540_option_Oset__cases,axiom,
! [E: option_val,A: option_option_val] :
( ( member_option_val @ E @ ( set_op911010586042427349on_val @ A ) )
=> ( A
= ( some_option_val @ E ) ) ) ).
% option.set_cases
thf(fact_541_option_Oset__cases,axiom,
! [E: nat,A: option_nat] :
( ( member_nat @ E @ ( set_option_nat @ A ) )
=> ( A
= ( some_nat @ E ) ) ) ).
% option.set_cases
thf(fact_542_option_Oset__cases,axiom,
! [E: produc1457211279475724562t_char > prat,A: option3572569098863364761r_prat] :
( ( member2336342582916103932r_prat @ E @ ( set_op923924987228895969r_prat @ A ) )
=> ( A
= ( some_P8530153984677361336r_prat @ E ) ) ) ).
% option.set_cases
thf(fact_543_option_Oset__cases,axiom,
! [E: list_char,A: option_list_char] :
( ( member_list_char @ E @ ( set_option_list_char @ A ) )
=> ( A
= ( some_list_char @ E ) ) ) ).
% option.set_cases
thf(fact_544_option_Oset__cases,axiom,
! [E: produc1457211279475724562t_char > option_val,A: option5747939881698552298on_val] :
( ( member1577473829074448177on_val @ E @ ( set_op1770538635792728844on_val @ A ) )
=> ( A
= ( some_P7669353234731512949on_val @ E ) ) ) ).
% option.set_cases
thf(fact_545_option_Oset__cases,axiom,
! [E: produc1457211279475724562t_char,A: option2736423997234022232t_char] :
( ( member484235747325421115t_char @ E @ ( set_op7440730737645789856t_char @ A ) )
=> ( A
= ( some_P6851457240968045559t_char @ E ) ) ) ).
% option.set_cases
thf(fact_546_option_Oset__cases,axiom,
! [E: produc9003781588162623004on_val,A: option8887860577033306220on_val] :
( ( member2879030624002546611on_val @ E @ ( set_op9004752959087400718on_val @ A ) )
=> ( A
= ( some_P2581650809551911671on_val @ E ) ) ) ).
% option.set_cases
thf(fact_547_option_Oset__cases,axiom,
! [E: val,A: option_val] :
( ( member_val @ E @ ( set_option_val2 @ A ) )
=> ( A
= ( some_val @ E ) ) ) ).
% option.set_cases
thf(fact_548_option_Oset__cases,axiom,
! [E: state,A: option_state] :
( ( member_state @ E @ ( set_option_state2 @ A ) )
=> ( A
= ( some_state @ E ) ) ) ).
% option.set_cases
thf(fact_549_option_Oset__intros,axiom,
! [X2: option_val] : ( member_option_val @ X2 @ ( set_op911010586042427349on_val @ ( some_option_val @ X2 ) ) ) ).
% option.set_intros
thf(fact_550_option_Oset__intros,axiom,
! [X2: nat] : ( member_nat @ X2 @ ( set_option_nat @ ( some_nat @ X2 ) ) ) ).
% option.set_intros
thf(fact_551_option_Oset__intros,axiom,
! [X2: produc1457211279475724562t_char > prat] : ( member2336342582916103932r_prat @ X2 @ ( set_op923924987228895969r_prat @ ( some_P8530153984677361336r_prat @ X2 ) ) ) ).
% option.set_intros
thf(fact_552_option_Oset__intros,axiom,
! [X2: list_char] : ( member_list_char @ X2 @ ( set_option_list_char @ ( some_list_char @ X2 ) ) ) ).
% option.set_intros
thf(fact_553_option_Oset__intros,axiom,
! [X2: produc1457211279475724562t_char > option_val] : ( member1577473829074448177on_val @ X2 @ ( set_op1770538635792728844on_val @ ( some_P7669353234731512949on_val @ X2 ) ) ) ).
% option.set_intros
thf(fact_554_option_Oset__intros,axiom,
! [X2: produc1457211279475724562t_char] : ( member484235747325421115t_char @ X2 @ ( set_op7440730737645789856t_char @ ( some_P6851457240968045559t_char @ X2 ) ) ) ).
% option.set_intros
thf(fact_555_option_Oset__intros,axiom,
! [X2: produc9003781588162623004on_val] : ( member2879030624002546611on_val @ X2 @ ( set_op9004752959087400718on_val @ ( some_P2581650809551911671on_val @ X2 ) ) ) ).
% option.set_intros
thf(fact_556_option_Oset__intros,axiom,
! [X2: val] : ( member_val @ X2 @ ( set_option_val2 @ ( some_val @ X2 ) ) ) ).
% option.set_intros
thf(fact_557_option_Oset__intros,axiom,
! [X2: state] : ( member_state @ X2 @ ( set_option_state2 @ ( some_state @ X2 ) ) ) ).
% option.set_intros
thf(fact_558_ospec,axiom,
! [A5: option_list_char,P: list_char > $o,X: list_char] :
( ! [X3: list_char] :
( ( member_list_char @ X3 @ ( set_option_list_char @ A5 ) )
=> ( P @ X3 ) )
=> ( ( A5
= ( some_list_char @ X ) )
=> ( P @ X ) ) ) ).
% ospec
thf(fact_559_ospec,axiom,
! [A5: option5747939881698552298on_val,P: ( produc1457211279475724562t_char > option_val ) > $o,X: produc1457211279475724562t_char > option_val] :
( ! [X3: produc1457211279475724562t_char > option_val] :
( ( member1577473829074448177on_val @ X3 @ ( set_op1770538635792728844on_val @ A5 ) )
=> ( P @ X3 ) )
=> ( ( A5
= ( some_P7669353234731512949on_val @ X ) )
=> ( P @ X ) ) ) ).
% ospec
thf(fact_560_ospec,axiom,
! [A5: option8887860577033306220on_val,P: produc9003781588162623004on_val > $o,X: produc9003781588162623004on_val] :
( ! [X3: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X3 @ ( set_op9004752959087400718on_val @ A5 ) )
=> ( P @ X3 ) )
=> ( ( A5
= ( some_P2581650809551911671on_val @ X ) )
=> ( P @ X ) ) ) ).
% ospec
thf(fact_561_ospec,axiom,
! [A5: option2736423997234022232t_char,P: produc1457211279475724562t_char > $o,X: produc1457211279475724562t_char] :
( ! [X3: produc1457211279475724562t_char] :
( ( member484235747325421115t_char @ X3 @ ( set_op7440730737645789856t_char @ A5 ) )
=> ( P @ X3 ) )
=> ( ( A5
= ( some_P6851457240968045559t_char @ X ) )
=> ( P @ X ) ) ) ).
% ospec
thf(fact_562_ospec,axiom,
! [A5: option_val,P: val > $o,X: val] :
( ! [X3: val] :
( ( member_val @ X3 @ ( set_option_val2 @ A5 ) )
=> ( P @ X3 ) )
=> ( ( A5
= ( some_val @ X ) )
=> ( P @ X ) ) ) ).
% ospec
thf(fact_563_ospec,axiom,
! [A5: option_state,P: state > $o,X: state] :
( ! [X3: state] :
( ( member_state @ X3 @ ( set_option_state2 @ A5 ) )
=> ( P @ X3 ) )
=> ( ( A5
= ( some_state @ X ) )
=> ( P @ X ) ) ) ).
% ospec
thf(fact_564_add__masks_Oelims,axiom,
! [X: produc1457211279475724562t_char > prat,Xa: produc1457211279475724562t_char > prat,Xb: produc1457211279475724562t_char,Y: prat] :
( ( ( add_ma6586698345353345811t_char @ X @ Xa @ Xb )
= Y )
=> ( Y
= ( padd @ ( X @ Xb ) @ ( Xa @ Xb ) ) ) ) ).
% add_masks.elims
thf(fact_565_add__masks_Osimps,axiom,
( add_ma6586698345353345811t_char
= ( ^ [Pi4: produc1457211279475724562t_char > prat,Pi2: produc1457211279475724562t_char > prat,Hl: produc1457211279475724562t_char] : ( padd @ ( Pi4 @ Hl ) @ ( Pi2 @ Hl ) ) ) ) ).
% add_masks.simps
thf(fact_566_bind__option__cong,axiom,
! [X: option_val,Y: option_val,F: val > option_val,G: val > option_val] :
( ( X = Y )
=> ( ! [Z2: val] :
( ( member_val @ Z2 @ ( set_option_val2 @ Y ) )
=> ( ( F @ Z2 )
= ( G @ Z2 ) ) )
=> ( ( bind_val_val @ X @ F )
= ( bind_val_val @ Y @ G ) ) ) ) ).
% bind_option_cong
thf(fact_567_bind__option__cong,axiom,
! [X: option_val,Y: option_val,F: val > option_state,G: val > option_state] :
( ( X = Y )
=> ( ! [Z2: val] :
( ( member_val @ Z2 @ ( set_option_val2 @ Y ) )
=> ( ( F @ Z2 )
= ( G @ Z2 ) ) )
=> ( ( bind_val_state @ X @ F )
= ( bind_val_state @ Y @ G ) ) ) ) ).
% bind_option_cong
thf(fact_568_bind__option__cong,axiom,
! [X: option_state,Y: option_state,F: state > option_val,G: state > option_val] :
( ( X = Y )
=> ( ! [Z2: state] :
( ( member_state @ Z2 @ ( set_option_state2 @ Y ) )
=> ( ( F @ Z2 )
= ( G @ Z2 ) ) )
=> ( ( bind_state_val @ X @ F )
= ( bind_state_val @ Y @ G ) ) ) ) ).
% bind_option_cong
thf(fact_569_bind__option__cong,axiom,
! [X: option_state,Y: option_state,F: state > option_state,G: state > option_state] :
( ( X = Y )
=> ( ! [Z2: state] :
( ( member_state @ Z2 @ ( set_option_state2 @ Y ) )
=> ( ( F @ Z2 )
= ( G @ Z2 ) ) )
=> ( ( bind_state_state @ X @ F )
= ( bind_state_state @ Y @ G ) ) ) ) ).
% bind_option_cong
thf(fact_570_is__none__simps_I2_J,axiom,
! [X: produc9003781588162623004on_val] :
~ ( is_non3468859156093823296on_val @ ( some_P2581650809551911671on_val @ X ) ) ).
% is_none_simps(2)
thf(fact_571_is__none__simps_I2_J,axiom,
! [X: list_char] :
~ ( is_none_list_char @ ( some_list_char @ X ) ) ).
% is_none_simps(2)
thf(fact_572_is__none__simps_I2_J,axiom,
! [X: produc1457211279475724562t_char > option_val] :
~ ( is_non6205214127102033982on_val @ ( some_P7669353234731512949on_val @ X ) ) ).
% is_none_simps(2)
thf(fact_573_is__none__simps_I2_J,axiom,
! [X: val] :
~ ( is_none_val @ ( some_val @ X ) ) ).
% is_none_simps(2)
thf(fact_574_is__none__simps_I2_J,axiom,
! [X: state] :
~ ( is_none_state @ ( some_state @ X ) ) ).
% is_none_simps(2)
thf(fact_575_is__none__simps_I1_J,axiom,
is_non3468859156093823296on_val @ none_P8728355543607141243on_val ).
% is_none_simps(1)
thf(fact_576_is__none__simps_I1_J,axiom,
is_none_list_char @ none_list_char ).
% is_none_simps(1)
thf(fact_577_is__none__simps_I1_J,axiom,
is_non6205214127102033982on_val @ none_P1334921381875262201on_val ).
% is_none_simps(1)
thf(fact_578_is__none__simps_I1_J,axiom,
is_none_state @ none_state ).
% is_none_simps(1)
thf(fact_579_is__none__simps_I1_J,axiom,
is_none_val @ none_val ).
% is_none_simps(1)
thf(fact_580_Option_Ois__none__def,axiom,
( is_non3468859156093823296on_val
= ( ^ [X4: option8887860577033306220on_val] : ( X4 = none_P8728355543607141243on_val ) ) ) ).
% Option.is_none_def
thf(fact_581_Option_Ois__none__def,axiom,
( is_none_list_char
= ( ^ [X4: option_list_char] : ( X4 = none_list_char ) ) ) ).
% Option.is_none_def
thf(fact_582_Option_Ois__none__def,axiom,
( is_non6205214127102033982on_val
= ( ^ [X4: option5747939881698552298on_val] : ( X4 = none_P1334921381875262201on_val ) ) ) ).
% Option.is_none_def
thf(fact_583_Option_Ois__none__def,axiom,
( is_none_state
= ( ^ [X4: option_state] : ( X4 = none_state ) ) ) ).
% Option.is_none_def
thf(fact_584_Option_Ois__none__def,axiom,
( is_none_val
= ( ^ [X4: option_val] : ( X4 = none_val ) ) ) ).
% Option.is_none_def
thf(fact_585_ppos__add,axiom,
! [A: prat,B: prat] :
( ( ppos @ A )
=> ( ppos @ ( padd @ A @ B ) ) ) ).
% ppos_add
thf(fact_586_add__acc__uni__mask,axiom,
( add_ac6043276672051819257t_char
= ( ^ [Pi2: produc1457211279475724562t_char > prat,Hl: produc1457211279475724562t_char,P5: prat] : ( add_ma6586698345353345811t_char @ Pi2 @ ( uni_ma6578582744724537101t_char @ Hl @ P5 ) ) ) ) ).
% add_acc_uni_mask
thf(fact_587_add__acc_Oelims,axiom,
! [X: produc1457211279475724562t_char > prat,Xa: produc1457211279475724562t_char,Xb: prat,Y: produc1457211279475724562t_char > prat] :
( ( ( add_ac6043276672051819257t_char @ X @ Xa @ Xb )
= Y )
=> ( Y
= ( fun_up829850848796697765r_prat @ X @ Xa @ ( padd @ ( X @ Xa ) @ Xb ) ) ) ) ).
% add_acc.elims
thf(fact_588_add__acc_Osimps,axiom,
( add_ac6043276672051819257t_char
= ( ^ [Pi2: produc1457211279475724562t_char > prat,Hl: produc1457211279475724562t_char,P5: prat] : ( fun_up829850848796697765r_prat @ Pi2 @ Hl @ ( padd @ ( Pi2 @ Hl ) @ P5 ) ) ) ) ).
% add_acc.simps
thf(fact_589_set__empty__eq,axiom,
! [Xo: option_list_char] :
( ( ( set_option_list_char @ Xo )
= bot_bo8503570744482963627t_char )
= ( Xo = none_list_char ) ) ).
% set_empty_eq
thf(fact_590_set__empty__eq,axiom,
! [Xo: option5747939881698552298on_val] :
( ( ( set_op1770538635792728844on_val @ Xo )
= bot_bo5671083314777306084on_val )
= ( Xo = none_P1334921381875262201on_val ) ) ).
% set_empty_eq
thf(fact_591_set__empty__eq,axiom,
! [Xo: option_option_state] :
( ( ( set_op5162993263733338108_state @ Xo )
= bot_bo710180891245420500_state )
= ( Xo = none_option_state ) ) ).
% set_empty_eq
thf(fact_592_set__empty__eq,axiom,
! [Xo: option_option_val] :
( ( ( set_op911010586042427349on_val @ Xo )
= bot_bo5906790151302476563on_val )
= ( Xo = none_option_val ) ) ).
% set_empty_eq
thf(fact_593_set__empty__eq,axiom,
! [Xo: option8887860577033306220on_val] :
( ( ( set_op9004752959087400718on_val @ Xo )
= bot_bo6722054719108133734on_val )
= ( Xo = none_P8728355543607141243on_val ) ) ).
% set_empty_eq
thf(fact_594_set__empty__eq,axiom,
! [Xo: option2736423997234022232t_char] :
( ( ( set_op7440730737645789856t_char @ Xo )
= bot_bo1414094081888755934t_char )
= ( Xo = none_P5486107665612286067t_char ) ) ).
% set_empty_eq
thf(fact_595_set__empty__eq,axiom,
! [Xo: option_state] :
( ( ( set_option_state2 @ Xo )
= bot_bot_set_state )
= ( Xo = none_state ) ) ).
% set_empty_eq
thf(fact_596_set__empty__eq,axiom,
! [Xo: option_val] :
( ( ( set_option_val2 @ Xo )
= bot_bot_set_val )
= ( Xo = none_val ) ) ).
% set_empty_eq
thf(fact_597_dom__eq__empty__conv,axiom,
! [F: val > option_state] :
( ( ( dom_val_state @ F )
= bot_bot_set_val )
= ( F
= ( ^ [X4: val] : none_state ) ) ) ).
% dom_eq_empty_conv
thf(fact_598_dom__eq__empty__conv,axiom,
! [F: val > option_val] :
( ( ( dom_val_val @ F )
= bot_bot_set_val )
= ( F
= ( ^ [X4: val] : none_val ) ) ) ).
% dom_eq_empty_conv
thf(fact_599_dom__eq__empty__conv,axiom,
! [F: nat > option_list_char] :
( ( ( dom_nat_list_char @ F )
= bot_bot_set_nat )
= ( F
= ( ^ [X4: nat] : none_list_char ) ) ) ).
% dom_eq_empty_conv
thf(fact_600_dom__eq__empty__conv,axiom,
! [F: option_state > option_state] :
( ( ( dom_op8569336450220619928_state @ F )
= bot_bo710180891245420500_state )
= ( F
= ( ^ [X4: option_state] : none_state ) ) ) ).
% dom_eq_empty_conv
thf(fact_601_dom__eq__empty__conv,axiom,
! [F: option_state > option_val] :
( ( ( dom_option_state_val @ F )
= bot_bo710180891245420500_state )
= ( F
= ( ^ [X4: option_state] : none_val ) ) ) ).
% dom_eq_empty_conv
thf(fact_602_dom__eq__empty__conv,axiom,
! [F: option_val > option_state] :
( ( ( dom_option_val_state @ F )
= bot_bo5906790151302476563on_val )
= ( F
= ( ^ [X4: option_val] : none_state ) ) ) ).
% dom_eq_empty_conv
thf(fact_603_dom__eq__empty__conv,axiom,
! [F: option_val > option_val] :
( ( ( dom_option_val_val @ F )
= bot_bo5906790151302476563on_val )
= ( F
= ( ^ [X4: option_val] : none_val ) ) ) ).
% dom_eq_empty_conv
thf(fact_604_dom__eq__empty__conv,axiom,
! [F: val > option_list_char] :
( ( ( dom_val_list_char @ F )
= bot_bot_set_val )
= ( F
= ( ^ [X4: val] : none_list_char ) ) ) ).
% dom_eq_empty_conv
thf(fact_605_dom__eq__empty__conv,axiom,
! [F: option_state > option_list_char] :
( ( ( dom_op2927896937727732287t_char @ F )
= bot_bo710180891245420500_state )
= ( F
= ( ^ [X4: option_state] : none_list_char ) ) ) ).
% dom_eq_empty_conv
thf(fact_606_dom__eq__empty__conv,axiom,
! [F: option_val > option_list_char] :
( ( ( dom_op1123738440007651926t_char @ F )
= bot_bo5906790151302476563on_val )
= ( F
= ( ^ [X4: option_val] : none_list_char ) ) ) ).
% dom_eq_empty_conv
thf(fact_607_option_Osimps_I14_J,axiom,
( ( set_option_list_char @ none_list_char )
= bot_bo8503570744482963627t_char ) ).
% option.simps(14)
thf(fact_608_option_Osimps_I14_J,axiom,
( ( set_op1770538635792728844on_val @ none_P1334921381875262201on_val )
= bot_bo5671083314777306084on_val ) ).
% option.simps(14)
thf(fact_609_option_Osimps_I14_J,axiom,
( ( set_op5162993263733338108_state @ none_option_state )
= bot_bo710180891245420500_state ) ).
% option.simps(14)
thf(fact_610_option_Osimps_I14_J,axiom,
( ( set_op911010586042427349on_val @ none_option_val )
= bot_bo5906790151302476563on_val ) ).
% option.simps(14)
thf(fact_611_option_Osimps_I14_J,axiom,
( ( set_op9004752959087400718on_val @ none_P8728355543607141243on_val )
= bot_bo6722054719108133734on_val ) ).
% option.simps(14)
thf(fact_612_option_Osimps_I14_J,axiom,
( ( set_op7440730737645789856t_char @ none_P5486107665612286067t_char )
= bot_bo1414094081888755934t_char ) ).
% option.simps(14)
thf(fact_613_option_Osimps_I14_J,axiom,
( ( set_option_state2 @ none_state )
= bot_bot_set_state ) ).
% option.simps(14)
thf(fact_614_option_Osimps_I14_J,axiom,
( ( set_option_val2 @ none_val )
= bot_bot_set_val ) ).
% option.simps(14)
thf(fact_615_map__add__comm,axiom,
! [M1: nat > option_list_char,M2: nat > option_list_char] :
( ( ( inf_inf_set_nat @ ( dom_nat_list_char @ M1 ) @ ( dom_nat_list_char @ M2 ) )
= bot_bot_set_nat )
=> ( ( map_ad208561015412637672t_char @ M1 @ M2 )
= ( map_ad208561015412637672t_char @ M2 @ M1 ) ) ) ).
% map_add_comm
thf(fact_616_map__add__comm,axiom,
! [M1: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,M2: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ( ( inf_in7380704097939900321r_prat @ ( dom_Pr4152820065153570843on_val @ M1 ) @ ( dom_Pr4152820065153570843on_val @ M2 ) )
= bot_bo3164680191535668511r_prat )
=> ( ( map_ad2898753242718228216on_val @ M1 @ M2 )
= ( map_ad2898753242718228216on_val @ M2 @ M1 ) ) ) ).
% map_add_comm
thf(fact_617_map__add__comm,axiom,
! [M1: produc9003781588162623004on_val > option8887860577033306220on_val,M2: produc9003781588162623004on_val > option8887860577033306220on_val] :
( ( ( inf_in1079285664774927716on_val @ ( dom_Pr2742230247756046988on_val @ M1 ) @ ( dom_Pr2742230247756046988on_val @ M2 ) )
= bot_bo6722054719108133734on_val )
=> ( ( map_ad6375351378680859759on_val @ M1 @ M2 )
= ( map_ad6375351378680859759on_val @ M2 @ M1 ) ) ) ).
% map_add_comm
thf(fact_618_map__add__comm,axiom,
! [M1: produc9003781588162623004on_val > option_state,M2: produc9003781588162623004on_val > option_state] :
( ( ( inf_in1079285664774927716on_val @ ( dom_Pr4448331044451638570_state @ M1 ) @ ( dom_Pr4448331044451638570_state @ M2 ) )
= bot_bo6722054719108133734on_val )
=> ( ( map_ad2629041965313307917_state @ M1 @ M2 )
= ( map_ad2629041965313307917_state @ M2 @ M1 ) ) ) ).
% map_add_comm
thf(fact_619_map__add__comm,axiom,
! [M1: produc9003781588162623004on_val > option_val,M2: produc9003781588162623004on_val > option_val] :
( ( ( inf_in1079285664774927716on_val @ ( dom_Pr7381289304162206737al_val @ M1 ) @ ( dom_Pr7381289304162206737al_val @ M2 ) )
= bot_bo6722054719108133734on_val )
=> ( ( map_ad5466549115852757998al_val @ M1 @ M2 )
= ( map_ad5466549115852757998al_val @ M2 @ M1 ) ) ) ).
% map_add_comm
thf(fact_620_map__add__comm,axiom,
! [M1: produc1457211279475724562t_char > option_val,M2: produc1457211279475724562t_char > option_val] :
( ( ( inf_in3544766959038609504t_char @ ( dom_Pr8989479155164304065ar_val @ M1 ) @ ( dom_Pr8989479155164304065ar_val @ M2 ) )
= bot_bo1414094081888755934t_char )
=> ( ( map_ad2908576761495157028ar_val @ M1 @ M2 )
= ( map_ad2908576761495157028ar_val @ M2 @ M1 ) ) ) ).
% map_add_comm
thf(fact_621_option_Osimps_I15_J,axiom,
! [X2: list_char] :
( ( set_option_list_char @ ( some_list_char @ X2 ) )
= ( insert_list_char @ X2 @ bot_bo8503570744482963627t_char ) ) ).
% option.simps(15)
thf(fact_622_option_Osimps_I15_J,axiom,
! [X2: produc1457211279475724562t_char > option_val] :
( ( set_op1770538635792728844on_val @ ( some_P7669353234731512949on_val @ X2 ) )
= ( insert216038912599248202on_val @ X2 @ bot_bo5671083314777306084on_val ) ) ).
% option.simps(15)
thf(fact_623_option_Osimps_I15_J,axiom,
! [X2: option_state] :
( ( set_op5162993263733338108_state @ ( some_option_state @ X2 ) )
= ( insert_option_state @ X2 @ bot_bo710180891245420500_state ) ) ).
% option.simps(15)
thf(fact_624_option_Osimps_I15_J,axiom,
! [X2: option_val] :
( ( set_op911010586042427349on_val @ ( some_option_val @ X2 ) )
= ( insert_option_val @ X2 @ bot_bo5906790151302476563on_val ) ) ).
% option.simps(15)
thf(fact_625_option_Osimps_I15_J,axiom,
! [X2: produc9003781588162623004on_val] :
( ( set_op9004752959087400718on_val @ ( some_P2581650809551911671on_val @ X2 ) )
= ( insert3030518898131756108on_val @ X2 @ bot_bo6722054719108133734on_val ) ) ).
% option.simps(15)
thf(fact_626_option_Osimps_I15_J,axiom,
! [X2: produc1457211279475724562t_char] :
( ( set_op7440730737645789856t_char @ ( some_P6851457240968045559t_char @ X2 ) )
= ( insert3372640069787401954t_char @ X2 @ bot_bo1414094081888755934t_char ) ) ).
% option.simps(15)
thf(fact_627_option_Osimps_I15_J,axiom,
! [X2: val] :
( ( set_option_val2 @ ( some_val @ X2 ) )
= ( insert_val @ X2 @ bot_bot_set_val ) ) ).
% option.simps(15)
thf(fact_628_option_Osimps_I15_J,axiom,
! [X2: state] :
( ( set_option_state2 @ ( some_state @ X2 ) )
= ( insert_state @ X2 @ bot_bot_set_state ) ) ).
% option.simps(15)
thf(fact_629_restrict__map__to__empty,axiom,
! [M: val > option5747939881698552298on_val] :
( ( restri8187230408314553963on_val @ M @ bot_bot_set_val )
= ( ^ [X4: val] : none_P1334921381875262201on_val ) ) ).
% restrict_map_to_empty
thf(fact_630_greater__mask__uni__equiv,axiom,
! [Pi: produc1457211279475724562t_char > prat,Hl3: produc1457211279475724562t_char,R2: prat] :
( ( greate7680731506090375811t_char @ Pi @ ( uni_ma6578582744724537101t_char @ Hl3 @ R2 ) )
= ( pgte @ ( Pi @ Hl3 ) @ R2 ) ) ).
% greater_mask_uni_equiv
thf(fact_631_greater__mask__uniI,axiom,
! [Pi: produc1457211279475724562t_char > prat,Hl3: produc1457211279475724562t_char,R2: prat] :
( ( pgte @ ( Pi @ Hl3 ) @ R2 )
=> ( greate7680731506090375811t_char @ Pi @ ( uni_ma6578582744724537101t_char @ Hl3 @ R2 ) ) ) ).
% greater_mask_uniI
thf(fact_632_dom__map__add,axiom,
! [M: produc1457211279475724562t_char > option_val,N: produc1457211279475724562t_char > option_val] :
( ( dom_Pr8989479155164304065ar_val @ ( map_ad2908576761495157028ar_val @ M @ N ) )
= ( sup_su7899656352754981958t_char @ ( dom_Pr8989479155164304065ar_val @ N ) @ ( dom_Pr8989479155164304065ar_val @ M ) ) ) ).
% dom_map_add
thf(fact_633_restrict__out,axiom,
! [X: produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val,M: produc9003781588162623004on_val > option_state] :
( ~ ( member2879030624002546611on_val @ X @ A5 )
=> ( ( restri5336766904122854152_state @ M @ A5 @ X )
= none_state ) ) ).
% restrict_out
thf(fact_634_restrict__out,axiom,
! [X: produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val,M: produc9003781588162623004on_val > option_val] :
( ~ ( member2879030624002546611on_val @ X @ A5 )
=> ( ( restri5251746167140823987al_val @ M @ A5 @ X )
= none_val ) ) ).
% restrict_out
thf(fact_635_these__insert__None,axiom,
! [A5: set_option_state] :
( ( these_state @ ( insert_option_state @ none_state @ A5 ) )
= ( these_state @ A5 ) ) ).
% these_insert_None
thf(fact_636_these__insert__None,axiom,
! [A5: set_option_val] :
( ( these_val @ ( insert_option_val @ none_val @ A5 ) )
= ( these_val @ A5 ) ) ).
% these_insert_None
thf(fact_637_these__insert__Some,axiom,
! [X: val,A5: set_option_val] :
( ( these_val @ ( insert_option_val @ ( some_val @ X ) @ A5 ) )
= ( insert_val @ X @ ( these_val @ A5 ) ) ) ).
% these_insert_Some
thf(fact_638_these__insert__Some,axiom,
! [X: state,A5: set_option_state] :
( ( these_state @ ( insert_option_state @ ( some_state @ X ) @ A5 ) )
= ( insert_state @ X @ ( these_state @ A5 ) ) ) ).
% these_insert_Some
thf(fact_639_these__not__empty__eq,axiom,
! [B5: set_option_state] :
( ( ( these_state @ B5 )
!= bot_bot_set_state )
= ( ( B5 != bot_bo710180891245420500_state )
& ( B5
!= ( insert_option_state @ none_state @ bot_bo710180891245420500_state ) ) ) ) ).
% these_not_empty_eq
thf(fact_640_these__not__empty__eq,axiom,
! [B5: set_option_val] :
( ( ( these_val @ B5 )
!= bot_bot_set_val )
= ( ( B5 != bot_bo5906790151302476563on_val )
& ( B5
!= ( insert_option_val @ none_val @ bot_bo5906790151302476563on_val ) ) ) ) ).
% these_not_empty_eq
thf(fact_641_these__empty__eq,axiom,
! [B5: set_option_state] :
( ( ( these_state @ B5 )
= bot_bot_set_state )
= ( ( B5 = bot_bo710180891245420500_state )
| ( B5
= ( insert_option_state @ none_state @ bot_bo710180891245420500_state ) ) ) ) ).
% these_empty_eq
thf(fact_642_these__empty__eq,axiom,
! [B5: set_option_val] :
( ( ( these_val @ B5 )
= bot_bot_set_val )
= ( ( B5 = bot_bo5906790151302476563on_val )
| ( B5
= ( insert_option_val @ none_val @ bot_bo5906790151302476563on_val ) ) ) ) ).
% these_empty_eq
thf(fact_643_restrict__map__def,axiom,
( restri5336766904122854152_state
= ( ^ [M4: produc9003781588162623004on_val > option_state,A6: set_Pr7649655576376376530on_val,X4: produc9003781588162623004on_val] : ( if_option_state @ ( member2879030624002546611on_val @ X4 @ A6 ) @ ( M4 @ X4 ) @ none_state ) ) ) ).
% restrict_map_def
thf(fact_644_restrict__map__def,axiom,
( restri5251746167140823987al_val
= ( ^ [M4: produc9003781588162623004on_val > option_val,A6: set_Pr7649655576376376530on_val,X4: produc9003781588162623004on_val] : ( if_option_val @ ( member2879030624002546611on_val @ X4 @ A6 ) @ ( M4 @ X4 ) @ none_val ) ) ) ).
% restrict_map_def
thf(fact_645_greater__maskI,axiom,
! [Pi3: produc1457211279475724562t_char > prat,Pi: produc1457211279475724562t_char > prat] :
( ! [Hl2: produc1457211279475724562t_char] : ( pgte @ ( Pi3 @ Hl2 ) @ ( Pi @ Hl2 ) )
=> ( greate7680731506090375811t_char @ Pi3 @ Pi ) ) ).
% greater_maskI
thf(fact_646_greater__mask__equiv__def,axiom,
( greate7680731506090375811t_char
= ( ^ [Pi4: produc1457211279475724562t_char > prat,Pi2: produc1457211279475724562t_char > prat] :
! [Hl: produc1457211279475724562t_char] : ( pgte @ ( Pi4 @ Hl ) @ ( Pi2 @ Hl ) ) ) ) ).
% greater_mask_equiv_def
thf(fact_647_in__these__eq,axiom,
! [X: produc9003781588162623004on_val,A5: set_op6240181410663953058on_val] :
( ( member2879030624002546611on_val @ X @ ( these_3919539662624406175on_val @ A5 ) )
= ( member4602090469187516291on_val @ ( some_P2581650809551911671on_val @ X ) @ A5 ) ) ).
% in_these_eq
thf(fact_648_in__these__eq,axiom,
! [X: val,A5: set_option_val] :
( ( member_val @ X @ ( these_val @ A5 ) )
= ( member_option_val @ ( some_val @ X ) @ A5 ) ) ).
% in_these_eq
thf(fact_649_in__these__eq,axiom,
! [X: state,A5: set_option_state] :
( ( member_state @ X @ ( these_state @ A5 ) )
= ( member_option_state @ ( some_state @ X ) @ A5 ) ) ).
% in_these_eq
thf(fact_650_ran__map__add,axiom,
! [M1: produc1457211279475724562t_char > option_val,M2: produc1457211279475724562t_char > option_val] :
( ( ( inf_in3544766959038609504t_char @ ( dom_Pr8989479155164304065ar_val @ M1 ) @ ( dom_Pr8989479155164304065ar_val @ M2 ) )
= bot_bo1414094081888755934t_char )
=> ( ( ran_Pr786515303459910110ar_val @ ( map_ad2908576761495157028ar_val @ M1 @ M2 ) )
= ( sup_sup_set_val @ ( ran_Pr786515303459910110ar_val @ M1 ) @ ( ran_Pr786515303459910110ar_val @ M2 ) ) ) ) ).
% ran_map_add
thf(fact_651_fun__upd__None__restrict,axiom,
! [X: produc9003781588162623004on_val,D2: set_Pr7649655576376376530on_val,M: produc9003781588162623004on_val > option_state] :
( ( ( member2879030624002546611on_val @ X @ D2 )
=> ( ( fun_up6681822530636708645_state @ ( restri5336766904122854152_state @ M @ D2 ) @ X @ none_state )
= ( restri5336766904122854152_state @ M @ ( minus_9160195963678339755on_val @ D2 @ ( insert3030518898131756108on_val @ X @ bot_bo6722054719108133734on_val ) ) ) ) )
& ( ~ ( member2879030624002546611on_val @ X @ D2 )
=> ( ( fun_up6681822530636708645_state @ ( restri5336766904122854152_state @ M @ D2 ) @ X @ none_state )
= ( restri5336766904122854152_state @ M @ D2 ) ) ) ) ).
% fun_upd_None_restrict
thf(fact_652_fun__upd__None__restrict,axiom,
! [X: produc9003781588162623004on_val,D2: set_Pr7649655576376376530on_val,M: produc9003781588162623004on_val > option_val] :
( ( ( member2879030624002546611on_val @ X @ D2 )
=> ( ( fun_up8559965269643824108on_val @ ( restri5251746167140823987al_val @ M @ D2 ) @ X @ none_val )
= ( restri5251746167140823987al_val @ M @ ( minus_9160195963678339755on_val @ D2 @ ( insert3030518898131756108on_val @ X @ bot_bo6722054719108133734on_val ) ) ) ) )
& ( ~ ( member2879030624002546611on_val @ X @ D2 )
=> ( ( fun_up8559965269643824108on_val @ ( restri5251746167140823987al_val @ M @ D2 ) @ X @ none_val )
= ( restri5251746167140823987al_val @ M @ D2 ) ) ) ) ).
% fun_upd_None_restrict
thf(fact_653_graph__map__add,axiom,
! [M1: produc1457211279475724562t_char > option_val,M2: produc1457211279475724562t_char > option_val] :
( ( ( inf_in3544766959038609504t_char @ ( dom_Pr8989479155164304065ar_val @ M1 ) @ ( dom_Pr8989479155164304065ar_val @ M2 ) )
= bot_bo1414094081888755934t_char )
=> ( ( graph_1733029056113894637ar_val @ ( map_ad2908576761495157028ar_val @ M1 @ M2 ) )
= ( sup_su5754804325903363146ar_val @ ( graph_1733029056113894637ar_val @ M1 ) @ ( graph_1733029056113894637ar_val @ M2 ) ) ) ) ).
% graph_map_add
thf(fact_654_graph__map__upd,axiom,
! [M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,K: produc1457211279475724562t_char > prat,V2: produc1457211279475724562t_char > option_val] :
( ( graph_1288227317702120175on_val @ ( fun_up1601731230164360576on_val @ M @ K @ ( some_P7669353234731512949on_val @ V2 ) ) )
= ( insert3030518898131756108on_val @ ( produc74620467203698198on_val @ K @ V2 ) @ ( graph_1288227317702120175on_val @ ( fun_up1601731230164360576on_val @ M @ K @ none_P1334921381875262201on_val ) ) ) ) ).
% graph_map_upd
thf(fact_655_graph__map__upd,axiom,
! [M: produc9003781588162623004on_val > option8887860577033306220on_val,K: produc9003781588162623004on_val,V2: produc9003781588162623004on_val] :
( ( graph_6108330199704490680on_val @ ( fun_up273046073882939271on_val @ M @ K @ ( some_P2581650809551911671on_val @ V2 ) ) )
= ( insert7062705985672971881on_val @ ( produc4958730763592889809on_val @ K @ V2 ) @ ( graph_6108330199704490680on_val @ ( fun_up273046073882939271on_val @ M @ K @ none_P8728355543607141243on_val ) ) ) ) ).
% graph_map_upd
thf(fact_656_graph__map__upd,axiom,
! [M: nat > option_list_char,K: nat,V2: list_char] :
( ( graph_nat_list_char @ ( fun_up4009399622604172288t_char @ M @ K @ ( some_list_char @ V2 ) ) )
= ( insert3372640069787401954t_char @ ( produc120197956887798346t_char @ K @ V2 ) @ ( graph_nat_list_char @ ( fun_up4009399622604172288t_char @ M @ K @ none_list_char ) ) ) ) ).
% graph_map_upd
thf(fact_657_pinv__inverts,axiom,
! [A: prat,B: prat] :
( ( pgte @ A @ B )
=> ( ( ppos @ B )
=> ( pgte @ ( pinv @ B ) @ ( pinv @ A ) ) ) ) ).
% pinv_inverts
thf(fact_658_valid__mult,axiom,
! [Pi: produc1457211279475724562t_char > prat,P4: prat] :
( ( valid_mask @ Pi )
=> ( ( pgte @ pwrite @ P4 )
=> ( valid_mask @ ( multiply_mask @ P4 @ Pi ) ) ) ) ).
% valid_mult
thf(fact_659_graph__restrictD_I2_J,axiom,
! [K: produc1457211279475724562t_char > prat,V2: produc1457211279475724562t_char > option_val,M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,A5: set_Pr3433046674199179443r_prat] :
( ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ K @ V2 ) @ ( graph_1288227317702120175on_val @ ( restri7594233908965391805on_val @ M @ A5 ) ) )
=> ( ( M @ K )
= ( some_P7669353234731512949on_val @ V2 ) ) ) ).
% graph_restrictD(2)
thf(fact_660_graph__restrictD_I2_J,axiom,
! [K: produc9003781588162623004on_val,V2: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option8887860577033306220on_val,A5: set_Pr7649655576376376530on_val] :
( ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ K @ V2 ) @ ( graph_6108330199704490680on_val @ ( restri2354629191430751338on_val @ M @ A5 ) ) )
=> ( ( M @ K )
= ( some_P2581650809551911671on_val @ V2 ) ) ) ).
% graph_restrictD(2)
thf(fact_661_graph__restrictD_I2_J,axiom,
! [K: nat,V2: list_char,M: nat > option_list_char,A5: set_nat] :
( ( member484235747325421115t_char @ ( produc120197956887798346t_char @ K @ V2 ) @ ( graph_nat_list_char @ ( restri7497266720855523683t_char @ M @ A5 ) ) )
=> ( ( M @ K )
= ( some_list_char @ V2 ) ) ) ).
% graph_restrictD(2)
thf(fact_662_valid__sum_I1_J,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,Ma: prat,Mb: prat] :
( ( valid_mask @ A )
=> ( ( valid_mask @ B )
=> ( ( upper_bounded @ A @ Ma )
=> ( ( upper_bounded @ B @ Mb )
=> ( ( pgte @ pwrite @ ( padd @ Ma @ Mb ) )
=> ( valid_mask @ ( add_ma6586698345353345811t_char @ A @ B ) ) ) ) ) ) ) ).
% valid_sum(1)
thf(fact_663_valid__sum_I2_J,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,Ma: prat,Mb: prat] :
( ( valid_mask @ A )
=> ( ( valid_mask @ B )
=> ( ( upper_bounded @ A @ Ma )
=> ( ( upper_bounded @ B @ Mb )
=> ( ( pgte @ pwrite @ ( padd @ Ma @ Mb ) )
=> ( upper_bounded @ ( add_ma6586698345353345811t_char @ A @ B ) @ ( padd @ Ma @ Mb ) ) ) ) ) ) ) ).
% valid_sum(2)
thf(fact_664_image__map__upd,axiom,
! [X: produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val,M: produc9003781588162623004on_val > option_val,Y: val] :
( ~ ( member2879030624002546611on_val @ X @ A5 )
=> ( ( image_453284115904594532on_val @ ( fun_up8559965269643824108on_val @ M @ X @ ( some_val @ Y ) ) @ A5 )
= ( image_453284115904594532on_val @ M @ A5 ) ) ) ).
% image_map_upd
thf(fact_665_image__map__upd,axiom,
! [X: produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val,M: produc9003781588162623004on_val > option_state,Y: state] :
( ~ ( member2879030624002546611on_val @ X @ A5 )
=> ( ( image_2102623794538073773_state @ ( fun_up6681822530636708645_state @ M @ X @ ( some_state @ Y ) ) @ A5 )
= ( image_2102623794538073773_state @ M @ A5 ) ) ) ).
% image_map_upd
thf(fact_666_these__image__Some__eq,axiom,
! [A5: set_val] :
( ( these_val @ ( image_val_option_val @ some_val @ A5 ) )
= A5 ) ).
% these_image_Some_eq
thf(fact_667_these__image__Some__eq,axiom,
! [A5: set_state] :
( ( these_state @ ( image_6076465424260689483_state @ some_state @ A5 ) )
= A5 ) ).
% these_image_Some_eq
thf(fact_668_inj__on__map__add__dom,axiom,
! [M: produc1457211279475724562t_char > option_val,M5: produc1457211279475724562t_char > option_val] :
( ( inj_on4474484569326248358on_val @ ( map_ad2908576761495157028ar_val @ M @ M5 ) @ ( dom_Pr8989479155164304065ar_val @ M5 ) )
= ( inj_on4474484569326248358on_val @ M5 @ ( dom_Pr8989479155164304065ar_val @ M5 ) ) ) ).
% inj_on_map_add_dom
thf(fact_669_inj__img__insertE,axiom,
! [F: produc9003781588162623004on_val > produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val,X: produc9003781588162623004on_val,B5: set_Pr7649655576376376530on_val] :
( ( inj_on7948954794846770859on_val @ F @ A5 )
=> ( ~ ( member2879030624002546611on_val @ X @ B5 )
=> ( ( ( insert3030518898131756108on_val @ X @ B5 )
= ( image_4170889944715819327on_val @ F @ A5 ) )
=> ~ ! [X6: produc9003781588162623004on_val,A7: set_Pr7649655576376376530on_val] :
( ~ ( member2879030624002546611on_val @ X6 @ A7 )
=> ( ( A5
= ( insert3030518898131756108on_val @ X6 @ A7 ) )
=> ( ( X
= ( F @ X6 ) )
=> ( B5
!= ( image_4170889944715819327on_val @ F @ A7 ) ) ) ) ) ) ) ) ).
% inj_img_insertE
thf(fact_670_inj__Some,axiom,
! [A5: set_val] : ( inj_on4074814566786472055on_val @ some_val @ A5 ) ).
% inj_Some
thf(fact_671_inj__Some,axiom,
! [A5: set_state] : ( inj_on3577428053172332983_state @ some_state @ A5 ) ).
% inj_Some
thf(fact_672_mult__write__mask,axiom,
! [Pi: produc1457211279475724562t_char > prat] :
( ( multiply_mask @ pwrite @ Pi )
= Pi ) ).
% mult_write_mask
thf(fact_673_None__notin__image__Some,axiom,
! [A5: set_val] :
~ ( member_option_val @ none_val @ ( image_val_option_val @ some_val @ A5 ) ) ).
% None_notin_image_Some
thf(fact_674_None__notin__image__Some,axiom,
! [A5: set_state] :
~ ( member_option_state @ none_state @ ( image_6076465424260689483_state @ some_state @ A5 ) ) ).
% None_notin_image_Some
thf(fact_675_upper__boundedI,axiom,
! [P4: prat,Pi: produc1457211279475724562t_char > prat] :
( ! [Hl2: produc1457211279475724562t_char] : ( pgte @ P4 @ ( Pi @ Hl2 ) )
=> ( upper_bounded @ Pi @ P4 ) ) ).
% upper_boundedI
thf(fact_676_upper__bounded__def,axiom,
( upper_bounded
= ( ^ [Pi2: produc1457211279475724562t_char > prat,P5: prat] :
! [Hl: produc1457211279475724562t_char] : ( pgte @ P5 @ ( Pi2 @ Hl ) ) ) ) ).
% upper_bounded_def
thf(fact_677_upper__bounded__bigger,axiom,
! [Pi: produc1457211279475724562t_char > prat,A: prat,B: prat] :
( ( upper_bounded @ Pi @ A )
=> ( ( pgte @ B @ A )
=> ( upper_bounded @ Pi @ B ) ) ) ).
% upper_bounded_bigger
thf(fact_678_compatible__options_Ocases,axiom,
! [X: produc5122021904355189735on_val] :
( ! [A4: val,B4: val] :
( X
!= ( produc904852209897547607on_val @ ( some_val @ A4 ) @ ( some_val @ B4 ) ) )
=> ( ! [Uv2: option_val] :
( X
!= ( produc904852209897547607on_val @ none_val @ Uv2 ) )
=> ~ ! [Uu2: option_val] :
( X
!= ( produc904852209897547607on_val @ Uu2 @ none_val ) ) ) ) ).
% compatible_options.cases
thf(fact_679_compatible__options_Ocases,axiom,
! [X: produc3142500478612311029_state] :
( ! [A4: state,B4: state] :
( X
!= ( produc9160152616361873709_state @ ( some_state @ A4 ) @ ( some_state @ B4 ) ) )
=> ( ! [Uv2: option_state] :
( X
!= ( produc9160152616361873709_state @ none_state @ Uv2 ) )
=> ~ ! [Uu2: option_state] :
( X
!= ( produc9160152616361873709_state @ Uu2 @ none_state ) ) ) ) ).
% compatible_options.cases
thf(fact_680_in__graphI,axiom,
! [M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,K: produc1457211279475724562t_char > prat,V2: produc1457211279475724562t_char > option_val] :
( ( ( M @ K )
= ( some_P7669353234731512949on_val @ V2 ) )
=> ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ K @ V2 ) @ ( graph_1288227317702120175on_val @ M ) ) ) ).
% in_graphI
thf(fact_681_in__graphI,axiom,
! [M: produc9003781588162623004on_val > option8887860577033306220on_val,K: produc9003781588162623004on_val,V2: produc9003781588162623004on_val] :
( ( ( M @ K )
= ( some_P2581650809551911671on_val @ V2 ) )
=> ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ K @ V2 ) @ ( graph_6108330199704490680on_val @ M ) ) ) ).
% in_graphI
thf(fact_682_in__graphI,axiom,
! [M: nat > option_list_char,K: nat,V2: list_char] :
( ( ( M @ K )
= ( some_list_char @ V2 ) )
=> ( member484235747325421115t_char @ ( produc120197956887798346t_char @ K @ V2 ) @ ( graph_nat_list_char @ M ) ) ) ).
% in_graphI
thf(fact_683_in__graphD,axiom,
! [K: produc1457211279475724562t_char > prat,V2: produc1457211279475724562t_char > option_val,M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ K @ V2 ) @ ( graph_1288227317702120175on_val @ M ) )
=> ( ( M @ K )
= ( some_P7669353234731512949on_val @ V2 ) ) ) ).
% in_graphD
thf(fact_684_in__graphD,axiom,
! [K: produc9003781588162623004on_val,V2: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option8887860577033306220on_val] :
( ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ K @ V2 ) @ ( graph_6108330199704490680on_val @ M ) )
=> ( ( M @ K )
= ( some_P2581650809551911671on_val @ V2 ) ) ) ).
% in_graphD
thf(fact_685_in__graphD,axiom,
! [K: nat,V2: list_char,M: nat > option_list_char] :
( ( member484235747325421115t_char @ ( produc120197956887798346t_char @ K @ V2 ) @ ( graph_nat_list_char @ M ) )
=> ( ( M @ K )
= ( some_list_char @ V2 ) ) ) ).
% in_graphD
thf(fact_686_graph__restrictD_I1_J,axiom,
! [K: produc1457211279475724562t_char > prat,V2: produc1457211279475724562t_char > option_val,M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,A5: set_Pr3433046674199179443r_prat] :
( ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ K @ V2 ) @ ( graph_1288227317702120175on_val @ ( restri7594233908965391805on_val @ M @ A5 ) ) )
=> ( member2336342582916103932r_prat @ K @ A5 ) ) ).
% graph_restrictD(1)
thf(fact_687_graph__restrictD_I1_J,axiom,
! [K: produc9003781588162623004on_val,V2: produc9003781588162623004on_val,M: produc9003781588162623004on_val > option8887860577033306220on_val,A5: set_Pr7649655576376376530on_val] :
( ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ K @ V2 ) @ ( graph_6108330199704490680on_val @ ( restri2354629191430751338on_val @ M @ A5 ) ) )
=> ( member2879030624002546611on_val @ K @ A5 ) ) ).
% graph_restrictD(1)
thf(fact_688_graph__restrictD_I1_J,axiom,
! [K: nat,V2: list_char,M: nat > option_list_char,A5: set_nat] :
( ( member484235747325421115t_char @ ( produc120197956887798346t_char @ K @ V2 ) @ ( graph_nat_list_char @ ( restri7497266720855523683t_char @ M @ A5 ) ) )
=> ( member_nat @ K @ A5 ) ) ).
% graph_restrictD(1)
thf(fact_689_ppos__inv,axiom,
! [P4: prat] :
( ( ppos @ P4 )
=> ( ppos @ ( pinv @ P4 ) ) ) ).
% ppos_inv
thf(fact_690_half__between__0__1,axiom,
( ( ppos @ half )
& ( pgt @ pwrite @ half ) ) ).
% half_between_0_1
thf(fact_691_valid__multiply,axiom,
! [A: produc1457211279475724562t_char > prat,Ma: prat,P4: prat] :
( ( valid_mask @ A )
=> ( ( upper_bounded @ A @ Ma )
=> ( ( pgte @ pwrite @ ( pmult @ Ma @ P4 ) )
=> ( valid_mask @ ( multiply_mask @ P4 @ A ) ) ) ) ) ).
% valid_multiply
thf(fact_692_add__states_Oelims,axiom,
! [X: produc9003781588162623004on_val,Xa: produc9003781588162623004on_val,Y: produc9003781588162623004on_val] :
( ( ( add_states @ X @ Xa )
= Y )
=> ~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( ( X
= ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ! [Pi7: produc1457211279475724562t_char > prat,H6: produc1457211279475724562t_char > option_val] :
( ( Xa
= ( produc74620467203698198on_val @ Pi7 @ H6 ) )
=> ( Y
!= ( produc74620467203698198on_val @ ( add_ma6586698345353345811t_char @ Pi6 @ Pi7 ) @ ( map_ad2908576761495157028ar_val @ H5 @ H6 ) ) ) ) ) ) ).
% add_states.elims
thf(fact_693_add__states_Osimps,axiom,
! [Pi: produc1457211279475724562t_char > prat,H3: produc1457211279475724562t_char > option_val,Pi3: produc1457211279475724562t_char > prat,H4: produc1457211279475724562t_char > option_val] :
( ( add_states @ ( produc74620467203698198on_val @ Pi @ H3 ) @ ( produc74620467203698198on_val @ Pi3 @ H4 ) )
= ( produc74620467203698198on_val @ ( add_ma6586698345353345811t_char @ Pi @ Pi3 ) @ ( map_ad2908576761495157028ar_val @ H3 @ H4 ) ) ) ).
% add_states.simps
thf(fact_694_sum__coeff,axiom,
! [A: prat,B: prat] :
( ( ppos @ A )
=> ( ( ppos @ B )
=> ( ( padd @ ( pdiv @ A @ ( padd @ A @ B ) ) @ ( pdiv @ B @ ( padd @ A @ B ) ) )
= pwrite ) ) ) ).
% sum_coeff
thf(fact_695_pdiv__smaller,axiom,
! [A: prat,B: prat] :
( ( pgte @ A @ B )
=> ( ( ppos @ A )
=> ( pgte @ pwrite @ ( pdiv @ B @ A ) ) ) ) ).
% pdiv_smaller
thf(fact_696_valid__stateI,axiom,
! [Pi: produc1457211279475724562t_char > prat,H3: produc1457211279475724562t_char > option_val] :
( ( valid_mask @ Pi )
=> ( ! [Hl2: produc1457211279475724562t_char] :
( ( ppos @ ( Pi @ Hl2 ) )
=> ( ( H3 @ Hl2 )
!= none_val ) )
=> ( valid_state @ ( produc74620467203698198on_val @ Pi @ H3 ) ) ) ) ).
% valid_stateI
thf(fact_697_valid__state_Ocases,axiom,
! [X: produc9003781588162623004on_val] :
~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( X
!= ( produc74620467203698198on_val @ Pi6 @ H5 ) ) ).
% valid_state.cases
thf(fact_698_add__states_Ocases,axiom,
! [X: produc1317171644805857433on_val] :
~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val,Pi7: produc1457211279475724562t_char > prat,H6: produc1457211279475724562t_char > option_val] :
( X
!= ( produc4958730763592889809on_val @ ( produc74620467203698198on_val @ Pi6 @ H5 ) @ ( produc74620467203698198on_val @ Pi7 @ H6 ) ) ) ).
% add_states.cases
thf(fact_699_pmult__pdiv__cancel,axiom,
! [A: prat,X: prat] :
( ( ppos @ A )
=> ( ( pmult @ A @ ( pdiv @ X @ A ) )
= X ) ) ).
% pmult_pdiv_cancel
thf(fact_700_pmult__ppos,axiom,
! [A: prat,B: prat] :
( ( ppos @ A )
=> ( ( ppos @ B )
=> ( ppos @ ( pmult @ A @ B ) ) ) ) ).
% pmult_ppos
thf(fact_701_multiply__mask__def,axiom,
( multiply_mask
= ( ^ [P5: prat,Pi2: produc1457211279475724562t_char > prat,Hl: produc1457211279475724562t_char] : ( pmult @ P5 @ ( Pi2 @ Hl ) ) ) ) ).
% multiply_mask_def
thf(fact_702_valid__state__decompose,axiom,
! [A: produc1457211279475724562t_char > prat,B: produc1457211279475724562t_char > prat,H3: produc1457211279475724562t_char > option_val] :
( ( valid_state @ ( produc74620467203698198on_val @ ( add_ma6586698345353345811t_char @ A @ B ) @ H3 ) )
=> ( valid_state @ ( produc74620467203698198on_val @ A @ H3 ) ) ) ).
% valid_state_decompose
thf(fact_703_valid__pre__unit,axiom,
valid_state @ ( produc74620467203698198on_val @ empty_3446695950879338768t_char @ empty_7512026568161686585ar_val ) ).
% valid_pre_unit
thf(fact_704_pinv__double__half,axiom,
! [P4: prat] :
( ( ppos @ P4 )
=> ( ( pmult @ half @ ( pinv @ P4 ) )
= ( pinv @ ( padd @ P4 @ P4 ) ) ) ) ).
% pinv_double_half
thf(fact_705_upper__bounded__smaller,axiom,
! [Pi: produc1457211279475724562t_char > prat,A: prat,P4: prat] :
( ( upper_bounded @ Pi @ A )
=> ( upper_bounded @ ( multiply_mask @ P4 @ Pi ) @ ( pmult @ P4 @ A ) ) ) ).
% upper_bounded_smaller
thf(fact_706_valid__state_Osimps,axiom,
! [Pi: produc1457211279475724562t_char > prat,H3: produc1457211279475724562t_char > option_val] :
( ( valid_state @ ( produc74620467203698198on_val @ Pi @ H3 ) )
= ( ( valid_mask @ Pi )
& ( valid_heap @ Pi @ H3 ) ) ) ).
% valid_state.simps
thf(fact_707_valid__state_Oelims_I1_J,axiom,
! [X: produc9003781588162623004on_val,Y: $o] :
( ( ( valid_state @ X )
= Y )
=> ~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( ( X
= ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ( Y
= ( ~ ( ( valid_mask @ Pi6 )
& ( valid_heap @ Pi6 @ H5 ) ) ) ) ) ) ).
% valid_state.elims(1)
thf(fact_708_valid__state_Oelims_I2_J,axiom,
! [X: produc9003781588162623004on_val] :
( ( valid_state @ X )
=> ~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( ( X
= ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ~ ( ( valid_mask @ Pi6 )
& ( valid_heap @ Pi6 @ H5 ) ) ) ) ).
% valid_state.elims(2)
thf(fact_709_valid__state_Oelims_I3_J,axiom,
! [X: produc9003781588162623004on_val] :
( ~ ( valid_state @ X )
=> ~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( ( X
= ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ( ( valid_mask @ Pi6 )
& ( valid_heap @ Pi6 @ H5 ) ) ) ) ).
% valid_state.elims(3)
thf(fact_710_pinv__pmult__ok,axiom,
! [P4: prat] :
( ( ppos @ P4 )
=> ( ( pmult @ P4 @ ( pinv @ P4 ) )
= pwrite ) ) ).
% pinv_pmult_ok
thf(fact_711_core__def,axiom,
( core
= ( ^ [Phi: state] : ( abs_state @ ( produc74620467203698198on_val @ empty_3446695950879338768t_char @ ( get_h @ Phi ) ) ) ) ) ).
% core_def
thf(fact_712_get__h__m,axiom,
( rep_state
= ( ^ [X4: state] : ( produc74620467203698198on_val @ ( get_m @ X4 ) @ ( get_h @ X4 ) ) ) ) ).
% get_h_m
thf(fact_713_add__states_Opelims,axiom,
! [X: produc9003781588162623004on_val,Xa: produc9003781588162623004on_val,Y: produc9003781588162623004on_val] :
( ( ( add_states @ X @ Xa )
= Y )
=> ( ( accp_P6797916352740768290on_val @ add_states_rel @ ( produc4958730763592889809on_val @ X @ Xa ) )
=> ~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( ( X
= ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ! [Pi7: produc1457211279475724562t_char > prat,H6: produc1457211279475724562t_char > option_val] :
( ( Xa
= ( produc74620467203698198on_val @ Pi7 @ H6 ) )
=> ( ( Y
= ( produc74620467203698198on_val @ ( add_ma6586698345353345811t_char @ Pi6 @ Pi7 ) @ ( map_ad2908576761495157028ar_val @ H5 @ H6 ) ) )
=> ~ ( accp_P6797916352740768290on_val @ add_states_rel @ ( produc4958730763592889809on_val @ ( produc74620467203698198on_val @ Pi6 @ H5 ) @ ( produc74620467203698198on_val @ Pi7 @ H6 ) ) ) ) ) ) ) ) ).
% add_states.pelims
thf(fact_714_unit__def,axiom,
( unit
= ( abs_state @ ( produc74620467203698198on_val @ empty_3446695950879338768t_char @ empty_7512026568161686585ar_val ) ) ) ).
% unit_def
thf(fact_715_notin__range__Some,axiom,
! [X: option_val] :
( ( ~ ( member_option_val @ X @ ( image_val_option_val @ some_val @ top_top_set_val ) ) )
= ( X = none_val ) ) ).
% notin_range_Some
thf(fact_716_notin__range__Some,axiom,
! [X: option_state] :
( ( ~ ( member_option_state @ X @ ( image_6076465424260689483_state @ some_state @ top_top_set_state ) ) )
= ( X = none_state ) ) ).
% notin_range_Some
thf(fact_717_uni__mask_Opelims,axiom,
! [X: produc1457211279475724562t_char,Xa: prat,Y: produc1457211279475724562t_char > prat] :
( ( ( uni_ma6578582744724537101t_char @ X @ Xa )
= Y )
=> ( ( accp_P8956218777217113800r_prat @ uni_ma1788645471123007132t_char @ ( produc2920179824973321483r_prat @ X @ Xa ) )
=> ~ ( ( Y
= ( fun_up829850848796697765r_prat @ empty_3446695950879338768t_char @ X @ Xa ) )
=> ~ ( accp_P8956218777217113800r_prat @ uni_ma1788645471123007132t_char @ ( produc2920179824973321483r_prat @ X @ Xa ) ) ) ) ) ).
% uni_mask.pelims
thf(fact_718_Rep__state__inverse,axiom,
! [X: state] :
( ( abs_state @ ( rep_state @ X ) )
= X ) ).
% Rep_state_inverse
thf(fact_719_Rep__state__inject,axiom,
! [X: state,Y: state] :
( ( ( rep_state @ X )
= ( rep_state @ Y ) )
= ( X = Y ) ) ).
% Rep_state_inject
thf(fact_720_inj__image__mem__iff,axiom,
! [F: produc9003781588162623004on_val > produc9003781588162623004on_val,A: produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val] :
( ( inj_on7948954794846770859on_val @ F @ top_to1561438921946393474on_val )
=> ( ( member2879030624002546611on_val @ ( F @ A ) @ ( image_4170889944715819327on_val @ F @ A5 ) )
= ( member2879030624002546611on_val @ A @ A5 ) ) ) ).
% inj_image_mem_iff
thf(fact_721_UNIV__option__conv,axiom,
( top_to853123400021307383on_val
= ( insert_option_val @ none_val @ ( image_val_option_val @ some_val @ top_top_set_val ) ) ) ).
% UNIV_option_conv
thf(fact_722_UNIV__option__conv,axiom,
( top_to7666338855062656496_state
= ( insert_option_state @ none_state @ ( image_6076465424260689483_state @ some_state @ top_top_set_state ) ) ) ).
% UNIV_option_conv
thf(fact_723_plus__def,axiom,
( plus
= ( ^ [A2: state,B2: state] : ( if_option_state @ ( compatible @ ( rep_state @ A2 ) @ ( rep_state @ B2 ) ) @ ( some_state @ ( abs_state @ ( add_states @ ( rep_state @ A2 ) @ ( rep_state @ B2 ) ) ) ) @ none_state ) ) ) ).
% plus_def
thf(fact_724_add__masks_Opelims,axiom,
! [X: produc1457211279475724562t_char > prat,Xa: produc1457211279475724562t_char > prat,Xb: produc1457211279475724562t_char,Y: prat] :
( ( ( add_ma6586698345353345811t_char @ X @ Xa @ Xb )
= Y )
=> ( ( accp_P224314924008452035t_char @ add_ma2412268806269088278t_char @ ( produc2957999048406202538t_char @ X @ ( produc2591414526589101846t_char @ Xa @ Xb ) ) )
=> ~ ( ( Y
= ( padd @ ( X @ Xb ) @ ( Xa @ Xb ) ) )
=> ~ ( accp_P224314924008452035t_char @ add_ma2412268806269088278t_char @ ( produc2957999048406202538t_char @ X @ ( produc2591414526589101846t_char @ Xa @ Xb ) ) ) ) ) ) ).
% add_masks.pelims
thf(fact_725_the__inv__into__into,axiom,
! [F: produc9003781588162623004on_val > produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val,X: produc9003781588162623004on_val,B5: set_Pr7649655576376376530on_val] :
( ( inj_on7948954794846770859on_val @ F @ A5 )
=> ( ( member2879030624002546611on_val @ X @ ( image_4170889944715819327on_val @ F @ A5 ) )
=> ( ( ord_le6900622908513426738on_val @ A5 @ B5 )
=> ( member2879030624002546611on_val @ ( the_in8616418995011220461on_val @ A5 @ F @ X ) @ B5 ) ) ) ) ).
% the_inv_into_into
thf(fact_726_ssubsetI,axiom,
! [A5: set_Pr7649655576376376530on_val,B5: set_Pr7649655576376376530on_val] :
( ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ Pi6 @ H5 ) @ A5 )
=> ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ Pi6 @ H5 ) @ B5 ) )
=> ( ord_le6900622908513426738on_val @ A5 @ B5 ) ) ).
% ssubsetI
thf(fact_727_ssubsetI,axiom,
! [A5: set_Pr4305388979797279737on_val,B5: set_Pr4305388979797279737on_val] :
( ! [Pi6: produc9003781588162623004on_val,H5: produc9003781588162623004on_val] :
( ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ Pi6 @ H5 ) @ A5 )
=> ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ Pi6 @ H5 ) @ B5 ) )
=> ( ord_le7224449410216889241on_val @ A5 @ B5 ) ) ).
% ssubsetI
thf(fact_728_ssubsetI,axiom,
! [A5: set_Pr2507339680178222706t_char,B5: set_Pr2507339680178222706t_char] :
( ! [Pi6: nat,H5: list_char] :
( ( member484235747325421115t_char @ ( produc120197956887798346t_char @ Pi6 @ H5 ) @ A5 )
=> ( member484235747325421115t_char @ ( produc120197956887798346t_char @ Pi6 @ H5 ) @ B5 ) )
=> ( ord_le6315511645215477266t_char @ A5 @ B5 ) ) ).
% ssubsetI
thf(fact_729_finite__range__Some,axiom,
( ( finite4212117559080419824on_val @ ( image_val_option_val @ some_val @ top_top_set_val ) )
= ( finite_finite_val @ top_top_set_val ) ) ).
% finite_range_Some
thf(fact_730_finite__range__Some,axiom,
( ( finite3180955649987104801_state @ ( image_6076465424260689483_state @ some_state @ top_top_set_state ) )
= ( finite_finite_state @ top_top_set_state ) ) ).
% finite_range_Some
thf(fact_731_inj__on__image__mem__iff,axiom,
! [F: produc9003781588162623004on_val > produc9003781588162623004on_val,B5: set_Pr7649655576376376530on_val,A: produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val] :
( ( inj_on7948954794846770859on_val @ F @ B5 )
=> ( ( member2879030624002546611on_val @ A @ B5 )
=> ( ( ord_le6900622908513426738on_val @ A5 @ B5 )
=> ( ( member2879030624002546611on_val @ ( F @ A ) @ ( image_4170889944715819327on_val @ F @ A5 ) )
= ( member2879030624002546611on_val @ A @ A5 ) ) ) ) ) ).
% inj_on_image_mem_iff
thf(fact_732_finite__range__map__of__map__add,axiom,
! [F: produc1457211279475724562t_char > option_val,L: list_P375024181684815772ar_val] :
( ( finite4212117559080419824on_val @ ( image_4269386950610408506on_val @ F @ top_to1250346684925019074t_char ) )
=> ( finite4212117559080419824on_val @ ( image_4269386950610408506on_val @ ( map_ad2908576761495157028ar_val @ F @ ( map_of6844234013878170066ar_val @ L ) ) @ top_to1250346684925019074t_char ) ) ) ).
% finite_range_map_of_map_add
thf(fact_733_valid__state_Opelims_I1_J,axiom,
! [X: produc9003781588162623004on_val,Y: $o] :
( ( ( valid_state @ X )
= Y )
=> ( ( accp_P4405556307444930259on_val @ valid_state_rel @ X )
=> ~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( ( X
= ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ( ( Y
= ( ( valid_mask @ Pi6 )
& ( valid_heap @ Pi6 @ H5 ) ) )
=> ~ ( accp_P4405556307444930259on_val @ valid_state_rel @ ( produc74620467203698198on_val @ Pi6 @ H5 ) ) ) ) ) ) ).
% valid_state.pelims(1)
thf(fact_734_valid__state_Opelims_I2_J,axiom,
! [X: produc9003781588162623004on_val] :
( ( valid_state @ X )
=> ( ( accp_P4405556307444930259on_val @ valid_state_rel @ X )
=> ~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( ( X
= ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ( ( accp_P4405556307444930259on_val @ valid_state_rel @ ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ~ ( ( valid_mask @ Pi6 )
& ( valid_heap @ Pi6 @ H5 ) ) ) ) ) ) ).
% valid_state.pelims(2)
thf(fact_735_map__option__eq__Some,axiom,
! [F: val > val,Xo: option_val,Y: val] :
( ( ( map_option_val_val @ F @ Xo )
= ( some_val @ Y ) )
= ( ? [Z3: val] :
( ( Xo
= ( some_val @ Z3 ) )
& ( ( F @ Z3 )
= Y ) ) ) ) ).
% map_option_eq_Some
thf(fact_736_map__option__eq__Some,axiom,
! [F: state > val,Xo: option_state,Y: val] :
( ( ( map_option_state_val @ F @ Xo )
= ( some_val @ Y ) )
= ( ? [Z3: state] :
( ( Xo
= ( some_state @ Z3 ) )
& ( ( F @ Z3 )
= Y ) ) ) ) ).
% map_option_eq_Some
thf(fact_737_map__option__eq__Some,axiom,
! [F: val > state,Xo: option_val,Y: state] :
( ( ( map_option_val_state @ F @ Xo )
= ( some_state @ Y ) )
= ( ? [Z3: val] :
( ( Xo
= ( some_val @ Z3 ) )
& ( ( F @ Z3 )
= Y ) ) ) ) ).
% map_option_eq_Some
thf(fact_738_map__option__eq__Some,axiom,
! [F: state > state,Xo: option_state,Y: state] :
( ( ( map_op2726735944305651201_state @ F @ Xo )
= ( some_state @ Y ) )
= ( ? [Z3: state] :
( ( Xo
= ( some_state @ Z3 ) )
& ( ( F @ Z3 )
= Y ) ) ) ) ).
% map_option_eq_Some
thf(fact_739_option_Omap__disc__iff,axiom,
! [F: state > state,A: option_state] :
( ( ( map_op2726735944305651201_state @ F @ A )
= none_state )
= ( A = none_state ) ) ).
% option.map_disc_iff
thf(fact_740_option_Omap__disc__iff,axiom,
! [F: val > state,A: option_val] :
( ( ( map_option_val_state @ F @ A )
= none_state )
= ( A = none_val ) ) ).
% option.map_disc_iff
thf(fact_741_option_Omap__disc__iff,axiom,
! [F: state > val,A: option_state] :
( ( ( map_option_state_val @ F @ A )
= none_val )
= ( A = none_state ) ) ).
% option.map_disc_iff
thf(fact_742_option_Omap__disc__iff,axiom,
! [F: val > val,A: option_val] :
( ( ( map_option_val_val @ F @ A )
= none_val )
= ( A = none_val ) ) ).
% option.map_disc_iff
thf(fact_743_map__option__is__None,axiom,
! [F: state > state,Opt: option_state] :
( ( ( map_op2726735944305651201_state @ F @ Opt )
= none_state )
= ( Opt = none_state ) ) ).
% map_option_is_None
thf(fact_744_map__option__is__None,axiom,
! [F: val > state,Opt: option_val] :
( ( ( map_option_val_state @ F @ Opt )
= none_state )
= ( Opt = none_val ) ) ).
% map_option_is_None
thf(fact_745_map__option__is__None,axiom,
! [F: state > val,Opt: option_state] :
( ( ( map_option_state_val @ F @ Opt )
= none_val )
= ( Opt = none_state ) ) ).
% map_option_is_None
thf(fact_746_map__option__is__None,axiom,
! [F: val > val,Opt: option_val] :
( ( ( map_option_val_val @ F @ Opt )
= none_val )
= ( Opt = none_val ) ) ).
% map_option_is_None
thf(fact_747_None__eq__map__option__iff,axiom,
! [F: state > state,X: option_state] :
( ( none_state
= ( map_op2726735944305651201_state @ F @ X ) )
= ( X = none_state ) ) ).
% None_eq_map_option_iff
thf(fact_748_None__eq__map__option__iff,axiom,
! [F: val > state,X: option_val] :
( ( none_state
= ( map_option_val_state @ F @ X ) )
= ( X = none_val ) ) ).
% None_eq_map_option_iff
thf(fact_749_None__eq__map__option__iff,axiom,
! [F: state > val,X: option_state] :
( ( none_val
= ( map_option_state_val @ F @ X ) )
= ( X = none_state ) ) ).
% None_eq_map_option_iff
thf(fact_750_None__eq__map__option__iff,axiom,
! [F: val > val,X: option_val] :
( ( none_val
= ( map_option_val_val @ F @ X ) )
= ( X = none_val ) ) ).
% None_eq_map_option_iff
thf(fact_751_option_Osimps_I9_J,axiom,
! [F: val > val,X2: val] :
( ( map_option_val_val @ F @ ( some_val @ X2 ) )
= ( some_val @ ( F @ X2 ) ) ) ).
% option.simps(9)
thf(fact_752_option_Osimps_I9_J,axiom,
! [F: val > state,X2: val] :
( ( map_option_val_state @ F @ ( some_val @ X2 ) )
= ( some_state @ ( F @ X2 ) ) ) ).
% option.simps(9)
thf(fact_753_option_Osimps_I9_J,axiom,
! [F: state > val,X2: state] :
( ( map_option_state_val @ F @ ( some_state @ X2 ) )
= ( some_val @ ( F @ X2 ) ) ) ).
% option.simps(9)
thf(fact_754_option_Osimps_I9_J,axiom,
! [F: state > state,X2: state] :
( ( map_op2726735944305651201_state @ F @ ( some_state @ X2 ) )
= ( some_state @ ( F @ X2 ) ) ) ).
% option.simps(9)
thf(fact_755_option_Osimps_I8_J,axiom,
! [F: state > state] :
( ( map_op2726735944305651201_state @ F @ none_state )
= none_state ) ).
% option.simps(8)
thf(fact_756_option_Osimps_I8_J,axiom,
! [F: state > val] :
( ( map_option_state_val @ F @ none_state )
= none_val ) ).
% option.simps(8)
thf(fact_757_option_Osimps_I8_J,axiom,
! [F: val > state] :
( ( map_option_val_state @ F @ none_val )
= none_state ) ).
% option.simps(8)
thf(fact_758_option_Osimps_I8_J,axiom,
! [F: val > val] :
( ( map_option_val_val @ F @ none_val )
= none_val ) ).
% option.simps(8)
thf(fact_759_option_Omap__ident__strong,axiom,
! [T: option8887860577033306220on_val,F: produc9003781588162623004on_val > produc9003781588162623004on_val] :
( ! [Z2: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Z2 @ ( set_op9004752959087400718on_val @ T ) )
=> ( ( F @ Z2 )
= Z2 ) )
=> ( ( map_op7709461780610975941on_val @ F @ T )
= T ) ) ).
% option.map_ident_strong
thf(fact_760_map__option__idI,axiom,
! [X: option8887860577033306220on_val,F: produc9003781588162623004on_val > produc9003781588162623004on_val] :
( ! [Y4: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Y4 @ ( set_op9004752959087400718on_val @ X ) )
=> ( ( F @ Y4 )
= Y4 ) )
=> ( ( map_op7709461780610975941on_val @ F @ X )
= X ) ) ).
% map_option_idI
thf(fact_761_valid__state_Opelims_I3_J,axiom,
! [X: produc9003781588162623004on_val] :
( ~ ( valid_state @ X )
=> ( ( accp_P4405556307444930259on_val @ valid_state_rel @ X )
=> ~ ! [Pi6: produc1457211279475724562t_char > prat,H5: produc1457211279475724562t_char > option_val] :
( ( X
= ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ( ( accp_P4405556307444930259on_val @ valid_state_rel @ ( produc74620467203698198on_val @ Pi6 @ H5 ) )
=> ( ( valid_mask @ Pi6 )
& ( valid_heap @ Pi6 @ H5 ) ) ) ) ) ) ).
% valid_state.pelims(3)
thf(fact_762_map__of__Cons__code_I2_J,axiom,
! [L: produc1457211279475724562t_char > prat,K: produc1457211279475724562t_char > prat,V2: produc1457211279475724562t_char > option_val,Ps: list_P8058578141249370668on_val] :
( ( ( L = K )
=> ( ( map_of8940823041123231434on_val @ ( cons_P1300772314254706406on_val @ ( produc74620467203698198on_val @ L @ V2 ) @ Ps ) @ K )
= ( some_P7669353234731512949on_val @ V2 ) ) )
& ( ( L != K )
=> ( ( map_of8940823041123231434on_val @ ( cons_P1300772314254706406on_val @ ( produc74620467203698198on_val @ L @ V2 ) @ Ps ) @ K )
= ( map_of8940823041123231434on_val @ Ps @ K ) ) ) ) ).
% map_of_Cons_code(2)
thf(fact_763_map__of__Cons__code_I2_J,axiom,
! [L: produc9003781588162623004on_val,K: produc9003781588162623004on_val,V2: produc9003781588162623004on_val,Ps: list_P5521618065476132895on_val] :
( ( ( L = K )
=> ( ( map_of2499293770471829533on_val @ ( cons_P1869654434729225551on_val @ ( produc4958730763592889809on_val @ L @ V2 ) @ Ps ) @ K )
= ( some_P2581650809551911671on_val @ V2 ) ) )
& ( ( L != K )
=> ( ( map_of2499293770471829533on_val @ ( cons_P1869654434729225551on_val @ ( produc4958730763592889809on_val @ L @ V2 ) @ Ps ) @ K )
= ( map_of2499293770471829533on_val @ Ps @ K ) ) ) ) ).
% map_of_Cons_code(2)
thf(fact_764_map__of__Cons__code_I2_J,axiom,
! [L: nat,K: nat,V2: list_char,Ps: list_P8003064839462976920t_char] :
( ( ( L = K )
=> ( ( map_of_nat_list_char @ ( cons_P6700496888814104776t_char @ ( produc120197956887798346t_char @ L @ V2 ) @ Ps ) @ K )
= ( some_list_char @ V2 ) ) )
& ( ( L != K )
=> ( ( map_of_nat_list_char @ ( cons_P6700496888814104776t_char @ ( produc120197956887798346t_char @ L @ V2 ) @ Ps ) @ K )
= ( map_of_nat_list_char @ Ps @ K ) ) ) ) ).
% map_of_Cons_code(2)
thf(fact_765_weak__map__of__SomeI,axiom,
! [K: produc1457211279475724562t_char > prat,X: produc1457211279475724562t_char > option_val,L: list_P8058578141249370668on_val] :
( ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ K @ X ) @ ( set_Pr1015909255637879367on_val @ L ) )
=> ? [X3: produc1457211279475724562t_char > option_val] :
( ( map_of8940823041123231434on_val @ L @ K )
= ( some_P7669353234731512949on_val @ X3 ) ) ) ).
% weak_map_of_SomeI
thf(fact_766_weak__map__of__SomeI,axiom,
! [K: produc9003781588162623004on_val,X: produc9003781588162623004on_val,L: list_P5521618065476132895on_val] :
( ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ K @ X ) @ ( set_Pr5935206576607725998on_val @ L ) )
=> ? [X3: produc9003781588162623004on_val] :
( ( map_of2499293770471829533on_val @ L @ K )
= ( some_P2581650809551911671on_val @ X3 ) ) ) ).
% weak_map_of_SomeI
thf(fact_767_weak__map__of__SomeI,axiom,
! [K: nat,X: list_char,L: list_P8003064839462976920t_char] :
( ( member484235747325421115t_char @ ( produc120197956887798346t_char @ K @ X ) @ ( set_Pr4422032998922688679t_char @ L ) )
=> ? [X3: list_char] :
( ( map_of_nat_list_char @ L @ K )
= ( some_list_char @ X3 ) ) ) ).
% weak_map_of_SomeI
thf(fact_768_map__of__SomeD,axiom,
! [Xs: list_P8058578141249370668on_val,K: produc1457211279475724562t_char > prat,Y: produc1457211279475724562t_char > option_val] :
( ( ( map_of8940823041123231434on_val @ Xs @ K )
= ( some_P7669353234731512949on_val @ Y ) )
=> ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ K @ Y ) @ ( set_Pr1015909255637879367on_val @ Xs ) ) ) ).
% map_of_SomeD
thf(fact_769_map__of__SomeD,axiom,
! [Xs: list_P5521618065476132895on_val,K: produc9003781588162623004on_val,Y: produc9003781588162623004on_val] :
( ( ( map_of2499293770471829533on_val @ Xs @ K )
= ( some_P2581650809551911671on_val @ Y ) )
=> ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ K @ Y ) @ ( set_Pr5935206576607725998on_val @ Xs ) ) ) ).
% map_of_SomeD
thf(fact_770_map__of__SomeD,axiom,
! [Xs: list_P8003064839462976920t_char,K: nat,Y: list_char] :
( ( ( map_of_nat_list_char @ Xs @ K )
= ( some_list_char @ Y ) )
=> ( member484235747325421115t_char @ ( produc120197956887798346t_char @ K @ Y ) @ ( set_Pr4422032998922688679t_char @ Xs ) ) ) ).
% map_of_SomeD
thf(fact_771_bij__betw__iff__bijections,axiom,
( bij_be532653817181524272on_val
= ( ^ [F2: produc9003781588162623004on_val > produc9003781588162623004on_val,A6: set_Pr7649655576376376530on_val,B6: set_Pr7649655576376376530on_val] :
? [G2: produc9003781588162623004on_val > produc9003781588162623004on_val] :
( ! [X4: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X4 @ A6 )
=> ( ( member2879030624002546611on_val @ ( F2 @ X4 ) @ B6 )
& ( ( G2 @ ( F2 @ X4 ) )
= X4 ) ) )
& ! [X4: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X4 @ B6 )
=> ( ( member2879030624002546611on_val @ ( G2 @ X4 ) @ A6 )
& ( ( F2 @ ( G2 @ X4 ) )
= X4 ) ) ) ) ) ) ).
% bij_betw_iff_bijections
thf(fact_772_bij__betw__apply,axiom,
! [F: produc9003781588162623004on_val > produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val,B5: set_Pr7649655576376376530on_val,A: produc9003781588162623004on_val] :
( ( bij_be532653817181524272on_val @ F @ A5 @ B5 )
=> ( ( member2879030624002546611on_val @ A @ A5 )
=> ( member2879030624002546611on_val @ ( F @ A ) @ B5 ) ) ) ).
% bij_betw_apply
thf(fact_773_notIn__Un__bij__betw,axiom,
! [B: produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val,F: produc9003781588162623004on_val > produc9003781588162623004on_val,A8: set_Pr7649655576376376530on_val] :
( ~ ( member2879030624002546611on_val @ B @ A5 )
=> ( ~ ( member2879030624002546611on_val @ ( F @ B ) @ A8 )
=> ( ( bij_be532653817181524272on_val @ F @ A5 @ A8 )
=> ( bij_be532653817181524272on_val @ F @ ( sup_su7506060154676209150on_val @ A5 @ ( insert3030518898131756108on_val @ B @ bot_bo6722054719108133734on_val ) ) @ ( sup_su7506060154676209150on_val @ A8 @ ( insert3030518898131756108on_val @ ( F @ B ) @ bot_bo6722054719108133734on_val ) ) ) ) ) ) ).
% notIn_Un_bij_betw
thf(fact_774_notIn__Un__bij__betw3,axiom,
! [B: produc9003781588162623004on_val,A5: set_Pr7649655576376376530on_val,F: produc9003781588162623004on_val > produc9003781588162623004on_val,A8: set_Pr7649655576376376530on_val] :
( ~ ( member2879030624002546611on_val @ B @ A5 )
=> ( ~ ( member2879030624002546611on_val @ ( F @ B ) @ A8 )
=> ( ( bij_be532653817181524272on_val @ F @ A5 @ A8 )
= ( bij_be532653817181524272on_val @ F @ ( sup_su7506060154676209150on_val @ A5 @ ( insert3030518898131756108on_val @ B @ bot_bo6722054719108133734on_val ) ) @ ( sup_su7506060154676209150on_val @ A8 @ ( insert3030518898131756108on_val @ ( F @ B ) @ bot_bo6722054719108133734on_val ) ) ) ) ) ) ).
% notIn_Un_bij_betw3
thf(fact_775_map__upds__twist,axiom,
! [A: produc9003781588162623004on_val,As: list_P8058578141249370668on_val,M: produc9003781588162623004on_val > option_val,B: val,Bs: list_val] :
( ~ ( member2879030624002546611on_val @ A @ ( set_Pr1015909255637879367on_val @ As ) )
=> ( ( map_up8749164644216650349al_val @ ( fun_up8559965269643824108on_val @ M @ A @ ( some_val @ B ) ) @ As @ Bs )
= ( fun_up8559965269643824108on_val @ ( map_up8749164644216650349al_val @ M @ As @ Bs ) @ A @ ( some_val @ B ) ) ) ) ).
% map_upds_twist
thf(fact_776_map__upds__twist,axiom,
! [A: produc9003781588162623004on_val,As: list_P8058578141249370668on_val,M: produc9003781588162623004on_val > option_state,B: state,Bs: list_state] :
( ~ ( member2879030624002546611on_val @ A @ ( set_Pr1015909255637879367on_val @ As ) )
=> ( ( map_up1579866409222595534_state @ ( fun_up6681822530636708645_state @ M @ A @ ( some_state @ B ) ) @ As @ Bs )
= ( fun_up6681822530636708645_state @ ( map_up1579866409222595534_state @ M @ As @ Bs ) @ A @ ( some_state @ B ) ) ) ) ).
% map_upds_twist
thf(fact_777_comp__the__Some,axiom,
( ( comp_o5604524432708427236al_val @ the_val @ some_val )
= id_val ) ).
% comp_the_Some
thf(fact_778_comp__the__Some,axiom,
( ( comp_o4916166309651032803_state @ the_state @ some_state )
= id_state ) ).
% comp_the_Some
thf(fact_779_dom__map__of__conv__image__fst,axiom,
! [Xys: list_P8058578141249370668on_val] :
( ( dom_Pr4152820065153570843on_val @ ( map_of8940823041123231434on_val @ Xys ) )
= ( image_3067683418878703216r_prat @ produc5239619271231976746on_val @ ( set_Pr1015909255637879367on_val @ Xys ) ) ) ).
% dom_map_of_conv_image_fst
thf(fact_780_dom__map__of__conv__image__fst,axiom,
! [Xys: list_P8003064839462976920t_char] :
( ( dom_nat_list_char @ ( map_of_nat_list_char @ Xys ) )
= ( image_3548405822317538717ar_nat @ produc6204653154488278070t_char @ ( set_Pr4422032998922688679t_char @ Xys ) ) ) ).
% dom_map_of_conv_image_fst
thf(fact_781_map__add__upds,axiom,
! [M1: produc1457211279475724562t_char > option_val,M2: produc1457211279475724562t_char > option_val,Xs: list_P8003064839462976920t_char,Ys: list_val] :
( ( map_ad2908576761495157028ar_val @ M1 @ ( map_up5062815548473444197ar_val @ M2 @ Xs @ Ys ) )
= ( map_up5062815548473444197ar_val @ ( map_ad2908576761495157028ar_val @ M1 @ M2 ) @ Xs @ Ys ) ) ).
% map_add_upds
thf(fact_782_inj__on__fst__graph,axiom,
! [M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] : ( inj_on3812695684120442372r_prat @ produc5239619271231976746on_val @ ( graph_1288227317702120175on_val @ M ) ) ).
% inj_on_fst_graph
thf(fact_783_inj__on__fst__graph,axiom,
! [M: nat > option_list_char] : ( inj_on2499120878504899377ar_nat @ produc6204653154488278070t_char @ ( graph_nat_list_char @ M ) ) ).
% inj_on_fst_graph
thf(fact_784_map__of__eq__dom,axiom,
! [Xs: list_P8058578141249370668on_val,Ys: list_P8058578141249370668on_val] :
( ( ( map_of8940823041123231434on_val @ Xs )
= ( map_of8940823041123231434on_val @ Ys ) )
=> ( ( image_3067683418878703216r_prat @ produc5239619271231976746on_val @ ( set_Pr1015909255637879367on_val @ Xs ) )
= ( image_3067683418878703216r_prat @ produc5239619271231976746on_val @ ( set_Pr1015909255637879367on_val @ Ys ) ) ) ) ).
% map_of_eq_dom
thf(fact_785_map__of__eq__dom,axiom,
! [Xs: list_P8003064839462976920t_char,Ys: list_P8003064839462976920t_char] :
( ( ( map_of_nat_list_char @ Xs )
= ( map_of_nat_list_char @ Ys ) )
=> ( ( image_3548405822317538717ar_nat @ produc6204653154488278070t_char @ ( set_Pr4422032998922688679t_char @ Xs ) )
= ( image_3548405822317538717ar_nat @ produc6204653154488278070t_char @ ( set_Pr4422032998922688679t_char @ Ys ) ) ) ) ).
% map_of_eq_dom
thf(fact_786_fst__graph__eq__dom,axiom,
! [M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ( image_3067683418878703216r_prat @ produc5239619271231976746on_val @ ( graph_1288227317702120175on_val @ M ) )
= ( dom_Pr4152820065153570843on_val @ M ) ) ).
% fst_graph_eq_dom
thf(fact_787_fst__graph__eq__dom,axiom,
! [M: nat > option_list_char] :
( ( image_3548405822317538717ar_nat @ produc6204653154488278070t_char @ ( graph_nat_list_char @ M ) )
= ( dom_nat_list_char @ M ) ) ).
% fst_graph_eq_dom
thf(fact_788_graph__domD,axiom,
! [X: produc9003781588162623004on_val,M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ( member2879030624002546611on_val @ X @ ( graph_1288227317702120175on_val @ M ) )
=> ( member2336342582916103932r_prat @ ( produc5239619271231976746on_val @ X ) @ ( dom_Pr4152820065153570843on_val @ M ) ) ) ).
% graph_domD
thf(fact_789_graph__domD,axiom,
! [X: produc1457211279475724562t_char,M: nat > option_list_char] :
( ( member484235747325421115t_char @ X @ ( graph_nat_list_char @ M ) )
=> ( member_nat @ ( produc6204653154488278070t_char @ X ) @ ( dom_nat_list_char @ M ) ) ) ).
% graph_domD
thf(fact_790_get__m_Osimps,axiom,
( get_m
= ( ^ [A2: state] : ( produc5239619271231976746on_val @ ( rep_state @ A2 ) ) ) ) ).
% get_m.simps
thf(fact_791_get__m_Oelims,axiom,
! [X: state,Y: produc1457211279475724562t_char > prat] :
( ( ( get_m @ X )
= Y )
=> ( Y
= ( produc5239619271231976746on_val @ ( rep_state @ X ) ) ) ) ).
% get_m.elims
thf(fact_792_get__pre_I2_J,axiom,
( get_m
= ( ^ [X4: state] : ( produc5239619271231976746on_val @ ( rep_state @ X4 ) ) ) ) ).
% get_pre(2)
thf(fact_793_map__of__eq__None__iff,axiom,
! [Xys: list_P5536455655026101949_state,X: produc9003781588162623004on_val] :
( ( ( map_of2328580218031654075_state @ Xys @ X )
= none_state )
= ( ~ ( member2879030624002546611on_val @ X @ ( image_3733899853514731534on_val @ produc6734235122797862491_state @ ( set_Pr5697038692337814348_state @ Xys ) ) ) ) ) ).
% map_of_eq_None_iff
thf(fact_794_map__of__eq__None__iff,axiom,
! [Xys: list_P7552871840895951722al_val,X: produc9003781588162623004on_val] :
( ( ( map_of5667034440649354688al_val @ Xys @ X )
= none_val )
= ( ~ ( member2879030624002546611on_val @ X @ ( image_8672218912373160061on_val @ produc4782051922924837920al_val @ ( set_Pr8419001214735528069al_val @ Xys ) ) ) ) ) ).
% map_of_eq_None_iff
thf(fact_795_map__of__eq__None__iff,axiom,
! [Xys: list_P8058578141249370668on_val,X: produc1457211279475724562t_char > prat] :
( ( ( map_of8940823041123231434on_val @ Xys @ X )
= none_P1334921381875262201on_val )
= ( ~ ( member2336342582916103932r_prat @ X @ ( image_3067683418878703216r_prat @ produc5239619271231976746on_val @ ( set_Pr1015909255637879367on_val @ Xys ) ) ) ) ) ).
% map_of_eq_None_iff
thf(fact_796_map__of__eq__None__iff,axiom,
! [Xys: list_P8003064839462976920t_char,X: nat] :
( ( ( map_of_nat_list_char @ Xys @ X )
= none_list_char )
= ( ~ ( member_nat @ X @ ( image_3548405822317538717ar_nat @ produc6204653154488278070t_char @ ( set_Pr4422032998922688679t_char @ Xys ) ) ) ) ) ).
% map_of_eq_None_iff
thf(fact_797_compatibleI__old,axiom,
! [Phi2: produc9003781588162623004on_val,Phi3: produc9003781588162623004on_val] :
( ! [Hl2: produc1457211279475724562t_char,X3: val,Y4: val] :
( ( ( ( produc2319605628138516840on_val @ Phi2 @ Hl2 )
= ( some_val @ X3 ) )
& ( ( produc2319605628138516840on_val @ Phi3 @ Hl2 )
= ( some_val @ Y4 ) ) )
=> ( X3 = Y4 ) )
=> ( ( valid_mask @ ( add_ma6586698345353345811t_char @ ( produc5239619271231976746on_val @ Phi2 ) @ ( produc5239619271231976746on_val @ Phi3 ) ) )
=> ( compatible @ Phi2 @ Phi3 ) ) ) ).
% compatibleI_old
thf(fact_798_map__of_Osimps_I2_J,axiom,
! [P4: produc1457211279475724562t_char,Ps: list_P8003064839462976920t_char] :
( ( map_of_nat_list_char @ ( cons_P6700496888814104776t_char @ P4 @ Ps ) )
= ( fun_up4009399622604172288t_char @ ( map_of_nat_list_char @ Ps ) @ ( produc6204653154488278070t_char @ P4 ) @ ( some_list_char @ ( produc1900778367047502200t_char @ P4 ) ) ) ) ).
% map_of.simps(2)
thf(fact_799_map__of_Osimps_I2_J,axiom,
! [P4: produc9003781588162623004on_val,Ps: list_P8058578141249370668on_val] :
( ( map_of8940823041123231434on_val @ ( cons_P1300772314254706406on_val @ P4 @ Ps ) )
= ( fun_up1601731230164360576on_val @ ( map_of8940823041123231434on_val @ Ps ) @ ( produc5239619271231976746on_val @ P4 ) @ ( some_P7669353234731512949on_val @ ( produc2319605628138516840on_val @ P4 ) ) ) ) ).
% map_of.simps(2)
thf(fact_800_compatible__def,axiom,
( compatible
= ( ^ [Phi: produc9003781588162623004on_val,Phi4: produc9003781588162623004on_val] :
( ( compatible_heaps @ ( produc2319605628138516840on_val @ Phi ) @ ( produc2319605628138516840on_val @ Phi4 ) )
& ( valid_mask @ ( add_ma6586698345353345811t_char @ ( produc5239619271231976746on_val @ Phi ) @ ( produc5239619271231976746on_val @ Phi4 ) ) ) ) ) ) ).
% compatible_def
thf(fact_801_pre__get__m_Oelims,axiom,
! [X: produc9003781588162623004on_val,Y: produc1457211279475724562t_char > prat] :
( ( ( pre_ge8481574585653477131on_val @ X )
= Y )
=> ( Y
= ( produc5239619271231976746on_val @ X ) ) ) ).
% pre_get_m.elims
thf(fact_802_pre__get__m_Oelims,axiom,
! [X: produc1457211279475724562t_char,Y: nat] :
( ( ( pre_ge2740421702909910421t_char @ X )
= Y )
=> ( Y
= ( produc6204653154488278070t_char @ X ) ) ) ).
% pre_get_m.elims
thf(fact_803_graph__ranD,axiom,
! [X: produc9003781588162623004on_val,M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ( member2879030624002546611on_val @ X @ ( graph_1288227317702120175on_val @ M ) )
=> ( member1577473829074448177on_val @ ( produc2319605628138516840on_val @ X ) @ ( ran_Pr878516737976613822on_val @ M ) ) ) ).
% graph_ranD
thf(fact_804_get__pre_I1_J,axiom,
( get_h
= ( ^ [X4: state] : ( produc2319605628138516840on_val @ ( rep_state @ X4 ) ) ) ) ).
% get_pre(1)
thf(fact_805_get__h_Oelims,axiom,
! [X: state,Y: produc1457211279475724562t_char > option_val] :
( ( ( get_h @ X )
= Y )
=> ( Y
= ( produc2319605628138516840on_val @ ( rep_state @ X ) ) ) ) ).
% get_h.elims
thf(fact_806_get__h_Osimps,axiom,
( get_h
= ( ^ [A2: state] : ( produc2319605628138516840on_val @ ( rep_state @ A2 ) ) ) ) ).
% get_h.simps
thf(fact_807_snd__graph__ran,axiom,
! [M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ( image_2330660378567450301on_val @ produc2319605628138516840on_val @ ( graph_1288227317702120175on_val @ M ) )
= ( ran_Pr878516737976613822on_val @ M ) ) ).
% snd_graph_ran
thf(fact_808_pre__get__m_Osimps,axiom,
pre_ge8481574585653477131on_val = produc5239619271231976746on_val ).
% pre_get_m.simps
thf(fact_809_pre__get__m_Osimps,axiom,
pre_ge2740421702909910421t_char = produc6204653154488278070t_char ).
% pre_get_m.simps
thf(fact_810_pre__get__m_Opelims,axiom,
! [X: produc1317171644805857433on_val,Y: produc9003781588162623004on_val] :
( ( ( pre_ge6899797224320663452on_val @ X )
= Y )
=> ( ( accp_P6797916352740768290on_val @ pre_ge1694281482089598673on_val @ X )
=> ~ ( ( Y
= ( produc3129717363260770749on_val @ X ) )
=> ~ ( accp_P6797916352740768290on_val @ pre_ge1694281482089598673on_val @ X ) ) ) ) ).
% pre_get_m.pelims
thf(fact_811_pre__get__m_Opelims,axiom,
! [X: produc9003781588162623004on_val,Y: produc1457211279475724562t_char > prat] :
( ( ( pre_ge8481574585653477131on_val @ X )
= Y )
=> ( ( accp_P4405556307444930259on_val @ pre_ge4462515927930180886on_val @ X )
=> ~ ( ( Y
= ( produc5239619271231976746on_val @ X ) )
=> ~ ( accp_P4405556307444930259on_val @ pre_ge4462515927930180886on_val @ X ) ) ) ) ).
% pre_get_m.pelims
thf(fact_812_pre__get__m_Opelims,axiom,
! [X: produc1457211279475724562t_char,Y: nat] :
( ( ( pre_ge2740421702909910421t_char @ X )
= Y )
=> ( ( accp_P8892882183480857371t_char @ pre_ge8748858970926381898t_char @ X )
=> ~ ( ( Y
= ( produc6204653154488278070t_char @ X ) )
=> ~ ( accp_P8892882183480857371t_char @ pre_ge8748858970926381898t_char @ X ) ) ) ) ).
% pre_get_m.pelims
thf(fact_813_map__upd__upds__conv__if,axiom,
! [X: produc9003781588162623004on_val,Ys: list_val,Xs: list_P8058578141249370668on_val,F: produc9003781588162623004on_val > option_val,Y: val] :
( ( ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ ( take_P84704344506987694on_val @ ( size_size_list_val @ Ys ) @ Xs ) ) )
=> ( ( map_up8749164644216650349al_val @ ( fun_up8559965269643824108on_val @ F @ X @ ( some_val @ Y ) ) @ Xs @ Ys )
= ( map_up8749164644216650349al_val @ F @ Xs @ Ys ) ) )
& ( ~ ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ ( take_P84704344506987694on_val @ ( size_size_list_val @ Ys ) @ Xs ) ) )
=> ( ( map_up8749164644216650349al_val @ ( fun_up8559965269643824108on_val @ F @ X @ ( some_val @ Y ) ) @ Xs @ Ys )
= ( fun_up8559965269643824108on_val @ ( map_up8749164644216650349al_val @ F @ Xs @ Ys ) @ X @ ( some_val @ Y ) ) ) ) ) ).
% map_upd_upds_conv_if
thf(fact_814_map__upd__upds__conv__if,axiom,
! [X: produc9003781588162623004on_val,Ys: list_state,Xs: list_P8058578141249370668on_val,F: produc9003781588162623004on_val > option_state,Y: state] :
( ( ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ ( take_P84704344506987694on_val @ ( size_size_list_state @ Ys ) @ Xs ) ) )
=> ( ( map_up1579866409222595534_state @ ( fun_up6681822530636708645_state @ F @ X @ ( some_state @ Y ) ) @ Xs @ Ys )
= ( map_up1579866409222595534_state @ F @ Xs @ Ys ) ) )
& ( ~ ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ ( take_P84704344506987694on_val @ ( size_size_list_state @ Ys ) @ Xs ) ) )
=> ( ( map_up1579866409222595534_state @ ( fun_up6681822530636708645_state @ F @ X @ ( some_state @ Y ) ) @ Xs @ Ys )
= ( fun_up6681822530636708645_state @ ( map_up1579866409222595534_state @ F @ Xs @ Ys ) @ X @ ( some_state @ Y ) ) ) ) ) ).
% map_upd_upds_conv_if
thf(fact_815_map__of__zip__upd,axiom,
! [Ys: list_val,Xs: list_P8058578141249370668on_val,Zs: list_val,X: produc9003781588162623004on_val,Y: val,Z: val] :
( ( ( size_size_list_val @ Ys )
= ( size_s4492361580139269312on_val @ Xs ) )
=> ( ( ( size_size_list_val @ Zs )
= ( size_s4492361580139269312on_val @ Xs ) )
=> ( ~ ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ Xs ) )
=> ( ( ( fun_up8559965269643824108on_val @ ( map_of5667034440649354688al_val @ ( zip_Pr897381525307642348al_val @ Xs @ Ys ) ) @ X @ ( some_val @ Y ) )
= ( fun_up8559965269643824108on_val @ ( map_of5667034440649354688al_val @ ( zip_Pr897381525307642348al_val @ Xs @ Zs ) ) @ X @ ( some_val @ Z ) ) )
=> ( ( map_of5667034440649354688al_val @ ( zip_Pr897381525307642348al_val @ Xs @ Ys ) )
= ( map_of5667034440649354688al_val @ ( zip_Pr897381525307642348al_val @ Xs @ Zs ) ) ) ) ) ) ) ).
% map_of_zip_upd
thf(fact_816_map__of__zip__upd,axiom,
! [Ys: list_state,Xs: list_P8058578141249370668on_val,Zs: list_state,X: produc9003781588162623004on_val,Y: state,Z: state] :
( ( ( size_size_list_state @ Ys )
= ( size_s4492361580139269312on_val @ Xs ) )
=> ( ( ( size_size_list_state @ Zs )
= ( size_s4492361580139269312on_val @ Xs ) )
=> ( ~ ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ Xs ) )
=> ( ( ( fun_up6681822530636708645_state @ ( map_of2328580218031654075_state @ ( zip_Pr183230366627191183_state @ Xs @ Ys ) ) @ X @ ( some_state @ Y ) )
= ( fun_up6681822530636708645_state @ ( map_of2328580218031654075_state @ ( zip_Pr183230366627191183_state @ Xs @ Zs ) ) @ X @ ( some_state @ Z ) ) )
=> ( ( map_of2328580218031654075_state @ ( zip_Pr183230366627191183_state @ Xs @ Ys ) )
= ( map_of2328580218031654075_state @ ( zip_Pr183230366627191183_state @ Xs @ Zs ) ) ) ) ) ) ) ).
% map_of_zip_upd
thf(fact_817_map__of__zip__is__None,axiom,
! [Xs: list_P8058578141249370668on_val,Ys: list_state,X: produc9003781588162623004on_val] :
( ( ( size_s4492361580139269312on_val @ Xs )
= ( size_size_list_state @ Ys ) )
=> ( ( ( map_of2328580218031654075_state @ ( zip_Pr183230366627191183_state @ Xs @ Ys ) @ X )
= none_state )
= ( ~ ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ Xs ) ) ) ) ) ).
% map_of_zip_is_None
thf(fact_818_map__of__zip__is__None,axiom,
! [Xs: list_P8058578141249370668on_val,Ys: list_val,X: produc9003781588162623004on_val] :
( ( ( size_s4492361580139269312on_val @ Xs )
= ( size_size_list_val @ Ys ) )
=> ( ( ( map_of5667034440649354688al_val @ ( zip_Pr897381525307642348al_val @ Xs @ Ys ) @ X )
= none_val )
= ( ~ ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ Xs ) ) ) ) ) ).
% map_of_zip_is_None
thf(fact_819_map__of__zip__is__Some,axiom,
! [Xs: list_P8058578141249370668on_val,Ys: list_val,X: produc9003781588162623004on_val] :
( ( ( size_s4492361580139269312on_val @ Xs )
= ( size_size_list_val @ Ys ) )
=> ( ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ Xs ) )
= ( ? [Y3: val] :
( ( map_of5667034440649354688al_val @ ( zip_Pr897381525307642348al_val @ Xs @ Ys ) @ X )
= ( some_val @ Y3 ) ) ) ) ) ).
% map_of_zip_is_Some
thf(fact_820_map__of__zip__is__Some,axiom,
! [Xs: list_P8058578141249370668on_val,Ys: list_state,X: produc9003781588162623004on_val] :
( ( ( size_s4492361580139269312on_val @ Xs )
= ( size_size_list_state @ Ys ) )
=> ( ( member2879030624002546611on_val @ X @ ( set_Pr1015909255637879367on_val @ Xs ) )
= ( ? [Y3: state] :
( ( map_of2328580218031654075_state @ ( zip_Pr183230366627191183_state @ Xs @ Ys ) @ X )
= ( some_state @ Y3 ) ) ) ) ) ).
% map_of_zip_is_Some
thf(fact_821_compatible__options_Opelims_I1_J,axiom,
! [X: option_val,Xa: option_val,Y: $o] :
( ( ( compat7209469420100717861ns_val @ X @ Xa )
= Y )
=> ( ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ X @ Xa ) )
=> ( ! [A4: val] :
( ( X
= ( some_val @ A4 ) )
=> ! [B4: val] :
( ( Xa
= ( some_val @ B4 ) )
=> ( ( Y
= ( A4 = B4 ) )
=> ~ ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ ( some_val @ A4 ) @ ( some_val @ B4 ) ) ) ) ) )
=> ( ( ( X = none_val )
=> ( Y
=> ~ ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ none_val @ Xa ) ) ) )
=> ~ ( ( Xa = none_val )
=> ( Y
=> ~ ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ X @ none_val ) ) ) ) ) ) ) ) ).
% compatible_options.pelims(1)
thf(fact_822_compatible__options_Opelims_I1_J,axiom,
! [X: option_state,Xa: option_state,Y: $o] :
( ( ( compat2278460363914054422_state @ X @ Xa )
= Y )
=> ( ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ X @ Xa ) )
=> ( ! [A4: state] :
( ( X
= ( some_state @ A4 ) )
=> ! [B4: state] :
( ( Xa
= ( some_state @ B4 ) )
=> ( ( Y
= ( A4 = B4 ) )
=> ~ ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ ( some_state @ A4 ) @ ( some_state @ B4 ) ) ) ) ) )
=> ( ( ( X = none_state )
=> ( Y
=> ~ ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ none_state @ Xa ) ) ) )
=> ~ ( ( Xa = none_state )
=> ( Y
=> ~ ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ X @ none_state ) ) ) ) ) ) ) ) ).
% compatible_options.pelims(1)
thf(fact_823_compatible__options_Opelims_I2_J,axiom,
! [X: option_val,Xa: option_val] :
( ( compat7209469420100717861ns_val @ X @ Xa )
=> ( ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ X @ Xa ) )
=> ( ! [A4: val] :
( ( X
= ( some_val @ A4 ) )
=> ! [B4: val] :
( ( Xa
= ( some_val @ B4 ) )
=> ( ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ ( some_val @ A4 ) @ ( some_val @ B4 ) ) )
=> ( A4 != B4 ) ) ) )
=> ( ( ( X = none_val )
=> ~ ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ none_val @ Xa ) ) )
=> ~ ( ( Xa = none_val )
=> ~ ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ X @ none_val ) ) ) ) ) ) ) ).
% compatible_options.pelims(2)
thf(fact_824_compatible__options_Opelims_I2_J,axiom,
! [X: option_state,Xa: option_state] :
( ( compat2278460363914054422_state @ X @ Xa )
=> ( ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ X @ Xa ) )
=> ( ! [A4: state] :
( ( X
= ( some_state @ A4 ) )
=> ! [B4: state] :
( ( Xa
= ( some_state @ B4 ) )
=> ( ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ ( some_state @ A4 ) @ ( some_state @ B4 ) ) )
=> ( A4 != B4 ) ) ) )
=> ( ( ( X = none_state )
=> ~ ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ none_state @ Xa ) ) )
=> ~ ( ( Xa = none_state )
=> ~ ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ X @ none_state ) ) ) ) ) ) ) ).
% compatible_options.pelims(2)
thf(fact_825_compatible__options_Opelims_I3_J,axiom,
! [X: option_val,Xa: option_val] :
( ~ ( compat7209469420100717861ns_val @ X @ Xa )
=> ( ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ X @ Xa ) )
=> ~ ! [A4: val] :
( ( X
= ( some_val @ A4 ) )
=> ! [B4: val] :
( ( Xa
= ( some_val @ B4 ) )
=> ( ( accp_P4269981079083053040on_val @ compat8294034345482142370el_val @ ( produc904852209897547607on_val @ ( some_val @ A4 ) @ ( some_val @ B4 ) ) )
=> ( A4 = B4 ) ) ) ) ) ) ).
% compatible_options.pelims(3)
thf(fact_826_compatible__options_Opelims_I3_J,axiom,
! [X: option_state,Xa: option_state] :
( ~ ( compat2278460363914054422_state @ X @ Xa )
=> ( ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ X @ Xa ) )
=> ~ ! [A4: state] :
( ( X
= ( some_state @ A4 ) )
=> ! [B4: state] :
( ( Xa
= ( some_state @ B4 ) )
=> ( ( accp_P7183347322223220350_state @ compat1844074344818064729_state @ ( produc9160152616361873709_state @ ( some_state @ A4 ) @ ( some_state @ B4 ) ) )
=> ( A4 = B4 ) ) ) ) ) ) ).
% compatible_options.pelims(3)
thf(fact_827_ran__distinct,axiom,
! [Al: list_P8003064839462976920t_char] :
( ( distinct_nat @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Al ) )
=> ( ( ran_nat_list_char @ ( map_of_nat_list_char @ Al ) )
= ( image_3034139768025083822t_char @ produc1900778367047502200t_char @ ( set_Pr4422032998922688679t_char @ Al ) ) ) ) ).
% ran_distinct
thf(fact_828_ran__distinct,axiom,
! [Al: list_P8058578141249370668on_val] :
( ( distin8840078896927665228r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Al ) )
=> ( ( ran_Pr878516737976613822on_val @ ( map_of8940823041123231434on_val @ Al ) )
= ( image_2330660378567450301on_val @ produc2319605628138516840on_val @ ( set_Pr1015909255637879367on_val @ Al ) ) ) ) ).
% ran_distinct
thf(fact_829_map__of__eq__Some__iff,axiom,
! [Xys: list_P5521618065476132895on_val,X: produc9003781588162623004on_val,Y: produc9003781588162623004on_val] :
( ( distin602967888454099555on_val @ ( map_Pr2662348860696421617on_val @ produc3129717363260770749on_val @ Xys ) )
=> ( ( ( map_of2499293770471829533on_val @ Xys @ X )
= ( some_P2581650809551911671on_val @ Y ) )
= ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ X @ Y ) @ ( set_Pr5935206576607725998on_val @ Xys ) ) ) ) ).
% map_of_eq_Some_iff
thf(fact_830_map__of__eq__Some__iff,axiom,
! [Xys: list_P8058578141249370668on_val,X: produc1457211279475724562t_char > prat,Y: produc1457211279475724562t_char > option_val] :
( ( distin8840078896927665228r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Xys ) )
=> ( ( ( map_of8940823041123231434on_val @ Xys @ X )
= ( some_P7669353234731512949on_val @ Y ) )
= ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ X @ Y ) @ ( set_Pr1015909255637879367on_val @ Xys ) ) ) ) ).
% map_of_eq_Some_iff
thf(fact_831_map__of__eq__Some__iff,axiom,
! [Xys: list_P8003064839462976920t_char,X: nat,Y: list_char] :
( ( distinct_nat @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Xys ) )
=> ( ( ( map_of_nat_list_char @ Xys @ X )
= ( some_list_char @ Y ) )
= ( member484235747325421115t_char @ ( produc120197956887798346t_char @ X @ Y ) @ ( set_Pr4422032998922688679t_char @ Xys ) ) ) ) ).
% map_of_eq_Some_iff
thf(fact_832_Some__eq__map__of__iff,axiom,
! [Xys: list_P5521618065476132895on_val,Y: produc9003781588162623004on_val,X: produc9003781588162623004on_val] :
( ( distin602967888454099555on_val @ ( map_Pr2662348860696421617on_val @ produc3129717363260770749on_val @ Xys ) )
=> ( ( ( some_P2581650809551911671on_val @ Y )
= ( map_of2499293770471829533on_val @ Xys @ X ) )
= ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ X @ Y ) @ ( set_Pr5935206576607725998on_val @ Xys ) ) ) ) ).
% Some_eq_map_of_iff
thf(fact_833_Some__eq__map__of__iff,axiom,
! [Xys: list_P8058578141249370668on_val,Y: produc1457211279475724562t_char > option_val,X: produc1457211279475724562t_char > prat] :
( ( distin8840078896927665228r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Xys ) )
=> ( ( ( some_P7669353234731512949on_val @ Y )
= ( map_of8940823041123231434on_val @ Xys @ X ) )
= ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ X @ Y ) @ ( set_Pr1015909255637879367on_val @ Xys ) ) ) ) ).
% Some_eq_map_of_iff
thf(fact_834_Some__eq__map__of__iff,axiom,
! [Xys: list_P8003064839462976920t_char,Y: list_char,X: nat] :
( ( distinct_nat @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Xys ) )
=> ( ( ( some_list_char @ Y )
= ( map_of_nat_list_char @ Xys @ X ) )
= ( member484235747325421115t_char @ ( produc120197956887798346t_char @ X @ Y ) @ ( set_Pr4422032998922688679t_char @ Xys ) ) ) ) ).
% Some_eq_map_of_iff
thf(fact_835_map__of__is__SomeI,axiom,
! [Xys: list_P5521618065476132895on_val,X: produc9003781588162623004on_val,Y: produc9003781588162623004on_val] :
( ( distin602967888454099555on_val @ ( map_Pr2662348860696421617on_val @ produc3129717363260770749on_val @ Xys ) )
=> ( ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ X @ Y ) @ ( set_Pr5935206576607725998on_val @ Xys ) )
=> ( ( map_of2499293770471829533on_val @ Xys @ X )
= ( some_P2581650809551911671on_val @ Y ) ) ) ) ).
% map_of_is_SomeI
thf(fact_836_map__of__is__SomeI,axiom,
! [Xys: list_P8058578141249370668on_val,X: produc1457211279475724562t_char > prat,Y: produc1457211279475724562t_char > option_val] :
( ( distin8840078896927665228r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Xys ) )
=> ( ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ X @ Y ) @ ( set_Pr1015909255637879367on_val @ Xys ) )
=> ( ( map_of8940823041123231434on_val @ Xys @ X )
= ( some_P7669353234731512949on_val @ Y ) ) ) ) ).
% map_of_is_SomeI
thf(fact_837_map__of__is__SomeI,axiom,
! [Xys: list_P8003064839462976920t_char,X: nat,Y: list_char] :
( ( distinct_nat @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Xys ) )
=> ( ( member484235747325421115t_char @ ( produc120197956887798346t_char @ X @ Y ) @ ( set_Pr4422032998922688679t_char @ Xys ) )
=> ( ( map_of_nat_list_char @ Xys @ X )
= ( some_list_char @ Y ) ) ) ) ).
% map_of_is_SomeI
thf(fact_838_map__of__eqI,axiom,
! [Xs: list_P8058578141249370668on_val,Ys: list_P8058578141249370668on_val] :
( ( ( set_Pr7516010431435912040r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Xs ) )
= ( set_Pr7516010431435912040r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Ys ) ) )
=> ( ! [X3: produc1457211279475724562t_char > prat] :
( ( member2336342582916103932r_prat @ X3 @ ( set_Pr7516010431435912040r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Xs ) ) )
=> ( ( map_of8940823041123231434on_val @ Xs @ X3 )
= ( map_of8940823041123231434on_val @ Ys @ X3 ) ) )
=> ( ( map_of8940823041123231434on_val @ Xs )
= ( map_of8940823041123231434on_val @ Ys ) ) ) ) ).
% map_of_eqI
thf(fact_839_map__of__eqI,axiom,
! [Xs: list_P8003064839462976920t_char,Ys: list_P8003064839462976920t_char] :
( ( ( set_nat2 @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Xs ) )
= ( set_nat2 @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Ys ) ) )
=> ( ! [X3: nat] :
( ( member_nat @ X3 @ ( set_nat2 @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Xs ) ) )
=> ( ( map_of_nat_list_char @ Xs @ X3 )
= ( map_of_nat_list_char @ Ys @ X3 ) ) )
=> ( ( map_of_nat_list_char @ Xs )
= ( map_of_nat_list_char @ Ys ) ) ) ) ).
% map_of_eqI
thf(fact_840_eq__key__imp__eq__value,axiom,
! [Xs: list_P5521618065476132895on_val,K: produc9003781588162623004on_val,V1: produc9003781588162623004on_val,V22: produc9003781588162623004on_val] :
( ( distin602967888454099555on_val @ ( map_Pr2662348860696421617on_val @ produc3129717363260770749on_val @ Xs ) )
=> ( ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ K @ V1 ) @ ( set_Pr5935206576607725998on_val @ Xs ) )
=> ( ( member6505152944228695362on_val @ ( produc4958730763592889809on_val @ K @ V22 ) @ ( set_Pr5935206576607725998on_val @ Xs ) )
=> ( V1 = V22 ) ) ) ) ).
% eq_key_imp_eq_value
thf(fact_841_eq__key__imp__eq__value,axiom,
! [Xs: list_P8058578141249370668on_val,K: produc1457211279475724562t_char > prat,V1: produc1457211279475724562t_char > option_val,V22: produc1457211279475724562t_char > option_val] :
( ( distin8840078896927665228r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Xs ) )
=> ( ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ K @ V1 ) @ ( set_Pr1015909255637879367on_val @ Xs ) )
=> ( ( member2879030624002546611on_val @ ( produc74620467203698198on_val @ K @ V22 ) @ ( set_Pr1015909255637879367on_val @ Xs ) )
=> ( V1 = V22 ) ) ) ) ).
% eq_key_imp_eq_value
thf(fact_842_eq__key__imp__eq__value,axiom,
! [Xs: list_P8003064839462976920t_char,K: nat,V1: list_char,V22: list_char] :
( ( distinct_nat @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Xs ) )
=> ( ( member484235747325421115t_char @ ( produc120197956887798346t_char @ K @ V1 ) @ ( set_Pr4422032998922688679t_char @ Xs ) )
=> ( ( member484235747325421115t_char @ ( produc120197956887798346t_char @ K @ V22 ) @ ( set_Pr4422032998922688679t_char @ Xs ) )
=> ( V1 = V22 ) ) ) ) ).
% eq_key_imp_eq_value
thf(fact_843_map__of__inject__set,axiom,
! [Xs: list_P8058578141249370668on_val,Ys: list_P8058578141249370668on_val] :
( ( distin8840078896927665228r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Xs ) )
=> ( ( distin8840078896927665228r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Ys ) )
=> ( ( ( map_of8940823041123231434on_val @ Xs )
= ( map_of8940823041123231434on_val @ Ys ) )
= ( ( set_Pr1015909255637879367on_val @ Xs )
= ( set_Pr1015909255637879367on_val @ Ys ) ) ) ) ) ).
% map_of_inject_set
thf(fact_844_map__of__inject__set,axiom,
! [Xs: list_P8003064839462976920t_char,Ys: list_P8003064839462976920t_char] :
( ( distinct_nat @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Xs ) )
=> ( ( distinct_nat @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Ys ) )
=> ( ( ( map_of_nat_list_char @ Xs )
= ( map_of_nat_list_char @ Ys ) )
= ( ( set_Pr4422032998922688679t_char @ Xs )
= ( set_Pr4422032998922688679t_char @ Ys ) ) ) ) ) ).
% map_of_inject_set
thf(fact_845_map__of__zip__map,axiom,
! [Xs: list_P8058578141249370668on_val,F: produc9003781588162623004on_val > val] :
( ( map_of5667034440649354688al_val @ ( zip_Pr897381525307642348al_val @ Xs @ ( map_Pr201512126527963679al_val @ F @ Xs ) ) )
= ( ^ [X4: produc9003781588162623004on_val] : ( if_option_val @ ( member2879030624002546611on_val @ X4 @ ( set_Pr1015909255637879367on_val @ Xs ) ) @ ( some_val @ ( F @ X4 ) ) @ none_val ) ) ) ).
% map_of_zip_map
thf(fact_846_map__of__zip__map,axiom,
! [Xs: list_P8058578141249370668on_val,F: produc9003781588162623004on_val > state] :
( ( map_of2328580218031654075_state @ ( zip_Pr183230366627191183_state @ Xs @ ( map_Pr4168196228874954140_state @ F @ Xs ) ) )
= ( ^ [X4: produc9003781588162623004on_val] : ( if_option_state @ ( member2879030624002546611on_val @ X4 @ ( set_Pr1015909255637879367on_val @ Xs ) ) @ ( some_state @ ( F @ X4 ) ) @ none_state ) ) ) ).
% map_of_zip_map
thf(fact_847_graph__map__of__if__distinct__dom,axiom,
! [Al: list_P8058578141249370668on_val] :
( ( distin8840078896927665228r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Al ) )
=> ( ( graph_1288227317702120175on_val @ ( map_of8940823041123231434on_val @ Al ) )
= ( set_Pr1015909255637879367on_val @ Al ) ) ) ).
% graph_map_of_if_distinct_dom
thf(fact_848_graph__map__of__if__distinct__dom,axiom,
! [Al: list_P8003064839462976920t_char] :
( ( distinct_nat @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Al ) )
=> ( ( graph_nat_list_char @ ( map_of_nat_list_char @ Al ) )
= ( set_Pr4422032998922688679t_char @ Al ) ) ) ).
% graph_map_of_if_distinct_dom
thf(fact_849_map__upds__def,axiom,
( map_up5062815548473444197ar_val
= ( ^ [M4: produc1457211279475724562t_char > option_val,Xs2: list_P8003064839462976920t_char,Ys2: list_val] : ( map_ad2908576761495157028ar_val @ M4 @ ( map_of6844234013878170066ar_val @ ( rev_Pr6055279906267038332ar_val @ ( zip_Pr909124973800381606ar_val @ Xs2 @ Ys2 ) ) ) ) ) ) ).
% map_upds_def
thf(fact_850_pre__get__h_Oelims,axiom,
! [X: produc9003781588162623004on_val,Y: produc1457211279475724562t_char > option_val] :
( ( ( pre_ge1486375753531218896on_val @ X )
= Y )
=> ( Y
= ( produc2319605628138516840on_val @ X ) ) ) ).
% pre_get_h.elims
thf(fact_851_pre__get__h_Osimps,axiom,
pre_ge1486375753531218896on_val = produc2319605628138516840on_val ).
% pre_get_h.simps
thf(fact_852_pre__get__h_Opelims,axiom,
! [X: produc1317171644805857433on_val,Y: produc9003781588162623004on_val] :
( ( ( pre_ge5139353195879713175on_val @ X )
= Y )
=> ( ( accp_P6797916352740768290on_val @ pre_ge7436079647097740950on_val @ X )
=> ~ ( ( Y
= ( produc437328469718437375on_val @ X ) )
=> ~ ( accp_P6797916352740768290on_val @ pre_ge7436079647097740950on_val @ X ) ) ) ) ).
% pre_get_h.pelims
thf(fact_853_pre__get__h_Opelims,axiom,
! [X: produc9003781588162623004on_val,Y: produc1457211279475724562t_char > option_val] :
( ( ( pre_ge1486375753531218896on_val @ X )
= Y )
=> ( ( accp_P4405556307444930259on_val @ pre_ge6140436789258014353on_val @ X )
=> ~ ( ( Y
= ( produc2319605628138516840on_val @ X ) )
=> ~ ( accp_P4405556307444930259on_val @ pre_ge6140436789258014353on_val @ X ) ) ) ) ).
% pre_get_h.pelims
thf(fact_854_get__m_Opelims,axiom,
! [X: state,Y: produc1457211279475724562t_char > prat] :
( ( ( get_m @ X )
= Y )
=> ( ( accp_state @ get_m_rel @ X )
=> ~ ( ( Y
= ( produc5239619271231976746on_val @ ( rep_state @ X ) ) )
=> ~ ( accp_state @ get_m_rel @ X ) ) ) ) ).
% get_m.pelims
thf(fact_855_get__h_Opelims,axiom,
! [X: state,Y: produc1457211279475724562t_char > option_val] :
( ( ( get_h @ X )
= Y )
=> ( ( accp_state @ get_h_rel @ X )
=> ~ ( ( Y
= ( produc2319605628138516840on_val @ ( rep_state @ X ) ) )
=> ~ ( accp_state @ get_h_rel @ X ) ) ) ) ).
% get_h.pelims
thf(fact_856_find__None__iff2,axiom,
! [P: produc9003781588162623004on_val > $o,Xs: list_P8058578141249370668on_val] :
( ( none_P8728355543607141243on_val
= ( find_P7418167508921316608on_val @ P @ Xs ) )
= ( ~ ? [X4: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X4 @ ( set_Pr1015909255637879367on_val @ Xs ) )
& ( P @ X4 ) ) ) ) ).
% find_None_iff2
thf(fact_857_find__None__iff2,axiom,
! [P: state > $o,Xs: list_state] :
( ( none_state
= ( find_state @ P @ Xs ) )
= ( ~ ? [X4: state] :
( ( member_state @ X4 @ ( set_state2 @ Xs ) )
& ( P @ X4 ) ) ) ) ).
% find_None_iff2
thf(fact_858_find__None__iff2,axiom,
! [P: val > $o,Xs: list_val] :
( ( none_val
= ( find_val @ P @ Xs ) )
= ( ~ ? [X4: val] :
( ( member_val @ X4 @ ( set_val2 @ Xs ) )
& ( P @ X4 ) ) ) ) ).
% find_None_iff2
thf(fact_859_find__None__iff,axiom,
! [P: produc9003781588162623004on_val > $o,Xs: list_P8058578141249370668on_val] :
( ( ( find_P7418167508921316608on_val @ P @ Xs )
= none_P8728355543607141243on_val )
= ( ~ ? [X4: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X4 @ ( set_Pr1015909255637879367on_val @ Xs ) )
& ( P @ X4 ) ) ) ) ).
% find_None_iff
thf(fact_860_find__None__iff,axiom,
! [P: state > $o,Xs: list_state] :
( ( ( find_state @ P @ Xs )
= none_state )
= ( ~ ? [X4: state] :
( ( member_state @ X4 @ ( set_state2 @ Xs ) )
& ( P @ X4 ) ) ) ) ).
% find_None_iff
thf(fact_861_find__None__iff,axiom,
! [P: val > $o,Xs: list_val] :
( ( ( find_val @ P @ Xs )
= none_val )
= ( ~ ? [X4: val] :
( ( member_val @ X4 @ ( set_val2 @ Xs ) )
& ( P @ X4 ) ) ) ) ).
% find_None_iff
thf(fact_862_find_Osimps_I2_J,axiom,
! [P: val > $o,X: val,Xs: list_val] :
( ( ( P @ X )
=> ( ( find_val @ P @ ( cons_val @ X @ Xs ) )
= ( some_val @ X ) ) )
& ( ~ ( P @ X )
=> ( ( find_val @ P @ ( cons_val @ X @ Xs ) )
= ( find_val @ P @ Xs ) ) ) ) ).
% find.simps(2)
thf(fact_863_find_Osimps_I2_J,axiom,
! [P: state > $o,X: state,Xs: list_state] :
( ( ( P @ X )
=> ( ( find_state @ P @ ( cons_state @ X @ Xs ) )
= ( some_state @ X ) ) )
& ( ~ ( P @ X )
=> ( ( find_state @ P @ ( cons_state @ X @ Xs ) )
= ( find_state @ P @ Xs ) ) ) ) ).
% find.simps(2)
thf(fact_864_map__of__map__restrict,axiom,
! [F: ( produc1457211279475724562t_char > prat ) > produc1457211279475724562t_char > option_val,Ks: list_P6121108298706723033r_prat] :
( ( map_of8940823041123231434on_val
@ ( map_Pr6126389625903360171on_val
@ ^ [K2: produc1457211279475724562t_char > prat] : ( produc74620467203698198on_val @ K2 @ ( F @ K2 ) )
@ Ks ) )
= ( restri7594233908965391805on_val @ ( comp_P4400950274061688490r_prat @ some_P7669353234731512949on_val @ F ) @ ( set_Pr7516010431435912040r_prat @ Ks ) ) ) ).
% map_of_map_restrict
thf(fact_865_map__of__map__restrict,axiom,
! [F: produc9003781588162623004on_val > produc9003781588162623004on_val,Ks: list_P8058578141249370668on_val] :
( ( map_of2499293770471829533on_val
@ ( map_Pr6762588844207200055on_val
@ ^ [K2: produc9003781588162623004on_val] : ( produc4958730763592889809on_val @ K2 @ ( F @ K2 ) )
@ Ks ) )
= ( restri2354629191430751338on_val @ ( comp_P6513993558795193993on_val @ some_P2581650809551911671on_val @ F ) @ ( set_Pr1015909255637879367on_val @ Ks ) ) ) ).
% map_of_map_restrict
thf(fact_866_map__of__map__restrict,axiom,
! [F: nat > list_char,Ks: list_nat] :
( ( map_of_nat_list_char
@ ( map_na9203830342147005692t_char
@ ^ [K2: nat] : ( produc120197956887798346t_char @ K2 @ ( F @ K2 ) )
@ Ks ) )
= ( restri7497266720855523683t_char @ ( comp_l4346807716514216519ar_nat @ some_list_char @ F ) @ ( set_nat2 @ Ks ) ) ) ).
% map_of_map_restrict
thf(fact_867_empty__eq__map__add__iff,axiom,
! [F: produc1457211279475724562t_char > option_val,G: produc1457211279475724562t_char > option_val] :
( ( ( ^ [X4: produc1457211279475724562t_char] : none_val )
= ( map_ad2908576761495157028ar_val @ F @ G ) )
= ( ( F
= ( ^ [X4: produc1457211279475724562t_char] : none_val ) )
& ( G
= ( ^ [X4: produc1457211279475724562t_char] : none_val ) ) ) ) ).
% empty_eq_map_add_iff
thf(fact_868_map__add__empty,axiom,
! [M: produc1457211279475724562t_char > option_val] :
( ( map_ad2908576761495157028ar_val @ M
@ ^ [X4: produc1457211279475724562t_char] : none_val )
= M ) ).
% map_add_empty
thf(fact_869_empty__map__add,axiom,
! [M: produc1457211279475724562t_char > option_val] :
( ( map_ad2908576761495157028ar_val
@ ^ [X4: produc1457211279475724562t_char] : none_val
@ M )
= M ) ).
% empty_map_add
thf(fact_870_combine__options__def,axiom,
( combine_options_val
= ( ^ [F2: val > val > val,X4: option_val,Y3: option_val] :
( case_o7794706883426356101al_val @ Y3
@ ^ [Z3: val] :
( case_o7794706883426356101al_val @ ( some_val @ Z3 )
@ ^ [Aa: val] : ( some_val @ ( F2 @ Z3 @ Aa ) )
@ Y3 )
@ X4 ) ) ) ).
% combine_options_def
thf(fact_871_combine__options__def,axiom,
( combin3633514924185701883_state
= ( ^ [F2: state > state > state,X4: option_state,Y3: option_state] :
( case_o8916064052540797265_state @ Y3
@ ^ [Z3: state] :
( case_o8916064052540797265_state @ ( some_state @ Z3 )
@ ^ [Aa: state] : ( some_state @ ( F2 @ Z3 @ Aa ) )
@ Y3 )
@ X4 ) ) ) ).
% combine_options_def
thf(fact_872_case__optionE,axiom,
! [P: $o,Q: val > $o,X: option_val] :
( ( case_option_o_val @ P @ Q @ X )
=> ( ( ( X = none_val )
=> ~ P )
=> ~ ! [Y4: val] :
( ( X
= ( some_val @ Y4 ) )
=> ~ ( Q @ Y4 ) ) ) ) ).
% case_optionE
thf(fact_873_case__optionE,axiom,
! [P: $o,Q: state > $o,X: option_state] :
( ( case_option_o_state @ P @ Q @ X )
=> ( ( ( X = none_state )
=> ~ P )
=> ~ ! [Y4: state] :
( ( X
= ( some_state @ Y4 ) )
=> ~ ( Q @ Y4 ) ) ) ) ).
% case_optionE
thf(fact_874_dom__def,axiom,
( dom_Pr4448331044451638570_state
= ( ^ [M4: produc9003781588162623004on_val > option_state] :
( collec7475294502966882545on_val
@ ^ [A2: produc9003781588162623004on_val] :
( ( M4 @ A2 )
!= none_state ) ) ) ) ).
% dom_def
thf(fact_875_dom__def,axiom,
( dom_Pr7381289304162206737al_val
= ( ^ [M4: produc9003781588162623004on_val > option_val] :
( collec7475294502966882545on_val
@ ^ [A2: produc9003781588162623004on_val] :
( ( M4 @ A2 )
!= none_val ) ) ) ) ).
% dom_def
thf(fact_876_map__add__def,axiom,
( map_ad2908576761495157028ar_val
= ( ^ [M12: produc1457211279475724562t_char > option_val,M22: produc1457211279475724562t_char > option_val,X4: produc1457211279475724562t_char] : ( case_o7794706883426356101al_val @ ( M12 @ X4 ) @ some_val @ ( M22 @ X4 ) ) ) ) ).
% map_add_def
thf(fact_877_option_Odisc__eq__case_I2_J,axiom,
! [Option: option_state] :
( ( Option != none_state )
= ( case_option_o_state @ $false
@ ^ [Uu3: state] : $true
@ Option ) ) ).
% option.disc_eq_case(2)
thf(fact_878_option_Odisc__eq__case_I2_J,axiom,
! [Option: option_val] :
( ( Option != none_val )
= ( case_option_o_val @ $false
@ ^ [Uu3: val] : $true
@ Option ) ) ).
% option.disc_eq_case(2)
thf(fact_879_option_Odisc__eq__case_I1_J,axiom,
! [Option: option_state] :
( ( Option = none_state )
= ( case_option_o_state @ $true
@ ^ [Uu3: state] : $false
@ Option ) ) ).
% option.disc_eq_case(1)
thf(fact_880_option_Odisc__eq__case_I1_J,axiom,
! [Option: option_val] :
( ( Option = none_val )
= ( case_option_o_val @ $true
@ ^ [Uu3: val] : $false
@ Option ) ) ).
% option.disc_eq_case(1)
thf(fact_881_Option_Othese__def,axiom,
( these_state
= ( ^ [A6: set_option_state] :
( image_3532137647693456075_state @ the_state
@ ( collect_option_state
@ ^ [X4: option_state] :
( ( member_option_state @ X4 @ A6 )
& ( X4 != none_state ) ) ) ) ) ) ).
% Option.these_def
thf(fact_882_Option_Othese__def,axiom,
( these_val
= ( ^ [A6: set_option_val] :
( image_option_val_val @ the_val
@ ( collect_option_val
@ ^ [X4: option_val] :
( ( member_option_val @ X4 @ A6 )
& ( X4 != none_val ) ) ) ) ) ) ).
% Option.these_def
thf(fact_883_graph__fun__upd__None,axiom,
! [M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val,K: produc1457211279475724562t_char > prat] :
( ( graph_1288227317702120175on_val @ ( fun_up1601731230164360576on_val @ M @ K @ none_P1334921381875262201on_val ) )
= ( collec7475294502966882545on_val
@ ^ [E3: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ E3 @ ( graph_1288227317702120175on_val @ M ) )
& ( ( produc5239619271231976746on_val @ E3 )
!= K ) ) ) ) ).
% graph_fun_upd_None
thf(fact_884_graph__fun__upd__None,axiom,
! [M: nat > option_list_char,K: nat] :
( ( graph_nat_list_char @ ( fun_up4009399622604172288t_char @ M @ K @ none_list_char ) )
= ( collec2458894688891239037t_char
@ ^ [E3: produc1457211279475724562t_char] :
( ( member484235747325421115t_char @ E3 @ ( graph_nat_list_char @ M ) )
& ( ( produc6204653154488278070t_char @ E3 )
!= K ) ) ) ) ).
% graph_fun_upd_None
thf(fact_885_graph__eq__to__snd__dom,axiom,
( graph_1288227317702120175on_val
= ( ^ [M4: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( image_1459058096221225002on_val
@ ^ [X4: produc1457211279475724562t_char > prat] : ( produc74620467203698198on_val @ X4 @ ( the_Pr646328391962797958on_val @ ( M4 @ X4 ) ) )
@ ( dom_Pr4152820065153570843on_val @ M4 ) ) ) ) ).
% graph_eq_to_snd_dom
thf(fact_886_graph__eq__to__snd__dom,axiom,
( graph_6108330199704490680on_val
= ( ^ [M4: produc9003781588162623004on_val > option8887860577033306220on_val] :
( image_4249794487667743926on_val
@ ^ [X4: produc9003781588162623004on_val] : ( produc4958730763592889809on_val @ X4 @ ( the_Pr3639693038709580936on_val @ ( M4 @ X4 ) ) )
@ ( dom_Pr2742230247756046988on_val @ M4 ) ) ) ) ).
% graph_eq_to_snd_dom
thf(fact_887_graph__eq__to__snd__dom,axiom,
( graph_nat_list_char
= ( ^ [M4: nat > option_list_char] :
( image_1003422490162143483t_char
@ ^ [X4: nat] : ( produc120197956887798346t_char @ X4 @ ( the_list_char @ ( M4 @ X4 ) ) )
@ ( dom_nat_list_char @ M4 ) ) ) ) ).
% graph_eq_to_snd_dom
thf(fact_888_Some__image__these__eq,axiom,
! [A5: set_option_val] :
( ( image_val_option_val @ some_val @ ( these_val @ A5 ) )
= ( collect_option_val
@ ^ [X4: option_val] :
( ( member_option_val @ X4 @ A5 )
& ( X4 != none_val ) ) ) ) ).
% Some_image_these_eq
thf(fact_889_Some__image__these__eq,axiom,
! [A5: set_option_state] :
( ( image_6076465424260689483_state @ some_state @ ( these_state @ A5 ) )
= ( collect_option_state
@ ^ [X4: option_state] :
( ( member_option_state @ X4 @ A5 )
& ( X4 != none_state ) ) ) ) ).
% Some_image_these_eq
thf(fact_890_finite__Map__induct,axiom,
! [M: produc9003781588162623004on_val > option_val,P: ( produc9003781588162623004on_val > option_val ) > $o] :
( ( finite8324237431073730739on_val @ ( dom_Pr7381289304162206737al_val @ M ) )
=> ( ( P
@ ^ [X4: produc9003781588162623004on_val] : none_val )
=> ( ! [K3: produc9003781588162623004on_val,V3: val,M6: produc9003781588162623004on_val > option_val] :
( ( finite8324237431073730739on_val @ ( dom_Pr7381289304162206737al_val @ M6 ) )
=> ( ~ ( member2879030624002546611on_val @ K3 @ ( dom_Pr7381289304162206737al_val @ M6 ) )
=> ( ( P @ M6 )
=> ( P @ ( fun_up8559965269643824108on_val @ M6 @ K3 @ ( some_val @ V3 ) ) ) ) ) )
=> ( P @ M ) ) ) ) ).
% finite_Map_induct
thf(fact_891_finite__Map__induct,axiom,
! [M: produc9003781588162623004on_val > option_state,P: ( produc9003781588162623004on_val > option_state ) > $o] :
( ( finite8324237431073730739on_val @ ( dom_Pr4448331044451638570_state @ M ) )
=> ( ( P
@ ^ [X4: produc9003781588162623004on_val] : none_state )
=> ( ! [K3: produc9003781588162623004on_val,V3: state,M6: produc9003781588162623004on_val > option_state] :
( ( finite8324237431073730739on_val @ ( dom_Pr4448331044451638570_state @ M6 ) )
=> ( ~ ( member2879030624002546611on_val @ K3 @ ( dom_Pr4448331044451638570_state @ M6 ) )
=> ( ( P @ M6 )
=> ( P @ ( fun_up6681822530636708645_state @ M6 @ K3 @ ( some_state @ V3 ) ) ) ) ) )
=> ( P @ M ) ) ) ) ).
% finite_Map_induct
thf(fact_892_map__of__map__keys,axiom,
! [Xs: list_P6121108298706723033r_prat,M: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( ( ( set_Pr7516010431435912040r_prat @ Xs )
= ( dom_Pr4152820065153570843on_val @ M ) )
=> ( ( map_of8940823041123231434on_val
@ ( map_Pr6126389625903360171on_val
@ ^ [K2: produc1457211279475724562t_char > prat] : ( produc74620467203698198on_val @ K2 @ ( the_Pr646328391962797958on_val @ ( M @ K2 ) ) )
@ Xs ) )
= M ) ) ).
% map_of_map_keys
thf(fact_893_map__of__map__keys,axiom,
! [Xs: list_P8058578141249370668on_val,M: produc9003781588162623004on_val > option8887860577033306220on_val] :
( ( ( set_Pr1015909255637879367on_val @ Xs )
= ( dom_Pr2742230247756046988on_val @ M ) )
=> ( ( map_of2499293770471829533on_val
@ ( map_Pr6762588844207200055on_val
@ ^ [K2: produc9003781588162623004on_val] : ( produc4958730763592889809on_val @ K2 @ ( the_Pr3639693038709580936on_val @ ( M @ K2 ) ) )
@ Xs ) )
= M ) ) ).
% map_of_map_keys
thf(fact_894_map__of__map__keys,axiom,
! [Xs: list_nat,M: nat > option_list_char] :
( ( ( set_nat2 @ Xs )
= ( dom_nat_list_char @ M ) )
=> ( ( map_of_nat_list_char
@ ( map_na9203830342147005692t_char
@ ^ [K2: nat] : ( produc120197956887798346t_char @ K2 @ ( the_list_char @ ( M @ K2 ) ) )
@ Xs ) )
= M ) ) ).
% map_of_map_keys
thf(fact_895_find_Osimps_I1_J,axiom,
! [Uu: state > $o] :
( ( find_state @ Uu @ nil_state )
= none_state ) ).
% find.simps(1)
thf(fact_896_find_Osimps_I1_J,axiom,
! [Uu: val > $o] :
( ( find_val @ Uu @ nil_val )
= none_val ) ).
% find.simps(1)
thf(fact_897_set__map__of__compr,axiom,
! [Xs: list_P8058578141249370668on_val] :
( ( distin8840078896927665228r_prat @ ( map_Pr7735014948560838385r_prat @ produc5239619271231976746on_val @ Xs ) )
=> ( ( set_Pr1015909255637879367on_val @ Xs )
= ( collec7475294502966882545on_val
@ ( produc5248837549992124053_val_o
@ ^ [K2: produc1457211279475724562t_char > prat,V: produc1457211279475724562t_char > option_val] :
( ( map_of8940823041123231434on_val @ Xs @ K2 )
= ( some_P7669353234731512949on_val @ V ) ) ) ) ) ) ).
% set_map_of_compr
thf(fact_898_set__map__of__compr,axiom,
! [Xs: list_P8003064839462976920t_char] :
( ( distinct_nat @ ( map_Pr2525441637447625118ar_nat @ produc6204653154488278070t_char @ Xs ) )
=> ( ( set_Pr4422032998922688679t_char @ Xs )
= ( collec2458894688891239037t_char
@ ( produc8526122873445342073char_o
@ ^ [K2: nat,V: list_char] :
( ( map_of_nat_list_char @ Xs @ K2 )
= ( some_list_char @ V ) ) ) ) ) ) ).
% set_map_of_compr
thf(fact_899_option_Oin__rel,axiom,
( rel_op2494113632589343803t_char
= ( ^ [R3: nat > list_char > $o,A2: option_nat,B2: option_list_char] :
? [Z3: option2736423997234022232t_char] :
( ( member1900516542280067841t_char @ Z3
@ ( collec3561702660602934339t_char
@ ^ [X4: option2736423997234022232t_char] : ( ord_le6315511645215477266t_char @ ( set_op7440730737645789856t_char @ X4 ) @ ( collec2458894688891239037t_char @ ( produc8526122873445342073char_o @ R3 ) ) ) ) )
& ( ( map_op2304244586335077271ar_nat @ produc6204653154488278070t_char @ Z3 )
= A2 )
& ( ( map_op1953669867509794472t_char @ produc1900778367047502200t_char @ Z3 )
= B2 ) ) ) ) ).
% option.in_rel
thf(fact_900_option_Oin__rel,axiom,
( rel_op7555592896143267045on_val
= ( ^ [R3: ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > option_val ) > $o,A2: option3572569098863364761r_prat,B2: option5747939881698552298on_val] :
? [Z3: option8887860577033306220on_val] :
( ( member4602090469187516291on_val @ Z3
@ ( collec6281439769543645121on_val
@ ^ [X4: option8887860577033306220on_val] : ( ord_le6900622908513426738on_val @ ( set_op9004752959087400718on_val @ X4 ) @ ( collec7475294502966882545on_val @ ( produc5248837549992124053_val_o @ R3 ) ) ) ) )
& ( ( map_op457311912167326058r_prat @ produc5239619271231976746on_val @ Z3 )
= A2 )
& ( ( map_op5305211447164704579on_val @ produc2319605628138516840on_val @ Z3 )
= B2 ) ) ) ) ).
% option.in_rel
thf(fact_901_Abs__state__inverse,axiom,
! [Y: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Y
@ ( collec7475294502966882545on_val
@ ^ [Uu3: produc9003781588162623004on_val] :
? [Phi: produc9003781588162623004on_val] :
( ( Uu3 = Phi )
& ( valid_state @ Phi ) ) ) )
=> ( ( rep_state @ ( abs_state @ Y ) )
= Y ) ) ).
% Abs_state_inverse
thf(fact_902_rel__option__None1,axiom,
! [P: state > state > $o,X: option_state] :
( ( rel_op4316599310523903102_state @ P @ none_state @ X )
= ( X = none_state ) ) ).
% rel_option_None1
thf(fact_903_rel__option__None1,axiom,
! [P: state > val > $o,X: option_val] :
( ( rel_option_state_val @ P @ none_state @ X )
= ( X = none_val ) ) ).
% rel_option_None1
thf(fact_904_rel__option__None1,axiom,
! [P: val > state > $o,X: option_state] :
( ( rel_option_val_state @ P @ none_val @ X )
= ( X = none_state ) ) ).
% rel_option_None1
thf(fact_905_rel__option__None1,axiom,
! [P: val > val > $o,X: option_val] :
( ( rel_option_val_val @ P @ none_val @ X )
= ( X = none_val ) ) ).
% rel_option_None1
thf(fact_906_rel__option__None2,axiom,
! [P: state > state > $o,X: option_state] :
( ( rel_op4316599310523903102_state @ P @ X @ none_state )
= ( X = none_state ) ) ).
% rel_option_None2
thf(fact_907_rel__option__None2,axiom,
! [P: val > state > $o,X: option_val] :
( ( rel_option_val_state @ P @ X @ none_state )
= ( X = none_val ) ) ).
% rel_option_None2
thf(fact_908_rel__option__None2,axiom,
! [P: state > val > $o,X: option_state] :
( ( rel_option_state_val @ P @ X @ none_val )
= ( X = none_state ) ) ).
% rel_option_None2
thf(fact_909_rel__option__None2,axiom,
! [P: val > val > $o,X: option_val] :
( ( rel_option_val_val @ P @ X @ none_val )
= ( X = none_val ) ) ).
% rel_option_None2
thf(fact_910_option_Octr__transfer_I1_J,axiom,
! [R4: state > state > $o] : ( rel_op4316599310523903102_state @ R4 @ none_state @ none_state ) ).
% option.ctr_transfer(1)
thf(fact_911_option_Octr__transfer_I1_J,axiom,
! [R4: state > val > $o] : ( rel_option_state_val @ R4 @ none_state @ none_val ) ).
% option.ctr_transfer(1)
thf(fact_912_option_Octr__transfer_I1_J,axiom,
! [R4: val > state > $o] : ( rel_option_val_state @ R4 @ none_val @ none_state ) ).
% option.ctr_transfer(1)
thf(fact_913_option_Octr__transfer_I1_J,axiom,
! [R4: val > val > $o] : ( rel_option_val_val @ R4 @ none_val @ none_val ) ).
% option.ctr_transfer(1)
thf(fact_914_option_Orel__cong,axiom,
! [X: option8887860577033306220on_val,Ya: option8887860577033306220on_val,Y: option8887860577033306220on_val,Xa: option8887860577033306220on_val,R4: produc9003781588162623004on_val > produc9003781588162623004on_val > $o,Ra: produc9003781588162623004on_val > produc9003781588162623004on_val > $o] :
( ( X = Ya )
=> ( ( Y = Xa )
=> ( ! [Z2: produc9003781588162623004on_val,Yb: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Z2 @ ( set_op9004752959087400718on_val @ Ya ) )
=> ( ( member2879030624002546611on_val @ Yb @ ( set_op9004752959087400718on_val @ Xa ) )
=> ( ( R4 @ Z2 @ Yb )
= ( Ra @ Z2 @ Yb ) ) ) )
=> ( ( rel_op346525543737320258on_val @ R4 @ X @ Y )
= ( rel_op346525543737320258on_val @ Ra @ Ya @ Xa ) ) ) ) ) ).
% option.rel_cong
thf(fact_915_option_Orel__mono__strong,axiom,
! [R4: produc9003781588162623004on_val > produc9003781588162623004on_val > $o,X: option8887860577033306220on_val,Y: option8887860577033306220on_val,Ra: produc9003781588162623004on_val > produc9003781588162623004on_val > $o] :
( ( rel_op346525543737320258on_val @ R4 @ X @ Y )
=> ( ! [Z2: produc9003781588162623004on_val,Yb: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Z2 @ ( set_op9004752959087400718on_val @ X ) )
=> ( ( member2879030624002546611on_val @ Yb @ ( set_op9004752959087400718on_val @ Y ) )
=> ( ( R4 @ Z2 @ Yb )
=> ( Ra @ Z2 @ Yb ) ) ) )
=> ( rel_op346525543737320258on_val @ Ra @ X @ Y ) ) ) ).
% option.rel_mono_strong
thf(fact_916_option_Orel__refl__strong,axiom,
! [X: option8887860577033306220on_val,Ra: produc9003781588162623004on_val > produc9003781588162623004on_val > $o] :
( ! [Z2: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Z2 @ ( set_op9004752959087400718on_val @ X ) )
=> ( Ra @ Z2 @ Z2 ) )
=> ( rel_op346525543737320258on_val @ Ra @ X @ X ) ) ).
% option.rel_refl_strong
thf(fact_917_rel__option__reflI,axiom,
! [Y: option8887860577033306220on_val,P: produc9003781588162623004on_val > produc9003781588162623004on_val > $o] :
( ! [X3: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X3 @ ( set_op9004752959087400718on_val @ Y ) )
=> ( P @ X3 @ X3 ) )
=> ( rel_op346525543737320258on_val @ P @ Y @ Y ) ) ).
% rel_option_reflI
thf(fact_918_option_Orel__inject_I2_J,axiom,
! [R4: val > val > $o,X2: val,Y2: val] :
( ( rel_option_val_val @ R4 @ ( some_val @ X2 ) @ ( some_val @ Y2 ) )
= ( R4 @ X2 @ Y2 ) ) ).
% option.rel_inject(2)
thf(fact_919_option_Orel__inject_I2_J,axiom,
! [R4: val > state > $o,X2: val,Y2: state] :
( ( rel_option_val_state @ R4 @ ( some_val @ X2 ) @ ( some_state @ Y2 ) )
= ( R4 @ X2 @ Y2 ) ) ).
% option.rel_inject(2)
thf(fact_920_option_Orel__inject_I2_J,axiom,
! [R4: state > val > $o,X2: state,Y2: val] :
( ( rel_option_state_val @ R4 @ ( some_state @ X2 ) @ ( some_val @ Y2 ) )
= ( R4 @ X2 @ Y2 ) ) ).
% option.rel_inject(2)
thf(fact_921_option_Orel__inject_I2_J,axiom,
! [R4: state > state > $o,X2: state,Y2: state] :
( ( rel_op4316599310523903102_state @ R4 @ ( some_state @ X2 ) @ ( some_state @ Y2 ) )
= ( R4 @ X2 @ Y2 ) ) ).
% option.rel_inject(2)
thf(fact_922_option_Orel__intros_I2_J,axiom,
! [R4: val > val > $o,X2: val,Y2: val] :
( ( R4 @ X2 @ Y2 )
=> ( rel_option_val_val @ R4 @ ( some_val @ X2 ) @ ( some_val @ Y2 ) ) ) ).
% option.rel_intros(2)
thf(fact_923_option_Orel__intros_I2_J,axiom,
! [R4: val > state > $o,X2: val,Y2: state] :
( ( R4 @ X2 @ Y2 )
=> ( rel_option_val_state @ R4 @ ( some_val @ X2 ) @ ( some_state @ Y2 ) ) ) ).
% option.rel_intros(2)
thf(fact_924_option_Orel__intros_I2_J,axiom,
! [R4: state > val > $o,X2: state,Y2: val] :
( ( R4 @ X2 @ Y2 )
=> ( rel_option_state_val @ R4 @ ( some_state @ X2 ) @ ( some_val @ Y2 ) ) ) ).
% option.rel_intros(2)
thf(fact_925_option_Orel__intros_I2_J,axiom,
! [R4: state > state > $o,X2: state,Y2: state] :
( ( R4 @ X2 @ Y2 )
=> ( rel_op4316599310523903102_state @ R4 @ ( some_state @ X2 ) @ ( some_state @ Y2 ) ) ) ).
% option.rel_intros(2)
thf(fact_926_option__rel__Some1,axiom,
! [A5: val > val > $o,X: val,Y: option_val] :
( ( rel_option_val_val @ A5 @ ( some_val @ X ) @ Y )
= ( ? [Y5: val] :
( ( Y
= ( some_val @ Y5 ) )
& ( A5 @ X @ Y5 ) ) ) ) ).
% option_rel_Some1
thf(fact_927_option__rel__Some1,axiom,
! [A5: val > state > $o,X: val,Y: option_state] :
( ( rel_option_val_state @ A5 @ ( some_val @ X ) @ Y )
= ( ? [Y5: state] :
( ( Y
= ( some_state @ Y5 ) )
& ( A5 @ X @ Y5 ) ) ) ) ).
% option_rel_Some1
thf(fact_928_option__rel__Some1,axiom,
! [A5: state > val > $o,X: state,Y: option_val] :
( ( rel_option_state_val @ A5 @ ( some_state @ X ) @ Y )
= ( ? [Y5: val] :
( ( Y
= ( some_val @ Y5 ) )
& ( A5 @ X @ Y5 ) ) ) ) ).
% option_rel_Some1
thf(fact_929_option__rel__Some1,axiom,
! [A5: state > state > $o,X: state,Y: option_state] :
( ( rel_op4316599310523903102_state @ A5 @ ( some_state @ X ) @ Y )
= ( ? [Y5: state] :
( ( Y
= ( some_state @ Y5 ) )
& ( A5 @ X @ Y5 ) ) ) ) ).
% option_rel_Some1
thf(fact_930_option__rel__Some2,axiom,
! [A5: val > val > $o,X: option_val,Y: val] :
( ( rel_option_val_val @ A5 @ X @ ( some_val @ Y ) )
= ( ? [X7: val] :
( ( X
= ( some_val @ X7 ) )
& ( A5 @ X7 @ Y ) ) ) ) ).
% option_rel_Some2
thf(fact_931_option__rel__Some2,axiom,
! [A5: state > val > $o,X: option_state,Y: val] :
( ( rel_option_state_val @ A5 @ X @ ( some_val @ Y ) )
= ( ? [X7: state] :
( ( X
= ( some_state @ X7 ) )
& ( A5 @ X7 @ Y ) ) ) ) ).
% option_rel_Some2
thf(fact_932_option__rel__Some2,axiom,
! [A5: val > state > $o,X: option_val,Y: state] :
( ( rel_option_val_state @ A5 @ X @ ( some_state @ Y ) )
= ( ? [X7: val] :
( ( X
= ( some_val @ X7 ) )
& ( A5 @ X7 @ Y ) ) ) ) ).
% option_rel_Some2
thf(fact_933_option__rel__Some2,axiom,
! [A5: state > state > $o,X: option_state,Y: state] :
( ( rel_op4316599310523903102_state @ A5 @ X @ ( some_state @ Y ) )
= ( ? [X7: state] :
( ( X
= ( some_state @ X7 ) )
& ( A5 @ X7 @ Y ) ) ) ) ).
% option_rel_Some2
thf(fact_934_option_Orel__distinct_I2_J,axiom,
! [R4: val > state > $o,Y2: val] :
~ ( rel_option_val_state @ R4 @ ( some_val @ Y2 ) @ none_state ) ).
% option.rel_distinct(2)
thf(fact_935_option_Orel__distinct_I2_J,axiom,
! [R4: val > val > $o,Y2: val] :
~ ( rel_option_val_val @ R4 @ ( some_val @ Y2 ) @ none_val ) ).
% option.rel_distinct(2)
thf(fact_936_option_Orel__distinct_I2_J,axiom,
! [R4: state > state > $o,Y2: state] :
~ ( rel_op4316599310523903102_state @ R4 @ ( some_state @ Y2 ) @ none_state ) ).
% option.rel_distinct(2)
thf(fact_937_option_Orel__distinct_I2_J,axiom,
! [R4: state > val > $o,Y2: state] :
~ ( rel_option_state_val @ R4 @ ( some_state @ Y2 ) @ none_val ) ).
% option.rel_distinct(2)
thf(fact_938_option_Orel__distinct_I1_J,axiom,
! [R4: state > val > $o,Y2: val] :
~ ( rel_option_state_val @ R4 @ none_state @ ( some_val @ Y2 ) ) ).
% option.rel_distinct(1)
thf(fact_939_option_Orel__distinct_I1_J,axiom,
! [R4: val > val > $o,Y2: val] :
~ ( rel_option_val_val @ R4 @ none_val @ ( some_val @ Y2 ) ) ).
% option.rel_distinct(1)
thf(fact_940_option_Orel__distinct_I1_J,axiom,
! [R4: state > state > $o,Y2: state] :
~ ( rel_op4316599310523903102_state @ R4 @ none_state @ ( some_state @ Y2 ) ) ).
% option.rel_distinct(1)
thf(fact_941_option_Orel__distinct_I1_J,axiom,
! [R4: val > state > $o,Y2: state] :
~ ( rel_option_val_state @ R4 @ none_val @ ( some_state @ Y2 ) ) ).
% option.rel_distinct(1)
thf(fact_942_option_Orel__cases,axiom,
! [R4: val > val > $o,A: option_val,B: option_val] :
( ( rel_option_val_val @ R4 @ A @ B )
=> ( ( ( A = none_val )
=> ( B != none_val ) )
=> ~ ! [X3: val] :
( ( A
= ( some_val @ X3 ) )
=> ! [Y4: val] :
( ( B
= ( some_val @ Y4 ) )
=> ~ ( R4 @ X3 @ Y4 ) ) ) ) ) ).
% option.rel_cases
thf(fact_943_option_Orel__cases,axiom,
! [R4: val > state > $o,A: option_val,B: option_state] :
( ( rel_option_val_state @ R4 @ A @ B )
=> ( ( ( A = none_val )
=> ( B != none_state ) )
=> ~ ! [X3: val] :
( ( A
= ( some_val @ X3 ) )
=> ! [Y4: state] :
( ( B
= ( some_state @ Y4 ) )
=> ~ ( R4 @ X3 @ Y4 ) ) ) ) ) ).
% option.rel_cases
thf(fact_944_option_Orel__cases,axiom,
! [R4: state > val > $o,A: option_state,B: option_val] :
( ( rel_option_state_val @ R4 @ A @ B )
=> ( ( ( A = none_state )
=> ( B != none_val ) )
=> ~ ! [X3: state] :
( ( A
= ( some_state @ X3 ) )
=> ! [Y4: val] :
( ( B
= ( some_val @ Y4 ) )
=> ~ ( R4 @ X3 @ Y4 ) ) ) ) ) ).
% option.rel_cases
thf(fact_945_option_Orel__cases,axiom,
! [R4: state > state > $o,A: option_state,B: option_state] :
( ( rel_op4316599310523903102_state @ R4 @ A @ B )
=> ( ( ( A = none_state )
=> ( B != none_state ) )
=> ~ ! [X3: state] :
( ( A
= ( some_state @ X3 ) )
=> ! [Y4: state] :
( ( B
= ( some_state @ Y4 ) )
=> ~ ( R4 @ X3 @ Y4 ) ) ) ) ) ).
% option.rel_cases
thf(fact_946_option_Orel__induct,axiom,
! [R4: val > val > $o,X: option_val,Y: option_val,Q: option_val > option_val > $o] :
( ( rel_option_val_val @ R4 @ X @ Y )
=> ( ( Q @ none_val @ none_val )
=> ( ! [A22: val,B22: val] :
( ( R4 @ A22 @ B22 )
=> ( Q @ ( some_val @ A22 ) @ ( some_val @ B22 ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% option.rel_induct
thf(fact_947_option_Orel__induct,axiom,
! [R4: val > state > $o,X: option_val,Y: option_state,Q: option_val > option_state > $o] :
( ( rel_option_val_state @ R4 @ X @ Y )
=> ( ( Q @ none_val @ none_state )
=> ( ! [A22: val,B22: state] :
( ( R4 @ A22 @ B22 )
=> ( Q @ ( some_val @ A22 ) @ ( some_state @ B22 ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% option.rel_induct
thf(fact_948_option_Orel__induct,axiom,
! [R4: state > val > $o,X: option_state,Y: option_val,Q: option_state > option_val > $o] :
( ( rel_option_state_val @ R4 @ X @ Y )
=> ( ( Q @ none_state @ none_val )
=> ( ! [A22: state,B22: val] :
( ( R4 @ A22 @ B22 )
=> ( Q @ ( some_state @ A22 ) @ ( some_val @ B22 ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% option.rel_induct
thf(fact_949_option_Orel__induct,axiom,
! [R4: state > state > $o,X: option_state,Y: option_state,Q: option_state > option_state > $o] :
( ( rel_op4316599310523903102_state @ R4 @ X @ Y )
=> ( ( Q @ none_state @ none_state )
=> ( ! [A22: state,B22: state] :
( ( R4 @ A22 @ B22 )
=> ( Q @ ( some_state @ A22 ) @ ( some_state @ B22 ) ) )
=> ( Q @ X @ Y ) ) ) ) ).
% option.rel_induct
thf(fact_950_option_Orel__sel,axiom,
( rel_op4316599310523903102_state
= ( ^ [R3: state > state > $o,A2: option_state,B2: option_state] :
( ( ( A2 = none_state )
= ( B2 = none_state ) )
& ( ( A2 != none_state )
=> ( ( B2 != none_state )
=> ( R3 @ ( the_state @ A2 ) @ ( the_state @ B2 ) ) ) ) ) ) ) ).
% option.rel_sel
thf(fact_951_option_Orel__sel,axiom,
( rel_option_state_val
= ( ^ [R3: state > val > $o,A2: option_state,B2: option_val] :
( ( ( A2 = none_state )
= ( B2 = none_val ) )
& ( ( A2 != none_state )
=> ( ( B2 != none_val )
=> ( R3 @ ( the_state @ A2 ) @ ( the_val @ B2 ) ) ) ) ) ) ) ).
% option.rel_sel
thf(fact_952_option_Orel__sel,axiom,
( rel_option_val_state
= ( ^ [R3: val > state > $o,A2: option_val,B2: option_state] :
( ( ( A2 = none_val )
= ( B2 = none_state ) )
& ( ( A2 != none_val )
=> ( ( B2 != none_state )
=> ( R3 @ ( the_val @ A2 ) @ ( the_state @ B2 ) ) ) ) ) ) ) ).
% option.rel_sel
thf(fact_953_option_Orel__sel,axiom,
( rel_option_val_val
= ( ^ [R3: val > val > $o,A2: option_val,B2: option_val] :
( ( ( A2 = none_val )
= ( B2 = none_val ) )
& ( ( A2 != none_val )
=> ( ( B2 != none_val )
=> ( R3 @ ( the_val @ A2 ) @ ( the_val @ B2 ) ) ) ) ) ) ) ).
% option.rel_sel
thf(fact_954_Rep__state,axiom,
! [X: state] :
( member2879030624002546611on_val @ ( rep_state @ X )
@ ( collec7475294502966882545on_val
@ ^ [Uu3: produc9003781588162623004on_val] :
? [Phi: produc9003781588162623004on_val] :
( ( Uu3 = Phi )
& ( valid_state @ Phi ) ) ) ) ).
% Rep_state
thf(fact_955_Rep__state__cases,axiom,
! [Y: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Y @ ( collec7475294502966882545on_val @ valid_state ) )
=> ~ ! [X3: state] :
( Y
!= ( rep_state @ X3 ) ) ) ).
% Rep_state_cases
thf(fact_956_Rep__state__induct,axiom,
! [Y: produc9003781588162623004on_val,P: produc9003781588162623004on_val > $o] :
( ( member2879030624002546611on_val @ Y
@ ( collec7475294502966882545on_val
@ ^ [Uu3: produc9003781588162623004on_val] :
? [Phi: produc9003781588162623004on_val] :
( ( Uu3 = Phi )
& ( valid_state @ Phi ) ) ) )
=> ( ! [X3: state] : ( P @ ( rep_state @ X3 ) )
=> ( P @ Y ) ) ) ).
% Rep_state_induct
thf(fact_957_Abs__state__cases,axiom,
! [X: state] :
~ ! [Y4: produc9003781588162623004on_val] :
( ( X
= ( abs_state @ Y4 ) )
=> ~ ( member2879030624002546611on_val @ Y4 @ ( collec7475294502966882545on_val @ valid_state ) ) ) ).
% Abs_state_cases
thf(fact_958_Abs__state__induct,axiom,
! [P: state > $o,X: state] :
( ! [Y4: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Y4
@ ( collec7475294502966882545on_val
@ ^ [Uu3: produc9003781588162623004on_val] :
? [Phi: produc9003781588162623004on_val] :
( ( Uu3 = Phi )
& ( valid_state @ Phi ) ) ) )
=> ( P @ ( abs_state @ Y4 ) ) )
=> ( P @ X ) ) ).
% Abs_state_induct
thf(fact_959_Abs__state__inject,axiom,
! [X: produc9003781588162623004on_val,Y: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ X
@ ( collec7475294502966882545on_val
@ ^ [Uu3: produc9003781588162623004on_val] :
? [Phi: produc9003781588162623004on_val] :
( ( Uu3 = Phi )
& ( valid_state @ Phi ) ) ) )
=> ( ( member2879030624002546611on_val @ Y
@ ( collec7475294502966882545on_val
@ ^ [Uu3: produc9003781588162623004on_val] :
? [Phi: produc9003781588162623004on_val] :
( ( Uu3 = Phi )
& ( valid_state @ Phi ) ) ) )
=> ( ( ( abs_state @ X )
= ( abs_state @ Y ) )
= ( X = Y ) ) ) ) ).
% Abs_state_inject
thf(fact_960_graph__def,axiom,
( graph_1288227317702120175on_val
= ( ^ [M4: ( produc1457211279475724562t_char > prat ) > option5747939881698552298on_val] :
( collec7475294502966882545on_val
@ ^ [Uu3: produc9003781588162623004on_val] :
? [A2: produc1457211279475724562t_char > prat,B2: produc1457211279475724562t_char > option_val] :
( ( Uu3
= ( produc74620467203698198on_val @ A2 @ B2 ) )
& ( ( M4 @ A2 )
= ( some_P7669353234731512949on_val @ B2 ) ) ) ) ) ) ).
% graph_def
thf(fact_961_graph__def,axiom,
( graph_6108330199704490680on_val
= ( ^ [M4: produc9003781588162623004on_val > option8887860577033306220on_val] :
( collec5166231387257825412on_val
@ ^ [Uu3: produc1317171644805857433on_val] :
? [A2: produc9003781588162623004on_val,B2: produc9003781588162623004on_val] :
( ( Uu3
= ( produc4958730763592889809on_val @ A2 @ B2 ) )
& ( ( M4 @ A2 )
= ( some_P2581650809551911671on_val @ B2 ) ) ) ) ) ) ).
% graph_def
thf(fact_962_graph__def,axiom,
( graph_nat_list_char
= ( ^ [M4: nat > option_list_char] :
( collec2458894688891239037t_char
@ ^ [Uu3: produc1457211279475724562t_char] :
? [A2: nat,B2: list_char] :
( ( Uu3
= ( produc120197956887798346t_char @ A2 @ B2 ) )
& ( ( M4 @ A2 )
= ( some_list_char @ B2 ) ) ) ) ) ) ).
% graph_def
thf(fact_963_type__definition__state,axiom,
( type_d7385716227342696708on_val @ rep_state @ abs_state
@ ( collec7475294502966882545on_val
@ ^ [Uu3: produc9003781588162623004on_val] :
? [Phi: produc9003781588162623004on_val] :
( ( Uu3 = Phi )
& ( valid_state @ Phi ) ) ) ) ).
% type_definition_state
thf(fact_964_map__of__append,axiom,
! [Xs: list_P375024181684815772ar_val,Ys: list_P375024181684815772ar_val] :
( ( map_of6844234013878170066ar_val @ ( append2405376958821693873ar_val @ Xs @ Ys ) )
= ( map_ad2908576761495157028ar_val @ ( map_of6844234013878170066ar_val @ Ys ) @ ( map_of6844234013878170066ar_val @ Xs ) ) ) ).
% map_of_append
thf(fact_965_valid__mask_Oelims_I3_J,axiom,
! [X: produc1457211279475724562t_char > prat] :
( ~ ( valid_mask @ X )
=> ~ ( ! [Hl2: produc1457211279475724562t_char] : ( pgte @ pwrite @ ( X @ Hl2 ) )
& ! [F3: list_char] :
( ( X @ ( produc120197956887798346t_char @ null_nat @ F3 ) )
= pnone ) ) ) ).
% valid_mask.elims(3)
thf(fact_966_valid__null__def,axiom,
( valid_null
= ( ^ [Pi2: produc1457211279475724562t_char > prat] :
! [F2: list_char] :
( ( Pi2 @ ( produc120197956887798346t_char @ null_nat @ F2 ) )
= pnone ) ) ) ).
% valid_null_def
thf(fact_967_ppos__eq__pnone,axiom,
( ppos
= ( ^ [P5: prat] : ( P5 != pnone ) ) ) ).
% ppos_eq_pnone
thf(fact_968_empty__mask_Oelims,axiom,
! [X: produc1457211279475724562t_char,Y: prat] :
( ( ( empty_3446695950879338768t_char @ X )
= Y )
=> ( Y = pnone ) ) ).
% empty_mask.elims
thf(fact_969_empty__mask_Osimps,axiom,
( empty_3446695950879338768t_char
= ( ^ [Hl: produc1457211279475724562t_char] : pnone ) ) ).
% empty_mask.simps
thf(fact_970_full__mask__def,axiom,
( full_mask
= ( ^ [Hl: produc1457211279475724562t_char] :
( if_prat
@ ( ( produc6204653154488278070t_char @ Hl )
= null_nat )
@ pnone
@ pwrite ) ) ) ).
% full_mask_def
thf(fact_971_valid__maskI,axiom,
! [Pi: produc1457211279475724562t_char > prat] :
( ! [Hl2: produc1457211279475724562t_char] : ( pgte @ pwrite @ ( Pi @ Hl2 ) )
=> ( ! [F3: list_char] :
( ( Pi @ ( produc120197956887798346t_char @ null_nat @ F3 ) )
= pnone )
=> ( valid_mask @ Pi ) ) ) ).
% valid_maskI
thf(fact_972_valid__mask_Osimps,axiom,
( valid_mask
= ( ^ [Pi2: produc1457211279475724562t_char > prat] :
( ! [Hl: produc1457211279475724562t_char] : ( pgte @ pwrite @ ( Pi2 @ Hl ) )
& ! [F2: list_char] :
( ( Pi2 @ ( produc120197956887798346t_char @ null_nat @ F2 ) )
= pnone ) ) ) ) ).
% valid_mask.simps
thf(fact_973_valid__mask_Oelims_I1_J,axiom,
! [X: produc1457211279475724562t_char > prat,Y: $o] :
( ( ( valid_mask @ X )
= Y )
=> ( Y
= ( ! [Hl: produc1457211279475724562t_char] : ( pgte @ pwrite @ ( X @ Hl ) )
& ! [F2: list_char] :
( ( X @ ( produc120197956887798346t_char @ null_nat @ F2 ) )
= pnone ) ) ) ) ).
% valid_mask.elims(1)
thf(fact_974_valid__mask_Oelims_I2_J,axiom,
! [X: produc1457211279475724562t_char > prat] :
( ( valid_mask @ X )
=> ( ! [Hl4: produc1457211279475724562t_char] : ( pgte @ pwrite @ ( X @ Hl4 ) )
& ! [F4: list_char] :
( ( X @ ( produc120197956887798346t_char @ null_nat @ F4 ) )
= pnone ) ) ) ).
% valid_mask.elims(2)
thf(fact_975_empty__mask_Opelims,axiom,
! [X: produc1457211279475724562t_char,Y: prat] :
( ( ( empty_3446695950879338768t_char @ X )
= Y )
=> ( ( accp_P8892882183480857371t_char @ empty_8141283858255108185t_char @ X )
=> ~ ( ( Y = pnone )
=> ~ ( accp_P8892882183480857371t_char @ empty_8141283858255108185t_char @ X ) ) ) ) ).
% empty_mask.pelims
thf(fact_976_empty__mask_Opelims,axiom,
! [X: produc1317171644805857433on_val,Y: prat] :
( ( ( empty_4129289814623480215on_val @ X )
= Y )
=> ( ( accp_P6797916352740768290on_val @ empty_1698368654852286560on_val @ X )
=> ~ ( ( Y = pnone )
=> ~ ( accp_P6797916352740768290on_val @ empty_1698368654852286560on_val @ X ) ) ) ) ).
% empty_mask.pelims
thf(fact_977_empty__mask_Opelims,axiom,
! [X: produc9003781588162623004on_val,Y: prat] :
( ( ( empty_6102255041883331742on_val @ X )
= Y )
=> ( ( accp_P4405556307444930259on_val @ empty_5847456986941130773on_val @ X )
=> ~ ( ( Y = pnone )
=> ~ ( accp_P4405556307444930259on_val @ empty_5847456986941130773on_val @ X ) ) ) ) ).
% empty_mask.pelims
thf(fact_978_empty__mask_Opelims,axiom,
! [X: state,Y: prat] :
( ( ( empty_mask_state @ X )
= Y )
=> ( ( accp_state @ empty_mask_rel_state @ X )
=> ~ ( ( Y = pnone )
=> ~ ( accp_state @ empty_mask_rel_state @ X ) ) ) ) ).
% empty_mask.pelims
thf(fact_979_empty__mask_Opelims,axiom,
! [X: produc1457211279475724562t_char > prat,Y: prat] :
( ( ( empty_6616431780912394577r_prat @ X )
= Y )
=> ( ( accp_P4765339447491148764r_prat @ empty_3412554051312619034r_prat @ X )
=> ~ ( ( Y = pnone )
=> ~ ( accp_P4765339447491148764r_prat @ empty_3412554051312619034r_prat @ X ) ) ) ) ).
% empty_mask.pelims
thf(fact_980_valid__mask_Opelims_I3_J,axiom,
! [X: produc1457211279475724562t_char > prat] :
( ~ ( valid_mask @ X )
=> ( ( accp_P4765339447491148764r_prat @ valid_mask_rel @ X )
=> ~ ( ( accp_P4765339447491148764r_prat @ valid_mask_rel @ X )
=> ( ! [Hl2: produc1457211279475724562t_char] : ( pgte @ pwrite @ ( X @ Hl2 ) )
& ! [F3: list_char] :
( ( X @ ( produc120197956887798346t_char @ null_nat @ F3 ) )
= pnone ) ) ) ) ) ).
% valid_mask.pelims(3)
thf(fact_981_valid__mask_Opelims_I2_J,axiom,
! [X: produc1457211279475724562t_char > prat] :
( ( valid_mask @ X )
=> ( ( accp_P4765339447491148764r_prat @ valid_mask_rel @ X )
=> ~ ( ( accp_P4765339447491148764r_prat @ valid_mask_rel @ X )
=> ~ ( ! [Hl4: produc1457211279475724562t_char] : ( pgte @ pwrite @ ( X @ Hl4 ) )
& ! [F4: list_char] :
( ( X @ ( produc120197956887798346t_char @ null_nat @ F4 ) )
= pnone ) ) ) ) ) ).
% valid_mask.pelims(2)
thf(fact_982_valid__mask_Opelims_I1_J,axiom,
! [X: produc1457211279475724562t_char > prat,Y: $o] :
( ( ( valid_mask @ X )
= Y )
=> ( ( accp_P4765339447491148764r_prat @ valid_mask_rel @ X )
=> ~ ( ( Y
= ( ! [Hl: produc1457211279475724562t_char] : ( pgte @ pwrite @ ( X @ Hl ) )
& ! [F2: list_char] :
( ( X @ ( produc120197956887798346t_char @ null_nat @ F2 ) )
= pnone ) ) )
=> ~ ( accp_P4765339447491148764r_prat @ valid_mask_rel @ X ) ) ) ) ).
% valid_mask.pelims(1)
thf(fact_983_option_Orel__compp__Grp,axiom,
( rel_op2494113632589343803t_char
= ( ^ [R3: nat > list_char > $o] :
( relcom4704765297650120440t_char
@ ( conver779780868667509187on_nat
@ ( bNF_Gr8209631520120356778on_nat
@ ( collec3561702660602934339t_char
@ ^ [X4: option2736423997234022232t_char] : ( ord_le6315511645215477266t_char @ ( set_op7440730737645789856t_char @ X4 ) @ ( collec2458894688891239037t_char @ ( produc8526122873445342073char_o @ R3 ) ) ) )
@ ( map_op2304244586335077271ar_nat @ produc6204653154488278070t_char ) ) )
@ ( bNF_Gr8228872360220102203t_char
@ ( collec3561702660602934339t_char
@ ^ [X4: option2736423997234022232t_char] : ( ord_le6315511645215477266t_char @ ( set_op7440730737645789856t_char @ X4 ) @ ( collec2458894688891239037t_char @ ( produc8526122873445342073char_o @ R3 ) ) ) )
@ ( map_op1953669867509794472t_char @ produc1900778367047502200t_char ) ) ) ) ) ).
% option.rel_compp_Grp
thf(fact_984_option_Orel__compp__Grp,axiom,
( rel_op7555592896143267045on_val
= ( ^ [R3: ( produc1457211279475724562t_char > prat ) > ( produc1457211279475724562t_char > option_val ) > $o] :
( relcom6540676319459279872on_val
@ ( conver7264604305941033974r_prat
@ ( bNF_Gr4505501571886485853r_prat
@ ( collec6281439769543645121on_val
@ ^ [X4: option8887860577033306220on_val] : ( ord_le6900622908513426738on_val @ ( set_op9004752959087400718on_val @ X4 ) @ ( collec7475294502966882545on_val @ ( produc5248837549992124053_val_o @ R3 ) ) ) )
@ ( map_op457311912167326058r_prat @ produc5239619271231976746on_val ) ) )
@ ( bNF_Gr7204040508389623334on_val
@ ( collec6281439769543645121on_val
@ ^ [X4: option8887860577033306220on_val] : ( ord_le6900622908513426738on_val @ ( set_op9004752959087400718on_val @ X4 ) @ ( collec7475294502966882545on_val @ ( produc5248837549992124053_val_o @ R3 ) ) ) )
@ ( map_op5305211447164704579on_val @ produc2319605628138516840on_val ) ) ) ) ) ).
% option.rel_compp_Grp
thf(fact_985_find__Some__iff2,axiom,
! [X: val,P: val > $o,Xs: list_val] :
( ( ( some_val @ X )
= ( find_val @ P @ Xs ) )
= ( ? [I: nat] :
( ( ord_less_nat @ I @ ( size_size_list_val @ Xs ) )
& ( P @ ( nth_val @ Xs @ I ) )
& ( X
= ( nth_val @ Xs @ I ) )
& ! [J: nat] :
( ( ord_less_nat @ J @ I )
=> ~ ( P @ ( nth_val @ Xs @ J ) ) ) ) ) ) ).
% find_Some_iff2
thf(fact_986_find__Some__iff2,axiom,
! [X: state,P: state > $o,Xs: list_state] :
( ( ( some_state @ X )
= ( find_state @ P @ Xs ) )
= ( ? [I: nat] :
( ( ord_less_nat @ I @ ( size_size_list_state @ Xs ) )
& ( P @ ( nth_state @ Xs @ I ) )
& ( X
= ( nth_state @ Xs @ I ) )
& ! [J: nat] :
( ( ord_less_nat @ J @ I )
=> ~ ( P @ ( nth_state @ Xs @ J ) ) ) ) ) ) ).
% find_Some_iff2
thf(fact_987_find__Some__iff,axiom,
! [P: val > $o,Xs: list_val,X: val] :
( ( ( find_val @ P @ Xs )
= ( some_val @ X ) )
= ( ? [I: nat] :
( ( ord_less_nat @ I @ ( size_size_list_val @ Xs ) )
& ( P @ ( nth_val @ Xs @ I ) )
& ( X
= ( nth_val @ Xs @ I ) )
& ! [J: nat] :
( ( ord_less_nat @ J @ I )
=> ~ ( P @ ( nth_val @ Xs @ J ) ) ) ) ) ) ).
% find_Some_iff
thf(fact_988_find__Some__iff,axiom,
! [P: state > $o,Xs: list_state,X: state] :
( ( ( find_state @ P @ Xs )
= ( some_state @ X ) )
= ( ? [I: nat] :
( ( ord_less_nat @ I @ ( size_size_list_state @ Xs ) )
& ( P @ ( nth_state @ Xs @ I ) )
& ( X
= ( nth_state @ Xs @ I ) )
& ! [J: nat] :
( ( ord_less_nat @ J @ I )
=> ~ ( P @ ( nth_state @ Xs @ J ) ) ) ) ) ) ).
% find_Some_iff
thf(fact_989_map__add__map__of__foldr,axiom,
! [M: produc1457211279475724562t_char > option_val,Ps: list_P375024181684815772ar_val] :
( ( map_ad2908576761495157028ar_val @ M @ ( map_of6844234013878170066ar_val @ Ps ) )
= ( foldr_426452288693369417on_val
@ ( produc6541823961022407022on_val
@ ^ [K2: produc1457211279475724562t_char,V: val,M4: produc1457211279475724562t_char > option_val] : ( fun_up5735975307950539954on_val @ M4 @ K2 @ ( some_val @ V ) ) )
@ Ps
@ M ) ) ).
% map_add_map_of_foldr
thf(fact_990_semilattice__set_Oeq__fold_H,axiom,
! [F: val > val > val,A5: set_val] :
( ( lattic1688671459694253327et_val @ F )
=> ( ( lattic7553830378228561755_F_val @ F @ A5 )
= ( the_val
@ ( finite4564359178381958990on_val
@ ^ [X4: val,Y3: option_val] : ( some_val @ ( case_option_val_val @ X4 @ ( F @ X4 ) @ Y3 ) )
@ none_val
@ A5 ) ) ) ) ).
% semilattice_set.eq_fold'
thf(fact_991_semilattice__set_Oeq__fold_H,axiom,
! [F: state > state > state,A5: set_state] :
( ( lattic1830746154417612460_state @ F )
=> ( ( lattic8707496982837646688_state @ F @ A5 )
= ( the_state
@ ( finite8091670487289438734_state
@ ^ [X4: state,Y3: option_state] : ( some_state @ ( case_o2102410670496921089_state @ X4 @ ( F @ X4 ) @ Y3 ) )
@ none_state
@ A5 ) ) ) ) ).
% semilattice_set.eq_fold'
thf(fact_992_semilattice__set_Oinfinite,axiom,
! [F: state > state > state,A5: set_state] :
( ( lattic1830746154417612460_state @ F )
=> ( ~ ( finite_finite_state @ A5 )
=> ( ( lattic8707496982837646688_state @ F @ A5 )
= ( the_state @ none_state ) ) ) ) ).
% semilattice_set.infinite
thf(fact_993_semilattice__set_Oinfinite,axiom,
! [F: val > val > val,A5: set_val] :
( ( lattic1688671459694253327et_val @ F )
=> ( ~ ( finite_finite_val @ A5 )
=> ( ( lattic7553830378228561755_F_val @ F @ A5 )
= ( the_val @ none_val ) ) ) ) ).
% semilattice_set.infinite
thf(fact_994_option_Odisc__transfer_I1_J,axiom,
! [R4: state > state > $o] :
( bNF_re6905797707481504115te_o_o @ ( rel_op4316599310523903102_state @ R4 )
@ ^ [Y6: $o,Z4: $o] : ( Y6 = Z4 )
@ ^ [Option3: option_state] : ( Option3 = none_state )
@ ^ [Option3: option_state] : ( Option3 = none_state ) ) ).
% option.disc_transfer(1)
thf(fact_995_option_Odisc__transfer_I1_J,axiom,
! [R4: state > val > $o] :
( bNF_re3324221780734229534al_o_o @ ( rel_option_state_val @ R4 )
@ ^ [Y6: $o,Z4: $o] : ( Y6 = Z4 )
@ ^ [Option3: option_state] : ( Option3 = none_state )
@ ^ [Option3: option_val] : ( Option3 = none_val ) ) ).
% option.disc_transfer(1)
thf(fact_996_option_Odisc__transfer_I1_J,axiom,
! [R4: val > state > $o] :
( bNF_re9208312572002657588te_o_o @ ( rel_option_val_state @ R4 )
@ ^ [Y6: $o,Z4: $o] : ( Y6 = Z4 )
@ ^ [Option3: option_val] : ( Option3 = none_val )
@ ^ [Option3: option_state] : ( Option3 = none_state ) ) ).
% option.disc_transfer(1)
thf(fact_997_option_Odisc__transfer_I1_J,axiom,
! [R4: val > val > $o] :
( bNF_re8803170646668426653al_o_o @ ( rel_option_val_val @ R4 )
@ ^ [Y6: $o,Z4: $o] : ( Y6 = Z4 )
@ ^ [Option3: option_val] : ( Option3 = none_val )
@ ^ [Option3: option_val] : ( Option3 = none_val ) ) ).
% option.disc_transfer(1)
thf(fact_998_option_Odisc__transfer_I2_J,axiom,
! [R4: state > state > $o] :
( bNF_re6905797707481504115te_o_o @ ( rel_op4316599310523903102_state @ R4 )
@ ^ [Y6: $o,Z4: $o] : ( Y6 = Z4 )
@ ^ [Option3: option_state] : ( Option3 != none_state )
@ ^ [Option3: option_state] : ( Option3 != none_state ) ) ).
% option.disc_transfer(2)
thf(fact_999_option_Odisc__transfer_I2_J,axiom,
! [R4: state > val > $o] :
( bNF_re3324221780734229534al_o_o @ ( rel_option_state_val @ R4 )
@ ^ [Y6: $o,Z4: $o] : ( Y6 = Z4 )
@ ^ [Option3: option_state] : ( Option3 != none_state )
@ ^ [Option3: option_val] : ( Option3 != none_val ) ) ).
% option.disc_transfer(2)
thf(fact_1000_option_Odisc__transfer_I2_J,axiom,
! [R4: val > state > $o] :
( bNF_re9208312572002657588te_o_o @ ( rel_option_val_state @ R4 )
@ ^ [Y6: $o,Z4: $o] : ( Y6 = Z4 )
@ ^ [Option3: option_val] : ( Option3 != none_val )
@ ^ [Option3: option_state] : ( Option3 != none_state ) ) ).
% option.disc_transfer(2)
thf(fact_1001_option_Odisc__transfer_I2_J,axiom,
! [R4: val > val > $o] :
( bNF_re8803170646668426653al_o_o @ ( rel_option_val_val @ R4 )
@ ^ [Y6: $o,Z4: $o] : ( Y6 = Z4 )
@ ^ [Option3: option_val] : ( Option3 != none_val )
@ ^ [Option3: option_val] : ( Option3 != none_val ) ) ).
% option.disc_transfer(2)
thf(fact_1002_option_Octr__transfer_I2_J,axiom,
! [R4: val > val > $o] : ( bNF_re7986259651653764189on_val @ R4 @ ( rel_option_val_val @ R4 ) @ some_val @ some_val ) ).
% option.ctr_transfer(2)
thf(fact_1003_option_Octr__transfer_I2_J,axiom,
! [R4: val > state > $o] : ( bNF_re724738890469284915_state @ R4 @ ( rel_option_val_state @ R4 ) @ some_val @ some_state ) ).
% option.ctr_transfer(2)
thf(fact_1004_option_Octr__transfer_I2_J,axiom,
! [R4: state > val > $o] : ( bNF_re3246193597797267091on_val @ R4 @ ( rel_option_state_val @ R4 ) @ some_state @ some_val ) ).
% option.ctr_transfer(2)
thf(fact_1005_option_Octr__transfer_I2_J,axiom,
! [R4: state > state > $o] : ( bNF_re349789735553525609_state @ R4 @ ( rel_op4316599310523903102_state @ R4 ) @ some_state @ some_state ) ).
% option.ctr_transfer(2)
thf(fact_1006_option_Opred__inject_I2_J,axiom,
! [P: val > $o,A: val] :
( ( pred_option_val @ P @ ( some_val @ A ) )
= ( P @ A ) ) ).
% option.pred_inject(2)
thf(fact_1007_option_Opred__inject_I2_J,axiom,
! [P: state > $o,A: state] :
( ( pred_option_state @ P @ ( some_state @ A ) )
= ( P @ A ) ) ).
% option.pred_inject(2)
thf(fact_1008_option_Opred__cong,axiom,
! [X: option8887860577033306220on_val,Ya: option8887860577033306220on_val,P: produc9003781588162623004on_val > $o,Pa: produc9003781588162623004on_val > $o] :
( ( X = Ya )
=> ( ! [Z2: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Z2 @ ( set_op9004752959087400718on_val @ Ya ) )
=> ( ( P @ Z2 )
= ( Pa @ Z2 ) ) )
=> ( ( pred_o6356550725404909017on_val @ P @ X )
= ( pred_o6356550725404909017on_val @ Pa @ Ya ) ) ) ) ).
% option.pred_cong
thf(fact_1009_option_Opred__mono__strong,axiom,
! [P: produc9003781588162623004on_val > $o,X: option8887860577033306220on_val,Pa: produc9003781588162623004on_val > $o] :
( ( pred_o6356550725404909017on_val @ P @ X )
=> ( ! [Z2: produc9003781588162623004on_val] :
( ( member2879030624002546611on_val @ Z2 @ ( set_op9004752959087400718on_val @ X ) )
=> ( ( P @ Z2 )
=> ( Pa @ Z2 ) ) )
=> ( pred_o6356550725404909017on_val @ Pa @ X ) ) ) ).
% option.pred_mono_strong
thf(fact_1010_option_Opred__inject_I1_J,axiom,
! [P: state > $o] : ( pred_option_state @ P @ none_state ) ).
% option.pred_inject(1)
thf(fact_1011_option_Opred__inject_I1_J,axiom,
! [P: val > $o] : ( pred_option_val @ P @ none_val ) ).
% option.pred_inject(1)
% Helper facts (15)
thf(help_If_2_1_If_001t__Mask__Oval_T,axiom,
! [X: val,Y: val] :
( ( if_val @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__Mask__Oval_T,axiom,
! [X: val,Y: val] :
( ( if_val @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__PosRat__Oprat_T,axiom,
! [X: prat,Y: prat] :
( ( if_prat @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__PosRat__Oprat_T,axiom,
! [X: prat,Y: prat] :
( ( if_prat @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__Option__Ooption_It__Mask__Oval_J_T,axiom,
! [X: option_val,Y: option_val] :
( ( if_option_val @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__Option__Ooption_It__Mask__Oval_J_T,axiom,
! [X: option_val,Y: option_val] :
( ( if_option_val @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_T,axiom,
! [X: option_state,Y: option_state] :
( ( if_option_state @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__Option__Ooption_It__PartialHeapSA__Ostate_J_T,axiom,
! [X: option_state,Y: option_state] :
( ( if_option_state @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__Option__Ooption_It__List__Olist_It__String__Ochar_J_J_T,axiom,
! [X: option_list_char,Y: option_list_char] :
( ( if_option_list_char @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__Option__Ooption_It__List__Olist_It__String__Ochar_J_J_T,axiom,
! [X: option_list_char,Y: option_list_char] :
( ( if_option_list_char @ $true @ X @ Y )
= X ) ).
thf(help_If_2_1_If_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_T,axiom,
! [X: option5747939881698552298on_val,Y: option5747939881698552298on_val] :
( ( if_opt6509584284076893604on_val @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__Option__Ooption_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_T,axiom,
! [X: option5747939881698552298on_val,Y: option5747939881698552298on_val] :
( ( if_opt6509584284076893604on_val @ $true @ X @ Y )
= X ) ).
thf(help_If_3_1_If_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_T,axiom,
! [P: $o] :
( ( P = $true )
| ( P = $false ) ) ).
thf(help_If_2_1_If_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_T,axiom,
! [X: option8887860577033306220on_val,Y: option8887860577033306220on_val] :
( ( if_opt2965748431298708774on_val @ $false @ X @ Y )
= Y ) ).
thf(help_If_1_1_If_001t__Option__Ooption_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__PosRat__Oprat_J_M_062_It__Product____Type__Oprod_It__Nat__Onat_Mt__List__Olist_It__String__Ochar_J_J_Mt__Option__Ooption_It__Mask__Oval_J_J_J_J_T,axiom,
! [X: option8887860577033306220on_val,Y: option8887860577033306220on_val] :
( ( if_opt2965748431298708774on_val @ $true @ X @ Y )
= X ) ).
% Conjectures (2)
thf(conj_0,hypothesis,
( ( compatible_heaps @ ( get_h @ phi ) @ ( get_h @ phi2 ) )
& ( valid_mask @ ( add_ma6586698345353345811t_char @ ( get_m @ phi ) @ ( get_m @ phi2 ) ) ) ) ).
thf(conj_1,conjecture,
( ( plus @ phi @ phi2 )
!= none_state ) ).
%------------------------------------------------------------------------------