CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

Try doing some basic maths questions in the Lean Theorem Prover. Functions, real numbers, equivalence relations and groups. Click on README.md and then on "Open in CoCalc with one click".

Project: Xena
Views: 18536
License: APACHE
oleanfile3.4.2, commit cbd2b6686ddb��� initdatasetbasicdataequivbasicdatarellogicrelator��export_decloptionnonenonesomesomeexport_declboolffffttttexport_declhas_andthenandthenandthenexport_declhas_powpowpowexport_declhas_appendappendappendexport_decldecidableis_trueis_trueis_falseis_falseto_boolto_boolexport_declhas_purepurepureexport_declhas_bindbindbindexport_declhas_monad_lift_tmonad_lift!monad_liftexport_declmonad_functor_tmonad_map$monad_mapexport_declmonad_runrun'runexport_decllistmmap*mmapmmap'*mmap'mfilter*mfiltermfoldl*mfoldlexport_declnativenat_map3rb_mapmkexport_declname_mapnativerb_mapmkexport_declexpr_mapnativerb_mapmkexport_decltacticinteraction_monadfailedfailexport_decltactic_resultinteraction_monadresultexport_decltacticFtransparencyreducibleGreduciblesemireducibleGsemireducibleexport_decltacticmk_simp_attrLmk_simp_attrexport_declmonad_exceptthrowOthrowcatchOcatchexport_declmonad_except_adapteradapt_exceptTadapt_exceptexport_declmonad_state_adapteradapt_stateWadapt_stateexport_declmonad_readerreadZreadexport_declmonad_reader_adapteradapt_reader]adapt_readerexport_declis_lawful_functormap_const_eq`map_const_eqid_map`id_mapcomp_map`comp_mapexport_declis_lawful_applicativeseq_left_eqgseq_left_eqseq_right_eqgseq_right_eqpure_seq_eq_mapgpure_seq_eq_mapmap_puregmap_pureseq_puregseq_pureseq_assocgseq_assocexport_declis_lawful_monadbind_pure_comp_eq_maptbind_pure_comp_eq_mapbind_map_eq_seqtbind_map_eq_seqpure_bindtpure_bindbind_assoctbind_assocexport_decltraversabletraverse}traversePInforoption
indluα�Cn���e_1domgeta�mk�		��������	������	�nspace�prt�recdecl�sizeof��xnat��rec�x&��has_addadd&nathas_add0has_oneone&nathas_onesizeofdefault_has_sizeof���?�PInfo�
ATTRreducibility���prt�decl�has_sizeof_inst��has_sizeof�has_sizeofmk��PInfo�
ATTRinstance���class����prt�decl�sizeof_spec����eq&O	
	4���eqrefl	&Y�PInfo�
ATTR_refl_lemma���EqnL�prt�gind��decl�dom��c��
Proj����)����PInfo�
ATTR����proj��decl�get������	��
Proj����u�rec
�h�r	���PInfo�
ATTR����proj��decl�rec_on�����h���
���h���rec��	�PInfo�
ATTR����auxrec�prt�auxrec�rec_ondecl�cases_on�����PInfo�
ATTR����auxrec�doc�`roption α` is the type of "partial values" of type `α`. It
 is similar to `option α` except the domain condition can be an
 arbitrary proposition, not necessarily decidable.decl�no_confusion_type���Pv1hv2���h������������	����dom_eqSget_eqheq
�	�	���PInfo�
ATTR����prt�decl�no_confusion�����h�h12�
����	���h���eqrec	a�h1a����h11��		����������������_	heqrefl��PInfo�
ATTR����no_conf�prt�decl�inj���������	�and�	����	���������no_confusion��
��!	���������	andintro����������PInfo�
decl�inj_arrowl��������P������8	����������Handelim_left�1�8�inj����	andelim_right�1�8�Z�PInfo�
decl�inj_eq���������
����	�����dom_1get_1propext��riffintro��rh��T�	a�randdcases_on������
����	a_left�a_right�.eq_of_heq�
������α'e_0��	��dom'e_1���	�get'�	�e_2�����
��	����������	���,��������������	��������,���6�6���	�������������
��	����	��eqrefl����PInfo�
declroptionto_optionu_1α�oroption_inst_1decidable�domoption	������dite�	� h�&�get	�not�&�PInfo�VMR�VMC�	���	doc�Convert an `roption α` with a decidable domain to an optiondecl�equations_eqn_1��������� ��	�8�������� �A�PInfo�ATTR����EqnL�SEqnL�decl�ext'���o�p�H1iff�&�%H2h₁�	h₂�	�<��,��W�<�	������M��Q��_���`��N���k���������<��,��u��<��	�o_domo_get����N�p���p���r���	�����<��,��������i������N���������
�������	�<�,�����������<���������	�p_domp_get�����N������������������	�<
�,������������id_rhs�<�������
t��
eqdcases_on�t_1���H_1�0H_2�������	�<������������������pdp�H1�N�����������H2����������	�<�,�%���%���'�(���������)�8�)��)�<����@�)�C�����D��N��D���D����S�U������	�<��,��!�����_�`����������6���m���eqmpr�<��%�+�*�u�w�wid��x�{���)�@��_a����G�E��B�E����x
this�<����funext�)x�)�@��p�)Annotshow�G�t�w�eqsymm��	����AnnotcheckpointAnnothave�y��PInfo�doc�`roption` extensionalitydecl�eta���o��<�M���h��,	�����i��M�<�	��	�P��P�-o_domo_get���<����R������,��	�rfl����PInfo�doc�`roption` eta expansionATTRsimp���decl�mem���ao�M�����MExists�Ph�P�<��	�PInfo�"prt�VMR�VMC����doc�`a ∈ o` means that `o` is defined and equal to `a`decl�equations_eqn_1������M���	������M��"�PInfo�!"ATTR����!EqnL�!SEqnL�decl�has_mem���has_mem���has_memmk���PInfo�"$	prt�"VMR�"_lambda_1VMR�"VMC�&$	��VMC�"$	�decl�"equations_eqn_1����<�.�"��4���G�.�8�PInfo�($	ATTR����(EqnL�(SEqnL�"ATTR����"class�#�"��decl�mem_eq���ao�M�has_memmem	���7	����*�+�Mrfl�E�PInfo�)&ATTR����)decl�dom_iff_mem���o��N��y�C���0����0�M�N�P�R	�1	�?���7o_domo_get���N���R�1�?�`�7��|���rh��Existsintro�1�?����7����	�6�T�����V�W���	�_x�r_a�R���5dcases_on&��1��?����7����8�R����p��w�h���9�r�������t�u�����	�;�?��~�7�������h_w��h_h����&�������t_1��=�<���,������	H_1�<���H_2��������������	������������������	�:���=���,�������@���������G�������=�����@����������G�����������&�����G��������PInfo�/)decl�get_mem���o�h��C�����B��C����&��&��/�.�		���PInfo�A,decl�ext���o�p�MHa	�N�a	�b��	���E��F�M�G�L�ext'	�|�S�Rh�S�fst�U��U�V�\�Y�mp�n���c	�b���T��j�V�X�Y���bh�X�Z�j��j�m�[�mpr�n��	��	����U��U�\�y���a�Sb�U�snd�k����<��,�����}�}�\��	�\���n��n�������	��\�PInfo�D/doc�D`roption` extensionalitydecl�none��������falsefalserec�PInfo�R5VMR�RVMC�R5n���doc�RThe `none` value in `roption` has a `false` domain and an empty function.decl�Requations_eqn_1����<��R������G����PInfo�X5ATTR����XEqnL�XSEqnL�Rdecl�inhabited���inhabited���inhabitedmk(����PInfo�Y7	prt�YVMR�YVMC�Y7	��Rdecl�Yequations_eqn_1����(���Y������*�����PInfo�^7	ATTR����^EqnL�^SEqnL�YATTR����Yclass�Z�Y��decl�not_mem_none���a�3�?�M�7�����`h���Z�%��	�����-��	�PInfo�_9ATTR����_decl�some���a�M���c��true_x���PInfo�b=VMR�bVMC�b=�e���c�doc�bThe `some a` value in `roption` has a `true` domain and the
 function returns `a`.decl�bequations_eqn_1����c���b������c�G�M���PInfo�g=ATTR����gEqnL�gSEqnL�bdecl�mem_unique���relatorleft_unique��?��8��ab�Mc	a�`	�n�n	�i��l�z�n����n���t��b_domb_get��n������n�?����7����	������	��.��������n�?����7���-����a_w�.a_h�5���������t_1���r��������	H_1����H_2���<�)�,�)���)�����Y	�<�D�)��������������	�k���r���������u���Y�Y�X�G�)�X�`	���r�N�n�u���t��t�s�G���s����)�V����`�,�D�T�����n�?�)��)�7�)���V�`�����a_w_1��a_h_1������,�����t_1��w�<���,�������	H_1�^�DH_2���&�'�(�������	�<�@����������<����������	�m���w�^�_�!�����z���������G�%����	�w�����z�����������G������&������	�%���)����)���G�������������������n��������H���PInfo�h?decl�get_eq_of_mem���o�ah�Uh'�S�<�b	���|��}�~�U��S�mem_unique�b	�s�PInfo�{Bdecl�get_some���aha����<	����	�������G�C�L�PInfo��EATTR�����ATTR�����decl�mem_some���a�����������G��G�Ntrivial�	�,���\�PInfo��Gdecl�mem_some_iff���ab�N�T�J�H�������|�f�i_x�f_a�`��	���T����v�V�W������n	�u�V�:�v�;�}��������������e�i���R�r����3���u	�\�	�PInfo��IATTR�����decl�eq_some_iff���ao�M�N���J�E�������M�|���Ee��eqsubst��_x���n�r����r�mem_some	_x�E_a����U��U�\����	�<�z�y�:�U�;����_x����������������S�����iff_true_intro��_x��_x�r���,��	�	��y�PInfo��Ldecl�eq_none_iff���o��N����a�3�U������|��e�����_x�����3�o��������not_mem_none	h��ext	���s�H	�J�a���H	�3�I�}��!�$forall_congr_eq	�H	� �H	�#�H	eqtrans� �J���#a��e_1��b��e_2��congr�N��N	congr_arg����N�I�I��I����y������`iff_false_intro����y�2�#iff_false�I�PInfo��Pdecl�eq_none_iff'���o���3��������re��	_x���3�R����}��h�r�}�����$�eq_none_iff	a	h'�I	�x��j�m	�PInfo��Tdecl�some_ne_none���xne�M���������}��h����}���s���%�J�}�����������_a����R���w����J��J���\�PInfo��Wdecl�ne_none_iff���o��N�����Sx���I������|�����s����\��	�M�q��3����}���������_a���������j���b�t��������neequations_eqn_1�M���s����3����}��������_a���3������3�������y����h����	��	�I���\�	��eqmp�3�$�		�0�3x	���3�o�\x	�3�	�		push_negnot_forall_eq	�-p�	���e_1�/���0��	����	�3�#�	funext	��	x	�	2��	�I��	push_negnot_not_eq�Ix	hx�I�x�����x�}�b�t�s�	N��}��	N�	Q���	N_a��	G�x	��	N�	Q�y�	N�	Q�eq_some_iff����	���������	��x	rfl�����`�	M���`���z����some_ne_none��`�	M�PInfo��Zdecl�some_inj���ab�N���J���H������functioninjectiveeq_iff	���Ia	bh�a�	M��congr_fun��x����e���e��	eq_of_heq������	��	��right�����������	��	��	�roptionmkinj����	����	��\�PInfo��aATTR�����decl�some_get���a�ha����I������������	��}���	��8�	b	���E�PInfo��dATTR�����decl�get_eq_iff_eq_some���a�ha�b	�N��>������������	�|�	���h�	��	P���}�	S���0�	N�b��a�`���ze_1�<��a�~����e_2�<�9������<�	���	�	���	����	���	��G�`�	M���`�	M�t�a	�c�c�e_1������~	���
��
��	�y�	���eq_self_iff_true�`�\h���s�3�
���}��
J���0�
J�3�������e_1�
#������e_2���	��������	�
����������
�
�
���	M�	{��`�l	�	M��`��ze_1�	���r	eqdrec��������	������	�����	����	���	�G��v����������G��	�	M	���
x�G�y�
R���
?�\�PInfo��hdecl�none_decidable���������decidablefalse�PInfo��l	prt��VMR��VMC��l	�decl��equations_eqn_1���S�
�����
���_�
��
��PInfo��l	ATTR�����EqnL��SEqnL��ATTR�����classdecidable����decl�some_decidable���a��G���decidabletrue�PInfo�m	prt�VMR�VMC�m	��decl�equations_eqn_1����S�
����
����_�
��
��PInfo�m	ATTR����EqnL�SEqnL�ATTR����classdecidable���decl�get_or_else���a�_inst_1�d	���	��
��	�$�Sha�S�b��3�S�PInfo�oVMR�VMC�o��
�	�	decl�equations_eqn_1����	��
��	���	�
����	��
��	�G�
��PInfo�oATTR����EqnL�SEqnL�decl�get_or_else_none���d�<�
����
����dif_neg�����}���������3��PInfo�rATTR����decl�get_or_else_some���ad�H�
�	�J�
�	����dif_pos���%�\	����-�r��3���PInfo�uATTR����decl�mem_to_option���o�_inst_1�a	�N�]�optionhas_mem�>	�I�������	�s�G�N�A�
��<��S�*�b��
��5�I�}��G�W�M�E�Uc�,�<�����e_2�
#��������e_3�<���	�����?���f���k	�
_���f��k�?��D�T�	�I�I�Pdite�S�Wh�S�s�N�k��>�$�j	����j�*��l��3�j�5��	Q�N�3�a�}�j�����jtrueintro�	Q�}������M�����0���<���N���N������������,����������<����a���b��<�f�	�����?��������	�
������������
������-�j	���������y�����mem_def��inj_eq���	Q�	Q��	Q�|���	Qh������������}����������_x�	Q_a�}	���p���!������'������#�}�r������+���:�!h_1�&���t�u��� �
����3�	Q�}���H�0���N���	Q�H���������R�����R��j	�}����ifftrans���3����not_congr�j���V�jnot_false_iff���������y�R��α�a�V����>�5optionnot_mem_none�	Q�	Q��y�N�Hfalse_iff�	Qmt�	Q�j���PInfo�xATTR����decl�of_option_main������M�����optioncases_on��r���:�M����������PInfo�4�VMR�4VMC�4
���	�R�bdecl�4equations_eqn_1������4��5������id_delta:����PInfo�8�ATTR����8EqnL�8decl�4equations_eqn_2���a�����*�����<����M���PInfo�;�ATTR����;EqnL�;decl�of_option��������PInfo�=�VMR�=VMC�=���4doc�=Convert an `option α` into an `roption α`decl�=equations_eqn_1������=��������4equations_eqn_1<�PInfo�?�ATTR����?EqnL�?decl�=equations_eqn_2����<�����������4equations_eqn_2<�PInfo�C�ATTR����CEqnL�Cdecl�=_sunfold������PInfo�F�decl�mem_of_option���ao�r�N�D��	�@� �>	���H�I�r�6	�I� �N����@	���N�D���5	�����|����h���Selim���6�Z�R���6��
�3�����Rh��optionno_confusion��
�6�+	�I	���N����+���
�|�
�
 h�
�
$���N���T�
����
+�V�W�����	h�
 ���
+�
4�\optionsomeinj���
*�\�PInfo�G�ATTR����Gdecl�of_option_domu_1α�o���N���coe_sort	boolcoe_sort_booloptionis_some�U�V��W�����W�r�N�%���
T�
U	���N����w�
T�
V�w�s�
k���}��
k���0�
k�M�����M�
g����M���e_1����>	�`	�T�
f�������
�M�
f���
��?>�X>�
j���/has_coe_to_sortS		�
Q�
S�
j�
Tboolff��_inst_1�^		�
Qa�
Q�c�
Qe_2S�
Q�>�
Q�
�	�
R�
S�
i�
��/is_some_none>boolcoe_sort_ff�y�
s��iff_self���\�W���N�%���*	�
T�
_�
��s�
��%���}��
��
��0�
��N�
����
��M�
��
��������]�a�
z�z	�k�
����C>	�
����
��
��
Tbooltt���
��
��
��/is_some_some>	�fcoe_sort_tt�y�
��
�iff_true�
��\�PInfo�T�ATTR����Tdecl�of_option_eq_getu_1α�o�����
M���
Xoptionget�o�p��q���S�
M��of_option_dom@h₁�
Nh₂�%���
T�
_�	���q�<�u�T�
�v�k��
T�
U����������	�����
T�
U�	��		�u�
�v�T���
T�
U�R��Rfalsedcases_on�u�k�
-�������1�5������
T�6�P�:�P�q�u�T�
�N�v�k��
T�)���-�f�G����1�*�	�PInfo�n�decl�has_coe���has_coe�����has_coemkAB������PInfo�y�	prt�yVMR�yVMC�y�	��4decl�yequations_eqn_1��������y������������PInfo�~�	ATTR����~EqnL�~SEqnL�yATTR����yclass�z�y��decl�mem_coe���ao�r�N�Dcoe� ��coe_to_liftDE� ��coe_baseDE� ����	���������r�mem_of_option	�PInfo��ATTR����decl�coe_none�����������������������������	����PInfo���ATTR�����ATTR�����decl�coe_some���a�����r�M���r�M���r�M�����������	�M���PInfo���ATTR�����ATTR�����decl�induction_on���P��a�Mhnone��hsomea��	���������M��������orelim�U�3�U��classicalem�Uh�U���z_x�z��x�\�
6��\h�����	��z�	�}���	�3�n�eq_none_iff'�	�PInfo���&prt��ATTRelab_strategy����decl�of_option_decidable_main���o����
N�������6	���r��
]�	��������
��$�PInfo���	VMR��VMC���	���	decl��equations_eqn_1���S��
���������
���_��9	��#�PInfo���	ATTR�����EqnL��decl��equations_eqn_2���aS�����!���
�����_�.�(�.�1�PInfo���	ATTR�����EqnL��decl�of_option_decidable��
���"�PInfo���	prt��VMR��VMC���	���decl��equations_eqn_1���� ������
�����equations_eqn_1G�PInfo���	ATTR�����EqnL��decl��equations_eqn_2������/�=���
�����equations_eqn_2G�PInfo���	ATTR�����EqnL��decl��_sunfold��
��PInfo���	ATTR�����classdecidable����decl�to_of_option���o���<�r�>�
M�F�������
\���r�=�?���=	�G�r�P�
f�F�w���H�?�
��Y�
��PInfo���ATTR�����decl�of_to_option���o�_inst_1������A����������oa	�Z�a���D�E�I���D�mem_to_option	�PInfo���ATTR�����decl�equiv_option_proof_1���o������Pclassicaldec�������of_to_option���PInfo���decl��_proof_2���o���Oo�M�?���P�
M�������
�r���S�}���S��M���e_1�
y���U���k	�
���>�����������r	�������~e_1�<������	�
}�	���	������<����>���	�������������	�G�f�>�����	���	���
��G�	�		��	��p��������������`��subsingletonelim	��decidablesubsingleton�����
M�
M��
M���
N�R�to_of_option�PInfo���ncomp��decl�����equiv�����equivmkHI�����������������PInfo���decl��equations_eqn_1������&����3�����&�7�PInfo�ƪATTR�����EqnL��SEqnL��decl�assert_proof_1���pf���ha�h�R��	�������>���B�Z	��	�T�PInfo�ȱdecl��_proof_2��������>���B�I�K�������>���B��	�I�PInfo�ͱdecl����������>���������>���B���B�-���	���	�PInfo�DZVMR��VMC����������doc��`assert p f` is a bind-like operation which appends an additional condition
 `p` to the domain and uses `f` to produce the value.decl��equations_eqn_1��������>�����	�n�������>�G���u�PInfo�ϱATTR�����EqnL��SEqnL��decl�bind�u_2��β��f�Mg�	roptionP	�����������M�����assertP	�Xb�X���PInfo�жprt��VMR��_lambda_1VMR��VMC�����_fresh4�ս��_fresh4�ռVMC��������������doc��The bind operation has value `g (f.get)`, and is defined when all the
 parts are defined.decl��equations_eqn_1������������M������������R	�����������M�����S�����PInfo��ATTR�����EqnL��SEqnL��decl�map���������f�o�������������������P	�wfunctioncompQ�w	�-�PInfo��VMR��VMC���x�������doc��The map operation for `roption` just maps the value and maintains the same domain.decl��equations_eqn_1������������������������	���������������������PInfo��ATTR�����EqnL��SEqnL��decl�mem_map���������f��o��a��
�-PP���"P���	������������������
�����������	��}	���������	����a_w��a_h�������t_1����t�u�	H_1���H_2���������	���������������������������������������������������G�����	������������!� �3�� ����P����������?����roptiongetP����
����Annotinnaccessible���?�LrflP��B��>�����G��������PInfo��decl�mem_map_iff���������f��o��b	�N��������	��a��~	H������k	����������������	�|����_a��������9����������B������	������R������'���������a_w��a_h����P��B�������t_1������B�������	H_1����H_2���A�D���	�R��������?������7�����������������������X���	��������U�������������������������������������������������������R��������?�����7������������
�B�������������Annot���w���+�G�������7���0����6����������
�B������������Annot���������H���9�:�	���0�R����0�X������������_x��_a�����������v����������������������R���������������:��;�����'�����������;�����������������h_w��h_h����_x������Q������mem_mapP������PInfo���ATTR�����decl�map_none���������f��������	���noneP�������
���}�����3��	����	�����eq_none_iffP��a�s�����}������0���\��a�e_1���?	�3�����0���j���������j����o����������	���y�����P	�����	!���	#e_1�	"�	(�	'a�	������	6�
���h'������	�����������y�,��pqaa�3�V�	�	exists_prop_of_false	�������}�3�����Z�D�\���_�����\�f���y�����V�Ra��exists_false�y�\���f�\�PInfo�	�ATTR����	decl�map_some���������f��a	�������someP	������������	�}�z�����u�eq_some_iffP	���u��	�����PInfo��ATTR����decl�mem_assert���pf�>a	h	����r����!�"�>�#	�$	������k����������������)�r��a_w��a_h�������t_1��&�t�u�	H_1���H_2�����������	�4��r������(��������#��&�������)���������(���4	���&�����)�����������������r�������������
���
�Annot�������������������	���������^����f�������PInfo� �decl�mem_assert_iff���pf�>a	�N�a�r	�5h	�����+�,�>�-	�|�)�,_a��o�r	���k����8������	��������.�����a_w�8a_h�=�����r���t_1��1�t�u�r���	H_1��H_2�������W	����.������������`����g�����u��`���	�g���	�/��1�����r����4���W�W�V�(�V�^�.����`�1�T���4��������`����g���������������.��4
���Annot���������`��������������������`���������g������������_���g�����M_x�,_a��.������.�)�6������:�;������K�mem_assert����PInfo�*�ATTR����*decl�mem_bind���������f�Mg��ab����������	������������9�M�:���;�<��
�����s��s�t�z��B����������������a_w�sa_h�����t_1��>�����	H_1���H_2����������;	�������������������������@���1���4�;�������>�;�A���������	�\�[���[����������������)�������������������4�>������}�A���;�:�����:���9�����[������B�����S������G���n	a_w_1��a_h_1�����)�B�)�������t_1�)�C���D�B�D�����)�	H_1�����H_2�������B���D�_�������	����������)���%�������E���)�������D���<�D�C���B��)���D��F����������������	���C�����F�����������������9���������D�������B���
����'�����Annot���������� �����9�����%�����,�@����R����������^�D�������)��������������4�������1��PInfo�8�decl�mem_bind_iff���������f�Mg��b	�N�|��	��a��~H�Z��	���������H�M�I���J	�|�X�a_a������	����������s�����	����r���K������L�|����a_w�sa_h�x���������9��������3�N�9��,�O�����������R���K����4��L�����������������a_w_w��a_w_h���O���T�����������������9���������9������C�����������������9�����������Z	t_1���O�8�=�����������������������������	H_1��H_2�������m�����������9�)���S����������	�R�D�K�D��?����7��)�L�	������������)���A��C����P����������P�������������=������������&���������M���O�� �K���������9�����������T����������������K�D�
�L�	���O���8�T���G� ����������E�&�������E�G�F�����F���R�)�K�)��?�D��D�7�D���L�v���D���D���D
������D�)������)�����9�����D�D����Annot�����w�)����������?�����������L�����)���)���)
�����D�)�������������9�D�����)����Annot��������)������������`�=�����	�)�����<����������������&�����?���R����������^����8������A���_x�a_a���K�����L����k��K������L�
�'�x�V�������:��;�������L����	�;�������h_w�h_h����x����mem_bindP�������PInfo�G�ATTR����Gdecl�bind_none���������f�������	�����������[�?�}�E���3���������Ca�s�M���}��M���0�M�\�����L���0�L�����\�j�K��L����	�����y�L�d�GP	��� �c���%��������&�����/�K�y�x���A����`�R�e�k�\�PInfo�Z�ATTR����Zdecl�bind_some���������af�������q�������^�_���extP	�����s�H	�N�|�U�t	�|	���}������0x	�H�N���k�x	��	x	�H������Q	�H	���H	���H	�0���N�������M�����0�����K�
�V��a��	�����K��~���L���]���y�����i�����	#���	(e_1�	"��	'��	�������	6�
����h���]�����K�0���
�������y���exists_prop����a�ge_1��b�ie_2���7�
��
	�C�
�����y���������������y���c���c��\����exists_eq_left��	��������y�����
����y�H	����forall_true_iffQ	�\�PInfo�]�ATTR����]decl�bind_some_eq_map���������f��x��������PP	���x���������n���o�����e���s�H	�N�|�U�_�x�w	�����}��y���0�a	�H�N���k	�_����w���������H	�x���H	�0�x�N���K�
����������M�v���0�v���K���L���\�_�����w����y�v�����t�����������������K�0�����L����	�k������������e_1S���	�>��'�	������������
���������������L���0���\���k����$PP���������e_2�����u���	e_3������P�C�D����	��Q^�����C�����		���	����functioncomp_appQ^�������y������P��k	�y���e�������
���������0�������y�����	�����������������0���������������������������y����eq_commQ��k	�/�y�����
����T�\�PInfo�m�decl�bind_assoc���u_3������γ�wf��g��xk�roption`eqa�w��bindP`�roptionbind`�	x��{��������x�t�y���z�u�{�x�ext`����a�s�N�-``�v�"`���p	���������{����	�NExistsP��K��
��a��
���'������v�������K��
������K��
�'�k����v����	���}������M�����0�����K������L���������y�����GP`������	(���e_1�b����c��	���������Q]��
�������e����������K��0��
�������y���
����������0�����K����L����	�x���y���$�i����������e_1�	"���	'�
`	���#���	6��
�������e��� x����K��y�C���
����������������0�����K����L��������{�������y���i�G`�������������	"���	'�0	�R��K����L�����{���k���	6��
������������K��0�����L������K��
���n����v������������������e_1S��<	��>��i�	��7���	������������
���������������L���0�����K�����L������v�����x���y���������k	�������������0���
`	�����������@������e����������K��y�����
�����y���e�������
�����|����_x��_a���K��
�R�����
�<��������9b��K��
�}����
����x��������/�}�K��&����K��
��������v������(�:��;�.���������
����	����;�
�L����K���
������K���
�F�������v��������Wh_left�Lh_right�:����������
���F�������l�R���K���
���������K���
��������v��������`h_left_w��h_left_h�k�������h������
������K�D�
������D�K�D�
������D�v�D���D����h_left_h_left��h_left_h_right�����	���R��K��
�?�����7���)����K��
�����������������v���������w����/������K�D�
�������6b�D����/�|������)�v�)���)�����_x��_a���K������K��
���x������K�����K��
�x�������������K��
�������F��H��:��;�������2�K��
�����;�;�
� �&���K���
�������h�F�������v��������Hh_left� h_right���K���
����6�"���K���
�S��\���R�H�����K���
�o���)�
�u�����������v���������h_right_w��h_right_h�G���h����Z�����
�d�f���)�K�)�
�������������Oh_right_h_left�dh_right_h_right�|�������K�D�
�R�������
�?����7��D���)�������/��������Q������������/�����|�����PInfo�v�decl�bind_map���u_3������γ�tf�		x��g�x�z�}��	��y������������t�����������x�s���z�}�k��	���}�����������_a����y������	��	���	��������������^�������bind_some_eq_mapP�	�s���z������������}��������w��_a�w������p	������������bind_assocPd����s����}�����0��z�������������w���e_1�y��������e_2�y����d�6�y�6��>	��ff�6��6��>��0���z����e_1�������������e_2�f����6��hf����1�6�������e	��h�����a�1��e�G�z��/��f��
�����/�����f�������������������e_1���$�����������6e_2�Pf����1��jf����W�1�{�������	��ij�������W��������j�����]Pd��������f�w���y�1�0����f�w�0�\�PInfo���ATTR�����decl�map_bind���u_3������γ�tf��x��g��z�mapP����	��y���������������t�������������s���z�}����Pkm�w�somek���}����	���_a�w���������������	���������m�w����bind_some_eq_mapPk���s�	�z������������������}��	�:��_a�w�������5����	�8�#	��s�:���}��:���0�:�z������������T�8�W���7�V���7�V����%������������y�X�W�����W�\�PInfo���ATTR�����decl�map_map���u_3������γ�tg��f��o�`�z��	���map�����Qn�	���������t�����������`�s���z�}���	���}��������_a�w�������	�������	���������"�����'	���s���z������4���}��������_a�w�������������������bind_mapPn����s���z��������}����������nr��w���_a�w����������������������������bind_some_eq_mapn��������PInfo���decl�monadu_1monad��s�monadmkss�applicativemkss�functormkss��mapssα�β�functioncompstta���� #functionconsttthas_puremkss���has_seqmkss�α�β�f���x��roptionbindss��	
_x��� #Annotinfix_fnhas_seq_leftmkss�α�β�a�Mb�M� J	� #a	� -	has_seq_rightmkss�α�β�a�Mb�M� O	� Q��	� -� cidt	has_bindmkss�� <�PInfo���	prt��VMR��_lambda_1VMR��_lambda_2VMR��_lambda_3VMR��_lambda_4VMR��_lambda_5VMR��_lambda_6VMR��_lambda_7VMR��_lambda_8VMR��_lambda_9VMR��VMC���	�VMC���	�������sconst��VMC���	����_fresh5����VMC���	������������VMC���	����_fresh5����VMC��
�	����������������VMC���	aVMC���	����_fresh5��"��VMC���	������������������VMC���	�����b��������decl��equations_eqn_1���s� ����� x�v� � {�PInfo��	ATTR����EqnL�SEqnL��ATTR�����class������decl�is_lawful_monadu_1is_lawful_monad�x�� {is_lawful_monadmkxx�� {is_lawful_applicativemkxx�monadto_applicativexx�� {is_lawful_functormkxx�applicativeto_functorxx�� �α�β��	a���M��� 2β�f�����M��� #		� hf_domf_get�G��� Q� g��α�β�γ�g��h��x�`�s��� #�� %�	� A� �	���}�� ����0� ���� J���a�� �� ���a���!�`e_1��� ��� �~e_2���	��9�	���
�	�
�9� �9��	�� �� ���� �� ��s� �� ���� <� �� �
_x� �� #�Annot��� ��}�� �� ������ �_a����a� J���� ��� %��	� ��!
�a�!�� �� ���� �� ��
� ��s� ����}�� ����0� �� �� ���� �� �� ��bind_somexx� �� �� �� �� �� �� ��y�!(���
?��� ��\� �� ��
��� �� �� J� ��� �� #� � �!H�!� ����!K���!H	� ��!G� J�!Q� ��!U�!X�!G� ��!`�!acfunctorxx�α�β�� ��� ��e_4�<��� �`� �ze_5�	�congrxy�~��functormapxx������!s	�
$� ��� �~�~��!s� 3�G�!K� ��!`�	��!`� ��s�a�!`� ��a� <�!H�!U
�$�!H� ��Annot��� ��}��!��!��	{�!`�%�`����!���� ���!����!���!��!��	��!��!`�	�`�!��s�!����}��!����0�!��a� �� ����
�!�� ��!-�!H	�!�� �� ��
� ��y�!����
@� ��\���!a�!d�s���!a�!d��� <�!K�!Q
�$�!K� ��!�Annot���!d�}��!��!��!�!a�%����a�!_�!�� ��!��!�!���!��!����!��!a�
�!��s�!����}��!����0�!����!d�!d��� ��!��!d�!-�!K�!��!d�!d� ��!d�y�"���!:�!d�\�s�!��!X���}��"2���0�"2���!��$�!K� <�!��!�x�!�� <��	�0���	���!��0�!K�";x�!��">� %���z�x�"H����� ��!a�"F�!F�!a�!�
�$�!K�!��"9��!��$�!��"<�	�"L����Annot���"F�"[�!]�!��$�!H� <���!�z�x�"ichas_seqxx�α�β�� � ;� ���e_4�<���� �`� �ze_5�	��!nhas_seqseqxx������"�	�
$��!z�!|��"�� K�!Q�!Q�G��!K�!Q�!`�"t�
�!`�!��"t�!�chas_bindxx�α�β�� �M� ��e_4�
y� � �`� � ��ze_5�<� ����!l� ��~��has_bindbindxx������"�	�
$�~� �"��~��"�� w�!H�!U�!U�G��!H�!U�!��"sfunextyy�!Hx�!H�z�0�!H�!��0�!H�"r�$�!H���"r�!��bind_some_eq_mapxx�����"i�"u�
�"i�"��!K�!Q�!Q�"��"h�"E�"��!K�C�!K�`�0�!K�"f�0�!K�"D�$�!K�
�"f�";�1�!��"m�$�!z� <��� %���~���"p�"D�#� <��"e� ��`�t�#�	��#!�"f�"���"e�bind_assocxxx�!���!��"d�# �"��!��!��!��G��!��!��1�!��"m�"c�#�"C�"��!��C�!��z�#?�"C�1�!��
�z�#>�">�1��"^�#�"a	�"B�#,���	�"b�#�"���		�G�~	�#N�"A�"���C����#N�"A�1��
���#M�#L���"@�#h�"^�����#L�#i�#Y��#J�#lfunctioncomp_appyyy���~���#L�#L�G�"��#L�!-�����#L�#t������	���!X�"U�!F�!X�!��1�!K� <�!�1�!H� <�!z� �����!z� %�!z�#���#����#��"M�$�!�">�"K�"U�#�� ��!�� ��!Q�1�!K�"9�!�!�� %�!��!��!�!�!�$� ��"l�!�`�t�#��#��#�� ��#��#�� ��#��#��"���!V�#��
�� ��!V�#��1�!K� <� �!��#��!� %�!H�#���#����#��!�$�#��#��#��#��#�� <�!M� ��!��!M�!Q� %�!K�!M��!M���!M� ��$�!M�#��#��#��#��$
�$�!M� #�!��!�!�Annot���$�#��!J�$�!U�$�"��!H� ��!R�$��#��$�!R�"��!K�!M� ��!Q�!U�!U�"���#��$�$�	�#��$�"��!M� ��$�$�G�#��$�$�$�"��!M�C�!M�#��0�!M�$
�0�!M�$�$�!M��#��$�$
�"��!��!�!��#,�!K�!M� ��!Q�$�$�"�� ��!Q�!Q�"��#��#��#�C�!K�#��#��0�!K�#��#��1�!K�
�#��#��#��#��#��#��$^�"��#��!�#��$c�#t�!H�#��#��#��!�#��#��G�0�#��#��#��!-�#��!�#��#��~���#��#��
�#��"�� ��#��#��G�#��#�� ��#��"�� ��C� ��`�0� �� ��0� ��#��$� ��	��#�� ��"��$M� ��!Q�#��#��"��1�!K�#��#��#��"T�#�$��"T�1�!K�
�$��";�1�!�� <�#���#��"N�$�#��#	��#������"S�#-�!�!��#��#��#<�$��"R�#D�$��0�!��$��"O�1�!��#G�$��$��#��"O�$��$��"��#���$��$��#t�!z�#��#��#��"N�$��$��G�0�#����$��!-�#���"O�$��y�"G�"F���!:�"F�\�#�� ��#�� #�!M� �g�!M�#�� �� ��%
� ��#��!J�%�!U�%�$�%�s�<�#��!R�%�%�$�%�}��%�%���#��!R_a�#���<�#�� #�!H�#��!�!U�#��!	�%&�%,��%�$�$"�s�%���}��%���0�%�%�%�%���!�#��!�#�e_1�<�� �!z� ��� �� � ��� ��� �� � ��� ���e_2�<�� � ����� �����	��� � ����� �����<�%\��%_	�
�%\� �%\��%_�$�%�
�#��$�$�%�"�!M�$�#t�!K�!M�#��#�� ��%�%�$4�%�y�%A���
?�#��%�\�!U�!U�G����!H�!U�s�<�#��%�%�%��#��%�$�%�}��%��%����#��%_a�#���<�#�� J�!��!�%,�!�� #�#��!�H�#��%,�%��%���%��%��$(�%��%�$+�%��s�%����}��%����0�%��%��%x�!M�%�%�%���!�#��!�#��J�<�#�� ��%D� ��%K�K�<��%O�	���%S�<�%���%�	�
�%�� �%���%��%��%��#��%��%��$�!M�!�%�%��$1�%�%�%��$�%��$9�C�!M�%��!�$<�0�!M�%��$�!Mα�β�g��x	�s��� Q	���I����� <	��� %	���I�&�}��&�&���&�I������ A	�	M�q���&'��&�&��&�&�"�	���s�&���}��&���0�&���&�&���!���!���J�
�� �z� ���K�X�	��������	�
��� ������&�&�
���&�&�&�!-	�&�#t	���I�&�&�{�&�y�&C���
?���&�\�!��!�"��!M� ��%��%�%�%�$��%�y�%��%����
?�#��%��\�s�%��%�%�%��%�� %�!M� ��#�� ��%
�%�}��&��&��%��%�I�#���%��%��!�%��!	�%��&���&��&��$(�&��%�&��%
�%�s�&����}��&����0�&��%��%�%���%��&��%�#��&��&�� ��%�!-�!M� �� ��&��#t�!M� ��#�� ��%
� ��%�%�$��%�y�&����&��%�\�$��y� ����!:� ��\α�β�a�Mb�M�
� ]	α�β�a�Mb�M�	��� q	α�β�g��x���s��� J	�����&��� >�'#� E�''�}��'(�'-���'%�%������!\�!P	�&$�&*�'7��'(�'+��'+�'%�'�'+�s�'-���}��'-���0�'-���''�''���&\�'+�''�!-��	� D�''�''�{�''�y�'O���&x�''�\�&�α�β�g� ;x	�s���'!��� #��	�H������� ?
�$��� B�	MAnnot���'t�}��'u�'|���'n�L������!\	�	M�!L�H�!K		�&*�'���'u�'z��'z�'n�'�'z�s�'|���}��'|���0�'|���'q�M�����'t���&\�'z�'��&_�'z� ?�$���q���'��"���	�G�"{�'y�'��"����C���%��0���'w�0���'��$���&��"���	�'��'t�'t�{�'t�y�'��'����&x�'��\α�β�γ�x��g�"{h�"{�s���!\�!^	� ��!J�!O	���}��'����0�'����!��$�!K�":	�0�!��"=�"A�'��0�!K�'��1�!��'��"P��� ��'��'��!F�'��'�
�$�!K�!��"\	�$�!��"^�"bAnnot���'��(�'��!��$�!H�"m�"q�(�"��"��'��(�
�'��(
�$�!H�!�Annot���(�	��($�'��!��($�"��"��(#�(�"��0�!H�(!�0�!H�(�$�!H���(�(!�"����(�(�
�(�"��(�(�'��#�0�!K�(�0�!K�'��$�!K�
�(�'��1�!��"m�$�!z�#
��#�#�'��(O�#�(�# �(W�	��([�(�#(�(�#/	�(
�# �#6		�#:	�1�!��"m�(	�#�'��#D�(n�'��1�!��#G�(m�'��#N�'��#T�"b�#�#Z�#]�#N�"A�#��'��(�!F�'��'��1�!K�#��1�!H�#��#��$�!�'��#��(�(�� ��#��1�!K�#�	�#��$� ��#��#��(��(��(�
�$� �� �Annot���(��(�� ��(�	�(��#��'��(��#��'��(��1�!K�#��$�#��(��#��(��(��#��#��$�$�!M�(��$�(��(��(�
�$�!M�$	Annot���(��(��!J�(��(��$�'��(��$�(��'��$ �(.�$(�(��(��$+�(��$1�(��(��$4�(��(��(��$;�0�!M�(��0�!M�(��$�!M�$@�(��(��$E	�$O�$�(��$U�(�(��(��$\�(��0�!K�(��#��1�!K�$a�(��$d�(��(��$r�(��(��$v�(��$|�(�		�~	���(��(��
�(��$��(��(��$��(��(��(��$��0� ��(��0� ��(��$� ��	��(��(��$��$��(��(��(H�1�!K�#��(��(��'��#�)4�'��1�!K�
�)3�'��1�!��$��$�#��$���$��'��$�	�#��(��(k�)>�'��#D�)>�0�!��)<�"O�1�!��#G�)=�$��)<�)I�$��)<�)<�$��)<�$��)<�y�'��'����!:�'��\�"�α�β�f� ;x���'� F�!-�#,�PInfo���	prt�VMR�VMC�decl�equations_eqn_1��� ����)z�� ��)}�PInfo�m��	ATTR����mEqnL�mSEqnL�ATTR����class����decl�map_id'���f�Hx�H��o����� �	���o�)��p�)��r���s�)���� ��}��)��)����	_a�)���a� @�a�)���)�� �
��<�)�	� ��"��
	� �Annot�d�� ��to_is_lawful_functor�� ��	to_is_lawful_applicative�� {�)}�PInfo�n�decl�bind_some_right���x���� <�����w��s�)���� #���}��)��)����M�)�� &�M���)�_a�M���� <		�I����)��)��"��)��s�)����}��)����0�)�������M���e_1�
y��`��ze_2�	��	��~���	�
�~��~���)��map_id'�)��}a�q	����Z�*$a�q	����forall_congr�q�h�q���q�
?	�l����y�*���
?�M�\�PInfo�v�ATTR����vdecl�ret_eq_some���a��return�� {���������*V�PInfo��ATTR����ATTR����decl�map_eq_mapu_1α�β�f��o�����!o�%�� ��%�� ��%�� {	�''���������������'�*g�PInfo���
ATTR�����ATTR�����decl�bind_eq_bindu_1α�β�f�Mg�	�����"���to_has_bind��{�� {	�&���������M���*s�'�*{�PInfo���ATTR�����ATTR�����decl�monad_failu_1monad_fail��|�monad_failmk||�_x�_xstring���PInfo���	prt��VMR��VMC���	���*����Rdecl��equations_eqn_1��� y�*������*�� ~�*��*��PInfo���	ATTR�����EqnL��SEqnL��ATTR�����class������decl�restrict_main���po�M���X���������M��*���������k�zo_domo_get����p��	�������h��"?�PInfo���VMR��VMC�����������decl��equations_eqn_1�����dfH�	���a���������"?�����������*��
���`�*��PInfo���ATTR�����EqnL��decl�restrict��*������*��PInfo���VMR��VMC��������decl��equations_eqn_1������������*��a�����*�������equations_eqn_1��PInfo���ATTR�����EqnL��decl��_sunfold��*��*��PInfo���decl�mem_restrict���po�Mh�*�a�N�o�*�	�
�o	�������M���*����j���`����q�N��	�*�����*�	o_domo_get���������}�N�B�*������
��B���|��h��t�"?�+�5��	�ta_1�+����������������+�
����������h₀�h₁�+�/��A������������+*��a_1�+���������������
��+<����������h₀�a_1_right�+"����+*���++�^����������h₁�h₂�+)������������(��PInfo���ATTR�����decl�unwrap���o���������_undefined��PInfo���&	VMR��VMC���&	���doc��`unwrap o` gets the value at `o`, ignoring the condition.
 (This function is unsound.)decl�assert_defined���pf�>h��@�T�6�������>existsintro�A�PInfo���(decl�bind_defined���������f�Mg��h�X��9���9�m���������M�����assert_definedP	�X���X���PInfo���+decl�bind_dom���������f�Mg���N�9	����Xh�X�+����������M����iffrfl�+��PInfo���.ATTR�����declpfunu_1u_2α�β��������������?�PInfo���5VMR��VMC������doc��`pfun α β`, or `α →. β`, is the type of partial functions from
 `α` to `β`. It is defined as `α → roption β`.decl��equations_eqn_1�����������������+������?����������+��+��PInfo���5ATTR�����EqnL��SEqnL��TK→.NOTApfun→. →. ��nspacepfundecl��inhabitedu_1u_2α�β��inhabited�����+���������\��+�a���PInfo���<	prt��VMR��VMC���<	�������Rdecl��equations_eqn_1������������)��+��������+�����������+��+��PInfo���<	ATTR�����EqnL��SEqnL��ATTR�����class������decl��dom�����������f�+�set�	����������+�a	�+����PInfo���?VMR��VMC��a������doc��The domain of a partial functiondecl��equations_eqn_1��������������+��	"�+�������	�+�����������+����+��+��PInfo���?ATTR�����EqnL��SEqnL��decl��mem_dom�����������f�+�x	�N�]�+�sethas_mem��+�	��	y	�|����������+���	�s�+����}��+����0�+��N�+��+����M�+��+��0�+��+������1�����,��^�+������e_2�
#���+�����+��e_3�	"�+�������+����i�,"���,&	�
_���,"��,&�+����+��,����+��+����+����,����	�%���,E�,H���y�,E�,roptiondom_iff_mem��y�,�,setmem_def��,�+��+���+��y�,���
��+��\�PInfo���Adecl��dom_eq�����������f�+��+�set_of�	x	�+�����������+�setext�	�+��,z��mem_dom��	�PInfo���Ddecl��fn�����������f�+�x	h�+�����������+���	��,��B�PInfo���HVMR��VMC���H���������doc��Evaluate a partial functiondecl��equations_eqn_1��������������+���	��,���������	�,�����������+���	��,����,��PInfo��HATTR����EqnL�SEqnL��decl��eval_opt�����������f�+�Ddecidable_pred�	�+�xoption����������+���,��roptionto_option����PInfo��KVMR�VMC�	�K��������doc�Evaluate a partial function to return an `option`decl�equations_eqn_1�������������+���,�����,������	�,����������+���,�����,��,��PInfo��KATTR����EqnL�SEqnL�decl��ext'�����������f�+�g�+�	H1a�N�k�+��+��+�	�,��,�H2ap�+��q�+������,����	�,�	�}���+��	���������+���,���,���,�funext����
���	a�roptionext'���������PInfo�
�Odoc�
Partial function extensionalitydecl��ext�����������f�+�g�,�Hab�N�,���,��+�	���������+���,���-�-�
��	a�������PInfo��Tdecl��as_subtype_proof_1�����������f�+�ssubtype�	x	�,��&�,�subtypeval��-?��������#�+��$�-=�%property��-?�PInfo�"�Xdecl�!������������#�+��$�-=	��������#�+��$�-=�,�	�-C�"����	�PInfo�!�XVMR�!VMC�!�X�$�#������doc�!Turn a partial function into a function out of a subtypedecl�!equations_eqn_1������������#�+��$�-=��	�!����	�-^��������#�+��$�-=��	�-h�PInfo�+�XATTR����+EqnL�+SEqnL�!decl��equiv_subtype_match_1�����������_asigma����p�-v��-;	�,���������.�-{sigmacases_on�����	 �0�	 ��-:�.�-u�	 �-��+�	fst�	 snd�-���x���5��h	�'mk���PInfo�-�Zdecl�-equations_eqn_1�����������p�-vf�-y�,��-��-����	�1mk���	!�0�	!��-:�5���6	�-����������:�-v�;�-y����-��9��-��-��PInfo�9�ZATTR����9EqnL�9decl�,_match_2�����������_a�-{eq���-�f�,��-��+��-f_x�-��-���������>�-{�2���	 �-��>�-��-��-u�	!�-��@�-��-��	#�0�	#��-:���,��-d�A�-��-��3�	 �4�-����-��-u�	#�-��@�-!�-��	(�0�	(��-:���,��-d��A�-��-���-��.
�}�.�4�-��,��-��.
�4�-��,��.	�.	e_1�	���0���-:���,��-����-���. 	������0����-:���+����-����-����.1�-u���.1	�.7�.;�-��.funext���-��&�.�
�.O�.Ia�.O�'cases_on���&��.(�D�-��.X���-d���.'a_val�a_property�.W����-d���.:�-���&��+����-����-����0����-:����PInfo�=�Zdecl�=equations_eqn_1�����������p�-vf�-y�){�-��-��-��-��-��=����	�-��}�.��4�-��+��-��4�-��,��-��-�	�B�.�-��,��.	�.	�.-�. �,��."�.$�-u��. 	�.$�.��-f�-��.L�-��&�.��
�.��.��D�.��.U�&�.��D�-��.���.�.��F�G�.���.\�.��-��&��.3�.5�.7���������J�-v�K�-y�)��.��9�.��.��PInfo�I�ZATTR����IEqnL�Idecl��equiv_subtype_proof_1�����������f�+��,�x	�
�x�-��-���������N�+��-	�
	���.�a	roptioneta�	���PInfo�M�Zdecl�L_proof_2�����������_x�-{�-���������T�-{�.�	�PInfo�S�Zdecl�L�����������������+��-{������������+��-{�@�+��-��	 �-��+��-d	�A�-{�-�	�M�����S�����PInfo�L�ZVMR�L_lambda_1VMR�L_lambda_2VMR�L_lambda_3VMR�L_lambda_4VMR�LVMC�U�Z��VMC�V�[�@�U�!VMC�W�\�6��_fresh5�����_fresh5���VMC�X�\��A�WVMC�L�Z�����V�Xdecl�Lequations_eqn_1�����������������/�L�����/-����������/�/4�PInfo�`�ZATTR����`EqnL�`SEqnL�Ldecl��as_subtype_eq_of_mem�����������f�+�x	y	fxy�+�domx�y�+���+��	�,����.\�-��&��.3�	��������b�+��c	�d	�e�+��f�/Croptionmem_unique���/K�-@��/G�/J	roptionget_mem���/[�-Y���/J�PInfo�a�`decl��lift�����������f���,���������l��a	�y�PInfo�k�eprt�kVMR�kVMC�k�e�m�l�����bdoc�kTurn a total function into a partial functiondecl�kequations_eqn_1������������l���,��,��k����	�/r��������l���-��,��/z�PInfo�o�eATTR����oEqnL�oSEqnL�kdecl��has_coe�����������has_coe�������+���������|�����+��/w�PInfo�p�g	prt�pVMR�pVMC�p�g	�����kdecl�pequations_eqn_1������������+��/��p�����/���������+��/��/��PInfo�s�g	ATTR����sEqnL�sSEqnL�pATTR����pclass�q�p��decl��lift_eq_coe�����������f���/{���������,��������,��������,��/�	��������u��rfl���,��/z�PInfo�t�iATTR����tATTR����tdecl��coe_val�����������f��a	���/����-��/����-��/����-��/�	�y��������x���y	�R���/��PInfo�w�kATTR����wATTR����wdecl��graph�����������f�+�set��prod��	��������{�+������/�p�/����}snd��	�}fst��	�PInfo�z�pVMR�zVMC�z���{����doc�zThe graph of a partial function is the set of pairs
 `(x, f x)` where `x` is in the domain of `f`.decl�zequations_eqn_1������������{�+�����/��z����	�/���������{�+����/��/��PInfo���pATTR�����EqnL��SEqnL�zdecl��graph'�����������f�+�rel��	����������+�x	�+��PInfo���rVMR��VMC����������decl��equations_eqn_1��������������+�����/�������	�0����������+����/��0
�PInfo���rATTR�����EqnL��SEqnL��decl��ran�����������f�+�set�����������+����b�ja�{�PInfo���vVMR��VMC����������doc��The range of a partial function is the set of values
 `f x` where `x` is in the domain of `f`.decl��equations_eqn_1��������������+����0������	�0"����������+�����0�0*�PInfo���vATTR�����EqnL��SEqnL��decl��restrict�����������f�+�p�+�Hhas_subsetsubset��+���has_subset��+��-!����������+����+����0<xroptionrestrict������PInfo���yVMR��VMC���y��������������doc��Restrict a partial function to a smaller domain.decl��equations_eqn_1��������������+����+����0<�-"������	�0G����������+����+����0<�-��-!�0R�PInfo���yATTR�����EqnL��SEqnL��decl��mem_restrict�����������f�+�s�+�h�0<ab�N���0M��	�
���+���+���0a�k����������+����+����0<�����s�0s�N�
���0q�0r�}��0s�0�M�0h�0}�0�0h�0a�0B����k�0}���0g�0�congr_fun��������0f����0B�������������	�y�0��0}�������k�0r�0r��0riffrefl�0}�PInfo���}ATTR�����decl��res�����������f��s�+��-���������������+��0M	�/w	setsubset_univ��PInfo����VMR��VMC��
�����������k��decl��equations_eqn_1������������������+��-�������	�0���������������+��-��0��PInfo����ATTR�����EqnL��SEqnL��decl��mem_res�����������f��s�+�ab�N���0��	�
�/A	���������������+������s�0��N�0�����0��}��0��0��M�0��0��0�0��0����/��!H�,��/��!H�,��/��!H�,��/���0��1���0M��1	����,��/w����,��06�0j�08��,�����/>	���/>�1$�,��/w���0��		�+��/>	�1�t����1�����������e_2���������ue_3���	���������1Q	����������1Q�����0��1D��������0��1�1 	�16�1D�0���1q�0��1w�����	���,����+���e_1�,��+������,���,e_2�	"�,"���06�+����08��	�+������������e_4�R����+��D�)����1����,��+���D������0M��������1���1�+���������1��06�+���08���+�����1*�+�������1��1��1����������+��D����1����	"�+����1��1��1����1��1�	�1��1����-��1����
}�D	��D�����1��1��1����1��1���1��1���+��1�����1������0M�D�)���1�1�����1��06�1��08���+���D�1*�1�����1��2�2����+��1����-��1��	����1 �1�1A		�1:�16�G��y�1E�1������1	�1B��0��0���0��1�0��0�1�������0��1m�1�2]�w����y�2^�0�����0��0���0��|�0��0�h�0��s�
�0m	�'���}��2����0�2��
��������2}���y�2}�����2}�Q�2}�����2���0�2�'����������e_1�1K������e_2�A�����8��8	�1X������8����������]�2}�2��y�2����������y�2���and_self���\���0��s�2~�2����}��2����0�2��2����2��2��2��2��2�2����0�2��2����2�����2��2�y�2����2��2��\�PInfo����decl��res_univ�����������f���/v�0�	setuniv�	�/�������������/��3�PInfo����ATTR�����decl��dom_iff_graph�����������f�+�x	�+��+�y	�-�����/��/��3����3prodmk���/�	����������+���	�,T	���PInfo����decl��lift_graph�����������f��a	b	�N�3$�3&�/��!K�-!�/��!K�-!�/��!K�-!�/�	�,��������������	��	
��N���h������3F�s�3S���}��3S���0�3S�N�3F�3F���M�3Q�3F�y�3M��������	����3O��exists_prop_of_true���3i���3F�3F��3F�y�3\���
��3F�\Annot��PInfo����decl��pure�����������x�,����������_x	�x�PInfo����prt��VMR��VMC�������������bdoc��The monad `pure` function, the total constant `x` functiondecl��equations_eqn_1��������������/v������	�3�����������/��3��PInfo����ATTR�����EqnL��SEqnL��decl��bind����u_3�������γ�tf�,�g�	�����	�3�����������t���,����3�a�}b�PInfo����VMR��_lambda_1VMR��VMC��������_fresh5�$ ��_fresh5�$VMC��
������������������doc��The monad `bind` function, pointwise `roption.bind`decl��equations_eqn_1����������������t���,����3��[�3���������	�3�����������t���,����3�����3��3��PInfo����ATTR�����EqnL��SEqnL��decl��map����������������tf��g�-��3�����������t�������-�a�����PInfo����VMR��VMC������������������doc��The monad `map` function, pointwise `roption.map`decl��equations_eqn_1����������������t�������-��3���������	�3�����������t�������-��3��3��PInfo����ATTR�����EqnL��SEqnL��decl��monad��u_2���monad�����+����������3�������3�������3�pfunmap��������������������,��-��3�	����������3��3�������3������������,������-�pfunbind�����	
�����3��Annot��������3������������,����-������������1������1�	�4
���	
�����3��Annot��	�3�� R�3�	������3������������,����4�42	�45� c�3�� c���	������3��4
�PInfo����	prt��VMR��_lambda_1VMR��_lambda_2VMR��_lambda_3VMR��_lambda_4VMR��_lambda_5VMR��_lambda_6VMR��_lambda_7VMR��_lambda_8VMR��_lambda_9VMR��VMC����	��VMC��	��	����������VMC����	����_fresh4�����VMC����	������������VMC����	����_fresh4�����VMC����	����������������VMC����	�VMC����	����_fresh4�����VMC����	������������������VMC����	����������������decl��equations_eqn_1������������3��������4[������3��4`�PInfo����	ATTR�����EqnL��SEqnL��ATTR�����class������decl��is_lawful_monad�������is_lawful_monad�����3��4`����
����3��4`�����3������3��4`�����3������3��4sα_1�����rfl�������4�-!���������3����- �,�	�44�3�β��f�+��.��3��4Ia	�}���3�		�4J����	_x�����x�����4I���������4��4I�-������������������,��seq���1��3���functioncomp����	�4��4�	���}��4����0�4��4������������+�������+��	�4
����	
�����3���Annot����3��� ��4��4����!�4��!�1��"�4��4��� �4��� �+�����#�4��+�����-��+�����4��5
��5
	congr_arg����5
� �5
��5
�4��4��symm��4��4��4��s�4��4��4��4
�� ��4�
�$� ��3���Annot���4��}��5*�59eqrec�	�4��4��%�4���4��4������������4������5	�4
����	
�����3���Annot����3���!�4���	�52�5\�5A�5b��5*�57�5'�57�4�����4��57�s�59���}��59���0�59�4��4����5#�57�4��-��
����5/�55�55�4�a�roptionbind_some�����$�!�3����	�5\�4��4�eqrefl�	�4��4��y�5|��eq_self_iff_true�	�4��4��\�4��4�eqtrans��4��4��4��4��!H� ��4��!K�!M�4��4��!K�4��!H	�4��5��4��5��4��5��5��5��4��5��5��'�(���1��)���*��� ��� ���+����� �5	� �+�����,�4��+��)��-���1���1���/���1������5�	����!z� �5��1����5��3��1��4����������3����4��4��5��3����!K�4��5��5&�1��5��4��s�4��6�5��4��6�5,�!H�5�
�$�!H�51�Annot���4��}��6�6%�5>�6�5��%�6��4��1���5T��5V�!��6�6-�65��6�6#�6�6#�5��5o�6�6#�s�6%���}��6%���0�6%�6�4��4����!�6�!�6,�J�4��4��� �4��� �5��K�4��5��5�5	���4��6\��6_	�5�6\� �6\��6_�6#�4��5��
����6�6!�6!	���5���$�!��5��	�4��4��5��6�4��y�6O���5��6�4��\�5'�5��5��s�4��5��5��4��5,�!K�5�
�$�!K�50��62Annot���5��}��6��6��5?�5��%�4���5A�5S��5V�!H	�62�6�	�62�5e�6���6��6��5'�6��5��5p�6��s�6����}��6����0�6��4��5��5����5#�6��5��5��6��6��6����5��$�!H�5��������������5�����5	�4
����	
�����3���Annot�����3���!z		�5��5��5��5��y�6����5��5��\�s�6��5����}��7���0�7�4��6��$�!K�4
��!��60�0�!��4"��	�0��3����"?�6��0�!K�7�1�!��7�3����4��6���4�������5#�5��7$�5��5��6�
�$�!K�6��7��60�$�!��7�	�7&��6R�6��Annot���7$�7;�5��6�$�!H�7���3����6,�5V��7K�2�3��	�1��4���5��� �5B� �5���6�4��5��� �5�� �5��7�5��5��9��	�1������7h	��	�	�1��!z�5���7h�4�1��4��5��5��5��1��!K�5��5��7Y�5��6�5��6#�7Y�6D�:�;��	�1��<���=��� �4�� �5C�>�4��5� � �5�� � ��5���?���	� ��5��-��	�	� ��5��5��A��	�1������7�	��	��	�5�� �7��5���7��4W�1��5,�!H�5��5��5��1��!H�5��6"�7X�B��	�!H�C�!H�6,�0�!H�6 �0�!H�7W�$�!H�5&�6,�7W�6 �-��
����7W�6 a�roptionbind_some_eq_map��������5'�7K�7Z�5p�7K�7��!K�5��5��7��7J�7#�7��!K�C�!K�4��0�!K�7H�0�!K�7"�$�!K�5��4��7H�7�1�!��4"���$�!z�4
����3����6V�7��7R�4��7)�7"�8�7��7G�3���4��5V�8�5&�4��8)�7H�7��
����8)�7H���7�������4"�!z��6��8�80�7��1��
to_has_bind��	�1��4_���8F�!���60�7F�8(�8I�60�1�!��7��4��8B�4��4_����8�8a�roptionbind_assoc����!z���6�b�!z�$�%J�4����3����6W�3����b��7@�5�7	�:�7��1��<���=��� �5� �6��>�4��5	� � �5�� � ��1���?�7�� ��1���7�� ��1���8��7��1������8�	�7��5�� �8��8���8��4W�1��7�!��60�60�5��1��!��60�1�!��8	�7E�8�7!�7��!��C�!��4��8��7!�1�!��5��4��8��7�1��8
���8�8v�7 �-��
����8X�8V��	�7D�8�8��	�1��7��4��8B�4��4_����8��8v���8^��������8l	���8�5�8j��:�7��4��<���=��� �5� �5		�>�4��5�� � �1�� � ��1���?�7�� ��1���7�� ��+����9�7��1������9	�7��8�� �9
�9��9�4W�4��4"��		�5��4��	�8��7�7���C��5�8��7�1��5��5�8��8v���7�9?�8��8���8v�9@�:�7��4��<���=��� �5	� �5�	�>�4��5�� � �1�� � ��1���?�7�� ��9��7�� ��+��%��9S�7��9�����9`	�7��9� �9Z�9Y��9`�4W�4��8
���8��9C�G���	���6V�8�8v�8v���	� ��5�8v�-��
��$�9E�9@���5�����8��9����5�7	���5��75�5��5��6��1�!K�7�!�1�!H�87�#��6��3��!z�#��4��#��6��#��7-�$�!�7�7*�75�9��5.�6�� ��5��1�!K�7�!�60�3��!��!�1��!�5W�5Z�$� ��7N�7Q�4��8&�9��9��9��56�9��9��4��9��9��7���5��9��5��1�� ��5��9��1�!K�7�#��!�3��!H�#��1��#��5V�#��5Z�$�#��9��9��9��9��5,�!M� ��6��!M�5��3��!K�!M�1��!M�4��!M�4��$�!M�9��9��:�9��:
���!M�50�!��!�60Annot���:�9��5��:�5��:!�7��!H� ��5��:�5&�:�:�5��5��
����#��:�5����7��!H�#����!H�9��6��5��5��7��5&�9��:!�:%�5o�9��:!�7��!M� ��:�:�5��:�:�: �:�7��!M�C�!M�9��0�!M�:�0�!M�:�$�!M�5&�9��:�:�7��
����#��:�:���7��!z�#����!z�8b�5��
����!�7��1��8B�1��4_��!M� ��:v�!K�!M�5��:�:�:y� ��5��1�!K�8F�#��!�9��:���8^�!H�#��!�:8��!H�9��%E�4��%E�6��%E�7-��#��$�%E�8
�%J�%D�7�%J��3��%J�%D�4��%D�7�%D�7�� ��5��5��7��:�9��7��C�!K�9��:�0�!K�:�9��1�!K�5��9��:�9��9��9��:�:��8��#��!�9��:��9��!H�#��9��9��5Z�:�:�9��0�#��9��:�:_�:��:����5���#��:��7.�5��1��5'�9��9��5p�9��7�� ��9��9��5��9��9��56�9��7�� ��C� ��4��0� ��54�0� ��9��$� ��8,�9��54�80�9��54���7���7��5��:v� ��:��9��9��:y�5��1�!K�8F�!�9��9����:��!�:8��!H�1�!��:��:��4������!�$�#��8��8��5�7�7��1�!K�9��9��9��74�8�;;�74�1�!K�8�;:�7�1�!��4"�#���9��7.�;0�73�80�;�8I�!�60�9��9��8Q�1�!��8V�#���;D�;0���8_�#���8b��!z�:��; 	��#��$�%D�8d��8g��5�8��8��;G�72�8��;G�0�!��;0�7/�1�!��8��;F�;B�9��7/�;0�;s�9.�#���;D�;w�9��!z�#��9��9��7.�;0�;0�9��0�#��5�;0�8��;y�;s���5����;h�;[�y�7%�7$���5��7$�\�9��4��9��4��!M� ��%
�:�4��4��%
�4��9��5��;��5��;��:*�;��s�4��:�5��;��;��:�;��}��;��;��5>�:�5��I�:��4��9��50�!H�#��5Z�6��9��5[�;��;���;��:�:<�s�;����}��;����0�;��;��;��;����!�:�!�9��J�4��:�� �4��%L� �5�%P�K�4��5�%T�5�5	�%[�4��;���;�	�5�;�� �;���;��:�;��5��:�:�:�;��:2�<
���5��#��9�	�9��!K�!M�:�:�4��;��;��:N�;��y�;����5��:�;��\�5��5��5�����1��!H�5��s�4��9��;��;��<9�:	�;��: �;��}��<;�<@�5>�9��;��L�9���4��9��5S�!��!�;��60�50�#��!�%��;��<G�<P��<;�<>�:B�<>�;��:E�<>�s�<@���}��<@���0�<@�<9�;��%��;��;����!�9��!�9��J�4��9�� �:�� �5�%K�K�4��5�%O�5�5	�%S�4��<v��<y	�5�<v� �<v��<y�<>�<i�9��<>�<=�$�!M�5W�%�<i�:K�;��;��<"�: �<��:S�C�!M����5��!�:V�0�!M�<��$�!M�N���O���P���Q	�s�4��6��4�	�3����<�	���<��5D	�<��3�	�6��<��<��}��<��<��5>�6��<��I�6���8��5J	�3����<��8��<���<��<��5&�6��<��<��-���
���x�<��<�����7������<��s�<����}��<����0�<��<��<��<����!�6��!�8��J�4��7�� �7�� �5��K�4��5��5�1���4��<���<�	�5�<�� �<���<��<��<��5��6��<��<��<��<��=����5����3��8��<�	�9�	�6��<��<��<��5��6��<��y�<����5��6��<��\�!��!�:q�<=�3��!M� ��9��4��%��<i���7��#��!���#��M�%E��;��;��;��:��;��y�<j�<i���5��9��<i�\�s�<9�;��;��<9�<=�=L�%
�;��}��=q�=v�<E�;��I�9���<G�<P�5W�%��5[�<S�=~��=q�=t�:B�=t�;��:q�=t�;����=R���#��H�%E�=S�=X�s�=v���}��=v���0�=v�<9�;��;����<��=t�;��9��=t�=s�4��;��=��=����5��!�3��#��!�9��5W�%��5[�9��!M� ��9��4��%
�4��;��;��:��;��y�=����=f�;��\�:��y�4����5��4��\α_1���S���T�,��U�4�5o�-!�����������1����1��6�	�5�� R�48	α_1���W���X�,��Y�4�5o�- 	�����������=����=��=�	�=�� c�4K	�Z���[���\���]�-��s�4��=��41	�3����45	�>�4
�>�4�>�}��>�>"�5>�=��>�%�=���4��,������������1������4�	�8
��	
�����3���Annot���3���!K	�4	�>*�>E��>�> �5&�=��> �>�=��> �s�>"���}��>"���0�>"�>�>�>���!�=��!�>)�J�6� �6,� �6R�K�4��6V�5�6W�4��6W��>i	�5�6W� �6W��>i�> �>�-*�
�x�>�4�4��5���$�!K�4�		�>�>�5��=��>�y�>_���5��=��>�\�N���O���P���Q	�s�>�>�>�>	���>�4	�>��<��=��>��>��}��>��>��>'�>��I�=���>*�>D�>>�>>�>H�>���>��>��>P�>��>��>��>��>���<��>��s�>����}��>����0�>��>�>��>����>~�>��>��5��=��>��>��>��>��>���>��=�>)�>�	�=&�=��>��>��>��>��>��y�>����>��>��\�^���_���`�4	�a	�s�>�>�>��44��	�'r�>�4
�$���4�>�Annot���?�}��?�?�>'�?�L�=���>*�>=	�>��4�!K�'�	�>H�?%��?�?�>P�?�?�=��?�s�?���}��?���0�?�>�?�'��?���>~�?�?=�>��?�4�$���>����?=�:�7��- �<���=��� �=�� �>,�>�4��4�� � �5� � ��5	��?�7�� ��5���7�� ��5���?S�7��5������?_	�7��5��� �?Y�?X��?_�4W�- �4��	�5��- ���?�?F�7����C������1��0���?�0���?E�$���N���O���P���Q	�s�4��4��4&	�7�7	���?��8
	�?��<��4��?��?��}��?��?��5>�4��?��I�4���4��5�>2	�8j�8j�?��?���?��?��5&�4��?��?��9��
��x�?��?����<��?��s�?����}��?����0�?��?��?��?����!�4��!�?��J�4��?O� �?Q� �?S�K�4��?X�5�1���4��?���?�	�5�?�� �?���?��?��?��5��4��?��?��?��?��?����9��=�?��?�	�=&�4��?��?��?��5��4��?��y�?����5��4��?��\�>��4�3���	�=��>��'��?=��7��!K���!K�M�!H�%�?�?�>��?�y�?>�?=���>��?=�\�b���c���d���e�-��f�?��g�,����s�4��5��5�	�4��5��5�	���}��@\���0�@\�4��6��$�!K�7	�0�!��7�7�@c�0�!K�@d�1�!��@e�70���5#�@U�@j�5��@U�@c
�$�!K�6��7<	�$�!��7>�7DAnnot���@j�@v�@R�6�$�!H�7O�7V�@�7��7��@T�@��7��@T�@�
�$�!H�6Annot���@��6�@��@T�6B�@��7��7��@��@��7��0�!H�@��0�!H�@��$�!H�7��@��@��7��@��@����7����5'�@�@��5p�@�7��@��@~�@i�8�0�!K�@|�0�!K�@h�$�!K�8�@|�@d�1�!��8	�$�!z�8��8�8�@h�@��8!�@{�8(�@��8,�@��@|�80�@��@|���86�88�@��80�8H�8J	�@z�8(�8P	�1�!��8X�@��8���8a����!z�$�%J�8e��8m�8y�8�		�8�	�1�!��8	�@y�8�@g�8��@��@g�1�!��8��@��@e�8��@f�8��8X�8��7D�8�8��8����8����8��8��90�94�8��7�9��@[�@p�5��@[�@c�1�!K�9��1�!H�9��9��$�!�@e�9��@p�A&�5.�9��1�!K�9�	�9��$� ��9��9��A0�A&�A8
��� ��53Annot���A<�A&�4��A7	�AB�9��@Y�A7�9��@Y�A3�1�!K�9��$�#��A'�:�A7�AK�:	�:
�:�$�!M�A4�:�AP�AK�AU
���!M�:	Annot���AX�AK�5��AT�A^�:)�@W�AT�:,�AT�@W�:1�AT�@W���:7���@��:B�A^�Ab�:E�A^�:K�AT�AT�:N�AT�A]�AW�:U�0�!M�A[�0�!M�AV�$�!M�:Z�AV�A[�:_�AV�A[���:e���:q�:x�:z�:�AW�:��1�!K�:��AM���:����:���#��$�%E�:��:��:��@��AO�A6�:��AO�0�!K�AM�9��1�!K�:��AN�:��AM�A��:��AM�AM�:��AM�:_�A��A����:��A��7.		�:�	�5'�AB�AF�5p�AB�:��A7�A7�:��A7�AA�A;�:��0� ��A?�0� ��A:�$� ��8,�A:�A?�80�A:�A?���;���5��;
�A��A6�A;�;�1�!K�;�A*�A-���;����!H�1�!��A��;"��!�$�#��;)��;.�@��1�!K�9��A5�A-�@o�8�B�@o�1�!K�8�B�@d�1�!��;E�A��@n�80�;�;K	�9��A-�@��1�!��;S�A����;Y���;_��#��$�%D�;a��;f�@��B
�@m�8��B
�0�!��A��7/�1�!��8��B�;x�A��B)�;��A��A��;��A��8��B-�B)���;��B�;��y�@k�@j���5��@j�\β��γ��f��x�-��>��>��>��>��<���α_1���i���j�4	�k�-��=��4β��γ��xf� 	�=��>��>��>�����>���β��γ��δ��f�-�g� �>)k� �4��5��:v�:v�	�B{	�1��8H���8^�����������3��PInfo���	prt�VMR�VMC���decl�equations_eqn_1��������){�4j������B�����)��4j�B��PInfo�2��	ATTR����2EqnL�2SEqnL�ATTR����class����decl��pure_defined�����������p�+�x�0:�+��3�	��������4�B��5�0��PInfo�3��decl��bind_definedu_1u_2α�β��γ��p�+�f�-�g�BwH1�06�/>�08�	�,�H2x��06�,�08��.2��B��B��8F��	�9��:���;���<�+��=�-��>�Bw�?�B��@�B�a�ha�$�,�+��������x���B������:������H�C���	���x�B��PInfo�6��decl��fix_proof_1�����������f�����sum��a	hfroptiondom�?�B�	��a'eeq���B���Jget�?�C��suminr�����B��B����3a��C�}�?�B����C�C��C
��	��������F�B��H	�I�C�L�M�C���C�C!	�PInfo�E��decl�D_proof_2������������F�B��H	�I�C�C�B��C�C6�C:��������F�B��H	�I�Crfl�B�C6�C:�PInfo�R��decl�D������������F�B��,���������F�B�a	��acc�xy�-���?�C�J�?�C�"�?�C�C��h�C]well_foundedfix_F���V�W��CO�C�CQ�C�CT�C�C
�����H���HIHy�a�V��W��CO�B����CQ�Cq�CT�Cq�C
���(������C�k�I�C�_x�C�M�C�Cq�C�Cq��sumcases_on������^�B����M�C�B�����C�C����	b��M�C��_inl������w���L��M�C��C
����x�E�����������C�n�R�������	�PInfo�D��VMR�D_lambda_1VMR�D_lambda_2VMR�D_lambda_3VMR�DVMC�c��&�I��_fresh4����_fresh4����_fresh4��	�bVMC�d���[�H�n�c��VMC�e	��2�X��_fresh4���n�dwell_foundedfix_FVMC�D���T�F�����e��decl�Dequations_eqn_1������������F�B��/v�D����	�C���������F�B��/��C��PInfo�u��ATTR����uEqnL�uSEqnL�Ddecl��dom_of_mem_fix�����������f�B�a	b	h�|�C�	�B��C����������w�B��x	�y	�z�C�_a��CM��V��W��CO�C�CQ�C�CT�C�C��	�.�C��\�C_��C}�0��H��[�\��]�V��W��CO�C��CQ�C��CT�C��C��W������B��Cq���I�D�^�C��M�C��C���C������^�B������M�C�B������C�D�c�C�a���M�D�C������w���L���M�D�C
�����x�C���������C�C����C����	���CM��C}�.�DR���C_��V��W��CO�C��CQ�C��CT�C��C
���H�H��$�H��[�\��]�V��W���CO�D�CQ�D�CT�D�C
�������u����B��C����I�Dv�^�C��M�C�D�C�D��C������^�D�M�C�B������C�D�����e�a���M�D��C������w���L���M�D��C
�����x�C��)������C��	�C�����	�{��DR�D��B��C�C�:�DRh_1�D����D
���Z�D����D����I�Du���^�C��M�Dx�Dy���D��^�D�M�D��D������e�a���M�D��D��D��L���M�D��D�y�)p�CO�B��)�D�CQ�D��CT�D��C
�)�D�����C_��V��W���CO�B�����CQ�D��CT�D��C
�����\���H��[�\���]�V��W�%�CO�B��%�@�CQ�D��CT�D��C
�%�@��������B��D���I�E�^�B���%�M�C�D��C�D���C��@�^�B��@�E�M�C�B��E�C�E%�@����E$�a�@�M�E+�C��E�E$�w�E$�L�E�M�E+�C
�E�E$�x�C��E$�E��C�E��	�C��%���	accinv�D��D�����D����C����D���Z���D	�D��I�D��^�C��M�C��Ev�D�^�D�M�D�D����C�a���M�E��D#�D&�L���M�E��D,�}���~�CO�B����)�CQ�E��CT�E��C
���)�����C_�D�V�D�W��CO�B�����CQ�E��CT�E��C
����D�\�D�y�H�D�[�\��]�V���W��CO�E�CQ�E�CT�E�C
��%��������B��E��D�I�E��^�D��M�C�E�EN���C��%�@�^�D��M�C�E"�C�E"�%����E�a�%�M�E��C��@�E�w�E�L�@�M�E��C
�@�E�x�C��E$�E�@��C�D��	�C�����	�E_�D�E�����D0���D<�D��DB���F&�����Dt�D��E|��	��C_��D�H����H��[�\��]�V���W���CO�D�CQ�D�CT�D�D+�`�	����B��C���I�FE�^�D�M�D�D���C������^�D��M�C�E��C�E�������a���M�FS�C����)�w�)�L���M�FS�E��x�C��D�)����Dy�+�C������	���F%���$�F1�\����F}�_a�$����C_��Do�H��u�H��[�\���]�V���W���CO�D��CQ�D��CT�D��D��O�������B��D���I�F��^�D�M�D��D����C����)�^�E��M�C�D��C�D�����y�a���M�F��C��)�D�w�D�L�)�M�F��D��x�C���D�)��D���C�������	�	����F��F%well_foundedfix_F_eq�D�G��D�F��F}��`�����C��X�C��DL�DOroptionmem_assert_iff��C��F��PInfo�v��decl��mem_fix_iff�����������f�B�a	b	�N�C�or�CO�C6�CQ�C6�CT�C6�C���a'�
�CV�C
�����C������������B���	��	�|�C��G"h�C�_a�DO�D����D��G�C��C����C������
�Cv�Cx�D���C�����:�DRh_1�D���h₂��D��.�D����_rec�G�����^�C��M�E��	val��M�E��C��C�val��M�E��C��C_���F��\�����H���[�\���]�V���W�)�D��D����e�����B��D���I�G\�GB���)�^�E��M�F��F����y�����M�Gc�F��F����)�M�Gc�D����F�	�FO��	�C��)����	�E_���F���C��	�F�F"�G�DY�C�����D��}����
�C��C��Eu�#�C������	�F��GA�.�D����I�D��GB����^�C��M�D�������M�D��C������w�������M�D��Dj�C_���V���W���E��E����\���C�H���[�\���]�V�)�W�D�CO�B��D��CQ�G��CT�G��C
�D����������B��E����I�G��GB�)�D�^�D��M�C�G��C�G��)����)�M�G��C��D��w����D�M�G��G����C�����D	�F���	�C��D�)��	�E_���G����C��������	�Ew�Ez�y��E��I�D��G��H$�F���D��H&�F����D��G��G��H1h₂�D�h₃�G�_x�C�e�Dx�D�	�`���������D���D��D��G�E��FZ���E��o���)�
�D������C��D�)��b'�����H?�D��������������F��F��D���F��G�G��G����)��������
�E��E��D�)����C�����D���FN�FO�E���HAorinl�D��F����D�����D�
�G��G��H]�|���C���D�)���B��D��D���H��C�G��G��H]�H[��	�h���G_�^�E��M�HY�y�����M�HZ�F����)�M�HY�D��D��H��[�E�E�I�E�GB��%�^�E�M�E���@����M�E�C��%�@�w�@���%�M�E�E���C��E�@�%	�EQ�EW�Ed�F�����Hs�G{��������0�H��H��D��H�������e���)���De_2����������e_3�����%���H����@�H����H�	���@���H���H��g�����N���H��D�e_1�����^�D��M�G��H����F������)�^�G��M�C�E��C�E��Hb����G�e_1�����D�^�E��M�C�D��E���D����C����e_2�����^�D��M�E��EN������H��D�������^�E�M�E�E������H��E�e_2�,����%�^�D��M�E��E��%����E��H�n�D����E"e_3�E&�M�C�B��E$�E?�C�II�E�@�)	���G���E?�^�B��M�C�B��IT�C�IX�IR�E?�����IW�C��IR�IT����Ig�������IR�^�IX�M�C�B��IW�C�Il�IT�IR����Ik�C��IT�IW�������IT�GB�IT�IW�Iv����	�I����G�D�IX����IX�Is	�1����IR�Ib�C
�IR�IT����I����,����IT�Iv�C
�IT�IW��I��I��I����O�B��E?�IR���I����C�IU�I��I��I������E?�GB�E?�IR�^�I��M�I��C�IU�E?�E$��I���I��I����I��I���O�I�	����H��H��������M�HZ�y�H��H��H��-����)�M�H��D��H��Hs�FZ�H��y�H��H������a'�����H?�D�orinr�HC�HN���HM�/�G��E��H��C��)�������G��E���J �C�D��HW�D�	�roptionmem_assert����CM�)�G��X�J0�E��H�D�y�F	���E_�)�G�����Ej��I��E��Hs���E��H��H��G��H��H��C_�)�G��\�)���H�)�[�\�D�]�D�����D�B��G���I�JU�GB����^�E��M�I�E��������M�J\�C�����w������M�J\�I-���C��%���	�I
�D	�C�����D	�JI�I�J��I��G��H��E��CB�C��E��Gh�G"�s���G	�C��.�C��\�C��H��[�D�D�I�D�GD�^�C��M�D�	����M�D�C��C�����M�D�C����C�	�D>�DD�}��J��J��0�J����F��C_��C��1q�H��[�\��]�D`�$����D��x�I�J��GB���^�Cq�M�C�C��D<�B��u����M�J��G��w�����M�J��D[���C�����	�C���C����		�J��1h�1k�J��K�1|�G�T��C��DQ�X�K�D��u���	�y�K�J��F��Kordcases_on�CV�C����������
�Ce�Cg�3a�\�C������G�K,�K9�D��.�DR���Dc�H��[�Ds�Dw�I�Dv�G��^�C��M�D~������M�D}�G��G������M�D}�G����H	�D��D����K,���C��C�C�G-���Ce�C���	�3a��CM��D`�.�Kg��F3�H��[�FA�FF�I�FE�GB�����^�D�M�FK�C�����M�FJ�D#�D&�����M�FJ�D,���D0	�Fr�Fx�h₁�Ch₂�K]���CM��D��.�K����F��H��[�F��F��I�F��GB�����^�D�M�F��e�����M�F��D��D������M�F��D����D�	�F��F��accintro�F��D�y�h'�DY�J��D��_no_confusion������CM���F=�C���Droptionmem_unique�?�C��K��Eu�D���FC�Eu��K��C�D�D��G��	�s��K��K���E��I�D��GK����M�GL�}���~�F8�D,�E��C_���GU�\���e�H���[�\�)�]�E��y���)�H����I�K��GB�D��^�G��M�I�I
�D�����D�M�K��I �w������M�K��H`���C�����	�G��)	�C���D�)	�E_���GU���K����GU���������E��K��)�D�CM�D�E��Hw�GQ�K��D��Hw�D��GQ�H����G��F�F"�}��K��L8�F��F��K���K�_a�$����K��K���Do�������G��K������CM���F��K��Dk�K��D�K��D��Dk���F��D���LP�C�D�E��D"��F���K��L7�F��K���K��s�L8���}��L8���0�L8�GA�.�D�����D����}�D������D����Lu�GA�.�D����I�D��J���Lw�Lu��E��I�D��w���L������$���������2��������C�����e���������L�	���)������L��&�g�L7�L�����D�������D��ue_1����K��	����P��LP���		�F��LP�L6�L����G�D��
�D������D��L5���D��GK����M�GL�G��G��K����F���������K��K������CM���GU�D���F��K��D��L��D��F����G[�D���L��C�E��Hr�HA���G��G��I��C��F���C��E��F"�G��I�D�������^�C��M�H:���C�������E��G�e_1�������^�D�M�H@�e�D#�������^�D��M�Ht���D��������H��E�e_2�,����)�I	�D����D����G�e_3�I�M�I	�IQ����I@�H�����M�������%�^�E"�M�E&�E'�@�%���E-�E������H��GB�@�E�M'����	�M0��I��E"����E"�M%	�1��IB����IB���,����@�M'�E���M5�M1�M?�I��E���E���E�M5�M2�M=�����H��I6���I��E���E�I4�I��E	����GJ�GJ������M�GH�	�GJ�L2�L��-�����M�GL�GO�L��F�G��F"�y�L��L��H,�L�����D�����D�e_1S��K��>��LP	��LP�.�D����L��Lv���D��
�D����D��M����D����.�D��0�M��������y�M��M������y�M����2����y�GA��D���D����L��3l�D��Ly�L�\���K9�����
�C��C�C���C���������M��K�a'�h_h�M����Cz�D���G7���
�M��M���CM��Do��.�N�#�C_���F=�H���	�H���[�\���]�G��C�����B��D���I�N�GB�����^�D��M�FN�FO���������M�N�F[�F^�����M�N�E����Fe	�D����C�������	�h�M�h₃���C����	���K��.�NA���GN�H�����G�����NA�NJ��LG��.�NN����G��H���C�H
��	�#�G��NM�0�N\�#�FB�NA�N3�NM�����u��������������e���������y����
���No	��������No�w�����N[�Nb�0����N�G��T���F��LG�X�N��NR�H���[�G��G��I�G��^�D��M�G��C�����^�E��M�I�E������a��M�N��Jc�Jf�L���M�N��I-�x�Jm��G��H�K�����y�Nc�NM�F���NA�Na�h₃�NAh₄�NI���CM���G���.�N��F��K��H���e�L���K����G��y��h'�F��D��D��Qinj_arrow�����)��K��E��E���E��G���J0e�R����D_x�D�CM��D��	���N
�E���N��C�D��D��D�����F8�D+��E��N��N��L�������E��N��)�D��L�D���D��GQ	�L���`��������CM���E��	�h₁�N�h₂�O�s�H��JL�H�)���J����K��)�G������)���D��N��D���K��G��G���H]�G����JT�H]��O<�C�E��I�E���	�N���������������CM��E��	��H��G��J �I�J �G��^�D��M�G��H�����)�M�Ob�G��G����D�M�Ob�G��}���~�D��I-�I�C_�%�V�%�W�@�CO�E"�CQ�E"�CT�E"�E��%�\�%�H��H�%�[�\�@�]�V�E�W�E$�CO�II�CQ�II�CT�II�C
�E$�E?�E�E����@�B��E"�%�I�O��GB�E�E$�^�E%�M�IJ�IK�E�I����E�M�O��C��E$�E?�w�E?���E$�M�O��O����C��IR�E?�E$	�E'�@	�C��E$�E�@	�E_�%�Oy��K��%�Oy����%���E�H��I0�N��@�E�)�K��E"�E��)�I:�Ot���O��I:��O��C�E%�M"�E<�D���CM�E�O����<�E�)���E$���E$�CM�E?�V�E?�W�IR�CO�IU�CQ�IU�CT�IU�I��E?�D	���G��)	�J#�H���}��O^�P���e�J����O\_a�e��HF�J3�H�D�[�E��E��I�E��GB����^�D��M�E��H������M�E��C���%�w�%����M�E��I7���C��@�%�	�E��F���K��D�E������D���H|�N�������K��E��OA�Hb�E����E��Hb��PN�C�D��I�D����O�������������CM�%�Oy��	��HF��O^�P�F��)�G��JM�J����O\�s�P���}��P���0�P��J �.�J ����J ���}�J �����J ���P��P��.�J �HF�I�H��H���Eb��K���D���������Hc�N�������K��D��PS�I�D����E�I��P��C�E�I'�E�����OP���^�����%���%�CM�@�V�@�W�E�CO�E%�CQ�E%�CT�E%�E<�@��	��H���I��G��H����G��I�I�L���O8	�P��P��H��O`�I�J �E��P@��F��Pn�Fe����I��D��J#���D��Oc�P�O�P��I�P�P�����J ������H��y������O<��L���PN���	�E��PN�P�P��L��J �
�J �����J �P���J �Oj���D�M�Ok�C_���E��\�����H���[�\��]�Oy�H�����B��E���I�Q"�GB�%�@�^�D��M�E��E��%�E����%�M�Q)�E��E����@�M�Q)�E����E�	�E�	�C��@�%�	�E_���E��)�K����E��)�������Om�N���%���K��E�P��I&�E����Q �I&��QZ�C�D��I1�E�����Pb���&�����@���@�O���	��P
�O�P��I�J �����)�^�G��M�I�I	���G������D�^�E��M�I�I���I ��������^�D��M�E��I'�H��Jc������^�E�M�E�I1��H��I7�����%�^�D��M�E��I;��E��H����,����@�^�E"�M�E&�M"��E-�E����E"���E%���IJ�M�C�I��C�I��E$�E�	�IQ���IR�^�IX�M�Im�Ip���It�Iy����Q��������IT�^�Il�M�C�B��Ik�C�Q��IW�IT�����Q��C��IW�Ik�����I`�GB�IW�Ik�Q�����	�Q���I��Il����Il�Q�	�1����IT�Q��I�����Q����,����IW�Q��C
�IW�Ik��Q��Q��Q��I��IU���IU���IY�Q��Q��Q������IR�GB�IR�IT�^�IU�M�IY�I\���I`���I��IU���IU�R�I��IU	����Oi�Oi�����)�M�Og��Oi�P�Q}�-����D�M�Ok�Q�Q}�J#�O�P�y�P��P��F����J �P�������J ����H���S��O<�>��PN	��PN�.�J �HF�P��P����J �
�J ���J �HF�PA����J ���.�J �y�Rw�����Rw�y�P���J ��H����P��3l�J �P��P��\�PInfo����decl��fix_induction_proof_1�����������f�B�a	hay�]�Cl�C��CM�Cl����������B���	���R��K��Cl�PInfo����decl��_proof_2��������������B�b�������]�C��DQh₂�_�J��H��[�J��J��I�J��^�Cq�M�J��C�����^�C��M�Dx�Dy�����a��M�R��G��G��L���M�R��G��x�H��J��J���������s�C��DQ	�X�R��D�����������B��������R����R��}�R���R��.�R����R��F���R��R����R��S�K���C}	�PInfo����decl��_proof_3��������������B��������R�a'�ha'�s�K5fa'�C�����K�	�.�S����F�����������B��������R�������S���S���S�S$�����S�S$�`�'��D	�S�X�S�S"�S%�H+�S�S7��PInfo����decl��_proof_4��������������B��������0�C��.�R��s�DJ	�Z�R��SQ�`�_�F��R��X�R��SO��R��SQ�F��R��SU	����������B��������SM���R��SQ�S`�PInfo����decl��_proof_5��������������B���ah�SM�R�����������B��������SM�Sa�PInfo����decl��_proof_6��������������B��������SM�SZ����������B��������SM�S`�PInfo����decl��_proof_7��������������B��������SM�Sb����������B��������SM�Sk�PInfo����decl������u_3����������B���C��������_�GHa���S�M��a'���S �N>��D����n������������B������S������S����S��Udrec�S�D��D`���_x�K�h��N�.�S��x��N�H���[�N�N�I�N�^�D��M�N�C��)�D�^�D��M�G��G��)���a�)�M�S��G��G��L�D�M�S��G��x�G���N'�N-	this�S��S��B����������]�Dq�K�IH����]�F>	�������N�����L��.�L��h���O-�H�)�[�JR�JV�I�JU�^�E��M�J]�C���%�^�E�M�E�E���H��a��M�S��H��H��L�%�M�S��H��x�H���Jx�J~	���S��T�� ����K�	�.�T���NE�H���[�GY�G]�I�G\�^�E��M�Gd�C��D��^�G��M�I�I
�D����a�D�M�T�I �K��L��M�T�H`�x�K���Gw�G}���T�T<�R������	�C��������������������F���C����������G�����n�������D�)������	�������D�)����		���������	���������	���������	�PInfo����VMR��_lambda_1VMR��_rec_1VMR��VMC������������_fresh4�L���_fresh4�L���_fresh4�L���_fresh4�L���VMC�����]��_fresh4�L��_fresh4�L��_fresh4�L��_fresh4�L
��VMC����������������������decl��equations_eqn_1����������������B������S������S����S���S�������������	�T�����������B������S������S����S���S���T��PInfo����ATTR�����EqnL��SEqnL��ATTR������declpfunimageu_1u_2α�β��f�+�s�+��0	�������+���+�relimage��	�0	�PInfo���VMR�VMC�������decl�equations_eqn_1���������+���+����T����	�T��������+���+��00�T��T��PInfo���ATTR����EqnL�SEqnL�decl�image_def���������+�s�+��T��0	y	��x��/A	H�T��\�k�������+��
�+�rfl�d��T��T��PInfo���ATTR����decl�mem_image���������+�ys�+��N�w�0���d�T�	��x��T�H�T��s�k�������+����+��+��T��PInfo���decl�image_mono���������+�s�+�t�+�h�06�,��08���d�0���d�T��	�U�������+���+���+���Urelimage_mono�c�d��0�	�PInfo���decl�image_inter���������+�s�+�t�+��U�T��U�T�has_interinter�c�,���has_inter�c�!�d�T��"�d�T��T��������+���+���+�relimage_inter�c�d�0	�PInfo���decl�image_union���������+�s�+�t�+����T��T�has_unionunion�c�,���has_union�c�)�d�T��*�d�UJ�T��������+��&�+��'�+�relimage_union�c�d�UX�PInfo�%��decl�preimage���������+�s�0�+��������+��.�0relpreimage�c�d	x�,�PInfo�-��VMR�-VMC�-���.���decl�-equations_eqn_1���������+��.�0�	"�+��-��	�U��������+��.�0�+��+��U��PInfo�3��ATTR����3EqnL�3SEqnL�-decl�preimage_def���������+�s�0�U��,wx�,y����U�T�	H�U������������+��5�0rfl�c��+��U��PInfo�4��ATTR����4decl�mem_preimage���������+�s�0x�N�,��U�	�U��������+��;�0�<�+��U��PInfo�:��decl�preimage_subset_dom���������+�s�0�0:�U��+��������+��>�0x_x�U�_a�0��U��	�"�x�����0��T��H�U�relinv�c�d���1�y���FD�A�2|�U������,�+���/E�:��;�U����#�0��T����C�V�U����1��F�����	��;��V�V�8�,�+����+����h_w�Vh_h�V
���:���}�V�2�1����
�,T�������V�PInfo�=��decl�preimage_mono���������+�s�0t�T�h�U;�B��U��U��������+��J�0�K�T��L�V9relpreimage_mono�c�d��1��F����x	�PInfo�I�decl�preimage_inter���������+�s�0t�T��U�U��UI�U@�U��U��������+��P�0�Q�T�relpreimage_inter�c�d�1�F�0q�PInfo�O�decl�preimage_union���������+�s�0t�T��	"�,��U��Uo�Uf�U��VX�������+��U�0�V�T�relpreimage_union�c�d�Vd�PInfo�T�decl�preimage_univ���������+��+��U�	setuniv�d�+��������+��,��V��+�x	�s�N�+��U��V�	�+����}��V����0�V��,���M�V��+��0�V��+�y	��T��V�H�V������+��y�V��V��mem_preimage�c�d	�V����	 ���	!e_1���	#���	(	���V��+��	�	8��	�V���V���U��V��\�3a��	��V��V��}�V����x�����0�T��V�setmem_univ�d���]	�y�V��V��3l�V��V��V��+��+��y�+��+��,�	�,n�\�PInfo�Y�decl�core���U��������+�s�0relcore�c�d	�T��PInfo�e�VMR�eVMC�e���f���decl�eequations_eqn_1���������+��f�0�U��e��	�W�������+��f�0�U��W�PInfo�j�ATTR����jEqnL�jSEqnL�edecl�core_def���������+�s�0�W�U�xy��,���0��T���������+��l�0�U��W�PInfo�k�ATTR����kdecl�mem_core���������+�x	s�T��N�,��W	y������W$	�������+��p	�q�T��+��W9�PInfo�o�decl�compl_dom_subset_core���������+�s�0�0:has_negneg�c�+���has_neg�c�+��W�������+��t�0xhx�,��WK�,��WM�,�yfxy�0��	absurd�U��U��}�U�����������,��������Wh	�PInfo�s�decl�core_mono���������+�s�0t�T�h�V9�B��W�	�W��������+��~�0��T����V9relcore_mono�c�d��U.	�PInfo�}�decl�core_inter���������+�s�0t�T��Vm�W7�VT�U@�W7�W8�������+����0���T�relcore_inter�c�d�UX�PInfo���decl�mem_core_res�������f��s�+�t�T�x�N�T��W��0���T��W#�k	������������+����T����s�W��N�r��0o����n�U�	�W��}��W��W��M�W��W��0�W��r��0a�0����Wc�b�r���U�	��������0��T��	��y�W��W��mem_core�c�d��0����r�W��r�W��r�0�W���0p���W��W�imp_congr_eq�W��W#	�W��X�y�W��W��mem_res�c�d����X�y�W��W�and_imp�0o�W��X�W��W���W��|�W��W�h�W�h'�0o�n�.d�nh�W�y�xs�W�fxeq�W��s�W��W����}��W��X0��	_a���t�0��T����X9���W��X.�_�X.	���PInfo���decl�core_res�������f��s�+�t�T��Vm�W6�0�	�Uf�WY�cpreimage�c�d	������������+����T��,�X]�Xf�\�s�W��T��Ub�/>�Ud��WK�/>�WM�	�Xa��N�W��X}�}��X~�X����W�_a��N�0n�W���W�	�0n�Ub�0j�Ud��WK�0j�WM��Xa��	�N�X���X~�W��W��W��mem_core_res�c�d�	���T��cdecidable_mem�c�	a�classicalprop_decidable���X�h�T��s�N��0o�U��n�X����}��X����0�X��N�W��W����M�X��W��0�X�����X�h'���X����W��0o�W����W��y�0o�����0o��W��y���������U����X�forall_prop_of_true���X����X��W��0�X��G���W��W��X��G�0n�X��0n�X��X��cmem_union_eq�c��X��X��g�ge_1���i�ie_2���7�G��G	�C�G�X����0�X��3�����Y�3�0o�Y�cmem_compl_eq�c����0o���X��y�Y��not_true�X��W��y�X��W��cmem_preimage�c�d��	�y�X��W�false_or�W��y�X����
��W��\���3�T��X��X��X��N�������X����X�����X����X����W��X����V�0o�X��y���������X���forall_prop_of_false�������X��}�\���f���X����X��G���W����X��Yp�X��Y���Y�\���Y�\�Y�Y���YX�k�X��W��Y4�y�Yp��true_or�W��y�YL���
����\�PInfo���*decl�core_restrict�������f��s�0�U��W�/��Xa	������������0�,�Y��Y�x�s�N�,��W6�3A�,��Xd���}��Y����0�Y��N�T��Y����M�Y��Y��0�Y��,��,w�m�U���	a�Y�����,�������e_2�����,���,e_3�1��,!�1����1����Y�	�����1���Y��,��
��Y��Y��,B�,��Y��Y��m�n��0a�/��!��1��/��!��1��/��!��1��/����Wd�Y��core_def�c�d�3Ap�	#���	(e_1�����c�q���,	�,w��Z�Y������a�n�����/��!z�1��/��!z�1��/��!z�1��/����	�V��a�W����m�0�Z)�b�n�����n�V�Z.�W��n�Y��n����k�Wd�n�W��Y��Z,�Z=�Z,�0�Y��0a���Z=�0��Y����2c���y�ZF�Z=�!��Z,�y����Z=����U���Z.forall_eq�d�Z-���cmem_set_of_eq�c�Y��Y��Y��y�Y��Y��Y.	�y�Y����
��Y��\�PInfo���/decl�preimage_subset_core�������f�+�s�0�U��W��������+����0x_x�U�_a�U��U����U��U��W����:��;�U��V�;�V�V�W����h_w�Vh_h�V
��y'�fxy'�0������_x���B�0���T�����������Z�
��2�
���������d�0���T������	Annot�Annot��/U������	�PInfo���2decl�preimage_eq�������f�+�s�0�U��U<�+��U>�W�+���������+����0seteq_of_subset_of_subset�c�U��Z�setsubset_inter�c�W�+��U��preimage_subset_core�c�d	�preimage_subset_dom�c�d	x_x�,��W��,�_a�0��U<�/>�U>��W��,����2|�X��2|�,����2|�U<�0j�U>��[�[�U��U����left�[	right�U����B��U�����	y�����
ys�W��

��,%�+�����U�������V$�B����0���T�����C�[5�U������1���F���h����T��	���X9�[E��C�[H�U������1���F���S��C�
��/^���	Annot�Annot�Annot�	�����/^����PInfo���7decl�core_eq�������f�+�s�0�W�Ub�+��Ud�U��WP��������+����0�s�[|�W�[y�Z��WP�}��[|�[��1*�+��U�_a�+���Vm�W��Vr�WZ�[��Uf�WZ��[|�Z��preimage_eq�c�d	�s�[��W�Z��[y�W�WP�[y�+��WP�}��[��[��[��[�_a�+���[��Uf�Z��WZ�[���[��[�setunion_distrib_right�c�W�+��WP�s�[��W�[��[y�WP�+��}��[��[��[��[�_a�+���[��U@�Uf�W��WZ�Uf�,��WZ�[��[���[��[�setunion_comm�c�+��WP�s�[��W�[��3
�}��[��[��[��[�_a�+���[��[��Uf�WZ�,��[���[��[�setcompl_union_self�c�+��s�[��W�[��}��[��[��[��[�_a�+���[��[��3
�[���[��[�setinter_univ�c�[��s�[��W�W�}��[��\�[��[�_a�+���[��[��[���[��Wsetunion_eq_self_of_subset_right�c�W�WP�compl_dom_subset_core�c�d	�W�PInfo���?decl�preimage_as_subtype�������f�+�s�0�	"�+��-��-?�Xa�\8	�-g���c�c�\8�-B�U���������+����0�,�\8�\>�\Dx�\8�s�N�?�-��&�,��+��\N�+��\N�Xa�\N�-�	�\T�\@�\N�-@�\M�U��N�T��,��\_�-Y	�,�]�U��^�U����/Y	�}��\c�\v�M�\Z�\m�0�\Z�T��\W�\m�y�\Z�\��Y.�\N�\W����T������e_2�����U����W�e_3���X6���d��[0�[1���\�	�������[0��\��T��\~�\k�+�c�d	�00�T��\b�\u�0�\b�,��\e�U��\u�y�\b�\�setmem_preimage�c�c�\N�\_�U��y�\��\u�V�	�\e�}�\v�|�\m�\uh�\m���]��Z,�^�Z,����-@��&��.j��,���-@��&��[�-Y����U��\�	�^�\����,����\o�/c	�\p�/^�\��\�_x�\u_a���\��U��]��U��^�U�����-@��&��V�����]�U��,��\��-Y����:��;�]�V�^�V���-@��&��+�������;�V
�]4�W��,�����]1�-Y�����h_w�Vh_h�]3��_x��[5�,������-@���&���1����-I���]L�
��x�]S��]N
�����������0���T�����,�������-@���&���+���������-I���]k��/U����]m�]r	Annot�Annot��[W�]W�]R�PInfo���CEndFile