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��m��initdataequivnatorderorder_iso��"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}traversePInfoencodableindlu_1α�Cn���e_1encodeanatdecode�optionencodeka
eq	optionsome
�mk����������	��


���"������
	9
�nspace�prt�recdecl�sizeof��x��rec�x�)�+�1has_addaddnathas_addSShas_oneonenathas_onesizeof�
default_has_sizeofZ�8�8��

�o�PInfo�ATTRreducibility���prt�decl�has_sizeof_inst��has_sizeof�has_sizeofmk��PInfo�ATTRinstance���class����prt�decl�sizeof_spec���)�+�1eq�

W��)�+�1eqrefl��PInfo�ATTR_refl_lemma���EqnL�prt�gind��decl�encode��c��
Proj�����rec��7����PInfo�ATTR����proj��decl�decode���+��
Proj����+�������PInfo�ATTR����proj��decl�encodek����
*����
Proj���������,�
�
/����PInfo�ATTR����proj��decl�rec_on��������7�8�@9�������rec��
�PInfo�ATTR����auxrec�prt�auxrec�rec_ondecl�cases_on�����PInfo�ATTR����auxrec�doc�An encodable type is a "constructively countable" type. This is where
 we have an explicit injection `encode : α → nat` and a partial inverse
 `decode : nat → option α`. This makes the range of `encode` decidable,
 although it is not decidable if `α` is finite or not.decl�no_confusion_type���Pv1�v2#�����#���
�2�Z��:��9
	�����
�����	���	
		��encode_eq���9decode_eq��	9
��PInfo�ATTR����prt�decl�no_confusion�������#h12
2���
�����#��2eqreca�>h1a
9
�3�9h11
�>�9��A�F
��9��	���W
�
�	�����	���	� ���
��e�PInfo�ATTR����no_conf�prt�decl�inj���)�+�1�Z�����
��9
��and���W�
��9��)�+�1�Z��������no_confusion�W���W�9��
�������
�
andintro��	9�f�W�PInfo�decl�inj_arrowl���)�+�1�Z�������P���a�W�����)�+�1�Z�����������andelim_left�����inj���	�W�9
andelim_right�������PInfo�ATTRclass���class�declencodableencode_injectiveu_1α_inst_1functioninjective����a₁a₂a����id_rhs
optionsomeinj"eqmpr�
�
�id����"�_a�;=
=;�����eqsymm$���encodek"
����
�����:��_a�;�9�9
�;�C��&��7��:�����:�Y��8_a�;�C�E��"�&�:��0eqrefl$��PInfo�decl�decidable_eq_of_encodable_main_aux_param_0α�_inst_1encodable%decidable_eq%��{��}ab�decidableeq%
decidable_of_iff����encode%
���eq_iff%
���encode_injective%
natdecidable_eq�����PInfo�VMR�VMC�����

natdecidable_eqdecidable_of_decidable_of_iffdecl�_proof_1_aux_param_0��{��}abiff������{��}������PInfo�decl�equations_eqn_1_aux_param_0��{��}��������
���*
����{��}������id_delta�����PInfo�ATTR����EqnL�decl�decidable_eq_of_encodableu_1�������+�PInfo�VMR�VMC����decl�equations_eqn_1���������

��
�������-
���������equations_eqn_1-�PInfo�	ATTR����	EqnL�	decl�_sunfold��������������+
���+
���PInfo�decl�of_left_injection_proof_1�u_2�β�_inst_1�f�
finv�
option/
linvb
�/��/b��9�bind"/�9����k�9���
�����������(true���(�1eqtrans��(�9�1�8��'�'�;a����e_1���Wa��	���e_2��� congr/�����N9�Qcongr_arg22�N��N�9�Q
�$�'�2��$l�'�l���kla��"�Xe_1�Z�"�"��H�"�"� �Ie_2�"2�"��N� 52�"��~�N��~�9���!45	�~�"���9��
�"�o�.�k�5�"��Boptionsome_bind'"/�9k�'�'�2��'�inj_eq/9propext�;�1eq_self_iff_true19trivial�PInfo� decl�
�����
��������encodable/���
���������/b�!n�����9
�PInfo�
 VMR�
_lambda_1VMR�
_lambda_2VMR�
VMC�."�,_fresh=�+G�0_fresh=�+F
VMC�/#�-�0_fresh=�+H�6
	VMC�
 �������.�/decl�
equations_eqn_1�����
������������
��9
�����
���������������PInfo�; ATTR����;EqnL�;SEqnL�
decl�of_left_inverse_proof_1�����
f�finv�linvb�
b
��l����
�>��?��@��B
congr_arg//�l����PInfo�=&decl�<�����
_inst_1��>��?�

�@�A
������
�D��>��?�'�@�+��functioncomp#//9���=��9�PInfo�<&VMR�<_lambda_1VMR�<VMC�G(x�0_fresh=�,wVMC�<	&�@�?�>�D���G�
decl�<equations_eqn_1�����
�D��>��?�'�@�+���<��9
�?���
�D��>��?�'�@�+��L�PInfo�M&ATTR����MEqnL�MSEqnL�<decl�of_equiv�u_1��
α_inst_1eequiv0�O��
��
�P�Q�R�^�F
coe_fn0CC0E�\
equivhas_coe_to_fun0C
�TDFEF�SC0
�VC0
�Ssymm0C
�Sleft_inv0C
�PInfo�N+VMR�N_lambda_1VMR�N_lambda_2VMR�NVMC�Y+a�0_fresh=�-k
VMC�Z+�[�^�Usymm
VMC�N
+�R�Q�P��Z�Y�<doc�NIf `α` is encodable and `β ≃ α`, then so is `β`decl�Nequations_eqn_1�O���
�P�Q�R�^��_�N��O
����
�P�Q�R�^���_���PInfo�a+ATTR����aEqnL�aSEqnL�Ndecl�encode_of_equivu_1u_2αβ�
_inst_1�e�\b��encode�d
����g�h�l�e�f�
�g��h���irfl���PInfo�b.ATTR����bATTRsimp���bdecl�decode_of_equivu_1u_2αβ�
_inst_1�e��n��
�decode�o
���map�nN
�q�r
�v
�{�
�p�q�
�r��s���trflN�
���PInfo�m1ATTR����mATTR�l���mdecl�nat_proof_1a���id���z�������PInfo�y4	decl�xencodable������y�PInfo�x4	prt�xVMR�x_lambda_1VMR�x_lambda_2VMR�xVMC�}5aVMC�~4	valVMC�x4	�}�~decl�xequations_eqn_1����x��������PInfo��4	ATTR�����EqnL��SEqnL�xATTR����xclass�|�x��decl�encode_natn��encode���������PInfo��7ATTR�����ATTR�l����decl�decode_natn���decode����������PInfo��8ATTR�����ATTR�l����decl�empty_proof_1aempty��������none���������rec��PInfo��:	decl��������a���rec���n����PInfo��:	prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC��;���VMC��;��VMC��:	����decl��equations_eqn_1�����*���,�PInfo��:	ATTR�����EqnL��SEqnL��ATTR�����classencodable����decl�unit_match_1_aux_param_0_apunit�����Q�1natcases_onQ_x�3natzero�Q�1punitstarQ_x��Q�1�;���1punitcases_onQ���1�E���C�=��K�1���K�1�7�4�=�=���1�<�<�1�inj_eqQ�1�<�<���W�1�)Q�1�<���PInfo��=	decl��equations_eqn_1_aux_param_0��K�����<�h��K��K�o�PInfo��=	ATTR�����EqnL��decl�unit_proof_1u_1_x����
	�x��X���y�8�x��X����X�x����x��X�PInfo��=	decl�����x�x_x�x�8n�}���������PInfo��=	prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC��>��VMC��>��VMC��=	����decl��equations_eqn_1��
���������n�����PInfo��=	ATTR�����EqnL��SEqnL��ATTR�����classencodable����decl�encode_staru_1���x����has_zerozeronathas_zero�����PInfo��@ATTR�����ATTR�l����decl�decode_unit_zerou_1�z��x������rfl���y���PInfo��BATTR�����ATTR�l����decl�decode_unit_succu_1n�z����succ���������PInfo��CATTR�����ATTR�l����decl�option_proof_1u_1αho	��*
	�{_x	optioncases_on��
_x�8a
���
��
m�map``������������cases_on`���
	*�{��������*���8������*������
.�����������1�����1�7��������1�inj_eq`*��������1�)`*�������������/�8��������/����������"�1���(�1�7�(���1�.,//�0�.���"�"�4������e_1
	:�	��	�Xe_2
	�
� a	�
�
�F9�I�!aa�F��F�9�I
�&�"�a���&��/�"fa
����:e_1
��9�o����Xe_2�u� aa�
�F����
9�r�!aa����d���
	�d9�r
..�n��
.�%/�.
�%map_some'``
.�"�"�n���"�
//�

���0�1�
���PInfo��E	decl����������������o�����8��n�����������PInfo��E	prt��VMR��_lambda_1VMR��_lambda_2VMR��_lambda_3VMR��VMC��F���0_fresh;��	
natsuccVMC��E	��VMC��G����
��optionmapVMC��E	��������decl��equations_eqn_1������
�������������n�����PInfo��E	ATTR�����EqnL��SEqnL��ATTR�����classencodable����decl�encode_none��_inst_1������������������PInfo��JATTR�����ATTR�l����decl�encode_some��_inst_1a��*����������������PInfo��KATTR�����ATTR�l����decl�decode_option_zero��_inst_1
	�����������������������PInfo��NATTR�����ATTR�l����decl�decode_option_succ��_inst_1n���*������*������������	�PInfo��OATTR�����ATTR�l����decl�decode2u_1α_inst_1n*�������bind��e�optionguardea���a�����PInfo��RVMR��_lambda_1VMR��VMC��R���0_fresh?���0_fresh?��
�VMC��R������
	��optionguarddecl��equations_eqn_1��������������*�������n*�1�PInfo�RATTR����EqnL�SEqnL��decl�mem_decode2'��_inst_1na��has_memmem""
�has_mem"
�.
���B���#���	�
��L��Exists"
a
������������,�H/�#���L�fa���e_1�b���e_2�l� ����9���!����9��
�F�`�7�F�S�
�W� ����E
������
��`��,�

�H� 
��
�\��
����/�����B����chas_mem""
��9e_2
���X��
e_3��E�d��<� �d�9���P� ��d�9��
�@�n
�E���"
�������mem_def"
���������%bind_eq_some'""

�H��pa
����e_1��9��!#�����R����_funext#
x
�x
���
�^�
a�� �e_1�lb��"�e_2�l�o��9���{��
�V�V�&�V���]����a��9���9��Z���%guard_eq_some"�����K�e��I�c���I�c���H�#�#�&�#iffintro�`�e_x�`_a�R���;�C
>��
9��Existsdcases_ong9�9����9�����
��%�)�R9�n���d��
��$
w9h�manddcases_on
�X��W�9�W��
�W���W�9�-���������Z��	�W��\9���	�W9�h_left��h_right��
�	9�����|
�
�����	
�W�1��������
�d�� ��	� �W��� ��W�	h_right_left��h_right_right����	�dcases_ong�9t_1��2
�~�H_1

� H_2heq
�	�����
	����������~�������~���	�6
��	9��~��,�~�0
	������~����2����3������7��

���	

�n�	
��
	��	�	���	�����	�	�����0
����~�� �~��2��� �3��������~�7��
���~�~�	=�n���~����
	�	��	�����	�����	���������	L�	R
��n��	heqrefl��9�	_x�e_a���U���7�|�U���_
�<���	��	������������������9left�	�right�w���R�W��W�����]����9�����*intro#�W�	��������������9���	��	����W�PInfo�Udecl�mem_decode2��_inst_1na�G�#��A�B�C�&trans�F�K�#�mem_decode2'"
and_iff_right_of_imp�I�#e�#eqsubst_x�<9:�?9�K�7�j�PInfo�@Zdecl�decode2_is_partial_inv��_inst_1functionis_partial_inv"���.��Lan�mem_decode2"
�PInfo�K^decl�decode2_inj��_inst_1na₁a₂
h₁�<�?�.
h₂�	��.9
��
��S�T�U�V
�W�
�X�
���9
�6�u�$�&mp�<���?�
�.�9�w�	��9
�symm�
"�
$�
(�
,��
"�
2�PInfo�Radecl�encodek2��_inst_1a��0����\�]�&mpr�<*�?�
N����	������PInfo�[edecl�decidable_range_encode_match_1_aux_param_0α�{_inst_1�}x_asetrange�a��coe_sortboolcoe_sort_booloptionis_somej
�decode2j
�b�{�c�}�d�e�
o�+j
y
���
�e�
j
���
t�
u�
w
�,
�-�
����
t�
u9�
w9
��
��
t�
��
���9��has_coe_to_sortSn�
q�
s�
��
��@
_a�
��
t�
u��
w�9�
t�
��
���
��
��
��
8�
�
��
��
t�
��:9��
��
��
��j�29�
�_a�
��
��
t�
��
����9�
t�
��
��
��
��encodek2j9���
q�
��PInfo�`hdecl�`equations_eqn_1_aux_param_0�b�{�c�}�dnhn����l�
��`�v
�?p�n��
�
��
��
t�
��
��
���
��
��	�@�q�
��
t�
��
��
��
���
8���	�
t�
��:��
��	�"�
��2��r�'�
��
t�
��
��
��
t�
��
��	� �
�
�
��!�b�{�c�}�d�w�x�
��r�
��t�
���PInfo�uhATTR����uEqnL�udecl�decidable_range_encode_proof_1u_1�b�c�d���
t�l�{�1�gr��b�c�d�P�R�Xh�R�	�
�n
�\optiongetr
�E�����e,�E.�e���i�m�?��i_a����
�b�
�&�i�m�
7��m�i���m�i�decode2_is_partial_invr
�e��m�k�E���m����l_a��
�v���&�m�Eoptionsome_getr
�E�n�E_x�X�`r
�PInfo�zhdecl�y�{�b�cdecidable_pred�U���b�c�d���X�R�z�{booldecidable_eq�Qbooltt�PInfo�yhVMR�yVMC�y
h�d�c�b����is_some_main��_main�decl�yequations_eqn_1�{�b�c����y�{���b�c������PInfo��hATTR�����EqnL��SEqnL�ydecl�equiv_range_encode_match_1_aux_param_0α�{_inst_1�}_a�hsetsethas_coe_to_sort�
j������
nasubtypemkxsetmem�
j�
���setmem_range_self��
��n��optionget{
�
ysubtypevalz��
this�
t�
v��
��n
�
�������
j9�
�_x����
��
t�
��
��
��property��x
hx���
t�
��
�������
j��
��
���
��%�
��@�"_a�
��
t�
��
�������
j�W���W�
�
��
��%�
��
��"�
�Annotshow���{���}������cases_onw��has_memmem��sethas_mem�
���������
���
����
����
����^���
��
���
t�
��i�
��n�
��!�����h���
t�
��
��o�������p��
t�
��
��2�
t�
��
��
���
������@�}���
��
t�
u�W�
w�W�������
j�	���	�W
�
t�����
������
8���}����
t�
��:���
������
��2���_a���
��
t�����.�
t���
������
��9�
���Annot��valproperty�[�n�n�
����Y������	��9���1�
�����
���������
��2
���
t�
����
���n���.����������
t��������1���������
t�
u�	�
w�	�W������
j�����	�
t�
�
����
��

�
�@�
���
��
t�
u��
w��	������
j� ��� �
�
t�
�
�
��

�
�
8�
�
��
�
t�
�:�	��
��
�
:�
��2�	�
���
?�
��
t�
�
�
�
t�
�
��
�
8�
��	�W�
��
9Annot�������Z��
cproperty_wproperty_h�����subtypewx��������������W�.��������W����
���
t���
{�
��W�n�W����
	�����
z�/�
t�
�
�
�������W���
���
t�
�
�
!�
t�
�
�
��
��
��
��@�
����
��
t�
u� �
w� �������
j����� 
�
t�
��
��
��
��
��
8�
��
���
��
t�
�:���
��
��
��
��2��
����
��
��
t�
��
��
�
t�
��
��
��
��
���	�
��
�Annot�������Z�/
�
���n����
�subtypeeq�1�
��
����2�
��2�
����
����
�

��
t�
�����
�����
t�������&�����
���
t��������������&�������
���Annot��
�%�����&�(αw��e_2��
�e_3�9�m����9�6�v���9�6
�$�$��$
���

�����
�_a��
��������������(����#���(�k�r�(_a����.�
y�
�����@����
t�
�
9�
t�
�
�&����
8�������
��2�W��������
t�
�
��
�
t�
�&���:�W�
��W��Annot�����&�(�k���(�k����
����9�#��k�������#�����k���r�k_a�����W���&�k�������k�����koptionsome_inj{��#��������������������!_a������������������&���optionsome_get{���!����������������
�_a�������������&���������������������_a������������&�������refl{�����PInfo��mdecl��equations_eqn_1_aux_param_0���{���}nxhx�
��l���������� �
���9�
����8��9�
��!
���
t�
��C�
�9�n9����2�����B�	�
t�
��
��J�� ��9���K��
t�������
t�����.��
��[�`�@�X���
��
t�
�
�
	
�{�
��[�]�
8�]�X��`�
t������
��`�z���^�����
��
t�
�
�����
��`�x���
��yAnnot�������Z�	�������
���
�����������������
��g�
�
�
�����
���&�
������)���'��-�0�&�	� �9�Annot������������L���������
������
�����������������������r��������
��A�
�
�
��-�
�����
��
��&�
��*�
8�*
��-��
��+���
���
t�
��
��
�
�
��&�-�
��
��Annot���*�&�������������
���
��������'���� �����5�r��������9��&���5���5�����5��������5�2�
�� ���5�S�(��������'����
��
����[��&�5�
����
�����S�2�� ���S�p�����[�
���[���&�S����p�2� � ���p���)���'��[�+��a�&�p� �9�#�'� ���{���}�������
��r���t�����PInfo��mATTR�����EqnL��decl�equiv_range_encode_proof_1u_1�������Y��W������������PInfo��mdecl��_proof_2�������������
t�P�0����Z�U
����������
�����`�n�"����Z�U�
���Y���W�
t�O
�D�������������
t�O�

����Z�U9�E�
t���

�7��
������@�����
��
t�O9�
����Z�U��$
�
t���
�
����7�
8�7������
t�����
����������
��
t���
�_�
t���
�����encodek2�
�
��
Annot���PInfo��mdecl��_proof_3������a
�����W�c�D�������
���
t���8�`
�n
�[������������7���
t���

�A��5��
���B��
t���
��������
t���
�E��
��U�Z�@�R���
��
t�O��
+������U�W��
�
t�`�
+�
��U�W�
8�W�R��Z�
t��=��
��Z�}�:�X��:�
��
t�`�
+�
"�
t�`�
��Z�{� 9�
��|Annot�������5����
�������������2�b�
N
�*rec��n�"��h�R���
t���D���,�-��_�S�n���F��
t���
�F��@�F����
t�`�
+�$�m�&���_�
8�_�F��������:��
t�`�
+�u���&���������Annot��������������r��_a�����c��
��
�n
�[����S���
t���

��,
�-�����p�n9�j��������@������
t�O�W�.�W���9�
t���&���
"�
9���������������
t����
�
t��&����� �9����>Annot���&�������������������������
P�����
P�*�����_a*�,.�B.,�d�&���
N���
N����
P������
P�w�^�
N_a*�,���d�h�&�
P�� �7��PInfo��mdecl��_proof_4������_x����3����������������PInfo��mdecl���������S�x������equivmk�x����������������������������������PInfo��mVMR��_lambda_1VMR��_lambda_2VMR��VMC��n���0_fresh?�P�
VMC��o
��������get_mainVMC��m��������decl��equations_eqn_1�������D�xx��������������������PInfo��mATTR�����EqnL��SEqnL��decl�encode_sum_main�����
_inst_1�_inst_2���sum"/
���
����������sumcases_on"/
���
���bit0R�D
�
��bit1VR���PInfo��}VMR��VMC��}�������	
nathas_addbit0
��nathas_onebit1decl��equations_eqn_1�����
�������a
�����
suminl"/
�������
���������
�����PInfo��}ATTR�����EqnL��decl��equations_eqn_2�����
�������b��suminr"/
�������
�������������PInfo��}ATTR�����EqnL��decl�encode_sum�������
���������
�PInfo�}VMR�VMC�}��������decl�equations_eqn_1�����
���������
����
�����
���������equations_eqn_1��
�PInfo�}ATTR����EqnL�decl�equations_eqn_2�����
�����������<��"���
���������equations_eqn_2��
�PInfo�}ATTR����EqnL�decl�_sunfold�������PInfo�
}decl�decode_sum_match_1�����
�������_aprod�
qoption"/�����
��������
�aprodcases_on��
q�
�a�b��9fst�
qsndboolcases_on���
q�b���W����b���9�map"���{��9���}�map/�9�{��9��9
�PInfo��decl�equations_eqn_1�����
�������m���c���
prodmk�
q�~��������
�����������c���c���PInfo��ATTR����EqnL�decl�equations_eqn_2�����
�������m����������
��������
���������������PInfo��ATTR����EqnL�decl�decode_sum�����
�������n�c���
��������!��natbodd_div2�PInfo� �VMR� _lambda_1VMR� _lambda_2VMR� VMC�$�valVMC�%�valVMC� ��!������natbodd_div2	
�$��
�%��decl� equations_eqn_1�����
��������!��� ��
�����
��������!�����PInfo�+�ATTR����+EqnL�+SEqnL� decl�sum_proof_1�����
�������s���.�����n��9
�89
�"/�m���
��������.����"/
��.��������9���1����1�7��Y�1����m��� ������%��n��|e_1���u��b���	�W��b����	e_2���b��� �� ��b���� ����>9�A�!���>��>�9�A
�����n��~9�m�>��\�_�B
���`�\��9
�����e�\�k�����m�\�����q���A����9�!�!e_3��!��7��� �

����"/9
�+"/9
�����A���w�
�a�
�ae_3��a�z�a�7��� �

�p�l�6�a�p���"bodd���"div2���lnatbodd_div2_eq����
q��
qe_1��
q��e_2�y�m�a��9���v�
q��a9��
�����5bodd_bit0�������5div2_bit0�����9
������9�{������te_1�x���W�0���
���
e_2��� #���>�~��=9���!"/#�������~�����b�9��
�����&9�{��d>�.9
���"/9�m������n��inj_eq��m����inlinj_eq"/9��� �1�9���.
��������9��M�1���R�1�7�R�(�1�X�#�M�M�Z�X���Q�Q�^�W�O�Q�[�O���m�L��Q�g�j�����k�g�k�����q�g�k�����u�g�����y���N���"/9
�������x�t���x�����������t�����������5bodd_bit1�������5div2_bit1�����9
�������{����9�te_1�x����0���C���Ge_2��H� 0��I�>��� �=9���!�0���� ����I�	9��
�L�L���'�{�L�p��encodek������m�L�Q�Q�/�Q�4�M�M��inrinj_eq"/9���Z�1�����PInfo�-�	decl�,�����
�������encodable������
������������8
��
�-��
�PInfo�,�	prt�,VMR�,VMC�,�	��������� decl�,equations_eqn_1�����
����������	�,��
����
����������	�)�PInfo�I�	ATTR����IEqnL�ISEqnL�,ATTR����,class�G�,��decl�encode_inl�����
�������a
��encode"/���%
�����
��������K
���=�PInfo�J�ATTR����JATTR�l���Jdecl�encode_inr�����
�������b��<��"���
��������N���K�PInfo�M�ATTR����MATTR�l���Mdecl�decode_sum_val�����
�������n���decode"/���;�����
��������Prfl��c�\�PInfo�O�ATTR����OATTR�l���Odecl�bool���
q�of_equiv�
q��unit�p�,�p�p���wequivbool_equiv_punit_sum_punit�PInfo�S�	prt�SVMR�SVMC�S
�	�Ubool_equiv_punit_sum_punit�����,�Ndecl�Sequations_eqn_1��l�S�|��l�~�PInfo�Z�	ATTR����ZEqnL�ZSEqnL�SATTR����Sclassencodable�S��decl�encode_tt����
q�~��W�����PInfo�\�ATTR����\ATTR�l���\decl�encode_ff������������PInfo�]�ATTR����]ATTR�l���]decl�decode_zero����
q��
q�~�����
q���������PInfo�^�ATTR����^ATTR�l���^decl�decode_one����W���������PInfo�_�ATTR����_ATTR�l���_decl�decode_ge_twonhhas_lele�has_le��W������
q�a�b���������map�r�
q�TD�S�r�
q�V�r�
q�W�
q�r�{�decode_sum�p�p�w�w��������r���������?���r��_a������������������&�����+k�����_xExists����������natexists_eq_succ_of_ne_zero��ne_of_gtpartial_orderto_preorderordered_comm_monoidto_partial_orderordered_cancel_comm_monoidto_ordered_comm_monoidordered_semiringto_ordered_cancel_comm_monoid�lordered_semiring�������W���has_divdivnathas_div������
�@��_a������&���"div2_val��
��has_mulmulnathas_mulW�����
�)�r�
_a����
���&�
�)���
�)natle_div_iff_mul_leW��of_as_truegt��has_lt�����decidable_lt������me�������
������p�p�w�w����
��
�����X�e������e_1��������e_2�k�m�����9���v������9��
�V�c�6���V�^��
�c�+�p�p�w�w
�����p�����
�a�
�ae_3���v�a���\
�w�w���b��
����������_x�
q���^�������_����^���a�������p�rsuminl�p�p��p�w�a����������������p�p�w�w�a��������������������������@�a_a��������������������&������������^���a��������inr�p�p���������������p�p�w�w�a���������������������_a����������������&������������PInfo�`�decl�encode_sigma_main�u_3���_inst_1�_inst_2aencodable��sigma"�
����E������H��Ksigmacases_on"�
��I
a_fsta_snd��natmkpair� �encode�9
	�PInfo���VMR��VMC�����������

��decl��equations_eqn_1�������E������Ha
bk������9
��mk"�9�Z���]�����E������H��
��k���w�PInfo���ATTR�����EqnL��decl�encode_sigma����P����E������H�m

�PInfo���VMR��VMC������������decl��equations_eqn_1�������E������H��
��k������9
�v�����E������H��equations_eqn_1��
�PInfo���ATTR�����EqnL��decl��_sunfold����P�l	�PInfo���decl�decode_sigma_match_1�������E������H_a�_option"��U����E������H�������������I9�������I�9�bind"�����a��map����I�W��r�W��decode����Y�PInfo���decl��equations_eqn_1�������E������Hn₁n₂���������9
����9���c��9��9���r�9����k����E������H���������������PInfo���ATTR�����EqnL��decl�decode_sigma�������E������Hn������E������H����
��unpair�PInfo���VMR��_lambda_1VMR��VMC���snd�0_freshB�{8�0_freshB�{2VMC��������������
	

����decl��equations_eqn_1�������E������H�����������
� ����E������H���	���,�PInfo�ǮATTR�����EqnL��SEqnL��decl�sigma_match_1�������E������H_a�K�&�*����
�;�"��U����E������H���K��"�
���U���'9
��9k���S�D��fst���Y�������'�9����Y���9�c���D���j��p�1���p�1�7�p���1�1�1�w����heq��^�^�y�w�����j�j���w�_�o�o����������e_1�����I�	�W����I��	����I� �e_2�����I�� � �i���I�~������9���!��i������9��
�l�o�����l���^���ioptionsome��^�o����������]�������������������[����������W�����������9�c���[�b��������c�����d�c����������W�F�W����e_3�y�!i����'�� 
�c�k�c��"��9�c��"��9�c�c���������������e_3������������� 
�c������unpair_mkpair�[�b��"��9�c�[�b�"��"�Xe_1�u�"�"����"�"� ��e_2�#��"���� ���"�~���I���~�����~��9�T�!#����"�P�O9�T
�������������"������&"�����������^����������e_1�#����W
����option��	�����9e_2����� �� ������W��������9���!��������N�����O9��
�i�i�����^���i���^�`�b���encodek��^�`�����^���i�o�o�	���ooptionsomeinj_eq����j�j��inj_eq"��9��|�1���|�1�����1�7�����^�1������heq_iff_eq��^�����1�)��^���y�1and_self�1���PInfo�ɲ	decl��equations_eqn_1�������E������Ha
bk�l���T�U�v�Y�v�����9
�v���1����1�7��y�1�%���X�~�{�{�y�%�����v�v�/�%�����4�������������������������������9����������9��
����������{���u���{��[��9�����]9A�a�[���{�j�k�[���c�y��9�����c�g�o�[���S���y�~�y�[�|����[�T������A������F���������y�����'� �

�S���9
�S�9
�S����A���������������"�#����� �

�S���~�6�y�~�<9
�S�y�~�":�"����}�"�"�	���"�E���G�F�L�H�������9���[��"�H��9��
�r�{�!�j�j�q�"9���j�x9���j�����{�������d���������
�������W�����	9������������� �W�������9�����������
��9�
�u�u�����{���u���{��~�`���{����{���u���
������v�v��9��)�1���)�1�B�.�1�7�.���{�1���.�]���{���]�1���{�������E������H��
��k�r��t���PInfo��	ATTR�����EqnL��decl�sigma_proof_1�������E������H_x�K�G����E������H���K�
�PInfo��	decl���������E������Hencodable��K����E������H���K��
��
���'
�������
�PInfo��	prt��VMR��VMC���	�����������decl��equations_eqn_1�������E������H���������
������E������H�	�����PInfo��	ATTR�����EqnL��SEqnL��ATTR�����class������decl�decode_sigma_val�������E������Hn�&�decode"��U��
�;���U��prodfst�a���Y���t���Y��snd�����E������H��
���&����S����_x��������9�t���c����9��������������������Annot���PInfo��ATTR�l����decl�encode_sigma_val�������E������Ha
bk��encode"�����9
�S�v�����E������H��
��k����PInfo��ATTR�����ATTR�l����decl�prod�����
_inst_1�_inst_2�����"/
���
��������of_equiv"/"/�*sigma"/
_x

��"/
�4��
�Ssymm"/"/�5�*equivsigma_equiv_prod"/
�PInfo���	prt��VMR��_lambda_1VMR��VMC���	���0_freshE�OVMC���	�������Usigma_equiv_prod�_�����Ndecl��equations_eqn_1�����
����������+����
�E���
����������+�O�PInfo��	ATTR����EqnL�SEqnL��ATTR�����classencodable����decl�decode_prod_val�����
�������n���b�(
�Y�]�K
�bind""/�]��a�h�(9prodmk"/9�o�����
��������
���_�map"/"/�2_x�]�TD"/"/�S�"/���]�V�����]�A
�Y���7�����w����_���i�������h�29�99sigmamk"/9���t�w��������^��b�me_1���b�(�9��b�(�W���b�(�	�We_2���b�(��	�;�b�(� ������9���H������9��
�����������m��������e_1�x���2���������b�2�W��W�W���b�2�	��	�	e_2���b�2����� ���b�2� �� � ���~����9��!"/������(�� �����b�9�
������has_coe_to_funF����������������"/�����w�w���^�w��_x�����~���m�������m�����m�A9�h9����9���������������F�m�
9�����o�9�P����_���������j�d�v�1���k�1�7�k�_��none��]�s�1���g�s�Z�^�g���r���s�&�f�|�%none_bind'"������%map_none'�����]���j�s���]�v���u�1�)��^�s������9�E�G>�R�V>�^�9�E���u���������������������������;�����9���H����9��
��������������x����������������������b�2������~���9���
�����(�~������b��9��
�D�D��� �=�@�C�D�����&"�9���R���u��m�^��/_x����~�������������������A�9�I�K�X�Z�t�����E����/val_1�������'Annot���PInfo��ATTR�l���decl�encode_prod_val�����
�������a
b
��6�m�K9
�q�z�����
��������
�
���H�PInfo��ATTR����ATTR�l���decl�encode_subtype_main��P��encA��subtype#a��"�Y�#���]��#
�%
k��Z
�da_val
a_propertyk���y�PInfo�!�VMR�!VMC�!���#�"�
decl�!equations_eqn_1���"�Y�#�vh��!�
��#�%�Y����"�Y�#��*�+���}�PInfo�)�ATTR����)EqnL�)decl�encode_subtype��a��"�Y�#��s�PInfo�,�VMR�,VMC�,��#�"��!decl�,equations_eqn_1���"�Y�#��*�+��,�
�|���"�Y�#��!equations_eqn_1��PInfo�.�ATTR����.EqnL�.decl�,_sunfold��a�r�PInfo�1�decl�decode_subtype���"�Y�#�decPdecidable_pred#v	�Z�y��"�Y�#��3���5�����adite"�Y	�Z9a9��h�Y�Z��8����w����9not�Y�����PInfo�2�VMR�2VMC�2��5�3�#�"�
		
decl�2equations_eqn_1���"�Y�#��3���5
���2�
����"�Y�#��3���5�n�����PInfo�<�ATTR����<EqnL�<SEqnL�2decl�subtype_match_1���"�Y�#��3��_a�g�����y�;���y����"�Y�#��3���?�g��#�y�?��
����9��
�S��9��
�������Y��
	��������c����������� �1��� �1�7� �|�1� 
�����
T�^�1iff_true_intro�^trueintro���|� � 
��� +��� -�� �	�Z�Wa�W��e_1
	�Z�	�C�	�	�	�Z��C���	�Z� �C� � e_2
	�Z��C���E	�Z�~�C�~�~�
� W9� Z�P� W�� W�9� Z
� � 0�b	���%�� 6� �6������Y� 8�9��� <�w�	� ;�9������� <�9�^� 7�w�W� 6� *� w������� �� �� w� �� t���6���� r��	� 5�%�W� ;�9� r� 9�%�	� C� |� ��9��� r��� �� �� w� �[� ��"���#�W�3���	�5�5e_4�yeqdreci�5�F��
	�Z���8��� :�����W�9� ��n	� S�8�~�����~9
���c� �[�."����<"����c�[�"��"�Xe_1�u�"�"�� J�"�"� � Oe_2
�"�� W�n�"�~	�Z���C����� W��~� V9�!�y���"�!� �9�!
�����m� �� ��n�"�� 8� ��&""���� �dif_pos#�^�`� *� � ��9���^��� 7�����n� ���
��� +����inj_eq#���� *�����PInfo�>�	decl�>equations_eqn_1���"�Y�#��3��v
hk�l����� �w9��� �!\�>�9
�!\��!a�1���!a�1�7�!a�)�1�!o
���![�
T�{�1� %�{� )�!\�)�!o��� �!y�!`�!{����� �D
� 8�� =�� E�E
� J�E� O�� P9� P�P� O�� O�9� P
�!^�!~�b	���%9���!^�69����k� �9��� �� ��9�����!3�9�{�����!x�!��9���{�!��!��!��!��!��r�69���!��t� u�9�!�� �� �� ��9���!���� ��!��!����y�!��"���#��3���W�5�5�F�y� ��5�F��
	� ��8��� :�����W�9�!��n	� K�8������9
��
�S�!]�y� �9��
� �9��
�S�y�":�"��I���"�"�	� E�"� ��J
� ��n� �� O��� N9�"�y��"� �� W9�"
�r�{���!��!��n�"9� �!��!%9���!��!,�{��!x���!��9���{���!`�!`�n���!`�
���!y�!\�!C9���!x�V����"�Y�#��3���O
�Pk�r�!a�t�!a�!h�PInfo�N�	ATTR����NEqnL�Ndecl�subtype_proof_1���"�Y�#��3��_x�g����"�Y�#��3���S�g�!c
�PInfo�R�	decl�Q���"�Y�#��3���g��"�Y�#��3���g��
�d��
�d���R�
�PInfo�Q�	prt�QVMR�QVMC�Q�	�3�#�"��!�2decl�Qequations_eqn_1���"�Y�#��3��
�"�Q�
�"���"�Y�#��3���n�"�"��PInfo�U�	ATTR����UEqnL�USEqnL�QATTR����Qclassencodable�Q��decl�finn��fin�X�m�"��
lmhas_ltlt�B�Q�"������Gequivfin_equiv_subtype�PInfo�W�	prt�WVMR�W_lambda_1VMR�WVMC�_�	���0_fresh?���natdecidable_ltVMC�W�	�X�Ufin_equiv_subtype�_�x�Q�Ndecl�Wequations_eqn_1�X��"��W�"��X��"��"��PInfo�g�	ATTR����gEqnL�gSEqnL�WATTR����Wclassencodable�W��decl�int��int�m�"���equivint_equiv_nat
�PInfo�i�	prt�iVMR�iVMC�i�	equivint_equiv_nat�x�Ndecl�iequations_eqn_1��"��i�"���"��"��PInfo�p�	ATTR����pEqnL�pSEqnL�iATTR����iclassencodable�i��decl�ulift�u_2�_inst_1�ulift�s"��t�of_equiv"�"�"�equivulift"��PInfo�r�	prt�rVMR�rVMC�r�	�t��Uulift�Ndecl�requations_eqn_1��s��t���"��r��s�"���t���"��"��PInfo�{�	ATTR����{EqnL�{SEqnL�rATTR����rclassencodable�r��decl�plift��_inst_1encodable#plift#��~�of_equiv#"�"�equivplift#�PInfo�}�	prt�}VMR�}VMC�}�	�~��Uplift�Ndecl�}equations_eqn_1���~���"��}��#��~���"��#�PInfo���	ATTR�����EqnL��SEqnL�}ATTR����}class��}��decl�of_inj_proof_1�����
f�hffunctioninjective#0x
�Mpartial_inv"0
���
���#���#��
�
T�#�
�Mpartial_inv_of_injective"0
��
�PInfo���ncomp��decl�������
_inst_1��������#
�>���
���#6������#9�of_left_injection/"
�#����
�PInfo���decl��equations_eqn_1�����
���#6������#9�L����
�#K���
���#6������#9�n�>�#V�PInfo���ATTR�����EqnL��SEqnL��prvgood_main_private����good_maindecl��u_1αp�Y���������Y������*����false��#k�PInfo���VMR��VMC�������prv��equations_eqn_1��equations_eqn_1decl���������Y��������#l�����Y�&����#x�PInfo���ATTR�����EqnL��prv��equations_eqn_2��equations_eqn_2decl���������Ya��#u��������Y���&�#}�#��PInfo���ATTR�����EqnL��prv����decl���������Y_inst_1�_inst_2���������Y��������#u
�PInfo���VMR��VMC�����������decl��equations_eqn_1�������Y������������
���#l�����Y���������equations_eqn_1�
�PInfo���ATTR�����EqnL��decl��equations_eqn_2�������Y���������
��#�
k�����Y���������equations_eqn_2�
�PInfo���ATTR�����EqnL��decl��_sunfold���#������Y�������������#m��#k�Y�PInfo���prvdecidable_good_main���9��decidable_good_maindecl���������Y����������#��������Y�����������n���#�9
�S�#��#�����#��;�d���#l���-�#��#�p����e_1�l�!���-���#��#l����
�;decidablefalse���#����#�>���Y��#��$�$�#��$�Y���9
�S�PInfo���VMR��VMC��	�����������	prv��equations_eqn_1��equations_eqn_1decl���������Y�������������#�����
�$�����Y�����������$���$�$&�PInfo���ATTR�����EqnL��prv����decl�����#������Y��������$!
�PInfo���VMR��VMC�������������decl��equations_eqn_1�������Y����������$ ����
�$�����Y���������equations_eqn_1�
�PInfo���ATTR�����EqnL��decl��_sunfold���#��$�PInfo���declencodablechoose_x_match_3�������Y�������_a�Sx
k��n�#��c�����Y����������$V�`���Y���S�$a�����#��9�c���,h_1�Y�������#��W�9���~9�?�$u�[��$g���1���$|�1�7�$|�^�1�$��$f�����9�����!��c9�k��9���^��������W�e_1���	��������� 
�����e_4���H������W���$���������	��#��	��9�$���$���	�����$����	9
�H�	����$�����
�$��$��$���k�$���&�#����W�$��$��W���$�����
�W�k�$��W�999�$��c�����m�$�9�c���^�1� '���PInfo���decl��equations_eqn_1�������Y�������w
pwk�l�$j����9
�	�9��9���$y�$i�y��#��r�1���%�1�7�%�{�1�%#�#��$�����������S�k���{�{������������$����	�����
��d�����	-�$������W���%=����$��	��#�����9�%C��$��$�����$����	9
�$��������
�$�
�%H�%E�%Q��k�$���&�#����W�$��%=�W���%=����
�W�k�%=�W�9�%/
�S�r�{���$���{�1�!v�������Y���������
��k�r�$j�t�$j�%�PInfo���ATTR�����EqnL��decl��_match_4�������Y�������o��$�������Y�����������$����9��:��$g� 7��#���9falsedcases_on���$g���� 7��9��$g���� 7�!��PInfo���decl��equations_eqn_1�������Y�������a
h�#��������9
�{�!\�����Y���������
���%��o�������%��PInfo���ATTR�����EqnL��decl��choose_x_proof_1�������Y��������������#����$Y�lfind�$Y���$?9
�S�$W�����Y����������%�natfind_spec�$Y�%��PInfo���decl���������Y�������h�$V�������Y����������$V
���$Z
�%��c�%��$i���$?�9�c������9
AnnotcheckpointAnnothave�%

�PInfo���VMR��_lambda_1VMR��VMC��
����0_fresh?����0_fresh?����0_fresh?���
��VMC�����������������
decl��equations_eqn_1�������Y����������$V�������
�&)�����Y����������$V�o���&5�PInfo���ATTR�����EqnL��SEqnL��decl��choose�������Y�������h�$V�����Y����������$V�$val��y�&1�$a�;�PInfo���VMR��VMC���������������decl��equations_eqn_1�������Y����������$V������
�&P�����Y����������$V�n�&[�PInfo���ATTR�����EqnL��SEqnL��decl��choose_spec�������Y�������h�$V
�&W�$a�;�����Y����������$V�$property��y�&M���PInfo���decl��axiom_of_choiceu_1u_2αβ��
Rx����_inst_1a��_inst_2x
yk���`HxExists���Yy�Y�{����a9��f�&�x����������&���&����&����&���&��?����&��&�x9��choose��������^k�����&���x9��choose_spec����x���&�k�&����PInfo���decl��skolemu_1u_2αβ�&P�&�c�&�d�&����&��&�a�Yf�&�x9�Y�����&��&���&���&��P�&��&���axiom_of_choice���$ax�&��;���Y�_x�&�_a�&��+��������&���W������&��&��&���W�&���y���W�,�&��-�&�����	�&�� :�� :�	x�	�?�
� :�&����PInfo��decl��encode'u_1α_inst_1functionembedding� �!�"�#embeddingmk�
�����PInfo��(VMR�VMC��(��"�!
doc�The `encode` function, viewed as an embedding.decl�equations_eqn_1� �!�"��'�� �'	�!�"�k�'�'�PInfo�(�(ATTR����(EqnL�(SEqnL�decl��is_transu_1α_inst_1is_trans�*orderpreimage��T���'�#has_coe_to_fun��'���+�,order_embeddingis_trans��'%��order_embeddingpreimage��'��has_leleis_trans�
�PInfo�)�+	prt�)VMR�)VMC�)�,�+decl�)equations_eqn_1�*�+�,�l�'&�)�*�'7�+�,�r�'&�'=�PInfo�9�+	ATTR����9EqnL�9SEqnL�)ATTR����)class�-�)��decl��is_antisymmu_1α_inst_1is_antisymm�;�'%�<�=�1is_antisymm��'%���'2�6is_antisymm��
�PInfo�:�-	prt�:VMR�:VMC�:�=�<decl�:equations_eqn_1�;�<�=�l�'H�:�;�'T�<�=�r�'H�'Z�PInfo�B�-	ATTR����BEqnL�BSEqnL�:ATTR����:class�>�:��decl��is_totalu_1α_inst_1is_total�D�'%�E�F�1is_total��'%���'2�6is_total�llinear_order�PInfo�C�/	prt�CVMR�CVMC�C�F�Edecl�Cequations_eqn_1�D�E�F�l�'e�C�D�'r�E�F�r�'e�'x�PInfo�L�/	ATTR����LEqnL�LSEqnL�CATTR����Cclass�G�C��ncompdirectedsequence_match_1decl�Ou_1u_2αβ�
r���f�hfdirected�Q�P
p_a:��R�S�
�T�'��U��V�'��X�Y:������Y��W���classicalsome��z���9���Y�'������'��W�'��W�\�W���9
����^��A�PInfo�O�=decl�Oequations_eqn_1�P�Q�R�S�
�T�'��U��V�'��X�X�O�P�Q9
�%��'�9�\9���`k�'����R�S�
�T�'��U��V�'��X�n9��9�'��PInfo�^�=ATTR����^EqnL�^decl�Oequations_eqn_2�P�Q�R�S�
�T�'��U��V�'��Xa9���'��9
��'��\��'�9�{�Y�&��R�S�
�T�'��U��V�'��X�a9�n��'���'��PInfo�`�=ATTR����`EqnL�`ncomp�N_maindecl�b�P�Q�R�S�
_inst_1�_inst_2inhabited��T����U��V�'�9��W�R�S�
�c��d�'��T�(�U�(�V�(���brec_on���	�_F��below�����g�(����cases_on���g�(������g�(��~�8�'��~default��~���g�(���'���	�X��pprodfst�����natadd�8��rec�n�punit�nih�(5pprod���t����	�(8�(1�l���(;�(2�(E�(8�'������ ��	����~�PInfo�b�=decl�bequations_eqn_1�P�Q�R�S�
�c��d�'��T�(�U�(�V�(���b�P�Q�9
���(%�
�R�S�
�c��d�'��T�(�U�(�V�(�'��'��(u�PInfo�v�=ATTR����vEqnL�vdecl�bequations_eqn_2�P�Q�R�S�
�c��d�'��T�(�U�(�V�(n���(m�W�9
SW	�X�W�(��'��	�W
����R�S�
�c��d�'��T�(�U�(�V�(�y�n�W�'��W�(��PInfo�x�=ATTR����xEqnL�xncomp�Msequencedecl�z�P�Q�(
�R�S�
�c��d�'��T�(�U�(�V�(�(t�PInfo�z�=prt�zdoc�z Given a `directed r` function `f : α → β` defined on an encodable inhabited type,
construct a noncomputable sequence such that `r (f (x n)) (f (x (n + 1)))`
and `r (f a) (f (x (encode a + 1))`.decl�zequations_eqn_1�P�Q�R�S�
�c��d�'��T�(�U�(�V�(���z�P�Q�9
���(x�R�S�
�c��d�'��T�(�U�(�V�(�bequations_eqn_1� �!�9
�PInfo�|�=ATTR����|EqnL�|decl�zequations_eqn_2�P�Q�R�S�
�c��d�'��T�(�U�(�V�(�y���(��W�9
�(�	�X�W�(��(��R�S�
�c��d�'��T�(�U�(�V�(�bequations_eqn_2� �!�9
�PInfo���=ATTR�����EqnL��ncomp�z_sunfolddecl���P�Q�(
�(l�PInfo���=decl�Msequence_mono_nat�P�Q�R�S�
�c��d�'�r�(f�(hf�(n
�(��(��R�S�
�c��d�'����(���(���(����)p�Weq���(��	�W�9
_x�
h�����	
���������	-�	.� 9���	�'����~��	�W9��
�������andleft�	��W�'��~x�~���) � :�)8��)Aclassicalsome_spec��~�\�~�):�)>a����)�	2�)5�) �	�'���������� �� B� �� B�W9��&��)[�)D���\���)U�)Y���W���
�)n�(��	��(��PInfo���Fdecl�Mrel_sequence�P�Q�R�S�
�c��d�'�r�(f�(hf�(a�
�(�S��9W�R�S�
�c��d�'����(���(���(�����)��)��'��\�W��
�)���k�'��(��)����)��)�����We_1��	���� e_2���M�~�����X�~��~�9�
����)��)���W��	e_1���!��� �9�)��)��b�W�)�	�X�W�)��(��(��)��)������W�9
�)��)��'��W�
�)��$r�)��)���"���$�
�T�)��'��W�	
���"��W�W�U�)��)��	���)�
��#�)�
�)��	��)��T�)��T��W�$�e_1eq�#��	����U�� � �U���e_2�x��~�~�V�'��~9���X���X��e_4�	�Y�	�Y	e_5
	�H�#��*)���~�T�*1���*��*/����
�'��*:�*4����	�W�*=� �)���*4��*:����T�*G�'��*:��)���*:�*:��U�*Q�*J���*L�	� ��
�H�$��*/�*/��U�*g���x��*4�*4� �*C�*>�*I�T�*G�*M�*Y���*�*G���
�$��*/9�X�*/��
�*4��*C�*?�*I�T�*G�*M�~�*Y����*Q����*w
�$�	�*/�Y�*���
	�*4
�*C�*��W�n�*/�'��*/�*)�~��)��*1�~�T�*1�'��*/�*4� �)��*g��U�*g�*����*4�����*g��~�*�*1�~9
�	�W�� 

�*
�*�)��)��(��)��)��	��.�W9�`���W�
�)���right
�)��'����W�)��)��)��+�)D�W�)��)��PInfo���Pdecl�Msequence_mono�P�Q�R�S�
�c��d�'�_inst_3preorder�f�(hf�(�d�preorderto_has_le�9monotone�9��F���9�(��+9�+9�R�S�
�c��d�'����+���(���+ monotone_of_monotone_nat�9�+2directedsequence_mono_nat���9
�+.�PInfo���Ydecl�Mle_sequence�P�Q�R�S�
�c��d�'����+���(���+ a��+��+�
�(��+R�)��R�S�
�c��d�'����+���(���+ �����rel_sequence���W�9�+R�PInfo���\declquotientrepu_1αssetoid��_inst_1decidable_rel�(has_equivequiv�(setoid_has_equiv�(_inst_2#qquotient�(
�����+t���+}��#���+��&Wx
�+~9quotientmk�'9��quotientdecidable_eq�)9a9b��&��+���exists_rep�)
�PInfo���gVMR��_lambda_1VMR��VMC��
�g���0_freshH���0_freshH���0_freshH������VMC��
�g��������������doc�� Representative of an equivalence class. This is a computable version of `quot.out` for a setoid
on an encodable type.decl��equations_eqn_1�������+t���+}��#���+�������
�+������+t���+}��#���+��&c�+��PInfo���gATTR�����EqnL��SEqnL��declquotientrep_spec�������+t���+}��#q�+�
�+~
�+�
�+���9�&������+t���+}��#���+����'a�+����+���9�����W��	�&��+��+��PInfo���jdeclencodable_quotient_proof_1�������+t���+}��#��+���+�
	�+�functormap�'�'	applicativeto_functor�'�'	monadto_applicative�'�'	��monad�'9�+��+��B�D�+�9�+��+������+t���+}��#��+�quotinduction_on�'setoidr�+
�+�l��+��+��+��+��+�quotmk�+9�,9�+��,�+��+�=�,�,���,�,���,_a:�
	�+~�9�+���,%�+��9�
�
�+��9����W�
�,
��,�9�,%�,;�,'�,,�,B�&�,�,� �,�y�+��+��+��+��+��+��+�quotientrep_spec�'9�+��+��PInfo���ndecl���������+t���+}��#�+������+t���+}��#�+�q�+���+�n�+��+��+��
����

�PInfo���nVMR��_lambda_1VMR��_lambda_2VMR��VMC��
�o���0_freshG��S�0_freshG��R�0_freshG��Q��
VMC���p������
����VMC��	�n������������doc��The quotient of an encodable space by a decidable equivalence relation is encodable.decl��equations_eqn_1�������+t���+}��#
�,i����
�,������+t���+}��#�n�,i�,��PInfo���nATTR�����EqnL��SEqnL��EndFile