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�y�O
inittacticsplit_ifslogicfunctionlogicuniquedatasetfunctiondatabooldataquot�mexport_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}traversePInfoequiv
indlu_1u_2α�β�Cn����e_1to_funa	inv_fun�	left_invfunctionleft_inverseright_inv�right_inverse	�mk	�		�������������
	�	����%�����
�		�nspace�prt�recdecl�sizeof����xnat���rec��xY�1�2�6�:has_addaddYnathas_addeeehas_oneoneYnathas_onesizeof�default_has_sizeofl���u	�F	�}	���PInfo�
ATTRreducibility���prt�decl�has_sizeof_inst����has_sizeof
��has_sizeofmk
��PInfo�
ATTRinstance���class����prt�decl�sizeof_spec�����1�2�6�:eqY�	i���1�2�6�:eqreflY��PInfo�
ATTR_refl_lemma���EqnL�prt�gind��decl�to_fun����c
���
Proj�����
�rec��	�	C�
����PInfo�
ATTR����proj��decl�inv_fun�����2���
Proj�����2�	���
���	�PInfo�
ATTR����proj��decl�left_inv�����
	�	�	���
Proj�������	��4�	�	�
����PInfo�
ATTR����proj��decl�right_inv�����	�����
Proj���������	���
����PInfo�
ATTR����proj��decl�rec_on����������C�D�H�L		�������+�rec���	�PInfo�
ATTR����auxrec�prt�auxrec�rec_ondecl�cases_on����1�<�PInfo�
ATTR����auxrec�doc�`α ≃ β` is the type of functions from `α → β` with a two-sided inverse.decl�no_confusion_type�����Pv1�v2'������'��������u�
�� 	�B� ��S� ���S�S���S
�
�\	��\	�to_fun_eq���i� inv_fun_eq���i� �i�c�PInfo�
ATTR����prt�decl�no_confusion���������'h12��F����	������'���eqrec#"<	a<h1a����� h11��<		�#$%����������S�
�S� ��_�S	���h��\�\��n��\�i�\�$%��c�c�%$���PInfo�
ATTR����no_conf�prt�decl�inj�����1�2�6�:�l��� �
� ��S� 	����_�S�_�S� ��	and���S�n��_�c� ���1�2�6�:�l�������������no_confusion�\�_���\�_�S� �	�������Sandintro�k�\�n��c
�_�PInfo�
decl�inj_arrowl�����1�2�6�:�l������������P���h���_��&	���1�2�6�:�l���������������<andelim_left� �&�inj���i�c�\�_�S� 	andelim_right� �&�X�PInfo�
decl�inj_eq�����1�2�6�:�l���������������h��_�_� �n�]	���1�2�6�:to_fun_1linv_fun_1��left_inv_1��right_inv_1��propext���xiffintro���xh���M�\�_�S� 	a�xanddcases_on����������c�\�c�\�_�S� ��	a_left��a_right���j���"�"e_1�h��o�o���o��e_2�n����
����	�
��	���� ���� ��������e_1�h���������e_2�n����
����	���eqdrec���� �����h����S�� �������_	���������_��
!���������
��\���������
��\	��������1��n�������������	��_����_����	�%�_�B�"��������� ���� ���
������1��1�^�S���1� ����� �\��������d��1�u�S�l� �q	�_�S� �\�_�S� �PInfo�
TK≃NOTAequiv≃ ≃ ��declfunctioninvolutiveto_equivuα�f�hfunctioninvolutive.�..		����������..		�left_inverse.	�right_inverse.	�PInfo�VMR�VMC����decl�equations_eqn_1�����������.����	������������/�����PInfo�ATTR����EqnL�SEqnL�declequivpermu_1α��equiv11�PInfo�!VMR�VMC��doc�`perm α` is the type of bijections from `α` to itself.decl�equations_eqn_1�������3����4�����PInfo�!ATTR����EqnL�SEqnL�ATTR����decl�has_coe_to_fun�v���β�has_coe_to_fun.77..7�.7�����has_coe_to_funmk;<�x�
�to_fun.7�PInfo�#	prt�VMR�VMC�#	����
decl�equations_eqn_1��������;<�����������>���PInfo�#	ATTR����EqnL�SEqnL�ATTR����class�����decl�coe_fn_mk�������f1g2l�.7	r�.7	eq.7�F.77.A��equivmk.7	coe_fnEA�/�2�:������1�2�	�&�
�+rflA�;�@�PInfo�&ATTR����ATTRsimp���decl�eq_of_to_fun_eq�������e₁�e₂�	��,�-�	�	�=�U�X�]�.77.�	���������S��a�.7��d��,�3�?�?	�b�	e₁_to_fun�Je₁_inv_funue₁_left_inv�"e₁_right_inv�'� 	��,�-��S� ��S� �4�S� 	�=���������m�_�S���_�S��,�-��\�_��\�_�4�\�_	�=���������b��c�\�4�c�\e₂_to_fun�pe₂_inv_fun��e₂_left_inv�"�c�\e₂_right_inv�'�i�c	��,�-��"�i��"�i�4�"�i�S� �=����������	id_rhs�b��o�"�4�o�"�_�S� ��	
this�,���_

��7.���_
eqmpr�b������4�����c�\�_�S��trueid�n�	�eqtrans�m�	���������,���������������.7��c���"�����7.���\����'�i�_�%���'�����.����;�i�S�� a���%�����e_1�b�����a������'�����e_2�b�����congrKL������m�b�a�d	congr_argNN�a�'�a�m�d��J��������e_1�,�����������������e_2���������"����	��'�����K��� ����+�,������S�b������4�����_	���#������_����"�����,��������\������'������������\	�L���������,���������������	���_�K���_�������	���_���N������4����� �#��� ����"�����,��������S�L��� ����� ������'����������S�� �	�c�\�_�S��������inj_eq.7�����8�Ia�m�.�me_1�nb�m�0�me_2�P�)�m�m����	�*�m�0�m�m��������eq_self_iff_true.7��������2L������and_self�trivialAnnotcheckpointAnnothavefunext7.�ox�o���_x�o
��7���c�\

������i�c�i

��.���i	� 	�injective_of_left_inverse.7�����i�"�c����AnnotshowAnnot�5Annot�6�#�}�if₂�}l₂�"����� r₂�'�����Sh�,�-�Y������4�������o�"�i�=�Y��������	�_����������\�����������c�=�(�i�>�'����� �"�?�,�-�W������4�����o�"�i�c�=�W���������S��������o���_� 	Annot�5Annot�6eqtrans7�������S�@symm7����Annot�5Annot�6�PInfo�)decl�ext�������f�g�SHx���=�d�	�G�g������D��E�S�F�N�eq_of_to_fun_eq.7	funext.7�8�H�K�PInfo�C2
ATTRext���Cprodmkboolprodlistext_param_type�i�jname�j�i�n�nboolff�f�l�tlistnil�k�f�o�s�{�nlistcons�r�f�n�nnamemk_string
Strthunknameanonymous��
Strfunext��������
Strulift����
Strext��������
Strarray������������
Strset������������
Strplift������������
Strprod����������namemk_numeralunsignedof_nat'i����
Strpropext����������has_zerozeroYnathas_zero�����{�rATTR�J���C�v�Rtt�}����n��
Strequiv������decl�permext����σequivperm.τ��Hx	���..���..	������	����g���j���k��equivext..	�PInfo�f5
nspace�eATTR�J���f�x�}��������������������������ATTR�J���f���}�����
Strperm������decl�refl_proof_1u_1αxeq�qidQ� �"�r�srflQ�"�PInfo�p8decl�o_proof_2�q�&�+�PInfo�w8decl�o�q�r���r�QQ��0�p�q�w�q�PInfo�o8prt�oVMR�o_lambda_1VMR�oVMC�x83aVMC�o8�r�x�xdecl�oequations_eqn_1�q�r�Q���o�q�8�r�T���=�PInfo�{8ATTR����{EqnL�{SEqnL�oATTRrefl���oREL�odecl�symm�������e��7.	������~��7.	�inv_fun.7	�	�right_inv.7	�left_inv.7	�PInfo�}:prt�}VMR�}_lambda_1VMR�}_lambda_2VMR�}VMC��:�_fresh,�X
VMC��:���
VMC�}:�~������decl�}equations_eqn_1��������~����WV�G�}WV	�`������~��[�G�i�PInfo��:ATTR�����EqnL��SEqnL�}ATTRsymm���}REL�}decl�trans_proof_1��w�����γ��e₁�Se₂�7\	�left_inverse.\	functioncomp\7.	�N�inv_fun7\	��.7\	�to_fun7\	���������u���S���x�comp\7.	���������left_inv7\	�\�PInfo��<decl��_proof_2������������u���S���x�right_inverse.\	������������u���S���x�comp\7.	���������right_inv7\	�W�PInfo��<decl��������������u���S���x�.\	��������u���S���x�.\	����������	������	�PInfo��<prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC��=x��_fresh,�Y���_fresh,�Y�

VMC��=#������

VMC��<������������decl��equations_eqn_1������������u���S���x����dc����c�d	����������u���S���x�h�����PInfo��<ATTR�����EqnL��SEqnL��ATTRtrans����REL��decl�injective�������f��injective.7	�=�S�	���������m	���S�	
	�`f_to_fun
f_inv_funf_left_inv�"f_right_inv�'	���	
�=�w��4	��	�	2�PInfo��@prt��decl�surjective�������f��surjective.7	�	���������	���S�	C	�`f_to_fun
f_inv_funf_left_inv�	!f_right_inv�	%���	C�	2�surjective_of_has_right_inverse.7�	2Existsintro7.��finv�����=�� �� �4� 		�PInfo��Cprt��decl�bijective�������f��bijective.7	�	����������	�	F�injective.7	�surjective.7	�PInfo��Fprt��decl�range_eq_univu_1u_2��e�ln�nsetmsetrangeml	�lnnlq�	�	�ln	setunivm���	����	����	�seteq_univ_of_forallm�	��surjectivekm	�PInfo��IATTR�����decl�subsingleton�������e�_inst_1subsingleton7subsingleton.�����������	�subsingletondcases_on7	���	�	�	�ha	b�����	���intro.ab�	�	�	+�	��PInfo��Lprt��decl�decidable_eq_main�������e�Hdecidable_eq7decidable_eq.�����������	�ab�decidable��decidable_of_iff�	��	��?�	���eq_iff.7�	��	�	�	��	��PInfo��OVMR��VMC��O����������

decidable_of_decidable_of_iffdecl��_proof_1����������a	biff�C�H�I������������	���	��H�	�	�PInfo��Odecl��equations_eqn_1�������������	�������	�����	�	������
�����������	�������	�id_delta�	��
0�PInfo��OATTR�����EqnL��decl�decidable_eq���	������������	��
*	�PInfo��Oprt��VMR��VMC��O��������decl��equations_eqn_1�������������	������
)����	�
9�����������	���equations_eqn_1{|	�PInfo��OATTR�����EqnL��decl��_sunfold���	��
�PInfo��Odecl�nonempty_iff_nonempty����������

nonempty.	nonempty7��������	��S�

�
l�
o	a_to_fun
a_inv_funa_left_inv�	!a_right_inv�	%���

�
l�
ononemptycongr.7	�PInfo��Rdecl�cast_proof_1u_1αβh����
�	�����
��symm~	�PInfo��Udecl��_proof_2�������
�x	�cast}	�
�	�
�	�����
��	�tdcases_on~t_1��
�H_1�
�H_2heq�
��
�	�� �
�� �
�� �
�� 	��
�	�~���
��	�
��
��
��~�
��
�� �
�	�
�	��
��	�
��
��
��
�eqrefl}�
��
��
��
�	�
�	heqrefl�
�	�PInfo�Udecl��_proof_3�������
�x�	�
��
������
���
�t_1��
�H_1�
�H_2�
���
��
�	��
��
����
����
��
�� 	�0� �
�� �
��
��S	�
��S�
��S	��
����
��
��
��
��
�� �
�� 	�N�
�� 	�
	���PInfo�Udecl���������
���	�����
��-	�
��
�	����	���	���	�PInfo��Uprt��VMR��_lambda_1VMR��VMC�VaVMC��U������decl��equations_eqn_1�������
��:�g����	�������
��A�g���PInfo�UATTR����EqnL�SEqnL��decl�coe_fn_symm_mk�������f1g2l�&r�+���7..77.�E�7.�f�:���������	������1�2��&��+rfl������PInfo�XATTR����ATTR����decl�refl_apply����x��������equivrefl.����rfl.���PInfo�[ATTR����ATTR����decl�trans_apply������������uf�Sg�xa�\�.\\..\���.\��	�7\\77\�v�7\�t��������u�$�S�%�x�&rfl\���PInfo�#]ATTR����#ATTR����#decl�apply_symm_apply�������e�x��	�^���E	��	�f	������)��*�m	�)�U�C�G���E���fe_to_funCe_inv_funDe_left_inv�"e_right_inv�'	�����	`�	b	���E� ��� �f� �*���9�&	�
�n�9�?�%�%� e_1���S�'�_�'�\e_2���c�)7�i�m���i�M	�*77�i�'�i�m�M�7�=�).7� �+�6�<�.7� 	congr_fun7.a�S�5	�.7� 	�7���?�&�
�n�?���7�=_a�n��� ����m�?���PInfo�(_ATTR����(decl�symm_apply_apply�������e�x	����^������5��6	��5�U�
��e_to_funCe_inv_funDe_left_inv�!e_right_inv�%����� �5�+������	�
�n�����%� �%�Se_1���_�'�\�'�ce_2���i�).�"�m���"��	�*..�"�'�"�m�������)7.� �5	�������1.7� a� � �+�s�.� �������
�n���
�.� ��_a� �n���S�
�����

�PInfo�4bATTR����4decl�symm_trans_apply������������uf�Sg�xa	�	��\..\\.�\.�\.�symm.\������	�\77\\7�\7�\7�symm7\��������u�@�S�A�x�B	���
G�PInfo�?eATTR����?ATTR����?decl�apply_eq_iff_eq�������f�x	y�
������F��G	�H�o�F�d�

�	��r	�r�	�		f_to_fun�Jf_inv_funuf_left_inv��f_right_inv�����

�������
�	��S� ���S� 	�PInfo�EhATTR����Edecl�cast_applyu_1αβh�
�x	���N���	���	��	�
��O�P�Q�
��R	�'	�
��PInfo�MkATTR����MATTR����Mdecl�symm_apply_equ_1u_2αβexy�

���U�T����������symm��	�������F���	�V�W�X�Y�Z���
��
�H�
����
�	�
�<�
���
�n�
����
��
�	��%�%e_1�
��'� �'�Se_2�
��_�)��\�m�
��\�
�	�*���\�'�\�m�
�		��	�
�	�$��
��
��
��
��
��
�		�*����
��symm���(��	���
���2�	��H�
�������
�n�E���E�C��%�%e_1�
��'�S�'�_e_2��\�)��c�m��c�X	�*���c�'�c�m�X��$����
��*��	�
���4���
����M��2����PInfo�Smdecl�eq_symm_applyu_1u_2αβexy�

�
��
��
��
��f�g�h�i�j��trans���
������
��
�eq_comm�d�
��symm_apply_eq��e	eq_comm��
��PInfo�cpdecl�symm_symm�������e��b�S�symm7.	�i������p��	�p�S�b�U��	��e_to_fun
e_inv_fune_left_inv�	!e_right_inv�	%���w���f�	1�PInfo�osATTR����odecl�symm_symm_apply�������e�a	���]�����������w��x	��w�U�C�G�����e_to_funCe_inv_funDe_left_inv�!e_right_inv�%���	`��� �4�PInfo�vuATTR����vdecl�trans_refl�������e����trans.77	equivrefl7������~��	�~�S���		�	e_to_fun
e_inv_fune_left_inv�	!e_right_inv�	%����	1��PInfo�}wATTR����}decl�refl_symm���������symm..���8���rfl.�3�9�PInfo��yATTR�����ATTR�����decl�refl_trans�������e����trans..7		��	���������	���S���A	��e_to_fun
e_inv_fune_left_inv�	!e_right_inv�	%���A���	1�PInfo��{ATTR�����decl�symm_trans�������e��7�77�trans7.7	�i����������ext77�q����G���77�h		�77		�l		������
�n����x�G	�C�|�h���l�		���x�G	��forall_congr_eq7�G���G��G�������%	�%e_1�	��'�'e_2���J�S�m�D�D	�T�S�'�S�m�D���	����#7.7		��(.7	���7	������27	�����forall_true_iff7���PInfo��}ATTR�����decl�trans_symm�������e����trans.7.		�i�E����������		��E���G	���������		���P��
�n�'����	�G�
�������		���2����	�G����.	�G	�&���G	��&����%�%e_1�	��'�'� e_2�
���_�m����	���_�'�_�m���"�$.�"���#.7.	��4.7	�%�.���O��2.���	����.	���PInfo��ATTR�����decl�trans_assoc����u_1��������uδab�Ubc�v	cd�\��	�.��.�.��trans.\���	�trans.7�	�trans7\���������u�����U��������equivext.�����a�'�.��..���� �.�� ��� ��� 	�PInfo���decl�left_inverse_symm�������f��"	���G��	�i�	���������_�PInfo���decl�right_inverse_symm�������f��'	���	���������Z�PInfo���decl�equiv_congr_proof_1�u_1�����������uδab�Ucd��	ac������bd�7�����trans7�\�symm\�	ac�
���trans7.\� �3	��������u�����U����������+������	�
�n�+�<�%�
�%��� e_1�����S�'���_� �'���\�Se_2�����c�_�).\\.���i�\�m���S�V	�*���S�'�S�m�V�)�:���w���	\e_1�b�����v�S� ���v�_�Se_2�7\\7�v�\�_�)���v�c�\�S���i�c�\��	�*.77.����i�c���~���"�c��		��	��(��9�$��v���8��.�\�����9������7.��7������������e_1�7��7�� ����\� ����� �Se_2��\\����S�_�)�����_�\�~��c�_�\��	�*�����c�_�����v�i�c���(���trans_assoc7.\��7������������7.�\�7�������E���-e_1�d�E� �S���I���Ke_2�P�)���S�~��c�i�\�%	�*�����E�c�i���S���%�7�7�o��7���$��
����.\\�!\�G�L��\�\���O��.\�\�����
���Be_1�G���\\� � ���d�S�Se_2�\�d�_�_�)���d�\�\�S�H�i�\�\�v	�*����S���q���v�	�
�W�N��\��}.\�����<���..\�		�7�
�n�<������
�:_a�
�n���B���#�����<��eqsymm��
���:��.7.\	�7������
�n���������l���F�����[��������� � e_1�����S�S���I���Ke_2�P�)���S�S���i�i�\��	�*.����i�i���S�������[��.7	����.\��������2��
���PInfo���decl��_proof_2��������������u�����U���ac�	����'���������u�����U������=���B�>�����
�n�B�N�%��%��e_1���'��S�'��_� e_2����\�S�)����m�����_	�*�����'���m�_�@�L�$�����8�����������|�L��|������-e_1������_�����\� e_2�����c�S�).��.����i�_�����c�i�_��	�*����.������i�\���7�7�A���K�$����������{�K��.7\�	�{���w���	\e_1�q���T���Ve_2�[�)���������i�c�_��	�*������������"�\��		�����y����7���<�������\�������7�\����������e_1����������� � e_2�:���S�S�)�����_�_�����c�_�_�	�*��������������������\��}7��2���N�>��77��l�7	�
�n�N�Y����L_a��n������� �"��� �a���N�W�����W�L��7.7��7	���Y��
�n�Y���Y�>��u�W�y�W�P�'���h���he_1�g�h� � ���T���Ve_2�[�)�������M�c�c�_��	�*7��h�c�c���������U�'��.7	�2��7��2������2�����PInfo�ˉdecl����������������u�����U���������=��������u�����U���������=�������9���=�|��������	��������	�PInfo���VMR��_lambda_1VMR��_lambda_2VMR��VMC�������_fresh,�����_fresh,����}����VMC���$�������}����VMC�����������������decl��equations_eqn_1��������������u�����U������������������������	���������u�����U���������PInfo��ATTR�����EqnL��SEqnL��decl�perm_congru_1u_2α�	�β�	�e�	�������perm�	�perm����	����	����	��equiv_congr����		�PInfo��VMR��VMC�����������decl��equations_eqn_1�������	����	����	���������/�����	�9���	����	����	����/�B�PInfo��ATTR�����EqnL��SEqnL��decl�image_eq_preimageu_1u_2α�	�β�	�e�	�sset��	�	��	�	setimage�	��	�	��	�	�	�	��preimage�
�		��
�	���
���	���	�symm��	���	����	����	����Osetext�
	�]�qx	setmem_image_iff_of_inverse�	�
�	��	��	�	���b�c�g�k�left_inv�	�
	�right_inv��	�PInfo��prt��decl�subset_imageu_1u_2α�	�β�	�e�	�s�Ot�P�

has_subsetsubset��	�sethas_subset��R���	��N�������b�c�g�k	��	���	���	���O��P���������_���
�n������m��_a�m�n�

���	����R�	��	��	�	���N������	��������������setimage_subset_iff���������

�����
�n�����o����_a���n�����_��	�

����������image_eq_preimage��	iffrefl���PInfo��prt�decl�symm_image_imageu_1u_2α�	�β�	�f�	�s�O��o�N��	�o�]��	���	���	���O���A�;���������	�o�[�
�n�A�S���:�?_a�:�n�9�������[���A�Q����:�Q�?setimage_comp���	�o�[���S��
�n�S���S�;��%�:�%��e_1�9���'�N�'�N� e_2�9�N�S�)�o�N�_�m�9����	�*�����'���m���Q�$��:�Q�Ia��image_congr���O���Hhas_memmem�����
has_mem��$��J���������comp_app��������4����image_id'����:���~��2��:���PInfo��decl�image_complu_1u_2α�	�β�	�f�	�s�O�Q�\has_negneg�(�:�
has_neg� �/�)�P�0�!	�]�*�	��+�	��,�	��-�Osetimage_compl_eq� �!	�[equivbijective� �!	�PInfo�'�prt�'decl�permperm_group_proof_1�α.a�perm�$b�c�	��$equiv�$�$has_mulmul.�has_mulmk.�#f�#g�equivtrans�$�$�$�1	�2�1�8��9��;��<�equivext�$�$�5�9�trans_apply�$�$.�3�PInfo�7�	decl�6_proof_2��8�a����B��C��(has_oneone.�has_onemk.�equivrefl�$�8��J��?�b�D�`�PInfo�I�	decl�6_proof_3��8�a��Q�X�`�8��R��h�t�m�`�PInfo�Q�	decl�6_proof_4��8�a��Q�Xhas_invinv.�has_invmk.�equivsymm�$�$monoidone.��[mk.��X�9��;��<�#�?�"�'�%�'�B�'�C��(��	�����D���^�J��?		�B��C�#�(�Y��[��]	�D			���R������������8��T��h�����symm_apply_apply�$�$�PInfo�S�	decl�6��8�group.��8�groupmk.��B��C��(			�7��]�I��Q����S��PInfo�6�	prt�6VMR�6_lambda_1VMR�6VMC�b��C�B��VMC�6�	�8�b�o�}decl�6equations_eqn_1��8��.���6���8���+����PInfo�d�	ATTR����dEqnL�dSEqnL�6ATTR����6class�_�6��decl�5mul_apply�α�f�g�x	��.�-�#��-�-�$semigroupto_has_mul.�#�[to_semigroup.�#�`to_monoid.�#�	�	��f��g��h��i	�G	�PInfo�e�ATTR����edecl�5one_apply�α�x�����Z�[to_has_one.�����o��prfl.�B�PInfo�n�ATTR����nATTR����ndecl�5inv_apply_self�α�f�x�	���		����`to_has_inv.��	�P�t��u��v��		�PInfo�s�ATTR����sdecl�5apply_inv_self�α�f�x�L�Y�X�y��z��{equivapply_symm_apply.�0		�PInfo�x�ATTR����xdecl�5one_def�α����Y��:��������rfl.��}�PInfo�~�ATTR����~decl�5mul_def�α�f�g����"��������T������������G����PInfo���ATTR�����decl�5inv_def�α�f������R��=���������G����PInfo���ATTR�����decl�equiv_empty_proof_1����h�falsex��	eempty��rec.����x	��elim��(�����������elim���PInfo���decl��_proof_2��������e��������������$�����������������������rec���PInfo���decl�����������.����������.�������������������������PInfo���VMR��_lambda_1VMR��_lambda_2VMR��VMC�����VMC�������VMC����������decl��equations_eqn_1���������..����������������8�����PInfo���ATTR�����EqnL��SEqnL��decl�false_equiv_empty������equiv_empty���
���PInfo���VMR��VMC�����decl��equations_eqn_1��������	�PInfo���ATTR�����EqnL��SEqnL��decl�equiv_pempty_proof_1�u_1���h��x��epempty����rec.�:���x	falseelim�:�(���������������PInfo���decl��_proof_2����������e����������$�������������������rec�:�/�PInfo���decl�����������������������.�:������������������������PInfo���VMR��_lambda_1VMR��_lambda_2VMR��VMC�����VMC�����VMC����������decl��equations_eqn_1�������������;������P��������.�:�:.�;�V�PInfo���ATTR�����EqnL��SEqnL��decl�false_equiv_pemptyu_1�������equiv_pempty�E����PInfo���VMR��VMC�����decl��equations_eqn_1���:�b�����e�A�b�g�PInfo���ATTR�����EqnL��SEqnL��decl�empty_equiv_pempty_proof_1n�����������l�PInfo���decl��u_1�������equiv_pempty�G�����PInfo���VMR��VMC�����decl��equations_eqn_1����G�G�r�����v��K�r�y�PInfo���ATTR�����EqnL��SEqnL��decl�pempty_equiv_pempty����vpempty7pempty\�equiv_pempty7\�pemptyelim7���PInfo���VMR��VMC�����decl��equations_eqn_1����v����������7\\7�����PInfo���ATTR�����EqnL��SEqnL��decl�empty_of_not_nonempty_proof_1u_1αhnotnonempty��a����������nonemptyintro�S	�PInfo���decl������������S���������equiv_empty�S�����PInfo���VMR��VMC���������decl��equations_eqn_1����������S�S����������������X�����PInfo���ATTR�����EqnL��SEqnL��decl�pempty_of_not_nonempty_proof_1u_1�����PInfo���decl����u_2αh��pempty���������equiv_pempty���Z�����PInfo���VMR��VMC���������decl��equations_eqn_1�����������������������������S�����PInfo���ATTR�����EqnL��SEqnL��decl�prop_equiv_punit_match_1p�mh_apunit���x	unitstarx��	���m������punitcases_on������������������������star��rfl�����PInfo���decl��equations_eqn_1���m����������������������������m������������PInfo���ATTR�����EqnL��decl�prop_equiv_punit_proof_1���m������	���m�����PInfo���decl��_proof_2���m��_x��	��������m����rfl	��PInfo���decl��_proof_3���m��_x�������m��������	�PInfo���decl�����m��������m��������������PInfo���VMR��_lambda_1VMR��VMC�����VMC��������m��decl��equations_eqn_1���m����*���<���m����*�B�PInfo���ATTR�����EqnL��SEqnL��decl�true_equiv_punit�����@����PInfo���VMR��VMC�����decl��equations_eqn_1��L���N��L�P�PInfo���ATTR�����EqnL��SEqnL��decl�ulift_proof_1�u_1α�a�5uliftdown��.uliftup�_.�Z������H�Z�PInfo���decl���������.�_.ulift�_.�����a�b�d�U�Wuliftup_down.�_������PInfo���prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC��cVMC��downVMC�������decl��equations_eqn_1��������a�b�b�a�f������t�����h�f�y�PInfo�	�ATTR����	EqnL�	SEqnL��decl�plift�����..plift.�����k.��pliftdown.pliftup.pliftup_down.pliftdown_up.�PInfo�
�prt�
VMR�
_lambda_1VMR�
_lambda_2VMR�
VMC��cVMC��downVMC�
����decl�
equations_eqn_1������k.�k���
��������n�����PInfo��ATTR����EqnL�SEqnL�
decl�arrow_congr_proof_1u_1u_2u_3u_4α₁β₁α₂�β₂�e₁���pe₂���qfl�hx�8� � f�J���r�q�s� �inv_fun�s�q	���r�p�q� �to_fun�r�p� f�����p�s�q�to_fun�s�q	���p�r�s� �inv_fun�r�p� � �!�"���#���$���%���&lfunext�r�s�8��x�
�
��(l���S� ��� ���S���S�+�� � ��� ��� ���S� ���S�����
������������
�����
�n����s�_a�n�
�� ���	����,�#�,�����left_inv�s�q	�����
������
�n��>��r� �_a� �n�#�&�,�#(�,����left_inv�r�p� ����PInfo��
decl�_proof_2����� �!�"���#���$���%��fCeq�p�q�'�8����� �!�"���#���$���%���5Cfunext�p�q�[�mx�
�@�q��������}�����������}�����
�n������q��_a�n�|���	����,���,�������right_inv�s�q	�������}�����
�n������p��_a�n�����,��(�,�����right_inv�r�p� ��q���PInfo�4�
decl������ �!�"���#���$���%����r�s�p�qlC� �!�"���#���$���%����u�vlC�+l��������	�(C��������	�����	�4����	�PInfo��
VMR�_lambda_1VMR�_lambda_2VMR�VMC�=
����+��_fresh3�:Q��_fresh3�:P

VMC�>
�
���(�A�D

VMC��
�%�$�#�"�!� �=�>decl�equations_eqn_1����� �!�"���#���$���%���������������������	�� �!�"���#���$���%��������(�PInfo�F�
ATTR����FEqnL�FSEqnL�ATTRcongr���decl�arrow_congr_applyu_1u_2u_3u_4α₁β₁α₂��β₂��e₁��e₂��flx�}��I�J�K�L����������l�������l�"� 	������������������	����������������� ������ �symm����� �M�N�O���P���Q���R���Sl�Trfl���J�PInfo�H�ATTR����HATTR����Hdecl�arrow_congr_compu_1u_2u_3u_4u_5u_6α₁β₁γ₁��α₂��β₂�\γ₂�]ea��X�[	eb��Y��	ec��Z��	f�[g�[������� ��������������������\�_������������arrow_congr���������\�S� 	���������\�_�S��������� ���������������������p��������p���arrow_congr���������_�S	����������������������������������arrow_congr���������\�_� �^�_�`���a���b�z�c�{�d�~�e���f���g�[�h�[funext����� �8� ����x� ��eq��������c�\a�S� ���������c�_�S���c�\�_	���S� �����������������\�_� �������[�����[���c�\�S� 	����������������_������_	�����������������S�c������S�c�U�����c�S�5�
�n��7�%�%� e_1���S�'�_�'�\e_2���c�)���i�m���i�E	�*�����i�V�E���5�$���o�S� �������c	�$�#�c�2�1�����S�^���d�*�����������c���compequations_eqn_1�������c�\�_	�arrow_congr_apply���������c�_�S�c��5�`��#����������������� �\������ �\�symm�����\� ���������\� ������\� �3�5������������S�������[�����[���c�\�S� 	�����j�p���j�p���i�c�_�S���l����t�������S� ���*����� �����u���������c�\�S� 	�u���������\�_� ���*�����_���4�#��\��ce_1�
��i�*�����"�i	���3�symm_apply_apply�����\� �3����5�PInfo�W�decl�arrow_congr_reflu_1u_2αβ��z�{�����11�arrow_congr���������<equivrefl��equivrefl��1�|�}rfl�����,�7�PInfo�y�ATTR����yATTR����ydecl�arrow_congr_transu_1u_2u_3u_4u_5u_6α₁β₁α₂��β₂��α₃�zβ₃�{e₁��e₁'��e₂�����e₂'������������������������pl�arrow_congr���������_�S�trans�������_� �trans�������S	�trans���������p��l�"�_�S� 	�arrow_congr��������� ���������������z���{���D���F���I���Lrfl�����������������P�d�PInfo���ATTR�����ATTR�����decl�arrow_congr_symmu_1u_2u_3u_4α₁β₁α₂��β₂��e₁��e₂��������������������Cl�symm����lC�(�arrow_congr��������	�^�symm����	��������������������rfl���������������������PInfo���ATTR�����ATTR�����decl�conj�������e���	�	���������arrow_congr..77		�PInfo���VMR��VMC��������decl��equations_eqn_1�����������b������	�����������������PInfo���ATTR�����EqnL��SEqnL��decl�conj_apply�������e�f��x	�C�=����������	�H�����������������	rfl7���PInfo���ATTR�����ATTR�����decl�conj_refl�������������conj..�8��������=����PInfo���ATTR�����ATTR�����decl�conj_symm�������e��d�E�����f�������conj7.	�i��������rfl7..7�	�
�PInfo���ATTR�����ATTR�����decl�conj_trans������������ue₁�Se₂�x���������conj.\	�������������conj7\	��������u���S���xrfl.\\.��#�PInfo���ATTR�����ATTR�����decl�conj_comp�������e�f₁��f₂����������...��777���������������������arrow_congr_comp...777			�PInfo���
ATTR�����decl�punit_equiv_punit_proof_1���upunit7���d���d_xpunit\punitstar7_x�dpunitstar\���d��7�o���d�h�j�g�PInfo���decl��_proof_2���u�f���f���f�j�h���f��\���\�f�j�h�i�PInfo���decl������v�d�f�7\�d�f�j�h�����������PInfo���VMR��_lambda_1VMR��_lambda_2VMR��VMC�����VMC�����VMC�������decl��equations_eqn_1����v����������������PInfo���ATTR�����EqnL��SEqnL��decl�arrow_punit_equiv_punit_proof_1u_1���αf��d�6��7�'�8	�du�ff	�gf��d�i������funext��7�8�d��x�r_x�d�e���f���g����d�i	���u���f���g���	�d�i�PInfo���decl��_proof_2�������u�f���f�{���������f�����������i�PInfo���decl������������7\���f����\���f�����i���f���g���������������PInfo���VMR��_lambda_1VMR��_lambda_2VMR��VMC�����VMC�������VMC���������decl��equations_eqn_1���������\\���������������������PInfo���ATTR�����EqnL��SEqnL��ATTR�����decl�punit_arrow_equiv_proof_1�u_1αf�punit.�6.���'���8��au��f���	punitstar.������funext.����8��	� 	x����.�m���
���� ������ 	(�
�	��	� ������ � �PInfo���decl��_proof_2�����u�� � � .�����(� .�PInfo���decl��������.���������������� ��� �����������PInfo���VMR��_lambda_1VMR��_lambda_2VMR��VMC�����VMC�������VMC���������decl��equations_eqn_1����������� 8������ F����� 8� K�PInfo���ATTR�����EqnL��SEqnL��ATTR�����decl�empty_arrow_equiv_punit_proof_1�u_1αf����6���'���8����u��e��emptyrec���f���	� ����� Sfunext����8����� bx��������� U�������� Z�������� 	(�PInfo���decl��_proof_2�����u�������������� �������� Z�������� � ��
��� `� ^� �PInfo��decl���������.� S������.� S���� S� �������� Z������������PInfo���VMR��_lambda_1VMR��_lambda_2VMR��VMC���VMC�	������VMC�������	decl��equations_eqn_1�������..�� ������� �����&� �� ��PInfo��ATTR����EqnL�SEqnL��ATTR�����decl�pempty_arrow_equiv_punit_proof_1�u_1u_2αf����n�'���8��e��u�����pemptyrec��� �f���	� ��� �funext�*�)���8������ �x���rec�*����� �������� ��������� 	(�PInfo�
�decl�_proof_2����u������ ������ ������� ��������� � �� �� �� �� �PInfo��decl�������*�).� ������+.� ����� �� ������� �� ��
��������PInfo��VMR�_lambda_1VMR�_lambda_2VMR�VMC���VMC����VMC�����decl�equations_eqn_1������+..�+�!�����!���5�!�!�PInfo��ATTR����EqnL�SEqnL�ATTR����decl�false_arrow_equiv_punit�u_1�!.������"���9�9.�!#� S��
�arrow_congr�9�9�����	�=Annotcalc
� �Annot�$�PInfo� �VMR� VMC� ��"���o�����decl� equations_eqn_1��!�"��!��<�;�!%� �<�;�!5�"��@�!%�!:�PInfo�&�ATTR����&EqnL�&SEqnL� ATTR���� decl�prod_congr_match_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3α₁�)β₁�*α₂�+β₂�,e₁��A�Ee₂��C�G_a�N�A�C�@�A�C�!Lp�N�E�Gprodmk�A�C� ��E�A�A�E�E�A��E�A� ��E�A� �symm�A�E� �Nfst�E�G��G�C�C�G�G�C��G�C��G�C�symm�C�G	�Nsnd�E�Gp�!Q�6�E�G��A�E�E�A�A�E�!F� ��A�E� �Nfst�A�C� ��C�G�G�C�C�G�!I��C�G	�Nsnd�A�C� �-�!B�.�!C�/�!D�0�!E�1�!H�2�!K�3�!Nprodcases_on�A�C�3�!Q�!O�!L� �4�!S�!V�S� �!Y�!Z�S�!^�S�!b�S�!g�!m�!n� �!r� �!v� �!{�;�!��!��!��!F�S�!��S�!��S� �!��!I� �!�� �!��S� fstsnd���!O�!L�S� �!��!��!��!��!��!�
��"���"�!��"�"�"�
�n�"�"��A�S�!�_a�S�n�!O�!L�_�S�!V�_�S�!Y�!Z� �_�!^� �_�!b�_� �!��!F�_� �!��_� 	�!m�!n�S�!r�S�!v�S�!��!I�S�!��S�"	�"�"�"?�"C���"�symm_apply_apply�A�E�S���"�!��"�"�
�n�"�"Z��C� �"_a� �n�"�"B�"?�"C�"�"B�"C���"�C�C�G� ��A�C�!��"Annot�;�PInfo�(�%
decl�(equations_eqn_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3�-�!B�.�!C�/�!D�0�!E�1�!H�2�!Kab���!��!��!��!X�"��(�G�H�I�J� 	�"�
��!��!X�!f�!��!z�!��"����"��!��"��"��"��
�n�"��"��"� �"��B� �n�!��!��!��!�	�!��!��!�	�!��!��"��"����"��"P� ���"��!��"��"��
�n�"��"��"_�"��D�n�!��"��"��"��!��"��"����"��"o	�"w�!��"�Annot�;�-�!B�.�!C�/�!D�0�!E�1�!H�2�!K�K�L��"���"��"��PInfo�F�%
ATTR����FEqnL�Fdecl�'_match_2_aux_param_0_aux_param_1_aux_param_2_aux_param_3�-�!D�.�!E�/�!B�0�!C�1�!Z�2�!n_a�!L	�!O�!L�;�!S�!V�!Y�"�"�!g� �!m�"-�"0	�!{� �4�#�!�� �!��!F� �!�� �7�P�N� �!��!��!I�!��9�Q�O	�!��-�!D�.�!E�/�!B�0�!C�1�#�2�#�R�#�!��R�#�!O�!N�;�!S� �!V�!Y�!Z�S�!^�S�!g�S� �!m�!n� �!r� �!{�S� �4�!N�!��S� �!��!F�S�!��S�#*�S�!��!��!I� �!�� �#:� �!��@�A���!R�#V�#]�#{�#i�#��#V
��#����#��!R�#��#��#��
�n�#��#��"�#�_a�n�!��!X�!Y�!Z�_� �!^�_� �!��!��_�!��_�#*�_� 	�!m�!n�S�!r�S�!��!��S�!��S�#:�S�!X	�!��!X�#��#����#��apply_symm_apply�����S���#��!R�#��#��
�n�#��#��"_�#�_a�n�!��#��#��#��!��#��#����#��T����� �"w�!Q�#�Annot�;�PInfo�M�%
decl�Mequations_eqn_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3�-�!D�.�!E�/�!B�0�!C�1�#�2�#ab���#R�#o�#��#�$�M�X�Y�Z�[� 	�$
��#R�#�#�#.�#�#>�$���$/�#R�$�$,�$�
�n�$/�$4�"�$)�S�n�!R�#V�#]�#{	�#i�#��#V	�!R�#V�$?�$C���$/�#�� ���$4�#R�$�$�
�n�$4�$Y�"_�$,�U�n�!R�$B�$?�$C�!R�$B�$C���$4�#�	�"w�!N�$Annot�;�-�!D�.�!E�/�!B�0�!C�1�#�2�#�\�]��$��$�$&�PInfo�W�%
ATTR����WEqnL�Wdecl�prod_congr_proof_1u_1u_2u_3u_4�-�	��.�	��/�b�0�c�1��`���2��a��_x�N�����@�����$��4�N�����6����� ������������������� ������ �7����� �8����������������������������9����	�:�����;�$��6������������������$�� ������ �<����� ��������������$������	�=����� �-�	��.�	��/�$��0�$��1�$��2�$��d�$��(��������	�PInfo�_�%
decl�^_proof_2�`�a�b�c�-�	��.�	��/�$��0�$��1�$��2�$�_x�$�	�@�����$��$��$��-�	��.�	��/�$��0�$��1�$��2�$��f�%
�M��������	�PInfo�e�%
decl�^�`�a�b�c�-�	��.�	��/�$��0�$��1�$��2�$�����������$��%
�-�	��.�	��/�$��0�$��1�$��2�$�������$��%
�;�$��$��$��$��$�	�$��$��$��$��$��4�%
�$��$��$��$��$�	�$��$��$��$��$��$��_�`�a�b�c	�e�`�a�b�c	�PInfo�^�%
VMR�^_lambda_1VMR�^_lambda_2VMR�^VMC�g�&�;��_fresh4�:8��_fresh4�:7



VMC�h�&�4�k�n
�}

�}
VMC�^�%
�2�1�0�/�.�-�g�hdecl�^equations_eqn_1�`�a�b�c�-�	��.�	��/�$��0�$��1�$��2�$���`�a�b�c���%)�^������	�%��-�	��.�	��/�$��0�$��1�$��2�$���
�%)�%��PInfo�p�%
ATTR����pEqnL�pSEqnL�^ATTR�G���^decl�prod_congr_applyu_1u_2u_3u_4α₁�	�β₁�	�α₂�$�β₂�$�e₁�$�e₂�$�ab�%�$���r�s�t�u����%'�$�� �%�����%��%��%�� 	�$��$��$��$��v�	��w�	��x�$��y�$��z�$��{�$��|�}rfl���%��%��PInfo�q�*ATTR����qATTR����qdecl�prod_comm_match_1_aux_param_0_aux_param_1α�!Bβ�!C_a�!L�!O�!L	p�N����	�!V	�Nsnd��	�Nfst��	p�%��6��	�!�	�!�	���!B���!C���%��!�	���%��!O�#���%�	�!V�%��%����#�%��!��!��@	�A	���#���%��#�%��%����#�%��#A�#1�%��&.rfl���#�&.�PInfo���.decl��equations_eqn_1_aux_param_0_aux_param_1���!B���!Cab���%��&�&�%��&=������	�&=�&2�#�&?���!B���!C������&A��&A�&F�PInfo���.ATTR�����EqnL��decl�_match_2_aux_param_0_aux_param_1���!C���!B_a�!L�!O�%�	���%��!V	�&	�&	���&Y�&		�!�	�!�	���!C���!B���&X�!�	���&Y�!O�%����&	�%��&�&!���&x�&&�%��%��@�A���!O�#���%��%��%��%����&��%��&�&�&{�&��&2�&��&��PInfo���.decl��equations_eqn_1_aux_param_0_aux_param_1���!C���!Bab	���&y�&��&��&]�&�������	�&��&2�&x�&����!C���!B����	��&���&��&��PInfo���.ATTR�����EqnL��decl�prod_comm_proof_1u_1u_2���	����	�_x�$��$��$�	���N����	�$�	���%�&	���%�&	���&��6�%�&	�$�	�$�	���	����	����&����&�%	�PInfo���.decl��_proof_2�������	����	�_x�&��@�%�&�&��&��&����	����	����'���%�&	�PInfo���.decl���������	����	���&�%�+�*�&��'���	����	���,�-�&��'���&��&�	�$�	�$�	���'�$�	�&�	�&�	�������������PInfo���.VMR��_lambda_1VMR��VMC���/��

VMC���.��������decl��equations_eqn_1�������	����	���,�-�-�,�'�������'<���	����	���5�'�'C�PInfo���.ATTR�����EqnL��SEqnL��ATTR�����decl�prod_assoc_match_1_aux_param_0_aux_param_1_aux_param_2α�!Bβ�!Cγ�!D_a�N�������%��@�8�9�;�'M�#p�N�8�9�;�N�9�;	�>mk�8�9�;�#	�%��Nfst�8�9�;�'V	�Nfst�9�;	�Nsnd�8�9�;�'`�Nsnd�9�;	�'jp�'R���8�9�;�'`�&�Nfst�8�9�;�#	���9�;	�&�'z�Nsnd�8�9�;�#	���!B���!C���!D���'O�?�8�9�;�#���'R�'P�'M�#	���'T�'`�'Z�!N�#�']�'V�'d�'g�'��'n�'����'��'t�'��#0�'w�!N�'}�#@�'��'��!N�@�#�A	�!��@�!N�'P�'M�!Q���'T�'V�'Z�!��!X�']� �'V�'d�'g� �'��'n�'����'��'t� �'��!��'w�!��'}�!��'��'��!��'Z�!Q�'�fst_fstfst_snd���'P�'M�!����'T� �'��'Z�!��!��']�S�'V� �'d� �'g�S�(	�'n� �(���(�'t�S�(	�!��'w�!��'}� �!��(�'��!��'Z
�!�Annotinnaccessible�"�	�(1rfl�8�9�;�(�(1�PInfo���1decl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2���!B���!C���!Da	b	c	���'P�'M�!N���'T�'��'��#V�']�'��'d�'g�'��'n�(P���(D�'t�'��#}�'w�!Q�'}�#��(]�'��!Q�'��#	�(m���������(m�(5�(D�(o���!B���!C���!D��	��	��	��(q��(q�(w�PInfo���1ATTR�����EqnL��decl��_match_2_aux_param_0_aux_param_1_aux_param_2���!B���!C���!D_a�'T	�'V�@�������'Y�'��'s���!B���!C���!D���(��?�O�Q�R�'X���'Y�(��'��'��'��@�A�'`�?�Q�R�A�'��(��'��'��'��(Z	�(�snd_fstsnd_snd���(��(�(*�(�'�
�'�Annot���'��(�rfl�O�Q�R�(�(��PInfo���1decl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2���!B���!C���!Da	b	c	���(��(G�(i�(X�'�	�'��(����������(��(��(G�(����!B���!C���!D��	��	��	��(���(��(��PInfo���1ATTR�����EqnL��decl�prod_assoc_proof_1u_1u_2u_3���	����	����$�_x�N�������&��@�^�_�a�(��$�	���N�^�_�a�N�_�a	���^�_�a�$�	�$����^�_�a�(�	���_�a	���^�_�a�)���_�a	�)���(����^�_�a�)�$����^�_�a�)	���_�a	�$��)$���^�_�a�)	���	����	����$����(����^�_�a	�PInfo���1decl��_proof_2���������	����	����$�_x�(�	�(��@�^�_�a�(��)4�)���	����	����$����)I���^�_�a	�PInfo���1decl�����������	����	����$���`�a�^�_�a�(��)I���	����	����$���s�w�(��)I���(��)�(��&��)!�(��)'	�&��)j�).�(����)I�(��(��&��)�(��)	�)�(��)	�)���������	��������	�PInfo���1VMR��_lambda_1VMR��_lambda_2VMR��VMC���2��




VMC���2��




VMC���1����������decl��equations_eqn_1���������	����	����$���s�w�w�s�)_��������	�)����	����	����$�����)_�)��PInfo���1ATTR�����EqnL��SEqnL��ATTR�����decl�prod_assoc_applyu_1u_2u_3α�	�β�	�γ�$�p�(��)K��������������������)]�(��(�������(��(��)�	�)u���	����	����$����(�rfl�������(��)��PInfo���4ATTR�����ATTR�����decl�prod_punit_match_1_aux_param_0�α�!B_a�N��.punit.�@��.�)��)�a�6��.	�)�punitstar��p�)��Nfst��.	�)����!B���)��?��.�)����)��)��)�	�)���	�)��)��)����)��)��)��@�A�)������A�)��)��)��)����)��)��)����)��)��)��)��)�	�*���)��)��)����*�)����*
�)��)��)�
�)�Annot���)��*rfl�����*
�*�PInfo���8decl��equations_eqn_1_aux_param_0����!B_x���)��)��)��)��)��)��*,������*,�*�)��*.���!B����*0��*0�*4�PInfo���8ATTR�����EqnL��decl�prod_punit_proof_1�u_1���	�_x�N��.�)��@�����*A�)����6����	�)��)����*F������	�)����	����*C�������PInfo���8decl��_proof_2������	�a�
��*R�*M�*`���	���rfl���*`�PInfo���8decl��������	���������*C���	�������*C���*C�*N�)����*H�)��)������������PInfo���8VMR��_lambda_1VMR��_lambda_2VMR��VMC���9��
VMC��9��VMC���8�����decl��equations_eqn_1������	�����*l������*����	�����*l�*��PInfo��8ATTR����EqnL�SEqnL��ATTR�����decl�prod_punit_apply�u_1α�	�a�*C�*^��.���*j�*F������*F�*��*s��	���*C�*f�*��PInfo��;ATTR����ATTR����decl�punit_prod�u_1α�	��.����N.���)��	�	�������.���*��*C
�prod_comm.���)�Annot�$
�*�Annot�$�PInfo��=VMR�VMC�
�=�	������decl�equations_eqn_1���	�	�����*�������*��	�	�����*��*��PInfo��=ATTR����EqnL�SEqnL�ATTR����decl�punit_prod_apply�u_1α�	�a�*��*^�.����*��*�������*��*��Nsnd.���)���	���*��*f�*��PInfo�
�AATTR����
ATTR����
decl�prod_empty_match_1_aux_param_0α�!B_a�N�������!B��*��?������*������@�A����e�������*��PInfo��Cdecl�equations_eqn_1_aux_param_0��!B_x���������	����	���*���!B�����������*��PInfo��CATTR����EqnL�decl�prod_empty_proof_1u_1��	�_x�N�������	���+����PInfo��Cdecl����	�����+����	��equiv_empty���+���PInfo��CVMR�VMC��C���decl�equations_eqn_1���	��9�+���+��	����+�+�PInfo�"�CATTR����"EqnL�"SEqnL�ATTR����decl�empty_prod_match_1_aux_param_0α�!B_a�N�%�����&�!B�'�+!�?�����'�+ ���@���A	���*��*��PInfo�$�Fdecl�$equations_eqn_1_aux_param_0�&�!Be��_x�*��$�*	������	�+-�&�!B�+���,�*��*��+;�PInfo�)�FATTR����)EqnL�)decl�empty_prod_proof_1u_1�&�	�_x�N�/�����&�	��0�+H�$���PInfo�.�Fdecl�-�/�&�	�����+H���&�	��equiv_empty���+H�.�/�PInfo�-�FVMR�-VMC�-�F�&��decl�-equations_eqn_1�/�&�	�����+R�-�/�+X�&�	�����+R�+]�PInfo�3�FATTR����3EqnL�3SEqnL�-ATTR����-decl�prod_pempty_match_1_aux_param_0_aux_param_1α�!B_a�&Wpempty�7���8�!B�9�+f�&v�+e�9�%��+e���@�A�+e��e�+e���:rec���+n�PInfo�5�Idecl�5equations_eqn_1_aux_param_0_aux_param_1�8�!C_x�;�:�?�*��5�@��	�%��+z�<���;�+z���8�!C�A�;�+z�*��*��+��PInfo�>�IATTR����>EqnL�>decl�prod_pempty_proof_1u_1u_2�8�	�_x�$��:�E���8�	��F�+��5�D���PInfo�C�Idecl�B�D�Eu_3�8�	�������G�+�pempty���8�	��equiv_pempty�����+��C�D�E�PInfo�B�IVMR�BVMC�B�I�8��decl�Bequations_eqn_1�D�E�G�8�	�����������+��B�D�E�G�+��8�	�����+��+��PInfo�K�IATTR����KEqnL�KSEqnL�BATTR����Bdecl�pempty_prod_match_1_aux_param_0_aux_param_1α�!C_a�!L�+z���P�!C�Q�+��!��+z�Q�+����@�+z�A	���+��+��PInfo�M�Ldecl�Mequations_eqn_1_aux_param_0_aux_param_1�P�!Ce�+z_x�*��M�T�U	�!V�+z	�+��P�!C�V�+z�W�*��*��+��PInfo�S�LATTR����SEqnL�Sdecl�pempty_prod_proof_1u_1u_2�P�	�_x�&��+����P�	��\�+��M�[�Z�PInfo�Y�Ldecl�X�Z�[u_3�P�	�������]�+��+��P�	��equiv_pempty�����+��Y�Z�[�PInfo�X�LVMR�XVMC�X�L�P��decl�Xequations_eqn_1�Z�[�]�P�	�����������+��X�Z�[�]�+��P�	�����+��+��PInfo�`�LATTR����`EqnL�`SEqnL�XATTR����Xdecl�psum_equiv_sum_proof_1u_1u_2α�	�β�	�spsum�c�d�g�+�	�@�����+�	ssum����	sumcases_on�����_x�+��+�psuminl����psuminr����s�+�psumcases_on������_x�+��+�suminl�����vinr�����e�	��f�	��g�+�psumcases_on����	�,'�g	���+��,�,"�,	�g�,2�,�,"�,	�PInfo�b�Rdecl�a_proof_2�c�d�e�	��f�	�s�+��|�+�	�$��+��,"�,�e�	��f�	��|�,G�vcases_on����	�,O�|	����+��,"�,�,	�|�,Z�,"�,�,	�PInfo�{�Rdecl�a�c�d�e�	��f�	������+��,G�e�	��f�	������+��,G�r�+��,	�u�+��+��,	�,	�i�,G�+�	�m�,I�+��,	�,	�b�c�d�{�c�d�PInfo�a�RVMR�a_lambda_1VMR�a_lambda_2VMR�aVMC�~
�S�r	VMC�
�T�r	VMC�a�R�f�e�~�decl�aequations_eqn_1�c�d�e�	��f�	��+��,p�a�c�d�,��e�	��f�	��,1�,p�,��PInfo���RATTR�����EqnL��SEqnL�adecl�sum_congr_match_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3α₁�!Bβ₁�!Cα₂�!Dβ₂�!Ef₁�	f₂�,�_a�j�����j�������!B���!C���!D���!E���,����,����,��}�	�
�����,��,�val��	�
�,��w�	�
�$val�,��x�	�
(�PInfo���Xdecl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!D���!E���!B���!C���,����,�a₁�!O�,�����������	�,��w��(���!D���!E���!B���!C���,����,����"w�,������,��,��PInfo���XATTR�����EqnL��decl��equations_eqn_2_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!D���!E���!B���!C���,����,�b₁�,��,��,��x���������!D���!E���!B���!C���,����,����,��,��,��PInfo���XATTR�����EqnL��decl��_match_2_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!D���!E���!B���!Cg₁�g₂�-_a�,�	�,����!D���!E���!B���!C���-���-���-�,����,��,�� ���,��-%�,�� �$���-)�,�� (�PInfo���Xdecl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!B���!C���!D���!E���-���-a₂�!O�,�����������	�,��,�(���!B���!C���!D���!E���-���-���"w�,��,��,��-H�PInfo���XATTR�����EqnL��decl��equations_eqn_2_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!B���!C���!D���!E���-���-b₂	�-=�-D�,��-�����!B���!C���!D���!E���-���-��	�-U�-V�-c�PInfo���XATTR�����EqnL��decl��_match_3_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!B���!C���!D���!E���,����	l₁������������ l₂������ _a�,��_�S�!O�,��\�_s�,��S� �->�c�\�_�Ss�-�����"� �$�c�\�_�S� ���!B���!C���!D���!E���,����-y���-~���-���-����-����-��}��"�\�_���-��!O�,��c�\���,��_�S�->�i�c�\�_� ���-��-��i�c�\�_�S���\���-��,��c�\� �-�congr_arg���"�c�-��-��-������_���-��-�c�\�-�congr_arg�"��"�\�-��-��-�(�PInfo���Xdecl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!B���!C���!D���!E���,����-y���-~���-���-����-�a�_���-��-��-��,��\�_�-������������\�_�S� 	�-��-��\�-��-��-����!B���!C���!D���!E���,����-y���-~���-���-����-����_��.��.�.�PInfo���XATTR�����EqnL��decl��equations_eqn_2_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!B���!C���!D���!E���,����-y���-~���-���-����-�a�S���-��-��-��-�\�_�.7�.�.7�-��_�-��b�.6�����!B���!C���!D���!E���,����-y���-~���-���-����-����S��.;��.;�.=�PInfo���XATTR�����EqnL��decl��_match_4_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!D���!E���!B���!C���,����-yr₁��������-���-�r₂������ _a�,�� �!O�,��S� ���,��\�_�,��c�\�_�S� ���.m���4�8�2�6�c�\�_�S���!D���!E���!B���!C���,����-y���.d���-���-����.i���.k�-��S� ���.m�!O�-����,��c�\�,��i�c�\�_�S���-��.y�i�c�\�_� ���S���.��,��_�S� �.�.��-��_�-��.��.������ ���.��-�_�S�$�.��-��S�-��.��.�(�PInfo���Xdecl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!D���!E���!B���!C���,����-y���.d���-���-����.ia� ���.n�.x�.��,��S� �.������������\�_�S� 	�.��-��S�.m���.��-����!D���!E���!B���!C���,����-y���.d���-���-����.i��� ��.���.��.��PInfo���XATTR�����EqnL��decl��equations_eqn_2_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!D���!E���!B���!C���,����-y���.d���-���-����.ia���.n�.x�.��-�S� �/�.��/�-�� �.m(�/�����!D���!E���!B���!C���,����-y���.d���-���-����.i����/��/�/�PInfo���XATTR�����EqnL��decl��_main_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!B���!D���!C���!E��������������>�B�@�D�j�>�B�j�@�D	���!B���!D���!C���!E��/>��/A��>�B�@�D�@�D�>�B�>�@��/<�/B�/C�/Ga_to_fun�-a_inv_fun�-�a_left_inv��>�@� a_right_inv��>�@�S	��>�B�@�D�@�D�>�B�B�D�S��/?�S�/B�/C�\�_�/G�S� a_to_fun_1��a_inv_fun_1�� �\a_left_inv_1��B�D�\�Sa_right_inv_1��B�D�c�_	��>�B�@�D�@�D�>�B�/B�/C�"�i�/G�c�\��>�B�@�D�/��/����/����>�B�@�D�o�"�i�c�S���/����@�D�>�B�o�"�i�c� s�/����>�B�@�D�o�"�i�c�S� 	s�/����@�D�>�B�o�"�i�c�S� �PInfo���XVMR��_lambda_1VMR��_lambda_2VMR��VMC���Z����_fresh7���_fresh7�	VMC���[����_fresh7���_fresh7�	VMC��
�X������������	��decl��_proof_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!B���!C���!D���!E���,����-y���-~���-���-����-����-��-����!B���!C���!D���!E���,����-y���-~���-���-����-����-��.�PInfo��Xdecl��_proof_2_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!D���!E���!B���!C���,����-y���.d���-���-����.i���.k�.����!D���!E���!B���!C���,����-y���.d���-���-����.i���.k�.��PInfo��Xdecl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2_aux_param_3���!B���!D���!C���!E���,����-y���/_���/d	�������S���/x�S���/}�_� 	��������������/B�/C�c�\�/G�_�S�����������c�\�_�S������c�_� ������\�S	�/��0�0���0�/��i�c�\�_�S���0�/��i�c�\�_� ����������c�\�_�S� 	����������c�\�_�S� 	���!B���!D���!C���!E���,����-y���/����0���0���0���0	���0
������������������0�������������������0�0*�PInfo�
�XATTR����
EqnL�
decl�sum_congru_1u_2u_3u_4���	����	����$����$���$���$��%'�,�j��	���	����	����$����$���������	�PInfo��XVMR�VMC��X����������decl�equations_eqn_1�������	����	����$����$����,����-y������������	���0���0������S��������_� 	�%��%'�+��c�\�0x�_�S����������c�\�_�S������c�_� ������\�S	�%0�0��0����0������������i�c�\�_�S���0������������i�c�\�_� ����������c�\�_�S� 	����������c�\�_�S� 	���	����	����$����$���equations_eqn_1��������	�PInfo��XATTR����EqnL�decl�_sunfold�����0����	����	����$����$���$���$������������������������$��%'�+��0x���-���-����0�� ���0��S	����������������������S��$��S�%'�+��\�_�0x�S� �������/w���0��\�S���0��c�_	������������������%'�+��"�i�0x�c�\�%0�1.�11���1.�0��o�"�i�c�S���11�0��o�"�i�c� ���1.�����������o�"�i�c�S� 	���11�����������o�"�i�c�S� �PInfo��Xdecl�sum_congr_apply_inlu_1u_2u_3u_4α₁�	�β₁�	�α₂�$�β₂�$�e₁�$�e₂�$�a�%�1	�%��1
�%��1�1	�0�	�,�w�� �%;�!�	��"�	��#�$��$�$��%�$��&�$��'����%�%6�%�0x�%��%'�+�� �1��%��1��1��0�� 	�,� �1��$�	e₁_to_fun�0e₁_inv_fun�0e₁_left_inv�0��Se₁_right_inv�0��_� 	����_� �&�$��_� �%�0��%��0��%��0��0��0��0�	�,�c�\�1��_�S�$��$��c�_�$��c�_�1�e₂_to_fun�=�_�Se₂_inv_fun��S�ce₂_left_inv�0��c�_e₂_right_inv�0��i�\	����0x�i�c�%��%'�+��o�"�1��%��1��1��0��o�"�i�c�0��o�i� �0��"�c	�,�o�"�S�PInfo��_ATTR����decl�sum_congr_apply_inru_1u_2u_3u_4α₁�	�β₁�	�α₂�$�β₂�$�e₁�$�e₂�$�b�1u�1��,�x�3�4�%G�5�	��6�	��7�$��8�$��9�$��:�$��;�1��9�%6�1��1��,� �2'�$�	e₁_to_fun�0e₁_inv_fun�0e₁_left_inv�1�e₁_right_inv�1��1��:�1��1��1��,�c�\�2'�_�S�$��$��\�S�$��\�Se₂_to_fun�1�e₂_inv_fun�1�e₂_left_inv�1�e₂_right_inv�1��1��2�,�o�"�S�PInfo�0�cATTR����0decl�sum_congr_symm�α�β�γ�δ�e�	f�	x�j..	��2n���2n�2r��2u�2r���2r�2uequivsum_congr....	�2{�2~��	���E��F��G��H��I�2k�J�2m�K�2p�.��I���2n� ���2r�2���2r�2����2��2r�2~� 	�2��2�� ��� ��		e_to_fun��e_inv_fun��e_left_inv����S� e_right_inv����_�S	�2��S� �J��S� ��2n�c�_���2n�\�S�2���2��2����2��2��2~�c�_�\�S����c�\	�2��2~�\�S�c�_���c�\�2����_�Sf_to_fun�[f_inv_fun�]f_left_inv�2��\�_f_right_inv�2��c�\	�}..�"�c�K�2n�"�c��2n���"���2n�o�i�3��3�3���3�3�2~���"�o�i�2����o�S� �2��"�i	�3�2~�o�i���"�����o�3*���"�i�31�S�K�"�
�3�34�w..�o�i�K�c�3I�34�x..�o�i�PInfo�D�gATTR����Ddecl�bool_equiv_punit_sum_punit_proof_1��b�g�X�g��gs�j.7�)�punit7sumrec_on.7�)��3n_x�3o�g_x�)��w_x�3n��b�gcond.7�3o�x.7�)��3npunitstar��w.7�)��3n�)��X�gboolcases_on�3���g�3z�3��w�3��3z�3����PInfo�W�kdecl�V_proof_2��s�3o�g�3o�@.7�3o�3��3z�g�3o�}.7�)��3n�3��g�)��)��g�)��3��3��3z�3��3��� �3o�3��3z�3��g�3n����g�3n�3��3��3z�3��3��3��3��3z�3��PInfo�f�kdecl�V���� �g�3o�� �g�3o�3��3z�W���f���PInfo�V�kVMR�V_lambda_1VMR�V_lambda_2VMR�VVMC�h�l�`�g	VMC�i�m�Y	VMC�V�k�h�idecl�Vequations_eqn_1���� � �3��V���3���(�3��3��PInfo�k�kATTR����kEqnL�kSEqnL�Vdecl�Prop_equiv_bool_proof_1p�m�nb�gcoe_sort�gcoe_sort_boolp�mclassicalprop_decidable�n�m���3���
�n�3����3��

��3��n�3��%�m�%�me_1�P�'�m�'�me_2�P�S�n�n	�[�'�m�m�n�3����3��3�boolof_to_bool_iff�3������3��3�eq_iff_iff���3��iff_self���PInfo�m�qdecl�l_proof_2b�g�3k�3��3��|�g���47��
�n�47���47�3k��%�g�%�ge_1�3k�'�g�'�ge_2�4D�Q�g�m�3k�3k	�Z�g�'�g�m�3k�45�wto_bool_coe�3��44�3����4@��2�g���PInfo�{�qncomp�ldecl�l��m�g��,�m�g�3��3��m�{�PInfo�l�qdecl�lequations_eqn_1��4u�l�4~��4u�4��PInfo���qATTR�����EqnL��SEqnL�ldecl�sum_comm_match_1_aux_param_0_aux_param_1α�!Bβ�!C_a�,��j����	���!B���!C���4��}�-�.�.�-	���,�	�4�	��	��-�.�4��x�-�.	���4��w�-�.	�PInfo���udecl��equations_eqn_1_aux_param_0_aux_param_1���!C���!Ba�!O�4�	������	�4��-	���!C���!B���"w�4��,��4��4��PInfo���uATTR�����EqnL��decl��equations_eqn_2_aux_param_0_aux_param_1���!C���!Bb�4��4��4��,�	���!C���!B���4��4��4��PInfo���uATTR�����EqnL��decl��_match_2_aux_param_0_aux_param_1���!C���!B_a�,��4����!C���!B���4��4�	���4��4�	���4��4��4�	��	�4��4�	�PInfo���udecl��equations_eqn_1_aux_param_0_aux_param_1���!B���!Cb�!O�4�������	�4�	�-	���!B���!C���"w�4��,��4��4��PInfo���uATTR�����EqnL��decl��equations_eqn_2_aux_param_0_aux_param_1���!B���!Ca�4��4��4�	�,�	���!B���!C���4��4��5�PInfo���uATTR�����EqnL��decl�sum_comm_proof_1u_1u_2���	����	�s�,G���,I�,Js�j����	���9�:s�+����:�9���	����	����,G�,V�5'��	�,Z�5�5"�,]���,Z�5�5"�,e�PInfo���udecl��_proof_2�������	����	�s�5���5	�'�5�5"�5���	����	����5<�}�9�:	�5D����9�:�5�5"�5�w�9�:	��	�5O�5"�5�x�9�:	�PInfo���udecl���������	����	��'�,G�5<���	����	��'�,G�5<���,G�5	���5<�5	�������������PInfo���uVMR��_lambda_1VMR��VMC��
�v��	VMC���u��������decl��equations_eqn_1�������	����	��'?�5f�������5|���	����	��'H�5f�5��PInfo���uATTR�����EqnL��SEqnL��ATTR�����decl�sum_assoc_match_1_aux_param_0_aux_param_1_aux_param_2α�!Bβ�!Cγ�!D_a�j�������4��j�D�E�G�j�E�G	���!B���!C���!D���5��}�D�E�G�D�E�G�-���5��-�5��5�	���-�}�D�E�G�D�E���,��5��5�����D�E�G�5��w�D�E�G�5����5��x�D�E�G�5��w�E�G���5��5��5��5��x�E�G	�PInfo���{decl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2���!B���!C���!Da	�(��5���������	�w�X�Y�Z�-�,�	�5��5����!B���!C���!D��	��X�Y�Z�5����X�Y�Z�5��5��PInfo���{ATTR�����EqnL��decl��equations_eqn_2_aux_param_0_aux_param_1_aux_param_2���!B���!C���!Db�5��5��5��-	�5��5��5�	���!B���!C���!D���5��5��5��PInfo���{ATTR�����EqnL��decl��equations_eqn_3_aux_param_0_aux_param_1_aux_param_2���!B���!C���!Dc�5��5��x�������-�5��5�	���!B���!C���!D���5��5��6�PInfo���{ATTR�����EqnL��decl��_match_2_aux_param_0_aux_param_1_aux_param_2���!B���!C���!D_a�5�	�5��5����!B���!C���!D���6"�}�������h�i�l�5����5��5��,�	����h�i�l�6+�5��,�	�,����5��}�h�i�l�i�l	���5��5��,����6/�6<�5��,��-��	�6@�6
�,��PInfo���{decl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2���!B���!C���!Da	�'P�5���������	�5��5����!B���!C���!D��	��x�y�z�5����x�y�z�5��6[�PInfo���{ATTR�����EqnL��decl��equations_eqn_2_aux_param_0_aux_param_1_aux_param_2���!B���!C���!Db�6V�6Z�5��5����!B���!C���!D���6c�6e�6l�PInfo���{ATTR�����EqnL��decl��equations_eqn_3_aux_param_0_aux_param_1_aux_param_2���!B���!C���!Dc�6V�6Z�6�6
���!B���!C���!D���6c�6e�6y�PInfo���{ATTR�����EqnL��decl�sum_assoc_proof_1u_1u_2u_3���	����	����$�s�j�������,I���6��+��(��6��,	s�j�������j����	��������s�6������������	����	����$����6��}�����+��6����+��,T���,�(��6��,���6��6��6����6��6��w�����,�6���������6��6��6��6��,���6��6��6��6��,���6��6��6��6��x�����,	�PInfo���{decl��_proof_2���������	����	����$�s�6�	�6����6��6�	�)J�6��6��6����	����	����$����6��}�����6��6���������6��6��6��w�����6����6��}����	���6��)J�6��6��6��x�����6��7���7	�6��6��6��7�w������	�7#�6��6��7�x�����PInfo���{decl�����������	����	����$��)]�6��6����	����	����$��)c�6��6����6��6�	���6��6�	��������	��������	�PInfo���{VMR��_lambda_1VMR��_lambda_2VMR��VMC���|��		VMC���}��			VMC���{����������decl��equations_eqn_1���������	����	����$��)��7?��������	�7Z���	����	����$��)��7?�7b�PInfo���{ATTR�����EqnL��SEqnL��ATTR�����decl�sum_assoc_apply_in1u_1u_2u_3α�	�β�	�γ�$�a	�)J�6��)��)]�6��6��)��6��6��7_	�6��+��,]�7�6����	����	����$���	�)��6��7{�PInfo����ATTR�����ATTR�����decl�sum_assoc_apply_in2u_1u_2u_3α�	�β�	�γ�$�b�7m�7w�7y�,e�7�6��7$	���	����	����$����7��7��PInfo����ATTR�����ATTR�����decl�sum_assoc_apply_in3u_1u_2u_3α�	�β�	�γ�$�c�7m�7w�6��+��7��7.	��	���	���$���7��7��PInfo����ATTR�����ATTR�����decl�sum_empty_match_1_aux_param_0α�!B_a�j�����!B�	�7��}�������	�7���	�����	�����7�_x��emptyrec���7��PInfo���decl�equations_eqn_1_aux_param_0��!Ba������w������!B���������7��PInfo���ATTR����EqnL�decl�equations_eqn_2_aux_param_0��!Be���7��7��x����7��
��	��!B����7��7��7��PInfo���ATTR����EqnL�decl�sum_empty_proof_1u_1��	�s�j�����7����9�7�	���w��	��s�7������	���7��}�����8����7��7��8�7����emptycases_on����9�7����7�����8�7��x�����8"�PInfo���decl�_proof_2���	�a�*^��7��7�	�7����84��	���*f�84�PInfo���decl����	�������7���	�������7���7��7��7��������PInfo���VMR�_lambda_1VMR�_lambda_2VMR�VMC����VMC�����VMC������decl�equations_eqn_1���	��9�8>���8O��	����8>�8S�PInfo�!��ATTR����!EqnL�!SEqnL�ATTR����decl�empty_sumu_1α�	���#���j�����$�	��trans�������8]�7��sum_comm�����8S�PInfo�"��VMR�"VMC�"
���$�����decl�"equations_eqn_1�#�$�	��+Z�8_�"�#�8i�$�	��+a�8_�8m�PInfo�(��ATTR����(EqnL�(SEqnL�"ATTR����"decl�sum_pempty_match_1_aux_param_0_aux_param_1α�!B_a�4��+e�-�!B�.�8t�}�+���,�+e�.�4��+e	�7����+e�7�_x�+epemptyrec�����8�PInfo�*��decl�*equations_eqn_1_aux_param_0_aux_param_1�-�!Ba�7��*�4�5�4��+e�-�!B�6�7��7��8��PInfo�3��ATTR����3EqnL�3decl�*equations_eqn_2_aux_param_0_aux_param_1�-�!Ce�+z��:�*���9�5�+z�1�����/�+z	�-�!C�;�+z��������8��PInfo�8��ATTR����8EqnL�8decl�sum_pempty_proof_1u_1u_2�-�	�s�+��+��@�,F�+��$��,H�+��,{�+�s�8��*�>�?�-�	��@�8��,T�+��8��@�,Y�8��8��8��8��@�+�pemptycases_on���@�+��$��+��+��,[�+��A�8��8��,c�+��8��PInfo�=��decl�<_proof_2�>�?�-�	�a�*^�A�8��8�	�,�+��8��-�	��E�*f�8��PInfo�D��decl�<�>�?�-�	���������8��-�	�������8��A�8��8��,�+��=�>�?�D�>�?�PInfo�<��VMR�<_lambda_1VMR�<_lambda_2VMR�<VMC�F���AVMC�G����VMC�<���-�F�Gdecl�<equations_eqn_1�>�?�-�	��+��8��<�>�?�9�-�	��,1�8��9�PInfo�I��ATTR����IEqnL�ISEqnL�<ATTR����<decl�pempty_sumu_1u_2α�	���L�K���5�+��M�	��trans���������9
�8��sum_comm�����+��9�PInfo�J��VMR�JVMC�J
���M�<����decl�Jequations_eqn_1�K�L�M�	���L�K�9�J�����9�M�	�����9�9�PInfo�Q��ATTR����QEqnL�QSEqnL�JATTR����Jdecl�option_equiv_sum_punit_match_1_aux_param_0�α�!B_aoption�T�j��.�)��U�!B�V�9'optioncases_on��.���V�9&�9(	�)�������9*�x��.�)��)�val�95�91�w��.	�)��PInfo�S��decl�Sequations_eqn_1_aux_param_0��U�!B�)��9(�)��S�]����97�)��)��U�!B������9H�������9H�9N�PInfo�\��ATTR����\EqnL�\decl�Sequations_eqn_2_aux_param_0��U�!Ba�)��9*�9J�`�9>�)��U�!B�a�9U�9*�9W�9*�9a�PInfo�_��ATTR����_EqnL�_decl�R_match_2_aux_param_0��U�!B_a�9H�9/�U�!B�d�9H�}�c��.�)��d�9*�9&	���7��9t�9^	���)��9x�9L	�PInfo�b��decl�bequations_eqn_1_aux_param_0��U�!Ba�7��9/�b�g��9e�9`�U�!B�h�7��9/�7��9/�9��PInfo�f��ATTR����fEqnL�fdecl�bequations_eqn_2_aux_param_0��U�!B_x�)��9��9��99�9L�U�!B�l�)��9��9��9��PInfo�j��ATTR����jEqnL�jdecl�option_equiv_sum_punit_proof_1�u_1�U�	�o�W�o�p�9��
��9�	s�j��.	�)��b����o�9��S�����U�	��p�9��Y���9��
��9��q�9��)��9�	�r�9��9�	�Xnone���p�
��9��9��9��Xsome��	�PInfo�n��decl�m_proof_2��o�U�	�s�9��)��v�9��*D�9��9��9��U�	��v�9��}��.�)��9��v���.�9��9��9��w����	�)��v�)��)��v�)��*D�9��)��r�9��9��q�9��9��x�����)��9��9��9��9��9�	�)��)��PInfo�u��decl�m��o�U�	�������9��9��U�	�������9��9��r�9��9��q�9��9��n��o�u��o�PInfo�m��VMR�m_lambda_1VMR�m_lambda_2VMR�mVMC�w	���r	VMC�x	���q	VMC�m���U�w�xdecl�mequations_eqn_1��o�U�	��*��:�m��o�:"�U�	��*��:�:&�PInfo�z��ATTR����zEqnL�zSEqnL�mATTR����mdecl�sum_equiv_sigma_bool_match_1_aux_param_0α�!Bβ�!B_a�j�}��sigma���gb�gcond���!B	�~�!B��!B���:/�}������	���:-	�:1���g�:4��	������:Dsigmamk���g�:C�����:I�:L�w�PInfo�|��decl�|equations_eqn_1_aux_param_0�~�!B��!Ba����:8�|��	�w����	�:K�:7���~�!B��!B��������:8�������:8�:c�PInfo����ATTR�����EqnL��decl�|equations_eqn_2_aux_param_0�~�!B��!Bb�:[�:^�x����	�:e�w�~�!B��!B���:m�:o�:y�PInfo����ATTR�����EqnL��decl�{_match_2_aux_param_0�~�!B��!B_a�:1���g�:4	�:@�~�!B��!B���:���cases_on�����g�:7���:8�:-	fst�gsnd�:6�e�����g���:4�:-���:3�w�7��:-�:u���:3���:��:_�PInfo����decl��equations_eqn_1_aux_param_0�~�!B��!Bb�:��7��:@����	�:|�:x�~�!B��!B���:��7��:@�7��:@�:��PInfo����ATTR�����EqnL��decl��equations_eqn_2_aux_param_0�~�!B��!Ba�:��:��:��:g�:b�~�!B��!B���:��:��:��:��PInfo����ATTR�����EqnL��decl�sum_equiv_sigma_bool_proof_1u_1�~�	���	�s�j������:�	�
��:�	s����g���g����	����s�:��|��~�	���	����:��}��	�:���	�
��:��:��:��w��	���;�:��:��x��	�PInfo����decl��_proof_2���~�	���	�s�:����g�:�	���:����g�:�	�+Z�:��:��:��~�	���	����;����g�;�;&s_fst�gs_snd�;�3����g���:��+Z�:����g�:�� ���:��:�� ���;5�:�� ����g�;4�;E���:��w�+a�:����g�:����:��:����;T�:��;B�;S�w���:����;U�;[�;_�;`���PInfo����decl�����~�	���	�����:��;�~�	���	�����:��;���:��:�	���;�:�	���������PInfo����VMR��_lambda_1VMR��_lambda_2VMR��VMC������	VMC������		VMC������~����decl��equations_eqn_1���~�	���	��+Z�;{�����;��~�	���	��+a�;{�;��PInfo����ATTR�����EqnL��SEqnL��decl�sigma_preimage_equiv_match_1_aux_param_0_aux_param_1α�!Cβ�!Bf1_a������ysubtype�x�7�(�!O�;�	��	�;����7��$x���
����;����7��-�(subtypemk����;�rfl�
(x�;���val����;���fst�
����;����7�����snd�
��;����!C���!B��1���;����
�	�;����;��!O�;��;����;��;��$�;����;��;��$���;��;����;��;����;�� ��� �7�� �.�;��;���	���;���cases_on����;�	���;��<�!O�;��<���;����;��S���S�7��S�-����;�� ��� �<���;������<!�;�� ��� �<�;�� ��� �;��_���_�7��_��;��<*�;��<	�<Msnd_valsnd_property�<��
t_1���<	H_1�<%H_2�
��<:�S�<_	�!O�;��\���\�;��i���i�7��i�c���c�;��c���c�;��"���"�7��"�i���;��i���i�<j���;��c�����<o�;��i���i�<j�;��i���i�;��o���o�7��o�"�;��c�<y�;��\�<n� �;��c���c�7��c���S�<����;��<W�"��<Y��� ���<%� ���
��<_�<_�<^�7��_�<^�<p�<��<��<�	�<����c�<��<����<Z�<Y���
��<��<��<��7��S�<����!O�;��_���_�;��c���c�<����\�<��_�<����c�<��\�;��\�<����<��;��c���c�<��;��c�<y�;��\�<n�;��_
�<�Annot��
�<^Annot���;��\
���\�7��\�<��_Annot���;��_�<��=	�&2�<��=	���
� �<Y�7���;��<W�PInfo����decl��equations_eqn_1_aux_param_0_aux_param_1���!C���!B��1x	���;��;��;��;�	�;����;����;��,�;�	���=:������	�=:�&2�;��=<���!C���!B��1��	��=>��=>�=D�PInfo����ATTR�����EqnL��decl�sigma_preimage_equiv_proof_1u_2u_1���	����	���1��	�t��	�������	����	���1��	���	���PInfo����decl��_proof_2�������	����	���1_x�������������=U(�'�=d	��	�=f���=U�$���������=f���=U�-�(������=r�;��=](���=w������=r�������=f���=U�������=����	����	���1���=n����	�PInfo����decl��_proof_3�������	����	���1x	�
��=��=��=����	����	���1��	�*e�=��PInfo����decl���������	����	���1�9�=n	���	����	���1�����=n	���=n�=����=i�=��=��=�	�=v��	�=y	�=v���=����=i�,������	������	������	�PInfo����VMR��_lambda_1VMR��_lambda_2VMR��VMC������
VMC����
����_fresh:�
VMC��������������decl��equations_eqn_1�������	����	���1�9�=�������	�=����	����	���1�9"�=��=��PInfo����ATTR�����EqnL��SEqnL��decl�Pi_congr_right_proof_1u_1u_2u_3αβ₁�β₂���Fa	�����(��Ha�$�h�'�8��Ha�$a��%�$�$�%�&��%�$�-�����%�$�-����symm�$�%���-��$��H���-�a��'�&�'�>	���-���$�%���-��$�������>���>���>���>
���8�-��>2���m�
��-������-����>�>���.�>���.�>�.���-������������>%�>	�.���>)�.���-�������
�n�>^�����m�
������������ �>�>�.�-��>�.�-��>�-��.���������.��� �>%�>	�-��.�>)�-��.����	(���m�������m�>]�m��m��>]�>?������%�-��%�<We_1�
��<Y�'�<��'�<^e_2�
��<��
��\�m�
��>��>�	�
��>��'�>��m�>��>[���4�$�%�-��$(��������-������>���9�-�����������,���PInfo����decl��_proof_2�����������>���>���>H��(�6�,�%�'�8�-��>0�>#�����>���>���>���>�funext�,�%�8�$�>����m�n�%�$�>X�>M����
�n�>������m�>��-��>}�>r	(�>���>��m�>��>��m��>��>�������%�$�%�;�e_1�>�	�'�'� e_2�>��S�)�%�_�m�>��?�?!	�*�%�%�?�'�?�m�?!�>����(�$�%�-��$(��������%�$�����?��2�%�$���>����PInfo����decl�������������>���>���>��,�$�,�%�>
�>������>���>���>��/�0�>
�>����>
���>%�>	�-��$�>)�-��$(�����>����>�>�$�-��>�$�-��>�-��$(����������	��������	�PInfo����VMR��_lambda_1VMR��_lambda_2VMR��VMC��	��������_fresh:�$�
VMC�����������}
VMC����������������decl��equations_eqn_1�����������>���>���>������7���;�9�?]���7�8�:	�?������>���>���>��?�?]�?��PInfo����ATTR�����EqnL��SEqnL��decl�Pi_curry_match_1_aux_param_0_aux_param_1_aux_param_2α�!Bβ��!Cγa�����fx�;��;�	�;�	_a�;�	�n�@	�;��<fab�-��;�x�< �;��<Ef�	�;��<�;�xy��	�;�� �����!B���?����?��	�?��	�?��;��	�?��?��?��	�	�	���<W�	�;��<8�;�� �	�	�?��?��?��	�		�.	�;��S� 	(�����-����?��?��<#�?��@�	�	�	�.���	�;�� �;��S� �;��S� �	�	�?��?��?��	� �		�-�	�<��S�@�@(rfl�@�@�@(�PInfo����decl��equations_eqn_1_aux_param_0_aux_param_1_aux_param_2���!C����!D��������	
�	�	sigma�	�		�	fst�B�C	�	snd�B�C	xy�$���n�A�@?���B�C�@D�@Q�	�?��	�@<�@?� �@D� �	�	�@<�@?�@D�	�		�.	�@M�S� 	�@Q	�@Q���B�C�A	�@Q�	
�A�@W�@z���!C���@8���@;�	�@I�	�	�$��@}��@}�@��PInfo�	��ATTR����	EqnL�	decl�Pi_curry_proof_1u_1u_2u_3���	�����	�����������	�	�	�	�		�	fst�D�E	�	snd�D�E	�6�D�E�	�'�@�	�8�@��@��@��	�	�	�$�;��	�@��@��@��	�	�@�	�@��@��	�		�-�	���D�E���	����@����@��	�@�funext�H�I�@��8�@��@��@�_x�@����D�E�I	�PInfo�	��decl�	_proof_2�	�	�	���	����@����@�f�		�	(�,�6�F�G�I�'�8�		�-��@��@��@��@��@��@����	����@����@��	�@�funext�F�K�8�		�$�@��@��@��A
�Axfunext�G�I�$�8�$�A�	�	�@��@��	�		��	�@�� �	�?��	�@��@��@���y�$rfl�I�A�	�	�A%�A&�A(�	�		�.	�@��S� �	�?��	�@��@�� �@�� 	�PInfo�	��decl�	�	�	�	���	����@����@���H�I�F�K�@��@����	����@����@���M�N�@��@��	�@��	�		�$	�A
�	�@��	�@��@��@��	�	�	�		�	�	�	�		�PInfo�	��VMR�	_lambda_1VMR�	_lambda_2VMR�	VMC�	%���		�	�	��_fresh:�)zVMC�	&��
�	�	�	)

VMC�	���������	%�	&decl�	equations_eqn_1�	�	�	���	����@����@���M�N�N�M�AY�	�	�	�		�As���	����@����@���X�AY�A|�PInfo�	+��ATTR����	+EqnL�	+SEqnL�	decl�psigma_equiv_sigma_match_1_aux_param_0_aux_param_1α�!Bβ�?�_apsigma�	.�	/�?��	0�!B�	1�?��	2�A�psigmacases_on�\�^�\�^	�	2�A�	�?�fst	snd(��\�^�?��;��PInfo�	-��decl�	-equations_eqn_1_aux_param_0_aux_param_1�	0�!B�	1�?�ab���!O�?��	-�	:�	;	�	4mk�h�i	�;�	�	0�!B�	1�?��	<�	=���"w�?��,��?��A��PInfo�	9��ATTR����	9EqnL�	9decl�	,_match_2_aux_param_0_aux_param_1�	0�!B�	1�?�_a�;��A��	0�!B�	1�?��	B�A����	@�	A�l�n	�	B�?��A�	��	��(��l�n�A��A��PInfo�	?��decl�	?equations_eqn_1_aux_param_0_aux_param_1�	0�!B�	1�?�ab����	E�	F�A��	?�v�x	�A��A��	0�!B�	1�?��	G�	H����v�x�A����v�x�A��A��PInfo�	D��ATTR����	DEqnL�	Ddecl�	,_match_3_aux_param_0_aux_param_1�	0�!B�	1�?�_a�A��A��A�_x�?��A�_x�A��A��	0�!B�	1�?��	L�A��	5�	J�	K	�	L�A��A��	M�?��A��	N�A��A��	6	�	7(���A��A��	M�?��A��	N�A��A��A��Brfl�����A��B�PInfo�	I��decl�	Iequations_eqn_1_aux_param_0_aux_param_1�	0�!B�	1�?�ab�����A��B�B�A��A��	I�	R�	S	�A��B�A��B%�	0�!B�	1�?��	T�	U����B'��B'�B,�PInfo�	Q��ATTR����	QEqnL�	Qdecl�	,_match_4_aux_param_0_aux_param_1�	0�!B�	1�?�_a�A��!O�?��A��A��	0�!B�	1�?��	Y�A��;��	Y�?��A��B�B��	��(���!O�?��B�B�A��BO�&2�?��BO�PInfo�	V��decl�	Vequations_eqn_1_aux_param_0_aux_param_1�	0�!B�	1�?�ab�����A��B�B�A��A��	V�	\�	]	�A��&2�?��B]�	0�!B�	1�?��	^�	_����B_��B_�Bd�PInfo�	[��ATTR����	[EqnL�	[decl�psigma_equiv_sigma_proof_1u_1u_2�	0�	��	1�@�_x�	3�	b�	c�+��Bu	�	M�@��	?����	�	N�By�	-����	�	0�	��	1�@��	d�Bw�	I����	�PInfo�	a��decl�	`_proof_2�	b�	c�	0�	��	1�@�_x�@��$��@��B��B�	0�	��	1�@��	f�B��	V����	�PInfo�	e��decl�	`�	b�	c�	0�	��	1�@��,n�Bw�B��	0�	��	1�@��,s�Bw�B��	N�Bw�B�	�	M�B��B{	�	a�	b�	c�	e�	b�	c�PInfo�	`��VMR�	`_lambda_1VMR�	`_lambda_2VMR�	`VMC�	g���	N��_fresh4���VMC�	h���	N�	kVMC�	`���	1�	0�	g�	hdecl�	`equations_eqn_1�	b�	c�	0�	��	1�@��+��B��	`�	b�	c�B��	0�	��	1�@��,1�B��B��PInfo�	m��ATTR����	mEqnL�	mSEqnL�	`decl�sigma_congr_right_match_1_aux_param_0_aux_param_1_aux_param_2α�!Bβ₁�?�β₂��!DFa	��	q�	r(��_a�?�sigma�	p��	�	s�!B�	t�?��	u�B��	v�B��	x�?������������	x�?��B������-�������B���������������������B��<W�;�������<W�;��;��PInfo�	o��decl�	oequations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	s�!B�	t�@8�	u��!C�	v�	w	��	~�	}(��ab�$�!O�< �	o�	|����	�B��<J��������������B��;��;�������;��;��,�	s�!B�	t�@8�	u�B��	v�B��	�	��$�"w�C�,��C�C�PInfo�	{��ATTR����	{EqnL�	{decl�	n_match_2_aux_param_0_aux_param_1_aux_param_2�	s�!B�	t�@8�	u�B��	v�B�_a�;��B��	s�!B�	t�@8�	u�B��	v�B��	��C+�B�	�	��?�	�B������$�B��B��B��B��B��;��<W�B��;��<W�symm�	��	��<W�;��;��PInfo�	���decl�	�equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	s�!B�	t�?��	u�B��	v�B�ab(�!O�?��	��	��	��	�	�C�<J�C�B��;��;��C�;��;��	������;��;��,�	s�!B�	t�?��	u�B��	v�B��	��	�(�"w�?��,��?��C[�PInfo�	���ATTR����	�EqnL�	�decl�	n_match_3_aux_param_0_aux_param_1_aux_param_2�	s�!B�	t�?��	u�B��	v�B�_a�?��BM_x�B��CW_x�?��	o�	��	��	�	�	s�!B�	t�?��	u�B��	v�B��	��?��?��	��?��CR�	��B��CS�	��?��C�����-����!O�?�a�.�<#�C��C�C�<W�C�<W�Ce�<W�;��;��B��C��-��<W�C��C��C��symm_apply_apply�����<W�;��;��PInfo�	���decl�	�equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	s�!B�	t�?��	u�B��	v�B��	�b�$���CR�C��C��C^�C��	��	��	��	�	�C��-��;��< �	����Ci�B��C<�;��C?�;��,�<J�C��C��;��;��,�	s�!B�	t�?��	u�B��	v�B��	��	��$��C���C��C��PInfo�	���ATTR����	�EqnL�	�decl�	n_match_4_aux_param_0_aux_param_1_aux_param_2�	s�!B�	t�@8�	u�B��	v�B�_a�C+�!O�C3�	��C,�C�	��C3�	��	��	��	�	�	s�!B�	t�@8�	u�B��	v�B��	��C+�?�	�	��C3�C�	��C4�C�	��C�C������$���!O�?�a���<#�D#�C�B��<W�;��C�<W�;��;��CG�D'�C��D$�D/�D'�apply_symm_apply�����<W�;��;��PInfo�	���decl�	�equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	s�!B�	t�@8�	u�B��	v�B��	�b(���C�D�D�C�DH�	��	��	��	�	�DH�-��;��< �	��-��C�B��B��;��;��B��;��;��CB�;��;��,�<J�DV�D9�;��;��,�	s�!B�	t�@8�	u�B��	v�B��	��	�(��DL��DL�DS�PInfo�	���ATTR����	�EqnL�	�decl�sigma_congr_right_proof_1u_1u_2u_3�	s�	��	t�@��	u��$��	v�	w	��	��	�(��_x�@��$��@��	��	y�	���	�	�������	�	��@��	o������	�	s�	��	t�@��	u�D��	v�D��	��@��	�������	�PInfo�	���decl�	�_proof_2�	��	��	��	s�	��	t�@��	u�D��	v�D�_x�D��@�����D��D��D��	s�	��	t�@��	u�D��	v�D��	��D��	�������	�PInfo�	���decl�	��	��	��	��	s�	��	t�@��	u�D��	v�D�����������@��D��	s�	��	t�@��	u�D��	v�D�������@��D��	��@��D�	�	��D��D�	�	��	��	��	�	�	��	��	��	�	�PInfo�	���VMR�	�_lambda_1VMR�	�_lambda_2VMR�	�VMC�	����	���_fresh:�Fh��_fresh:�Fg�coe_fnVMC�	����	��	���_fresh:�Ff�}��	�VMC�	����	v�	u�	t�	s�	��	�decl�	�equations_eqn_1�	��	��	��	s�	��	t�@��	u�D��	v�D���	��	����	������D��	�������	�D��	s�	��	t�@��	u�D��	v�D�����D��D��PInfo�	���ATTR����	�EqnL�	�SEqnL�	�decl�sigma_congr_left_match_1_aux_param_0_aux_param_1_aux_param_2α₁�!Bα₂�!Dβ�?�f
gl�-zr��	��	�	_a�?�a�!��!��!������� 	�����	��C��	��!B�	��!D�	��?��	�
�	��	��E�	��E�	��E��������� �	�� �!��!�� �!�� �E�S� 	�	��@�E2�E� a� �-���� ���E1�����E�S�	��S�������S�E=���PInfo�	���decl�	�equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	��!B�	��!C�	��@8�	�
�	��	��/_�	��/d	ab��	��	��
���
�/<� ���
� �0� 	��
�	��@<� �E6�	����
�S� 	�B��S�	��S� �EY�/<�_�S�E]�_�S�0�_�S�@M� �E6�<W�	��!B�	��!C�	��@8�	�
�	��	��ET�	��EX�	��	��Ei��
��El���
��El�E��PInfo�	���ATTR����	�EqnL�	�decl�	�_match_2_aux_param_0_aux_param_1_aux_param_2�	��!D�	��!B�	��?��	�
�	��	���	��	��	��.a	_a�C��E5�	�� �!Y�#W� �#Z� ��!�#�S� 	�	��!D�	��!B�	��?��	�
�	��	��E��	��E��	��C��E#�C��	��C��E<�	��S� �!Y�#��S�#��S�E��_�S�����.�E;�E�_�	��_�S�!Y�!Z�\�_�!^�\�_�E��\�_� �E@�_�E��<Weqrec�	��#�S� �<W�=�S�E��;��PInfo�	���decl�	�_proof_1_aux_param_0_aux_param_1�	��!C�	��!B�	�1�	�2�	���	��	�	a�;��/�	��!C�	��!B�	�1�	�2�	��F�	��=�/���PInfo�	���decl�	�equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	��!B�	��!D�	��?��	�
�	��	��E�	��E�	�b���!O�;��S�	��S� �!��"#�S�"&�S�E�_�S�	��	��	��	��S� 	�E@� �E6�?��F1�;��	��/�.� �;��	��.�0�S� 	�	��!B�	��!D�	��?��	�
�	��	��E�	��E�	��	����"w�F2�,��F2�F@�PInfo�	���ATTR����	�EqnL�	�decl�	�_match_3_aux_param_0_aux_param_1_aux_param_2�	��!B�	��!D�	��?��	�
�	��	��E�	��Eab�Ea'�Sh�<:	�!O�<f���	��	��	��\�_�!C�S� �<��Fr�FD�_�!��!F�\�_�!��\�_�E�\�_� �S	�F�congr_arg�3�5�\�_� �=�\�Fu	�	��!B�	��!D�	��?��	�
�	��	��E�	��E�	��	��E�	��S�	��Fl�<U�\t_1�\�	��<�	H_1�<hH_2�
��<s�F�	�!O�;��o�Fm�o�"�!C�i�c�;��o�F��FD�"�!��!F�o�"�!��o�"�E�o�"�c�\�_�S� �i�F��F��o�"� �c�=�o� �F�� �	��<��"�c�	��c�	��<h�	��
��<s�F��7��"�F��F�	�F��F�	�F�	�c�F�	� �F��	��<��	��
��F��G�7��i���!O�;��"�Fm�"�i�!C�c�\�;��"�G�FD�i�!��!F�"�i�!��"�i�E�"�i�\�_�S� �c�G,�F��"�i�\�=�"�;��"�G>�&2�G�G>	�7��\��<��PInfo�	���decl�	�equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	��!B�	��!D�	��?��	�
�	��	��E�	��E�	��	��E���!O�F#�Fm�S� �!C�?��Gd�FE�E/�Gi�F��S� �E��;��S�Gh�	��	��	��	��S� 	�Gv�&2�Ge�Gz�	��!B�	��!D�	��?��	�
�	��	��E�	��E�	��	��E��G}��G}�G��PInfo�	���ATTR����	�EqnL�	�decl�	�_match_4_aux_param_0_aux_param_1_aux_param_2�	��!B�	��!D�	��?��	�
�	��	��E�	��E_a�E�!O�E4_x�E�F;_x�E4�	��	��	��	��S� 	�	��!B�	��!D�	��?��	�
�	��	��E�	��E�	��E�;�� �E2�	��E4�F3�	��E7�F4�_�S� �	��F2�G��_�S� ��� ���E1���!O�<��Fm�_�S�!C� �<��G����FD�S�F.� �F.�G��F��_�S�G��=�_�G��;��G��G�_�S� �G��;��PInfo�	���decl�	�equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	��!B�	��!C�	��@8�	�
�	��	��ET�	��EX�	��	��Ei���@�
�
�B��S�E��	��El�	��
�D�B�_�S� �	��H�En�_�S� �E��E��	��B�D�G�S� 	�E��	��B�D�G�S� 	�<W�;��	��!B�	��!C�	��@8�	�
�	��	��ET�	��EX�	��	��Ei��H,��H,�H6�PInfo�
��ATTR����
EqnL�
decl�	�_match_5_aux_param_0_aux_param_1�	��!B�	��?�ab��a'h�F	�!O�< �
	���<J�H]�E�	�=�H`	�	��!B�	��?��
�
���
	�

�H\�<Ut_1�

�;�	H_1�<H_2�
��<%�H}	�!O�<��
	�_�<��<��H��E��_� �S�G�� �H�� �
�;��#��
	�

�<�

�
��<%�H��<��H��H�	�H�	�G�	� �H��

�;��

�
��H{�H��7�� ���!O�F#�
	�S��?��H��E�� �E��Gu�H��&2�H��H�	�7���;��PInfo�
��decl�
equations_eqn_1_aux_param_0_aux_param_1�	��!B�	��?��
�
�����!O�;��
	�$�;��H��E�	�=�;��H��
�
�
	�H��&2�H��H��	��!B�	��?��
�
����H���H��I�PInfo�
��ATTR����
EqnL�
decl�	�_match_6_aux_param_0_aux_param_1_aux_param_2�	��!D�	��!B�	��?��	�
�	��	��E��	��E�_a�C��C��	��E��	��
�
�
�S� 	�	��C��	��L�K�J�S� 	�	��!D�	��!B�	��?��	�
�	��	��E��	��E��
�C��;��C��
�C��!O�@�E6�	��E��I�_�S� �	��I:�I"�_�S� �����.���H��H��E��E��H��I�S� �E��;��PInfo�
��decl�
equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	��!D�	��!B�	��?��	�
�	��	��E��	��E��
�
�����I;�ID�IM�?��E6�Ip�
�
�
�
�S� 	�Ip�I� �FI�,�	��!D�	��!B�	��?��	�
�	��	��E��	��E��
�
����It��It�I~�PInfo�
��ATTR����
EqnL�
decl�	�_main_aux_param_0_aux_param_1_aux_param_2�	��!B�	��!C�	��@8f�/<	��
�
�
�R�B��	�	�EY�/<�E]�@=�	�	(�	��!B�	��!C�	��@8�
 �I���P�R�U�R�U�R�P�R�P�U	�
 �/=	�I��B��	��EY�/T�E]�@<�	��$f_to_funCf_inv_funDf_left_inv�/�f_right_inv�0	��P�R�U�R�U�R�P�R�I��B�� �	�� �EY�/<�S� �E]�S� �0�S� 	�@Y�C���P�R�U�R�I��I��	��I��Eq	�	��I��H�S� 	_x�I��H1	_x�I��
�U�R�P�S� 	�PInfo�
��VMR�
_lambda_1VMR�
_lambda_2VMR�
VMC�
'	���	���_fresh:�`�VMC�
(	���	���_fresh:�`�VMC�
	���
 �	��	��	��
'�
(decl�
_proof_1_aux_param_0_aux_param_1_aux_param_2�	��!B�	��!D�	��?��	�
�	��	��E�	��E�
%�E�G��	��!B�	��!D�	��?��	�
�	��	��E�	��E�
%�E�	��
0�
1�
2� 	�PInfo�
/��decl�
_proof_2_aux_param_0_aux_param_1_aux_param_2�	��!D�	��!B�	��?��	�
�	��	��E��	��E��
&�C��I/�	��!D�	��!B�	��?��	�
�	��	��E��	��E��
&�C��Iv� 	�PInfo�
3��decl�
equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�	��!B�	��!C�	��@8�	�
�	��	��ET�	��EX��
9�
;�
:�����������I��B��	��Ei�@e�C��
�������0	�I��JJ�JL�	��JJ�En� 	�	��JL�H� 	�
/������	�
3������	�	��!B�	��!C�	��@8�	�
�	��	��ET�	��EX������������������JM�������������������JM�JY�PInfo�
8��ATTR����
8EqnL�
8decl�sigma_congr_leftu_1u_2u_3�	��	��	��	��	���$��
 �	���
=�
?�
>���D��	�	��������	�I��	��	��	��	��	��J��
������	�PInfo�
<��VMR�
<VMC�
<���	��	��	��
decl�
<equations_eqn_1�
=�
>�
?�	��	��	��	��	��J��	�
�	��	���
=�
>�	������	����
?�������������J��D��	��	��	�� �	�� ������ 	�J��C��
<�������J�	����������J��J��	��J��	�������� 	�	��J��	�������� 	�
/������	�
3������	�	��	��	��	��	��J��
equations_eqn_1������	�PInfo�
A��ATTR����
AEqnL�
Adecl�
<_sunfold�
=�
>�
?�J��	��	��	��	��	��J��
 �	����������������������	�
 �V�J��D��	����J��I��
!C�
"D�
#�J��
$�J�	������������������J��D�� �	�� �	��	��S� �	��S� �J��S� 	�J��C��J��KA�KD�	��KA�J��S� 	�	��KD�J��S� 	�
%�KA�	��������S� 	�
&�KD�
�������S� 	�PInfo�
D��decl�sigma_equiv_prod_match_1_aux_param_0_aux_param_1α�!Bβ�!C_a�;�_x�%��
I�!B�
J�!C�
K�K~���
G�
H��	�
L		�
K�;��K��#��	��	�A��#�&,�PInfo�
F��decl�
Fequations_eqn_1_aux_param_0_aux_param_1�
I�!B�
J�!Cab�%��
F�
O�
P	�;��
L�&=�
I�!B�
J�!C�
Q�
R�"w�#�,��#�K��PInfo�
N��ATTR����
NEqnL�
Ndecl�
E_match_2_aux_param_0_aux_param_1�
I�!B�
J�!C_a�%��K��
I�!B�
J�!C�
V�%��?�
T�
U��		�
V�%��;��K��@	�A	�A��?��
L�;��K��PInfo�
S��decl�
Sequations_eqn_1_aux_param_0_aux_param_1�
I�!B�
J�!Cab�!O�K��
S�
Y�
Z	�&=�K��
I�!B�
J�!C�
[�
\�"w�K��,��K��K��PInfo�
X��ATTR����
XEqnL�
Xdecl�
E_match_3_aux_param_0_aux_param_1�
I�!B�
J�!C_a�K~�!O�K�_x�%��K�_x�K��K��
I�!B�
J�!C�
`�K~�;��K��
`�K��K��
a�#�K��
b�K��K���	��	���!O�K��
a�#�K��
b�K��K��;�
�K�Annot���K��&2�K��K��PInfo�
]��decl�
]equations_eqn_1_aux_param_0_aux_param_1�
I�!B�
J�!Cab���K��K��K��K��K��
]�
e�
f	�K��&2�K��L
�
I�!B�
J�!C�
g�
h��L��L�L�PInfo�
d��ATTR����
dEqnL�
ddecl�
E_match_4_aux_param_0_aux_param_1�
I�!B�
J�!C_a�%��%��K��K��
I�!B�
J�!C�
l�%��%��
l�%��%��K��K��@	�A	���#�K��K��&,�L1�&3�L1�PInfo�
i��decl�
iequations_eqn_1_aux_param_0_aux_param_1�
I�!B�
J�!Cab���%��K��K��&=�&=�
i�
o�
p	�&=�&H�L>�
I�!B�
J�!C�
q�
r��L@��L@�LE�PInfo�
n��ATTR����
nEqnL�
ndecl�sigma_equiv_prod_proof_1u_1u_2�
I�	��
J�	�_x�B��K}�$��@��K��
a�&��
S�
u�
v	�
b�LV�
F��	�
I�	��
J�	��
w�LU�
]��	�PInfo�
t��decl�
s_proof_2�
u�
v�
I�	��
J�	�_x�&��&��La�L\�
I�	��
J�	��
y�&��
i��	�PInfo�
x��decl�
s�
u�
v�
I�	��
J�	������LU�&��
I�	��
J�	�����LU�&��
b�LU�L]	�
a�&��LX	�
t�
u�
v�
x�
u�
v�PInfo�
s��VMR�
s_lambda_1VMR�
s_lambda_2VMR�
sVMC�
z���
bVMC�
{���
bVMC�
s���
J�
I�
z�
{decl�
sequations_eqn_1�
u�
v�
I�	��
J�	��+��L��
s�
u�
v�L��
I�	��
J�	��,1�L��L��PInfo�
}��ATTR����
}EqnL�
}SEqnL�
sdecl�sigma_equiv_prod_of_equivu_1u_2u_3α�	�β�	�β₁�D�Fa	��
��
���	��
��"� �D��(��
��	��
��	��
��D��
��L��trans�#�$�$�D��
�(�@��
��(��sigma_congr_right�!���L��L��L�	�PInfo�
~��VMR�
~VMC�
~
���
��
��
��
��
s�	���decl�
~equations_eqn_1�
�
��
��
��	��
��	��
��D��
��L���
�
��%�
��-�)�L��
~�%�+�'	�L��
��	��
��	��
��D��
��L���1�L��L��PInfo�
���ATTR����
�EqnL�
�SEqnL�
~decl�arrow_prod_equiv_prod_arrow_proof_1u_1u_2u_3α�	�β�	�γ�$�f��(��6�
��
��
��'�8	�$�p�N�2�4�2�6�-2c	�$��Nfst�:�;�D�Nsnd�:�;�L�Df��)�6�:�;�-yc	�$���c	�$����
��	��
��	��
��$��
��L�funext�3�8�8�)�Mcprodmketa�4�6���PInfo�
���decl�
�_proof_2�
��
��
��
��	��
��	��
��$�p�L���	�
��L��@�:�;�L��-y�
��	�$��L��L�D�
��%=���
��%I���
��M!�
��%P�L��-�u�L��-�u�
��	��
��	��
��$��
��M�?�:�;�-2�M=p_fst�-p_snd��>�L��L�D�
���$��L��-�u�
��$����
��$����
��MJ�
��$��L��0���L��0���M%�PInfo�
���decl�
��
��
��
��
��	��
��	��
��$���3�8�>�L��M�
��	��
��	��
��$���?�>�L��M�
��L��L��-2�
��) ���
��)+���
��M�
��)�L��-y�L��-y�
��
��
��
�	�
��
��
��
�	�PInfo�
���VMR�
�_lambda_1VMR�
�_lambda_2VMR�
�_lambda_3VMR�
�_lambda_4VMR�
�VMC�
����
���_fresh4��q
VMC�
����
��
�
VMC�
����
��
��
�VMC�
�
���
��
�

VMC�
����
��
��
��
��
�decl�
�equations_eqn_1�
��
��
��
��	��
��	��
��$���?�>�>�?�Mp�
��
��
��
�	�M��
��	��
��	��
��$���I�Mp�M��PInfo�
���ATTR����
�EqnL�
�SEqnL�
�decl�arrow_arrow_equiv_prod_arrow_proof_1u_1u_2u_3α�	�β�	�γ��f�	
�@��Cf��(�	ab	�%Pf�M�p�)�L��L��M��
��	��
��	��
����
��M�rfl�
��
��
��M��M��PInfo�
���decl�
�_proof_2�
��
��
��
��	��
��	��
���f��&��@��'�(��8�)�M��M��
��	��
��	��
����
��M��@��(��8�(�	�M�p�(��?�M�O�
��)�>��
��l�
��$��$��$��
���$��
��
�	�$��S� 	(p_fstp_snd�?B�
�����
��%��$��S� �$��S� �
���$��
�� �
�� 	�$��_�S�M��PInfo�
���decl�
��
��
��
��
��	��
��	��
�����S�N�P�Q�M��M��
��	��
��	��
�����S�U�M��M��
��M��
��(��) �)+�
��M��
��
�	�L��
��
��
��
�	�
��
��
��
�	�PInfo�
���VMR�
�_lambda_1VMR�
�_lambda_2VMR�
�VMC�
����
��
�

VMC�
����
��
��
�VMC�
����
��
��
��
��
�decl�
�equations_eqn_1�
��
��
��
��	��
��	��
�����S�U�U�S�N�
��
��
��
�	�N9�
��	��
��	��
�����_�N�NB�PInfo�
���ATTR����
�EqnL�
�SEqnL�
�decl�sum_arrow_equiv_prod_arrow_proof_1u_1u_2u_3α�	�β�	�γ�$�f��,I�6�
��
��
��'�+��8�,_x�,p�N�c�h�e�h�,�
s�,sumrec_on�i�c�e�NP�Nfst�k�l�-�J�Nsnd�k�l�-�Jf��+�	�6�k�l�C���d�g�i�,	�,���f�g�i�,	�, �
��	��
��	��
��$��
��NNfunext�g�i�+��8�+��
��,�Ns�+��6��
��,�n�i�NQ�
��NV�-�J�
��1�NY� �
��1��N^�����Nc�����
���,�Nk�0l�No�1�1��Nv�1�2#	(�
���i�NP�6��N��6��
��N��NP�6��N��6��PInfo�
���decl�
�_proof_2�
��
��
��
��	��
��	��
��$�p�NV�	1�
��NX�@�k�l�NV�NlC�
���,�Nk�-�J�No�,�6��Nv�,�6��
��N��
��,�NY�
��1�N^�0l�Nc�0l�
��	��
��	��
��$��
��N��?�k�l�,�
�N�p_fst�,�p_sndC��o�N��N��N��N��PInfo�
���decl�
��
��
��
��
��	��
��	��
��$���g�i�o�NN�N��
��	��
��	��
��$���p�o�NN�N��
��NN�Nk�,�
�No�+��,\�Nv	�+��,d�
��N��
��+��NY�N��N^�NlC�Nc�NlC�
��
��
��
�	�
��
��
��
�	�PInfo�
���VMR�
�_lambda_1VMR�
�_lambda_2VMR�
�_lambda_3VMR�
�_lambda_4VMR�
�VMC�
���	����_fresh<�XVMC�
������
�VMC�
����
��
��
�VMC�
����
��
�	

VMC�
����
��
��
��
��
�decl�
�equations_eqn_1�
��
��
��
��	��
��	��
��$���p�o�o�p�O�
��
��
��
�	�O@�
��	��
��	��
��$���z�O�OI�PInfo�
���ATTR����
�EqnL�
�SEqnL�
�decl�sum_prod_distrib_match_1_aux_param_0_aux_param_1_aux_param_2α�!Bβ�!Cγ�!D_a�'M�4��j�
��
��
���N�~��'X�
��!B�
��!C�
��!D�
��OV�?�~�����~����-�
��'M�-�OW�OX	�'`�@�-�A	�}�~�����~���@�,��OW�OX�'��@��~�����Os�w�~�����Oq�'��6�~��@�Ox�x�~�����Oq�'��(a�PInfo�
���decl�
�equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�
��!B�
��!D�
��!Ca	c��
��
��
����j���������#	�N����	�
�������	�6�������/C	�w�����w���������O��O��%�	�
��!B�
��!D�
��!C�
�	�
�����������O������������O��O��PInfo�
���ATTR����
�EqnL�
�decl�
�equations_eqn_2_aux_param_0_aux_param_1_aux_param_2�
��!B�
��!D�
��!Cbc�O��O��O��x�
��
��x���
������O��O��6����	�
��!B�
��!D�
��!C�
��
��O��O��O��PInfo�
���ATTR����
�EqnL�
�decl�
�_match_2_aux_param_0_aux_param_1_aux_param_2�
��!B�
��!D�
��!C_a�O��%��O��N�
��
��
��/C	�
��!B�
��!D�
��!C��O��}���������������#�O�	��O��O��O��O��O�	���O��?����������	���O��O��/Eval_fstval_snd��������O��/W�O��/W�O����O��?����������	���O��Pval_fstval_snd�P�P
�O��PInfo�
���decl�
�equations_eqn_1_aux_param_0_aux_param_1_aux_param_2�
��!B�
��!C�
��!Da	c�'P�'M�,�	�
���	�	�Oy�Og�'`�O|	�'Z�,�	�,��
��!B�
��!C�
��!D�
	��6b�P/�6d�P/�P<�PInfo���ATTR����EqnL�decl�
�equations_eqn_2_aux_param_0_aux_param_1_aux_param_2�
��!B�
��!C�
��!Dbc�P0�P4�O��Og�'`�'�P?�-�
��!B�
��!C�
��!D���PI�PJ�PW�PInfo�
��ATTR����
EqnL�
decl�sum_prod_distrib_proof_1u_1u_2u_3�
��	��
��	��
��$�p�(��,I��(��+��(��(��,	s�j������N����	�)�
�������p�Pn�
��������
��	��
��	��
��$���Pj�?�������+��P�p_fst�+�p_snd	�,T��,�(��(��1��Pp�Pq�(��Pv� ��P��P|� �(��1�P���6��P��P��P��P��1���P��P��P��P��2$�PInfo���decl�_proof_2����
��	��
��	��
��$�s�Pp�Pq	�)H��Pp�Pq�(��N��Pu�P��P{�
��	��
��	��
��$���P��}�����P��(��P���P��?����	��Ps�N��Pp�Pq�(���(��,�P|��P��Pv�w�����P��P��P�s_fsts_snd�O�P��P��P��P��P��P��6������(��?����	��)�P��P��P��x�����P��P��Qs_fsts_snd�Q�P��P��Q�P��P��)'�PInfo���decl�����
��	��
��	��
��$�����������Pj�P��
��	��
��	��
��$�������Pj�P���Pj�P|	��P��Pv	����	����	�PInfo���VMR�_lambda_1VMR�_lambda_2VMR�VMC�#���	
VMC�$���	
VMC����
��
��
��#�$decl�equations_eqn_1����
��	��
��	��
��$�����������Q4����	�QP�
��	��
��	��
��$�����Q4�QY�PInfo�&��ATTR����&EqnL�&SEqnL�decl�sum_prod_distrib_apply_leftu_1u_2u_3α�	�β�	�γ�$�a	c�P���(�)�*���������������Q2�Pn�Pu������Pn�Pu�QV	�(��,	�,�P��Ps�)�Q	�+�	��,�	��-�$��.	�/rfl���������Pu�Qv�PInfo�'��ATTR����'ATTR����'decl�sum_prod_distrib_apply_rightu_1u_2u_3α�	�β�	�γ�$�bc�P��Qp�Qr�, �Q�Ps�)�))�5�	��6�	��7�$��8�9�Q��Q��PInfo�1��ATTR����1ATTR����1decl�prod_sum_distribu_1u_2u_3α�	�β�	�γ�$���;�<�=���������)F�6��j�	�	�&��P��>�	��?�	��@�$����	���������	�Q��j�	�	�&��N����	�Q����	�����	
�Q��N�����6�	�Q�
�prod_comm����	�6�Annot�$
�sum_prod_distrib������	Annot�$
�sum_congr�	�	�	�	�&��Q��&��P��prod_comm����	�prod_comm����	Annot�$�PInfo�:��VMR�:VMC�:���@�?�>��_c_1�������decl�:equations_eqn_1�;�<�=�>�	��?�	��@�$���;�<�=�	�	�	�	�	�	�Q��:�	�	�		�Q��>�	��?�	��@�$���	�Q��Q��PInfo�H��ATTR����HEqnL�HSEqnL�:decl�prod_sum_distrib_apply_leftu_1u_2u_3α�	�β�	�γ�$�a	b	��J�K�	�L�Q��)�Ps��	�	�	 �	#�	#�	'�	(�Q��(��6��Q���	'�	#�Q��Q��Q�	�)�6��7$	suminl�	�	!�)�Ps�)�M�	��N�	��O�$��P	�Q	rfl�	�	�	�	 �Q��R�PInfo�I��ATTR����IATTR����Idecl�prod_sum_distrib_apply_rightu_1u_2u_3α�	�β�	�γ�$�a	c�Q��Q��R�7.	suminr�V�W�	1�X�)�Ps�Q}�Y�	��Z�	��[�$��\	�]�R�R�PInfo�U��ATTR����UATTR����Udecl�sigma_prod_distrib_proof_1u_1u_2u_3ι�	�α�@�β�$�p�(��@�i	(�h�(��@��i�$�(��(��@��i�-�	p���b�c�di�(��-��(��A$�i���A
�RD��fst�	6�	9�k�(����)�RO��snd�	6�	9�RM�)�RQ�RWp�R<���	6�	9�RM�@��RD�)!�RE�)'�Rg�@��RD�Rf�).�RE�e�	��f�@��g�$��h�R4�P��R6�Ryp_fst�R6p_snd	���	6�	7�RD�o�RE�(��(��A>�i�.�j�R>�k�(��.�(��@�� �i� �-��A�R��RI� �k� �(��-��)�R��RT� �R��)�R��R��n�R��R`� �R��A@�R��)!�R��)'�R��AD�R��R��).�R��(��R��R�p_fst_fstp_fst_snd���6��(��R��j�R>� �R��(��@��S�i�S��A6�R��RI�S�k�S�(��� �)� �R��RT�S�R��)�R��R��n�R��R`�S�R��@��S�R��)!�R��)'� �R��@��S�R��R��).�R��R��R�	�PInfo�a��decl�`_proof_2�b�c�d�e�	��f�@��g�$�p�R>	�k	�(�(�t�R>�k�(��$	�)J�RC�Rt�R_�e�	��f�@��g�$��t�S���	6�	9�S�S p_fstp_snd�S�Q�;��v�(��;��)J�R��R��R��R`�R�	�S3p_snd_fst�;�p_snd_snd�7	�R��R��R��R��)'�?�PInfo�s��decl�`�b�c�d�e�	��f�@��g�$��)]�R4�S�e�	��f�@��g�$��)c�R4�S�n�R4�R`�S�@��R5�)!�R6�)'	�S\�@��R5�S[�).�R6�j�S�(��R6�@��R5�RI�S�)	�Sq�RT�S�)�Ss�Sx�a�b�c�d	�s�b�c�d	�PInfo�`��VMR�`_lambda_1VMR�`_lambda_2VMR�`VMC�y���n




VMC�z���j




VMC�`���g�f�e�y�zdecl�`equations_eqn_1�b�c�d�e�	��f�@��g�$��)��SP�`�b�c�d	�S��e�	��f�@��g�$��)��SP�S��PInfo�|��ATTR����|EqnL�|SEqnL�`decl�bool_prod_equiv_sum��..�N.�g�2n�~���...�S��2n�N.unit�S��S���...�S��S��j�S��S��S���...�S��S��S��S�
�prod_congr..�g�S��bool_equiv_punit_sum_punit��Annot�$
�prod_comm.�S�Annot�$
�prod_sum_distrib.�S��S�Annot�$
�2~�S��S��prod_punit.�S�Annot�$�PInfo�}�VMR�}VMC�}'��~��_c_1���:���o�V�^������decl�}equations_eqn_1��~���S��}��S��~���	C�	\�S��S��PInfo���ATTR�����EqnL��SEqnL�}decl�nat_equiv_nat_sum_punit_match_1�_aY�j.Y�)���Ynatcases_on.��Y�S���	a�S��x.Y�)��)�n_1Y�S��w.Y�)��PInfo���
decl��equations_eqn_1���S������zero�S��S��S����	a�S��T�PInfo���
ATTR�����EqnL��decl��equations_eqn_2�aY�T�T��succ�S���Y�T	�T�T�PInfo���
ATTR�����EqnL��decl��_match_2�_a�S�Y���S��}.Y�)����S�Y��Y�	�Y�T���)���.���)�Y�T�T�PInfo���
decl��equations_eqn_1�nY�����S��T��Y��
BY�T,�PInfo���
ATTR�����EqnL��decl��equations_eqn_2���T+�S��T��T0�T4�PInfo���
ATTR�����EqnL��decl�nat_equiv_nat_sum_punit_proof_1�nY��Y�s�S��T+nY�T��Y���TA��T:�T<�T��Y��T:�T<�T�PInfo���
decl��_proof_2�s�S����S��T�T<�T:���S��}.Y�)��TUaY�T	�T<�T:�S�u�)��)����)��T�T<�T:�S��Tb�T	�T<�T:�S��PInfo���
decl����.Y�S���	gY�S��T<�T:�������PInfo���
VMR��_lambda_1VMR��_lambda_2VMR��VMC��	���YVMC�����	natsuccVMC���
����decl��equations_eqn_1���Ts����T|�S��Ts�T~�PInfo���
ATTR�����EqnL��SEqnL��decl�nat_sum_punit_equiv_nat��.�S�Y�symm�	e.Y�S��T~�PInfo���VMR��VMC������}decl��equations_eqn_1���T�����T��S��T��T��PInfo���ATTR�����EqnL��SEqnL��ATTR�����decl�int_equiv_nat_sum_nat_proof_1�int�S�YYz�T��}�	qYY���T��T���Y��of_nat��Y��neg_succ_of_nat���T���cases_on���T��T���Y�wYY��Y�xYY�
�T����T������T���T��T��T��T��T���Y��T��T��T��T��T��T��T��T���Y�T��T��T��T��T��T��T��T��PInfo���decl��_proof_2��	q�	r�T��T��T��T��
�T����T��}YY���T���T��T��T��T��T���Y��T��T��T��T��T��T��T��T���Y�T��T��T��T��T��T��T��T��PInfo���decl���4s�T��T��4v�T��T��T��T������PInfo���VMR��_lambda_1VMR��_lambda_2VMR��VMC��
����T�intcases_onVMC��
����T�	intof_natintneg_succ_of_natVMC�������decl��equations_eqn_1��U���U��U�U
�PInfo���ATTR�����EqnL��SEqnL��decl�list_equiv_of_equiv_main_aux_param_0_aux_param_1α�!Bβ�!C��/<�/<list��	list�����!B���!C��U��	s�	t�	t�	s�	s�	t	��I��/<�U�U	a_to_fun
a_inv_funa_left_inv�ETa_right_inv�EX��	s�	t�	t�	s�/<�U�U�0�U%�U'listmap�	s�	t���	t�	s	x�U%���7��U� �U1� �U,� ��
�n�UA���UA�U7��%�U6�%�U�Se_1�7��U�_�'�U�\�'�U�ce_2�7��U�i�)�	s�U�"�m�7��UX�U[	�*�	s�	s�UX�'�UX�m�U[�U?�$�	s�U6�U?listmap�	s�	s� � id�	s� �Uv�Uy���	s�	t�	s� � �U}��map_map�	s�	t�	s� � fa� �S�����S�_e_1�7����_�\�2�UQ�2�URe_2�UV�)�	s�	s�UX�UX�Uw�"�"�U�	�*�	s�	s���"�o�2�UX�U�o�U��U��U{functionid_of_left_inverse�	s�	t� 	�7��U6��map_id�	s� �U����UI��2�	s�U6��x�U'���8��U�U=�U:��
�n�U����U��U���%�U��%�U� e_1�8��U�S�'�U�_�'�U�\e_2�8��U�c�)�	t�U�i�m�8��U��U�	�*�	t�	t�U��'�U��m�U��U��$�	t�U��U����	t�	tid�	t�V�V���	t�	s�	t� �V���	t�	s�	t� ���� ���U�e_1�8��U��2�U��2�U�e_2�U��)�	t�	t�U��U��V�i�i�V8	�*�	t�	t��i�"�2�U��U�"�V8�V#�V��id_of_right_inverse�	s�	t� �8��U����	t�V]���U���2�	t�U����PInfo���VMR��VMC��
������listmap_main��decl��_proof_1_aux_param_0_aux_param_1���!B���!Cf1g2l�/_	���U�7��U�U1	�U,���!B���!C��1��2���V����V����V���
�n�V����V��V���%�V��%�U%���U7�'�UL�'�UM���7��UQ�UW�UR�m�7��UR�V�	�Ub�UR�'�UR�m�V��V��Ut�V��V��Uw�Uz�V��V��U�	�V��U�	�������V0���7��U��2�UL�2�UM���V��U��UR�UR�Uw�c�c�V�	�U����c�i�2�UR�US�V��V��V��U�	�7��V��U��W���V���U��V����PInfo���decl��_proof_2_aux_param_0_aux_param_1���!C���!B��1��2r�F���U�7��V��U2�U,	���!C���!B��1��2���F���U���W%��
�n�W%���W%�W��%�V��%�V����7��U%�'�U6�'�UL���UP�UW�UQ�m�V��V�	�Ub�UQ�'�UQ�m�V��W#�Ut�V��W#�Uw�Uz�WS�WU�U�	�WX�U�	�������V����7��V0�2�U6�2�UL���UP�U��UQ�UQ�Uw�\�\�Wq	�U���\�c�2�UQ�UR�Wq�W_�WV������	�7��V��U��W����W3��U��V����PInfo���decl��equations_eqn_1_aux_param_0_aux_param_1���!B���!C��1��2���V����/d	������	��	��/<�V��U���	��	��0	�0�V��W��V��V����	��	�	���	��	�	���!B���!C��1��2���V����W���	��	��	��	��W����	��	��	��	��W��W��PInfo���ATTR�����EqnL��decl�list_equiv_of_equivu_1u_2���	����	���	��	�����	�������	����	����	��	��PInfo���VMR��VMC���������decl��equations_eqn_1�������	����	���1��2���J�	���J�	������	��	��	��W��W����	��	��J�	�J��W��X���	��	����	��	�	���	��	�	���	��	�	���	����	���equations_eqn_1�	��	��PInfo���ATTR�����EqnL��decl��_sunfold�����W����	����	���	���	��	��	��	��	��	�	��	��	��W��W�	��
�����J����J���	��	��	��	��	��W��W��J��X@�XB�X�X	���X@���
��W�� �X� �X� ��
�n�XZ���XZ�XP��%�XO�%�W��S���
��W��_�'�W��\�'�W��c���
��W��i�)�	��W��"�m�
��Xq�Xt	�*�	��	��Xq�'�Xq�m�Xt�XX���XO�XX���	��	�� � ���	�� �X��X��J� � �X����	��	��	�� � ���U����U����
��U��2�Xj�2�Xk���Xo�)�	��	��Xq�Xq�X��"�"�X�	�*�	��	��U��2�Xq�W��o�X��X��X����	��	�� 	�
��XO���	�� �X����Xb��2�	��XO�����XB���=U�W��XV�XS��
�n�X����X��X���%�X��%�W�� ���=U�W��S�'�W��_�'�W��\���=U�W��c�)�	��W��i�m�=U�Y	�Y	�*�	��	��Y	�'�Y	�m�Y�X��$�	��X��X����	��	����	��Y'�Y*���	��	��	�� �Y.���	��	��	�� ���V0���U����=U�U��2�Y�2�Y���Y�)�	��	��Y	�Y	�Y(�i�i�YJ	�*�	��	��V@�2�Y	�W��"�YJ�Y6�Y,���	��	�� ��	��X����	��Yo���X���2�	��X����PInfo���decl�fin_equiv_subtype_match_1nY_afin��Y�x��YmYhas_ltltYnathas_lt	finmk	��val�	�Y�Y�Y���property�	�Y�Y�x�Y����	�Y�Y��val	�is_lt	��Y��Y��cases_on��Y���Y�	��Y��Y��Y��Y��Y�Y��Y��Y���Y��Y��Y��Y��Y�valYis_lt�Y�����Y���Y��Y��Y��Y��Y�Y��Y��Y���Y��Y��Y��Y��Y��Y��Y����Y��Y��PInfo���decl��equations_eqn_1��YaYb�Y����Y��Y��Y��Y��Z��	�Z���Y��Z��Y�Y��Z��Z��Z�Z�PInfo��ATTR����EqnL�decl��_match_2��Y_a�Y��Y�Z��Y��Y��Y���Y��Z���	�Y�Y���Y���Y��Y��Y�valYproperty�Y�����Y��Y��Y��Y�
YAnnot��
�Y�Annot���Z7���Y��Z7�PInfo��decl�equations_eqn_1��YaYb�Z���Z'�Y��Y��Y��ZD�	�ZD���Y��ZF��Y�Y��Z��ZH��ZH�ZL�PInfo��ATTR����EqnL�decl�fin_equiv_subtype_proof_1��Y��Z�Y��Y��Y���Y��Z�Y��Y��PInfo��decl�_proof_2��Y_x�Y��Y���Y�!�Y��Z
�PInfo� �decl�_proof_3��Y_x�Z�Z!��Y�#�Z�ZJ�PInfo�"�decl���Y�4s�Y��Z��Y�4v�Y��Z��Y��Y��Y��Y��Y���Z�Y��Z\�� �"�PInfo��VMR�_lambda_1VMR�VMC�$��VMC����Y�$�$decl�equations_eqn_1��Y��Zq��Z���Y��Zq�Z��PInfo�&�ATTR����&EqnL�&SEqnL�decl�decidable_eq_of_equiv_main�������_inst_1�	�e�S�	�������)�Z��*�S�����	��	��	��t���	��t�	�	�Z����PInfo�(� VMR�(VMC�(� �����*�)��

��decl�(_proof_1��������*�a₁	a₂�
������*��,	�-�
#�PInfo�+� decl�(equations_eqn_1��������)�Z��*�S�,�-�
)�(��	�Z��+��	�Z�������)�Z��*�S�,�-�
A�
C�Z��PInfo�/� ATTR����/EqnL�/decl�decidable_eq_of_equiv���Z�������)�Z��*�S�Z�	�PInfo�0� VMR�0VMC�0� �*�)���(decl�0equations_eqn_1��������)�Z��*�S�,�-�
)�0��	�Z�������)�Z��*�S�(equations_eqn_1�	��	�	�PInfo�2� ATTR����2EqnL�2decl�0_sunfold���Z��Z��PInfo�5� decl�inhabited_of_equiv�������_inst_1inhabited7e�Sinhabited.������7�Z��9�Sinhabitedmk.����default7	�PInfo�6�#VMR�6VMC�6�#�9�7���}
decl�6equations_eqn_1��������7�Z��9�S���Z��6��	�[������7�Z��9�S���Z��[�PInfo�?�#ATTR����?EqnL�?SEqnL�6decl�unique_of_equiv_proof_1�������e���7.	��������B��surjective7.	�i�PInfo�A�&decl�@��������B�hunique7unique.������B��D�[-uniqueof_surjective7.	��A��	�PInfo�@�&VMR�@_lambda_1VMR�@VMC�I�&���_fresh@�&4�}
VMC�@�&�D�B���Iuniqueof_surjectivedecl�@equations_eqn_1��������B��D�[-���[/�@��	�[=������B��D�[-���[/�[G�PInfo�P�&ATTR����PEqnL�PSEqnL�@decl�unique_congr_proof_1�������e�_x�[.	�[B�[F�unique_of_equiv7.	�������S��T�[Tsubsingletonelim.�[/�Msubsingleton_unique.�[Z�PInfo�R�)decl�Q_proof_2��������S�_x�[-�g�[,	�[X�[G������S��Z�[-subsingletonelim�
7�[l�X7	�[n�PInfo�Y�)decl�Q��������S���
�
�[T�[-������S���
�
�[T�[-�[U	�i�[C	�R��	�Y��	�PInfo�Q�)VMR�QVMC�Q
�)�S���}�@�@decl�Qequations_eqn_1��������S���
��
��

�
�[��Q�

�
	�[�������S���
�[��[��PInfo�^�)ATTR����^EqnL�^SEqnL�Qdecl�subtype_congr_match_1�������p��mq�[�e�Uha�

�$	�?_a��.�DV���[��D#y��7b�-���.� a� �.�1�"��val7�h����mpr�[��	`�[�	�[����[��[��
�n�[��[���� e_1�F�*7�_�m	� �[��[���� �[���property7�[�x�[���7�[��[���val.� �[���mp�[��[�	�[���property.� �[�������a�[��b�[��c�U�d�[��f�[���.�D#�f�[����[�� �[��g�[��[��[��S�i�S�-������� �S�f�S� �[�� �h� �.�[��\/���\/�\/���\5�\.�
�n�\5�\:�� ��S�l���_�[��\�m	�S�\4�\.���S� �\.�[�� �\,�n�\�[�� �\,�\3�[��S�\!�[��\_�\`�\_�\�S�\!���������[��Sx�S�r�_��g�[�� �\,�[��_�i�_����E�S�_���S�_�f�_�S�[��S�h�S�-��[�� �\��=����_�S�\��\����\��\��
�n�\��\���S��_�l���\�[��c�m	�_�\��\����_�S�\��[��S�\��n�\u�\!�[��S�\��\��[��_�\~�[�� �\��\��\��\�_�\~�\ 
�\!Annot���\�subtypeeq'.�S�r�S�-��\��\����
�\]�\��\��\��\"�\��\���
�n�\����\��R��%�S�%�_e_1���\�'�c�'�ie_2�����o�m���o�\�	���o�'�o�m�\��\��z�S� �\��
�S���\�����S���PInfo�`�2decl�`equations_eqn_1��������a�[��b�[��c�U�d�[�xh�-����\�\Z�\m�[��]3�`��� 	�]3�\�� �r� �.�]5�]3�����[��]C�]5�]G�]3��
�n�]K���]K������]H�z� �]J�
���]S���� ��������a�[��b�[��c�U�d�[��y�z�-���]7��]7�]@�PInfo�x�2ATTR����xEqnL�xdecl�__match_2��������a�[��b�[��c�U�d�[�_a�[��h�$�g�[��\�[�������a�[��b�[��c�U�d�[��|�]���7�[��|�[��g�\�\m�\Z���-����g�\{�r� �\��\��\��\[
�\,Annot���]�subtypeeq'7� �]C�]��]������\+�]C�\��\��\\�]��]���
�n�]����]�����%� �%�Se_1�\A�'�\�'�ce_2�M�J�"�m���"�]�	�T�"���]��]��\O�]���� ���]����� ���PInfo�{�2decl�{equations_eqn_1��������a�[��b�[��c�U�d�[�yh�$���]��\m�\Z�[��]��{��� 	�]��]��r���]��]����&�[��^�]��^�]���
�n�^���^�&��c�^
�[��^�����^�����������a�[��b�[��c�U�d�[������$��]���]��^�PInfo���2ATTR�����EqnL��decl�subtype_congr_proof_1��������a�[��b�[��c�U�d�[��n�[��	+	�[��D#������a�[��b�[��c�U�d�[��n�[��[��^F�^H�^F�\�D#�PInfo���2decl��_proof_2��������a�[��b�[��c�U�d�[��g�]�������7�[��[�������a�[��b�[��c�U�d�[��g�]��[��^i�^C�^h�^h���^s�^g�
�n�^s�^x���l���[��S�m	�^r�^g��	�^g�[��[��PInfo���2decl��_proof_3��������a�[��b�[��c�U�d�[�_x�[��\������a�[��b�[��c�U�d�[����[��]9	�PInfo���2decl��_proof_4��������a�[��b�[��c�U�d�[�_x�]��]�������a�[��b�[��c�U�d�[����]��]�	�PInfo���2decl����������a�[��b�[��c�U�d�[��[��[��]�������a�[��b�[��c�U�d�[��[��[��]��n�[��[��[��^G����	�g�]��[��D#�^h����	����	����	�PInfo���2VMR��_lambda_1VMR��_lambda_2VMR��VMC���4�n��_freshB� R
VMC���5�g���}
VMC���2�d�c�b�a������decl��equations_eqn_1��������a�[��b�[��c�U�d�[��[��^�����	�^�������a�[��b�[��c�U�d�[��[��^��_�PInfo���2ATTR�����EqnL��SEqnL��decl�subtype_congr_right����p��mq�[�ex	�

(���..�[�	�_������_���[����_�subtype_congr..�I��h(�P�PInfo���9VMR��VMC��	�9��������o��decl��equations_eqn_1�������_���[����_���_"���	�_.������_���[����_���_"�_8�PInfo���9ATTR�����EqnL��SEqnL��decl�subtype_congr_right_mk����p�_q�[�e�_xh�$���[��>���
 �
 �_�[��>�_E��
 �
!�_H�_E�_4�>�>�	�[��>�_U�>��[��;��;��,������_���[����_�����$�=�_E�_Y�PInfo���<ATTR�����ATTR�����decl�subtype_equiv_of_subtype'_proof_1�������p�[�e�S�e�_	���L��������[����S���_v��
�n�_v�����e�[��
J�����e���H�e�_u�e��e��_u�_(�a�m���me_1�Pb�m���me_2�P�S�

�

	�_�

((��(�_t(��e_1���*.� �m	�_s�z���_���4,(���e�������PInfo���?decl������������[����S�[��_�L��[�	b		�_r��������[����S�_	�L��_�����	�PInfo���?VMR��VMC���?��������decl��equations_eqn_1����������[����S�[��_�����	�_���������[����S�[��_��_��PInfo���?ATTR�����EqnL��SEqnL��decl�subtype_congr_prop_proof_1u_1α�	�p�_q�[�h�9�	�ma_x��m�

�;�����
(��
(�
(��
(�
(equivrefl�
(	���	����_���[����`��eqsubst�
(�`�`	iffrfl�$�PInfo���Cdecl�������	����_���[����`��
)�
)�=g	�=g���	����_���[����`�subtype_congr�
(�
(�I��_+�`����	�PInfo���CVMR��VMC��	�C���������o��decl��equations_eqn_1�����	����_���[����`�+Z�`1����	�`B���	����_���[����`�+a�`1�`L�PInfo���CATTR�����EqnL��SEqnL��decl�set_congru_1α�	�s�Nt�Nh�9�O�`-�p��o�
/�:sethas_coe_to_sort�
.	�`b���	����`Y���`Z���`]�`Ix������	�PInfo���FVMR��VMC���F����������decl��equations_eqn_1�����	����`Y���`Z���`]�+Z�`f����	�`q���	����`Y���`Z���`]�+a�`f�`{�PInfo���FATTR�����EqnL��SEqnL��decl�subtype_subtype_equiv_subtype_exists_match_1�α�p�_q�subtype.�m_asubtype�
4�`�	�`�aExists�$h�$���
4������_���`����`����
5�
5�`�	���`��`��`����`��-����-��`���`��(���
5�
4��`���-��`�� ��� �`��-����-�� �`��_�Sval_valval_property����`�� �S��`��S���S�`������S�`��\�_�`��S�`�	��������� �`��PInfo���Idecl��_proof_1�������_���`�a	ha(ha'	�`��`�	���`��`�������_���`���	��(���`��`��`��`��PInfo���Idecl��equations_eqn_1�������_���`���	��(���`���`����`��������`�������
5�`��`�	�`��a	���	������_���`���	��(���`��S��a�T
�a�a"�PInfo���IATTR�����EqnL��decl��_match_2�������_���`�_a�`���	�`�(��(�`��`�������_���`����aC�`��`����`��`��`�	���`��S��`��`��a�`���cases_on�;����;��`�	�;�h�;�_x�aW��dcases_on�;��aXha�`��;��aX�aU�aS�?���?�`��?���?���aiha_w�;�ha_h�aW�PInfo���Idecl��_proof_1�������_���`�a	���aA�;�������_���`���	���aA�aS�;����;��a�;����;����a��PInfo���Idecl��_proof_2�������_���`���	���aA���`��;��a��a�aS�`��`��`����`����`�������_���`���	���aA�aa�;��a��a����;����a��PInfo���Idecl��equations_eqn_1�������_���`���	���aA��aL���	�`��`��a�aJ	�`����	���	������_���`���	���aA�S��aL�T
�aL�a��PInfo���IATTR�����EqnL��decl��_match_3�������_���`�_a�`���`�_x�`��a�_x�`��a	������_���`����`����
5�`����`��a����`��a����aL�a��`��(���
4��`���-���`��`����`��a��S� ���b�a�S� �a�b�bval_valval_property����`�����`��`�� ���`��a��_�S� ���b�a�_�S� �a
�bAnnot���`�� 	�b3���b�b3�PInfo���Idecl��equations_eqn_1�������_���`�a	ha(h�`�����aQ���a�a����aQ�a�a!�a!����a!���aQ�bR������_���`���	��(���`���bT��bT�bZ�PInfo���IATTR�����EqnL��decl��_match_4�������_���`�_a�aC��`��a��a�������_���`����aC�a��`����`���`��a��a����`��ac��ae��`����`��.���.�b-���`��b��a� ���b��a�� �`��b�	�b�property_w�;�property_h�aW����`��b�b
�`�
�`�Annot���`�
�?Annot��
���?�b-Annot���b����`��b��PInfo���Idecl��equations_eqn_1�������_���`�a	h₁(h₂�`����a�bP�bK�a%�a
�b�����b����a�b�������_���`���	��(���`���b���b��b��PInfo���IATTR�����EqnL��decl�subtype_subtype_equiv_subtype_exists_proof_1�������_���`�_x�`��a�������_���`��
�`��bV	�PInfo�
�Idecl��_proof_2�������_���`�_x�aC�bs������_���`��
�aC�b�	�PInfo�
�Idecl���������_���`���
5�
4�`��aC������_���`���
5�
=�`��aC���`��a	���aC�a�	�
�	�
�	�PInfo���IVMR��_lambda_1VMR��VMC�
�K��VMC���I�������
�
decl��equations_eqn_1�������_���`���b����	�c������_���`��S��b��c!�PInfo�
�IATTR����
EqnL�
SEqnL��decl�subtype_subtype_equiv_subtype_inter_proof_1�α�p�_q�[�x	�

�a?h(�,��(���
	��
�_�
�[��
	exists_prop(���PInfo�
�Odecl�
��
	��
�_�
�[��b��`�x�`�subtypeval.	�`�x	�c0�
	��
�_�
�[��trans..�
A�cC�`���	�a?��(	�c=�`��cF�c �cB�subtype_congr_right.	�cS�cE�
�	�PInfo�
�OVMR�
VMC�
�O�
�
�
	������decl�
equations_eqn_1��
	��
�_�
�[���cG�
�	�cb�
	��
�_�
�[��S��cG�cj�PInfo�
�OATTR����
EqnL�
SEqnL�
decl�subtype_subtype_equiv_subtype_proof_1�α�p�_q�[�hx	����;�x�

���$((�
��
�_�
�[��
�cv�
���cx(andright�$(h₁(��;��;��@��PInfo�
�Vdecl�
��
��
�_�
�[��
�cv�b��`�x�`�	�cN�`��
��
�_�
�[��
�cv�cK�c��`��
�cx�c��cg	�cY�c��
�	�PInfo�
�VVMR�
VMC�
�V�
�
�
�
���
��doc�
 If the outer subtype has more restrictive predicate than the inner one,
then we can drop the latter.decl�
equations_eqn_1��
��
�_�
�[��
�cv��c��
�	�c��
��
�_�
�[��
�cv�S��c��c��PInfo�
$�VATTR����
$EqnL�
$SEqnL�
decl�subtype_univ_equiv_proof_1�α�p�_hx��x�`���`�x�>;x�`�(x�`�coe.�
L�aJcoe_to_lift�
M�
L�aJcoe_base�
M�
L�aJcoe_subtype�
L�>;�
'��
(�_�
)�c��
+�`�subtypeeq.x�$�c��G�c>�c��c��PInfo�
&�_decl�
%_proof_2��
'��
(�_�
)�c�x	��c��c��c��
'��
(�_�
)�c��
7	�c��c��PInfo�
6�_decl�
%��
'��
(�_�
)�c��S��`�	�
'��
(�_�
)�c���
L�
L�`�	�
.�`��c��`��c��`��c��`��c��c��
-	�`�	���
&�	�
6�	�PInfo�
%�_VMR�
%_lambda_1VMR�
%VMC�
8�a�
.VMC�
%�_�
)�
(�
'�
8�
8doc�
% If a proposition holds for all elements, then the subtype is
equivalent to the original type.decl�
%equations_eqn_1��
'��
(�_�
)�c���d�
%�	�d'�
'��
(�_�
)�c��S��d�d/�PInfo�
:�_ATTR����
:EqnL�
:SEqnL�
%decl�subtype_sigma_equiv_match_1��α�p�7q�[�_a��.7sigma.7	y�d?�
Afst.7	�@�
U�d<�d=	�
B�dJ	�dAx�d=�c�x�c��cM	���
U�d=�
B�d[�dA��.7�dT�dA�`�	�
E�df�c=��snd.7�df�dlsubtypeproperty.	�dnx�dQ�dc�df�dl�`�	�dM��val�
U�d[�da��property�
U�d[�da�dq�d��
=��
>�d;�
?�[��
@�dG���
U�dJ�dP�
@�dQ�dH�d<�d[�da�
D�d=�df�dl�dY�d=�
B�d��dA�dc�di�dA�`��
E�d��c=�dq�d��d��dw�d��
I�d��dc�d��d��`��d^�d��d��d��d��d��d��dq�d���dJ��dO��.7��d���d��dH�d<�d=� �
B�d��dA�S� �
D�d=�`��
E�d�� �c=�S�dY�d=�S� �
B�d�� �dA�_�S�dc�S� �d��dA�`��
E�d��S�c=�_� �dq�d��e�dw�S�e�
I�d��dc�d��e�`��d��d��d��d��d��d��d��dq�S� �e�dY�d��d��e$val_fstval_snd����dA� �dc� ���dH�d<�d��d��
D�d=�d��e�dY�d=�_�S�
B�e;�S�dA�\�_�dc�_�S�d��dA�`��_� �
E�eF�_�c=�\�S�dq�eF�eL�dw�_� �eN�
I�e6�dc�eF�eL�`�� �d��d��e;�eA�d��e;�eA�dq�_�S�e`�dY
�d�Annot��
�d�Annot���d�	�evrfl�
V�e6�ev�PInfo�
<�ddecl�
<equations_eqn_1���
=��
>�d;�
?�[�x	h(y	�dM�de���dH�d<�d��d��
D�d=�d��d��dY�d=�
B�e��e.�dc�d��dA�b��
E�e��c=� �dq�e��e��dw�e��
I�e��dc�e��e��`��d��d��e��e��d��e��e��dq�e��d��d�	�e��
<���e��ez�e��e��
=��
>�d;�
?�[��
Q	�
R(�
S�e���e���e��e��PInfo�
P�dATTR����
PEqnL�
Pdecl�
;_match_2���
=��
>�d;�
?�[�_a�d=�`��
E�e�	�c>�3��dX�d��d|�
=��
>�d;�
?�[��
U�e��d��c��dW�
U�dX�3��d��d��d����c����dV�b���d����d��3��d��e �e�dc�d��d��ffst_valfst_property�-����e��`����3��e9�el�eZ�dc
�d�Annot��
�eAnnot���e	�frfl�
W7�e9�f�PInfo�
T�ddecl�
Tequations_eqn_1���
=��
>�d;�
?�[�x	y��h�dT�d���3��e��e��e��d��d�	�f8�
T���f8�f �e��f:�
=��
>�d;�
?�[��
[	�
\���
]�f3��f<��f<�fB�PInfo�
Z�dATTR����
ZEqnL�
Zdecl�subtype_sigma_equiv_proof_1���
=��
>�d;�
?�[��
I�dG�dP�d��dJ�dP�
=��
>�d;�
?�[��
I�dG�d��dJ�dP�PInfo�
_�ddecl�
^_proof_2���
=��
>�d;�
?�[��
D�e��e��dA�c��dW�
=��
>�d;�
?�[��
D�e��dw�fh�PInfo�
`�ddecl�
^_proof_3���
=��
>�d;�
?�[�_x�dG�d��
=��
>�d;�
?�[��
b�dG�e�	�PInfo�
a�ddecl�
^_proof_4���
=��
>�d;�
?�[�_x�e��e��
=��
>�d;�
?�[��
d�e��f>	�PInfo�
c�ddecl�
^���
=��
>�d;�
?�[���
V.�
Z�dG�e��
=��
>�d;�
?�[���
V�
_�dG�e��
I�dG�dc�c��dW�d�dC�fY�
_��	�dq	�fY�
D�e��dY�dJ�dP�dc	�fi�dq�c��dW�
`��	�
a��	�
c��	�PInfo�
^�dVMR�
^_lambda_1VMR�
^_lambda_2VMR�
^VMC�
e�f�
I��_freshB�C�

VMC�
f�g�
I�
i

VMC�
^�d�
?�
>�
=�
e�
fdoc�
^A subtype of a sigma-type is a sigma-type over a subtype.decl�
^equations_eqn_1���
=��
>�d;�
?�[��dH�f��
^��	�f��
=��
>�d;�
?�[���
V�f��f��PInfo�
k�dATTR����
kEqnL�
kSEqnL�
^decl�sigma_subtype_equiv_of_subset_proof_1��α�p�d;q�[�hx	�(�,x�dJ�dO�
n��
o�d;�
p�[��
q�f��
s�dJ�dN�d��PInfo�
m�mdecl�
l���
n��
o�d;�
p�[��
q�f��.7.7�dSx�c��c��df�c��df�c��df�c��>��dI�c��
n��
o�d;�
p�[��
q�f��trans.7.7�
o�dX�dQ�f��symm�
v�
r�dQ�dX�f�	�subtype_univ_equiv.7�dJ�dP�
m��	�PInfo�
l�mVMR�
lVMC�
l�m�
q�
p�
o�
n�
%�
^�}��doc�
l A sigma type over a subtype is equivalent to the sigma set over the original type,
if the fiber is empty outside of the subsetdecl�
lequations_eqn_1���
n��
o�d;�
p�[��
q�f��dH�f��
l��	�g�
n��
o�d;�
p�[��
q�f��f��f��g�PInfo�
y�mATTR����
yEqnL�
ySEqnL�
ldecl�sigma_subtype_preimage_equiv_match_1��α�β�d:f1p�[�hx(y_a�`�x�7�-��;��
|��
}�d:�
~1�
�[��
��g*�
��
��g0�a��
��g+��	�
��b��g<�`����g;��_x� �.���
|� �gB���;��PInfo�
{�rdecl�
{equations_eqn_1���
|��
}�d:�
~1�
�[��
��g*�
�xh'�g.���`��
{��� 	�`��
�� �g+� �.�gE�
����<W	�;��
|��
}�d:�
~1�
�[��
��g*�
��
��
��g.��`���`��gf�PInfo�
��rATTR����
�EqnL�
�decl�sigma_subtype_preimage_equiv_proof_1���
|��
}�d:�
~1�
�[��
��g*�
�_x�g0�;��
|��
}�d:�
~1�
�[��
��g*�
��
��g0�gX	�PInfo�
��rdecl�
����
|��
}�d:�
~1�
�[��
��g*�7..��7.subtype�
|y�g��`�x�g-�
/�
|�
|�g��
0�
��
|�g��
1�
��
|�g��
2�
|�>��
|��
}�d:�
~1�
�[��
��g*��7.7.�
��g��
t�g��g��g�y�g0
�sigma_subtype_equiv_of_subset7.�g��
���	Annot�$
�sigma_preimage_equiv.7	Annot�$�PInfo�
��rVMR�
�VMC�
��r�
��
�
~�
}�
|���
l��decl�
�equations_eqn_1���
|��
}�d:�
~1�
�[��
��g*����g��
��
��
�	�g��
|��
}�d:�
~1�
�[��
��g*��
��g��g��PInfo�
��rATTR����
�EqnL�
�SEqnL�
�decl�sigma_subtype_preimage_equiv_subtype_match_1��α�β�d:f1p�`q�`hx�_�$y�g�x_a�`����-��7�g�� subtypemk�
�� �c��`��S�c��h�S�c��h�S�c��S�
5�S�.�`��[��h�h�h�e
�h	�g_���g��g�� �g��g�� �g��g�� �g�� �
5� ��	�
���
��d:�
�1�
��`�
��`�
��g��
��g��
��
��h!�aa�<W���<W�g��g��S�g��S� �c��eE�_�c��h@�_�c��h@�_�c��_�
5�_�-��`�	�[��hP�hQ�hP�eV�hO�
��`��<W�h_�g+�S���g��h<�S�g��h<�S�g��h<�S�g��S�h	w�<Wh_1�h^���g+�_subtypeval�
��_�g��_�S�c��`��\� �\�c��h|�\�c��h|�\�c��\�
5�\��`�� �[�� �h��h��h��dw�\� �h��hxcongr_arg�
��
��g��_�_�h��hx�PInfo�
��xdecl�
�equations_eqn_1���
���
��d:�
�1�
��`�
��`�
��g��
��g��
�hp�-�h'�h���hq�
����_�S� 	�`��<Y���<Y�g��h��hz�S�h��h��[�� �h��h��h��h��h��h��h<�S�h?� �hL�hN�[��h��h��h��hY�h��hv�S�
���
��d:�
�1�
��`�
��`�
��g��
��g��
��
��-��
��h��hq��hq�h��PInfo�
��xATTR����
�EqnL�
�decl�sigma_subtype_preimage_equiv_subtype_proof_1���
���
��d:�
�1�
��`�
��`�
��g�x�`�		�c��b��c��i�c��i�c��
5�-��
���
��d:�
�1�
��`�
��`�
��g��
��i�[��i�i�i�e��PInfo�
��xdecl�
�_proof_2���i�i*�PInfo�
��xdecl�
�_proof_3���
���
��d:�
�1�
��`�
��`�
��g������$�c��`�� �c��i+� �c��i+� �c�� �h*�`��
���
��d:�
�1�
��`�
��`�
��g������$�[��i:�i<	�i:�dw� �i9�PInfo�
��xdecl�
�_proof_4���
���
��d:�
�1�
��`�
��`�
��g��
��g��
��

�h!�g:�g��g��g��iX�g��iX�g��i
�
���
��d:�
�1�
��`�
��`�
��g��
��g��
����h!�ie_x�h!�h��S� 	h'�ie�`��<W�h_�[��<W���;��gF_x� ���h/���symm�
�� ���h/subtypeproperty�
�� 	subtypeeq7� �h*�h�h
�h�i��[��i��i��i��h�i�	�PInfo�
��xdecl�
�_proof_5���i�i*�PInfo�
��xdecl�
����
���
��d:�
�1�
��`�
��`�
��g��7..�g��g�y�g��b�x�ie�i�
���
��d:�
�1�
��`�
��`�
��g���7.7.�
��i��i�y�g��`��i�
��i�g��iX�g��i6�
���� 	�i
�sigma_congr_right7..�g��i��i��
��g����i��
��i�i��i��
���� 	�i��transu�
��
��i��b����`����-��g��h�
����S� 	�i��c�i��cY�i��i��
���	Annot�$
�g��i�g�x�i�g�	�i�
���	Annot�$�PInfo�
��xVMR�
�_lambda_1VMR�
�VMC�
��x�
���_freshD�5��������}VMC�
��x�
��
��
��
��
��
����
��	���decl�
�equations_eqn_1���
���
��d:�
�1�
��`�
��`�
��g�����
��
��
��i��
��
��
�	�j'�
���
��d:�
�1�
��`�
��`�
��g���
��i��j6�PInfo�
��xATTR����
�EqnL�
�SEqnL�
�decl�pi_equiv_subtype_sigma_match_1_aux_param_0_aux_param_1ι�!Bπ�?�_a�p�
��
�o�
��
�set�
��
���;��R1���
��
��jKset_of�
��
��jKf�jKi	�;��?��R5���@�
��
��jH�jI�	�;��R5�jN�j]�jQ�j]�
��j]�
��;��;��R9��fi	(���
��
���?��R9���johas_memmem�
��
��
��
���< �RD�jI�js�$�
��
��js�jQ�js�
��js�
��;��?��R���i�;��R9��i�;��jc�
��<J�RD(f�jjieqmpr�
��$�jc��val�
��
��js���js�jq��?��R��jI�j��jw�j��jQ�j��
��j��
��<�<8�R����
��
��!C�$�j��"_a�j��;��-���
��!C�$�j��F�j���property�
��
��js�j��<�R9�j��
��!B�
��?��
��jZ���
��
��j]���j]�jq�jo�jI�jo�jw�jo�jQ�jo�
��jo�
��;��<�RD���
��jj�j[�jH�j��jN�jo�j��
��
��$�jm�js�j��
��j����
��;��j��
��<#�R�(�
��j��
��j��-��j��j��j����j��jq��@�R��jI�k�jw�k�jQ�k�
��k�
�� �<%�@�R����
�j��-��k�$9�
��j��<W���j��-��k�Hg�k�j��j��k�?��RD�k��j]��j����j[subtype�
��
��js�
,�js�k�
��
��-��jm�j��k�
��j����
��<2�j|�
��?��R�(�
��jH�ju�jN�js�j��
��j����j|�j��k���k�jq�� �F#�R��jI�kY�jw�kY�jQ�kY�
��kY�
��S�<:�;��_i�_�<����
�j����kp�#��
��j����.�j����ko�=�ko�j��k�kk�<E�R��kn�jm
�jsAnnot��
�j�Annot���k�subtypeeq�
��
��js�j��k��k�funext�
��
��
��8�jr�j��k��j��k�isigmaeq�
��
��C��k�
��
����jm�k�kk�
��kI���
��;�� �j��
�� �?��R�(�
��jH�j��jN�j��j��
��j��.�j��j��kY���kY�jq��S�<��kb�jI�k��jw�k��jQ�k��
��k��
��_�<��;��\�
��\�����
�j��.�k��"��
�� �j�� �-��j��.�k��=�k��j��kY�k��?��R��k��jm
�j�Annot��
�kAnnot��	�k�k��Hg�j�(��eq_of_heq�
�_x���<�C��leqrec_on�
��
��l	�k��l�l
�l�?��C��k��l�lrec_heq_of_heq�
��
��l�l
�l�l�l�l�lrec_heq_of_heq�
��
��!C�j��l�-��l_x�!C�k0�l�leqmpr_proof_1�
��-��l&�
�k�l&�k$�l%�Hg�l%�k)�k�heqrefl�
��l&�l,�PInfo�
���decl�
�equations_eqn_1_aux_param_0_aux_param_1�
��!B�
��?�f�jKhf�jq�j]�j^�jw�j]�ji���j��k�k4�j��lV�
��
��
�	�lV�k��jo�j��lX�lV�k��8�jn�j��jo�j��lX�li�lV�
��k�a�-��j��kQ�k��j�	�j��lr�F�jc(���l�
��-��;��lo�ly�l
�l��lv�l��l��l~�<�lo�lv�l��ly�l�l��l��l��l��l��l��l~�l$�jc�ly�$�l��l*�j��ly�l��l/�$�l��
�j��l��j��l��F�l��j��lr�l>�l��l��
��!B�
��?��
��jK�
��lT��lZ��lZ�l_�PInfo�
���ATTR����
�EqnL�
�decl�pi_equiv_subtype_sigma_proof_1u_1u_2�
��	��
��@��
��
����
�	�=��SX�
��@��R9(�l��
��	��
��@��
��l��
�	�=��l��PInfo�
���decl�
�_proof_2�
��
��
��	��
��@��
��p�
��
�o�
�set�
���R2���
��l��
��
��l��
��l��
�	�=��SX���
�	��
��	�(	�SX�
��
���R:���l��
��
��
���RE�l��l��$�
��l��l��l��
��l��
��
��@��R����
��	��
��@��
��l��
�	�
�m	�
��
��l��;��$��
��	�(�m�
��m�
��
��l��m�PInfo�
���decl�
�_proof_3�
��
��
��	��
��@�f�l��$��'	�c��
��l��l��	�R6�l��m,�l��m,�
��m,�
��
��@��R9���
��
��
��$�m3�l��l����l��l���R��l��m>�l��m>�l��m>�
��m>�
��
�� �R����
�l��$�mS�
��
��l��;��-��m�$�mR�
��mR�m�l��mN�@��R9�mQ�
��jl���
��l��m�
��l����
��*e�m3�
��RH(�
��	��
��@���l�funext�
��
�	�8	(�m�i	�=](�
��l��l��l��l��l��l��l��
��l��
��
��Rc���
��m;�-��Rc�l��m>���m>�l���R��l��m��l��m��l��m��
��m��
�� �
��S�R����
�l��-��m��
��
��l��<W���m�-��m��
��m��m�m>�m��Rl�m��
��j��mq�l��mN�
��mx���
��*e�Rc�
��@��R�(�PInfo���decl�
�_proof_4�
��
��
��	��
��@�_x�l��@�
��
��m:�m��mp�
��	��
��@���l��
��
��
�	�PInfo���decl�
��
��
��
��	��
��@���
��
��
��l��l��
��	��
��@���
��
��l��l��
��l��mq�m,���m,�l��l��m��l��l��m��
�	�Sn���
��
��
�	�
��l��
�	�m;(�m�
��
��
�	�Sa�m��
��
���
��
��PInfo�
���VMR�
�_lambda_1VMR�
�_lambda_2VMR�
�VMC����
��
�VMC���%�
��
�
VMC�
����
��
���decl�
�equations_eqn_1�
��
��
��	��
��@���
��
��
��
��m��
��
��
��n)�
��	��
��@����m��n0�PInfo�
��ATTR����
EqnL�
SEqnL�
�decl�subtype_pi_equiv_pi_proof_1����pa����mf��.7a	(f�n>a(��a(��val��>$��>$��-����
����n:��n<��nC���property��>$�nH�PInfo���decl�_proof_2���
����n:��n<fa	�[�(b(�@�a��$�@��[��$�n`���
����n:��n<��n_��[��$�n`���PInfo���decl�_proof_3���
����n:��n<��.7�nC�n_��n_����>
��>
��$��a�nc�nm��nC��[��$�n`�nK�nV�
����n:��n<�
�n�x�nC����>
�ny��n=�>
�ny�@��n=�>$�nH���[��-���-��?��nu�>N��>N�������[�������?�����[����n�����n���[����n��nD�>s��>s�� �.���nR�>s�n�f�>
h�nx���n=�>N�n����[����n��nu�>s�n���[��.��.�@
����[��.�n�����n���[��.�n��nD�� �-���n���S�-����nR�n��n��n��PInfo���decl�_proof_4���
����n:��n<����nC�n_�n~�n��
����n:��n<�
�n�f�n_funext.7�8�[��$�n`��n���[��-��n��nD�>N�n��nR�>N�n����o�nu�>$�nH��[��-��n�����[��-��n���a�]��$�r�$�@��n��n������$�na�o%�o)�PInfo�"��decl����
����n:��n<����nC�n_�
����n:��n<����nC�n_��nC��n����	��n_�n|���	���	�"��	�PInfo���VMR�_lambda_1VMR�VMC�&����VMC������
�&�&decl�equations_eqn_1���
����n:��n<������o:���	�o\�
����n:��n<���o:�oe�PInfo�(��ATTR����(EqnL�(SEqnL�nspace�setdecl�)univ_match_1_aux_param_0α�!B_a�p�,o��
������
univ��:Z�oq�or�ou�oxa���	��	�
����or�$��ox��subtypeval����o�	�or	�o�	�ox	�-�!B�.�oz����o��.�o��:Z�oq�o��ou	�o��0	�o����o��or�o��ox���o�	�o����o����:Z�oq�o��ou�o��0�o����o��or�o��ox���o��o��o�
�o�Annot���o�rflo��o��o��PInfo�+��decl�+equations_eqn_1_aux_param_0�-�!Ba_x�o��o{�o��o���o��o��o��o��o��+�6	�o��o��o��o��-�!B�7�8�o���o���o��o��PInfo�5��ATTR����5EqnL�5decl�)univ_proof_1u_1�-�	�_x�`^�`Y�``�/�;�+Z�`^�`Z�``�p�0�=�	��	���:���p���=�����	�O��	�p	�-�	��<�p�+�*�PInfo�:��decl�9_proof_2�;�-�	�a�*^�p+�p!�p8�-�	��>�*f�p8�PInfo�=��decl�9�;�-�	��8Z�p�-�	���*�+�p�=������`Z���p�0�=��p*���:�;�=�;�PInfo�9��prt�9VMR�9_lambda_1VMR�9_lambda_2VMR�9VMC�?��cVMC�@���0VMC�9���-�?�@decl�9equations_eqn_1�;�-�	��+Z�pA�9�;�p[�-�	��+a�pA�p_�PInfo�C��ATTR����CEqnL�CSEqnL�9decl�)univ_apply�α�x�p.o.�.��.�/.�5�.�6�S��pf�pg�pj�pm��6.�pvequivsetuniv.�c��pv�c��pv�c��pv�c����
�..	�pg	�$.	�pm	�E��F�po�H�p��PInfo�D��ATTR����DATTR����Ddecl�)univ_symm_apply�α�x��pv�pp�..�pv��8�:�pv�symm�:�8�pv�p�`��p����K��L���pv�p��PInfo�J��ATTR����JATTR����Jdecl�)empty_match_1_aux_param_0α�!B_a�owhas_emptycemptyc�P�os�
has_emptyc�;���Q�!B�R�p��o����o��p��o��p�	�R�o~�p��o{�p������p�������not_mem_empty�;�PInfo�O��decl�Oequations_eqn_1_aux_param_0�Q�!Bxh�o��p��*��O�Y	�o���	�o��p��o��p��p�	�Q�!B�Z�[�p��*��*��p��PInfo�X��ATTR����XEqnL�Xdecl�)empty_proof_1u_1�Q�	�_x�p�T�^�`Y�U�=���Q�	��_�p��O�=�PInfo�]��decl�\�^�Q�	��+P�p����Q�	��+T�p��]�^�PInfo�\��prt�\VMR�\VMC�\���Q��decl�\equations_eqn_1�^�Q�	��+Z�q�\�^�q�Q�	��+a�q�q�PInfo�a��ATTR����aEqnL�aSEqnL�\decl�)pempty_match_1_aux_param_0�p��p��PInfo�c��decl�cequations_eqn_1_aux_param_0α�!Bxh�p��*��c�g	�p��p��h�!B�i�j�p��*��*��q�PInfo�f��ATTR����fEqnL�fdecl�)pempty_proof_1u_1�p��h�	�_x�p��c�m�PInfo�l��decl�k�mu_2�h�	���A�o�p����h�	��equiv_pempty�C�D�p��l�m�PInfo�k��prt�kVMR�kVMC�k���h��decl�kequations_eqn_1�m�o�h�	���C�D�D�C�q&�k�m�o�q,�h�	���I�q&�q1�PInfo�r��ATTR����rEqnL�rSEqnL�kdecl�)union'_match_1_aux_param_0α�!Bs�ost�o{_a�:-�o��o��o��
union�u	�v�!B�w�os�x�o{�y�q<�:<�o�	�o��y�:-�qF�qH�oq�o��ou�q=	���qF�:H���L���o��q=�o��q\�o����o�orinl�o��qd�qg	��property�L�qb���qH�q^�q_�q`���o�orinr�o��qx�q{	�qm�qv�PInfo�t��decl�t_proof_1_aux_param_0�v�!B�w�os�x�o{x�q9or�o��o����o�	�q��v�!B�w�os�x�o{���q9�qf�q��q��ql�q��PInfo����decl�tequations_eqn_1_aux_param_0�v�!B�w�os�x�o{���q9�:Z�qA�t��	�:_�qF�qH�o����o��qQ�q����O	�v�!B�w�os�x�o{���q9�:l�qA�:n�qA�q��PInfo����ATTR�����EqnL��decl�t_proof_2_aux_param_0�v�!B�w�os�x�o{x�q;�q��o��o����o�		�q��v�!B�w�os�x�o{���q;�qz�q��q��q��q��PInfo����decl�tequations_eqn_2_aux_param_0�v�!B�w�os�x�o{���q;�q��q��:u�qF�qH�q��q�����	�v�!B�w�os�x�o{���q;�q��q��q��PInfo����ATTR�����EqnL��decl�s_match_2_aux_param_0�v�!B�w�os�x�o{p�`_inst_1decidable_pred��hsxH�qa�;�htxH�o��or�o����;�_a�oq�q��ou�q=�:Z�oq�or� �ou� �q=� o�:-�r
�r
�q��S� x�rdite�Q�o��S���S�
mem�Q�_�q=�_�S� �r$�:-�oq�or�S�ou�S� �r,hp�r%�:_�oq�or�_�ou�_�S�r5� �o��_���_�r�\�_�o��_���_�r<�q=�\�_�Sorresolve_right�r�rG�S�rJ� �ql�_�rExt�rM�o��\���\�r�c�q=�c�\�_	�����r%�:u�r6�r8�r:���_�r<�S�rG��resolve_left�rK�rM�rQxs�rK�r\�v�!B�w�os�x�o{���`���q����q����q����r�o�� ��� �o��S�r)�o��S�q=�S� ���r�:Z�r,�r����r0�q��_�S� ���r��r�rF�r��:-�r6�r8���r��:_�oq�or�\�ou�\�_�r��S�o��\���\�rU�\�r[�rI�r;�r��_�r��S�ql�\�rZ���r��o��c���c�r�i�q=�i�c�\	�����r��:u�r��r��r����\�rU�_�r��rm�r��r��r����r��r��� ��r����:Z�r5�r ���r��q��\�_�S���r��r� �r[�r��:-�r��r����r��:_�oq�or�c�ou�c�\�r��_�o��c���c�r��c�r��rI�rT�s�\�s�_�ql�c�r����s�o��i���i�r�"�q=�"�i�c	�����r��:u�r��r��r����c�r��\�s�rm�s�s�s���s� �s�r:���_�o��\�r��o��\�rC�s=dite���<W�sAh�����:Z�r��rC���r��q��c�\�_���sG�r�S�r�� �sN�:-�r��r����sO�:_�oq�or�i�ou�i�c�sY�\�o��i���i�s�i�s�rI�r��sb�c�sd�\�ql�i�s���sg� �o��"���"�r�o�q=�o�"�i	�����sO�:u�sZ�s\�s^���i�s�c�sb�rm�se�sg�sk���se�S�sv�r����\�o��c�r��o��c�rX	�s���
�n�s����s��<�		��s��sH�s��q��\�_�S�r�	�rI�r;�r[�s��_�s��S�r��s����s��r��r����c�o��i�sV�o��i�r�	�[��S�iff_true_intro�s�trueintro�s��s��%�sG�%�r��rXe_1�:Z�sY�r��'�oq�or�"�ou�"�s�'�oq�or�o�ou�o�sre_2�:Z�oq�or���ou���q=���o�"�)o�Qo�oq�or���ou���q=�����o�m�:Z�s��s�	�*o�Qo�Q�s��'�s��m�s��s��s��$o�Q�sG�r��s��r��r��s��s��rS���\�s��\�s��s��y�r��y�sTe_1�7��:-�sZ�s\�*�Qo�Q�:-�s��i�s��c�s�	�q��"�i�c�s��tdif_pos�Q� �s��s��[�����s����s��r����t=�r��s�rI�rT�s��\�tJ�_�s
�s����tM�s�s^���i�o��"�s��o��"�s�����t=�s"�s%�rm�tK�tM�tO���tK� �t[���Q�\�_�S�s��s��s��:l�qV�\�s��s����:Z�t�s��s��s�subtypemk_eq_mk�Q�\�s�	�s�	���s���U��\	���������s��s��s��s��sH�s��q��\�_�S�r�	�rm�s��s��s����s��[����S�s�����t������not_congr�t���iff_false_intro�s�not_false_iff�s��s��s��s��t�t��t�r��r��t��s��rS���\�s��_�t��t��t:�t�dif_neg�Q�t=�t?�[��te����te�t���t��t=���t����t��s��r��tc�tq���Q�\�_�S�t��s��s��t����t��t��s��s��t��t�	�t����PInfo����decl��equations_eqn_1_aux_param_0�v�!B�w�os�x�o{���`���q����q����q�xh'�o�� �r�o�� �r
���r��r��r��o��S���S�o��_�r2�o��_�r �u �����S� 	�u �sC�<W�;��u$���<W���r��r��s3�s;	�u4��
�n�u8���u8�<:		��u>�r��u3�q��_�S� �r?	�rI�r�rF�u4�S�uH� �rP�u4���uK�r[�s�	�[��<���s��<��s��u4�u@�%�r��%�sG���:Z�s��'�s��'�s����:Z�s��s��s��m�s��s�	�t�s��'�s��m�s��u6�u_�t�r��r��u5�r��r9�u]�s;�r@���_�s8�_�u]�u^�y�r��y�r����7��sT�t)�t%�s�	�q��i�c�\�u5�u��t<�uG�uG�[��<Y��s��<Y�s��r����u��r��r��rI�r;�uQ�_�u��S�r��uP���u��r��s������u��r��r��rm�u��u��u����u��u��tu�_�S� �u]�u4�u4�:l�qV�_�s:�u4���:Z�u��u_�u4�u@�t��_�s:	�u^	���u@��U��_	�������<W�u:�u=�uB�u>�r��u3�q��_�S� �rk	�rm�uI�uK�uM���uI�[���� �uQ����v�t���t��v���t��<��t��s��uQ�u4�u@�u��v�u��r��rh�v�s;�r@���_�s8�S�v�v�u��v�t��u��u��[��u�����u��t���t��u����t��<Y�t��s��r��u��u��t��_�S� �v�u4�u4�u����u��v�u4�u@�u��v	�u����v�!B�w�os�x�o{���`���q����q����q������u��u$��u$�u.�PInfo����ATTR�����EqnL��decl�)union'_proof_1u_1�v�	��w�`Y�x�`Z���`�������`n���,���`^���``�z��	��	�=����������vu�v~�=������ ����� �vu� �v�	��w�`Y�x�`Z���`���vq���vy���v��rI�v��v���property�b�v����v��=�� ��� ���S�����S�vu�S� 	�PInfo����decl��_proof_2���v�	��w�`Y�x�`Z���`�������`k�,���vy�����v��v��v�	��w�`Y�x�`Z���`���v����vy���v��rm�v��v��v����v��v��PInfo����decl��_proof_3���v�	��w�`Y�x�`Z���`�����c�������������;��������v�q�_x�`^���``�v��+Z�`^���``� �v����:��v��v��t�b�S� ���v����b�=��S���S���b�_�vu�_�S� �w�:��`^���``�S� �w	���w�;�`^���``�_�S�w� �=��_���_�v��\�_�=��_���_�w�vu�\�_�S�rI�v��w#�S�w%� �v��_�w!���w(�=��\���\�v��c�vu�c�\�_	�����w�;
�w�w�w���_�w�S�w#�rm�w&�w(�w,���w&�w7�v�	��w�`Y�x�`Z���`���v����v����v����v����b� 	�PInfo����decl��_proof_4���v�	��w�`Y�x�`Z���`���v����v����v�o�:��v��v����v��
��w
���w	�v��v��w"�wx�:��w�w���wy�;�`^�N�\�``�\�_�w��S�=��\���\�w0�\�w6�rI�w�w��_�w��S�v��\�w5���w��=��c���c�v��i�vu�i�c�\	�����wy�;
�w��w��w����\�w0�_�w��rm�w��w��w����w��w����w
�v��_�S� �v�	��w�`Y�x�`Z���`���v����v����v����wu�:��v��v��w����v����c�S���S���_�����_�S���w
�
��w~���w�v��v�� �w6�w��:��w��w����w��;�`^�N�c�``�c�\�w��_�=��c���c�w��c�w��rI�w/�w��\�w��_�v��c�w����w��=��i���i�v��"�vu�"�i�c	�����w��;
�w��w��w����c�w��\�w��rm�w��w��w����w�� �x	���w~�v��\�_�S�w�x,x�Sh�w��
�
��w����w��w�v��S�w�� �x6�:��w��w����x7�;�`^�N�i�``�i�c�xA�\�=��i���i�x�i�x�rI�w��xJ�c�xL�\�v��i�x���xO� �=��"���"�v��o�vu�o�"�i	�����x7�;
�xB�xD�xF���i�x�c�xJ�rm�xM�xO�xS���xM�S�x^���w��v��c�\�_�w��w����\���c�w����c�\�x����x4�v��k����w����k��w��w�	�rI�w/	�\�x��_���b�c�\�_�w����c���i�x>���i�c	���x��?�����k��x�x	�rm�x��x��x����x��<��x���
�n�x����x��
��\��x��
��w��w��rI�w�_�x��S�x��\�_�S�x����x��?�[��S	��s��x��<Y�s��x��x��x��x4�w��x��x��x��%�w��%�x<e_1�
��:��xB�xD�'�:��`^�N�"�``�"�i�x��c�'�:��`^�N�o�``�o�"�x��ie_2�
��:��`^�N���``���o�y�"�Xp�:��`^�N���``�����y�o�m�
��y�y	�X{�y�'�y�m�y�x��x����c�k����[��k���s��k��?��s��w��x��x��x��x��
��w��x�suminlinj_eq�b�b�w��w��x��x����+Z�=f�\�w��x��x��x����b�\�w��x����x���X��\�����v��w����S�w�� ���w�w��x&�x+�wC�yox�Sh�yl�
�x4�x{�x��w��w����\�x��_�y|���x4�x����k��w��x��x����b�c�\�_�w����c�x��\	�x����x��x�x��x��y��x��y|��
�n�y����y��x���y��
��w��w��rm�x��x��y��\�_�S�y{���x��[����x�����y��t���t��x����t��x��?�t��s��<Y�y{�x��y��x4�w��y��y|�y��y-�y��y����c�k����[��x�����x��t���t��k����t��k��?��t��s��w��y��y��y|�y|�y@�y|suminrinj_eq�b�b�w��w��y��y{���+Z�yK�w��y��y��x��yT�w��y��ya���PInfo����decl�����v�	��w�`Y�x�`Z���`���v����v����v��8Z�v�has_unionunion�b���
has_union�b�wu�v�	��w�`Y�x�`Z���`���v����v����v��pC�z�wu���v��v��v��z!�v����z"�;�w
�w�=��S�w��v����S�w��v������S� 	�����z"�;
�w
�w�z)�ym�z.�����S� ���wu�v�� ����	����	�PInfo����prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC��
������_freshD�y~	VMC����
��	VMC�������������x�w�v����decl��equations_eqn_1���v�	��w�`Y�x�`Z���`���v����v����v��+Z�z����	�zf�v�	��w�`Y�x�`Z���`���v����v����v��+a�z�zv�PInfo����ATTR�����EqnL��SEqnL��decl�)union_proof_1u_1α�	�s�`Y_x�y�p'�p	���	����`Y���
�z��PInfo����decl��_proof_2�����	����`Yt�`ZH�
��Ohas_interinter���O�
has_inter�j	�p��O�p�	xxt�`nxs�;��v~	�p����p����	����`Y���`Z���z������`n���;��[��������z����z��z��9���z��z���subset_empty_iff�j�z�	��z��z��PInfo����decl�������	����`Y���`Z_inst_1�v�	���
��:�z��:�z�	�p��:�p��8Z�vt�z���z	�:��vt�vt	���	����`Y���`Z���z����z��zo	a(��������	�PInfo����prt��VMR��VMC��	��������������decl��equations_eqn_1�����	����`Y���`Z���z����z��+Z�z�����	�z����	����`Y���`Z���z����z��+a�z��{	�PInfo����ATTR�����EqnL��SEqnL��decl�)union_apply_leftu_1α�	�s�`Yt�`Z_inst_1�z�H�z�a�z�ha�v�coe���o�`^���``�z���zcoe_to_lift�p�o�{!�
1�p�o�{!�
2�o���v�z�
��wu��p�p�z��p�o�z�wu�{���-�	�;�wr�wt�=����v��{�z�{$�z�{'�z�{*���v��z���z� ���	����`Y���`Z���z����z����z����{4�y0�v������ ���v��wu���{i�;�v��v��=�� ��� �v�� �v��z0� �z�� 	�����{i�;
�v��v��{t��� �v��v��zA� �z�� 	�PInfo����decl�)union_apply_rightu_1α�	�s�`Yt�`Z_inst_1�z�H�z�a�z�ha�{3�{D�;
�wr�wt�{G���v��{]���	����`Y���`Z���z����z����z����{��y��{i�{n
����v~�{]���{��{��
�n�{��{����{��
�{�a_1�{����v��{V���v��{�w	�z���z�S� �S�{$�{��S�{'�{��S�{*�S���S�w��z���z�_�S� ���w��{�w�{��_�{$�{��_�{'�{��_�{*�_���_���\�w����\�z�w��z�\�_�S�S��x�\�q����x����ywfalserec��false_of_true_eq_false���x��{�w��z�w��z�c�\�_�c�{$�|�c�{'�|�c�{*�c���c�x��z�x>�z�i�c�\�\�����m�|�eq_true_intro�|eq_false_of_not_eq_true�|����|�q��|+���|�_��|!�|0�|+or_eq_of_eq_false_right�|+�|/not_eq_of_eq_true�|.�|$�|.	�|$�|0�|	eqmp��� ��{u���w�� ��� ���S�q����w����yl����� ��� �|S��� �q����{u���{���� ���|S�|eautoclassicalimplies_iff_not_or�{u�|d�|O�
����z����z�� �p����p�� ��� ���S��w����{��S��9���|v�|z��� �

�v��z����z��S� �v��p����p��S�|����|��|�setext_iff�n� �|v�|z�|_��� �|��|`��� ��|������{u�{��|S�|��

�|����|��_��|��|���mem_inter_eq�n�S� �|�����mem_empty_eq�n�S���|��|�iff_false�|����|��|Snot_and�{u�{�Annot�;�wu�{��{��PInfo����decl�)singleton_match_1_aux_param_0�α�!Ba_a�o~singleton��s�o{�p��
has_insert�s�:Z�o��|�	�o��p��|�	_x���o����o��|��o��p��|�	��mem_singleton�s	_x�|�� ��!B���|��o�	��	�o��|��o��p��|�	��|��:Z�o��}����o����o��|��o��p��|��|���}� �	��}���:Z�qN�|�����o����q��|��q��p��|��|���}-� �}�}A�j�xh�}�:Z�r�}6����o�� ��� �r��|��S�r)�p��S�|��S� �|�� ��}H� �o����u�|�� �r�p�� �|�� �}g��o��|��:l�oq�o��ou�}����}e�|���}t� �}:�F�|O�o��|��;����}��}���mem_singleton_iff�s�PInfo���decl�equations_eqn_1_aux_param_0���!B����o��|����}�}$�}%�|��}���"�	�}��"	���|��:Z�}t�}z�}{�}9�}���o�	�}�:l�}-�}>�}?�} �H�	�|O�o��}�;�	���}��}��}�	��!B����}���}���}��}��PInfo�!��ATTR����!EqnL�!decl�_match_2_aux_param_0���!B�_a��� ��}�}��!B��%��� �%��� ��}%�}$��� ��}�}� �}������}��PInfo�#��decl�#equations_eqn_1_aux_param_0���!B���� ���|�� ����o��}�|�	� � �#�(�� �}��~��!B���~��~�~	�PInfo�'��ATTR����'EqnL�'decl�)singleton_proof_1�u_1��	��_x�p��+�x�`Z�p���x�+Z�`^�O�``	�~	�O�z��~	����=������~���p��~	��x	��~(� ��	���,�~��x�u	�PInfo�*��decl�)_proof_2��+��	��_x��� ��~:�~9��	���.���#�x�w	�PInfo�-��decl�)��+��	����x.�~����	����z.�~����~� ����p��	�p�~�:�z��~	�~5	�*��+�-��+�PInfo�)��prt�)VMR�)_lambda_1VMR�)_lambda_2VMR�)VMC�/���VMC�0�����_freshD��JVMC�)�����/�0decl�)equations_eqn_1��+��	����z..�z�~Y�)��+�~w��	������~Y�~~�PInfo�5��ATTR����5EqnL�5SEqnL�)decl�)of_eq_proof_1�α�s�pht�pqh�.o�p�x�pf�pg�pj	_x�pg�p��pg�p��dh���p��pg�p�	�8��9�ph�:�pq�;�~��<�~������~��~�	�dx���~��PInfo�7��decl�6_proof_2��8��9�ph�:�pq�;�~�x�~�_x�~��~��dh���~��8��9�ph�:�pq�;�~��?�~��~��~�	�symm���~�	�dx���~��PInfo�>��decl�6_proof_3��8��9�ph�:�pq�;�~�_x�~���`��
,�~��?�pf�~��pj	�`��~��~��~��~��@�~��~��d����p�� �pg� �p�� �~��~�	�d��~��<�~��`��~��~��~��=�~��~��d��
,�~�	�d��~��8��9�ph�:�pq�;�~��C�~��c��~���G�cM�~���PInfo�B��decl�6_proof_4��8��9�ph�:�pq�;�~�_x�~���`��
,�~����8��9�ph�:�pq�;�~��E�~���~��2�#�cM�~��2�PInfo�D��decl�6��8��9�ph�:�pq�;�~��b��~��~��8��9�ph�:�pq�;�~��c�~��~��<�~��`��~��$�7�	�?�~��`��~��=�>�	�B�	�D�	�PInfo�6��prt�6VMR�6_lambda_1VMR�6VMC�F���<VMC�6���;�:�9�8�F�Fdecl�6equations_eqn_1��8��9�ph�:�pq�;�~���G�6�	�q�8��9�ph�:�pq�;�~��S��G�{�PInfo�H��ATTR����HEqnL�HSEqnL�6decl�)of_eq_apply�α�s�pht�pqh�~�a�~���~��pp�b���~��.����~��w	�N�c���c���c���c��~��~�_x�~��~��c��pf�~��pj�c����c����c��~�	�~��J��K�ph�L�pq�M�~��N�~����~����PInfo�I��ATTR����IATTR����Idecl�)of_eq_symm_apply�α�s�pht�pqh�~�a�~����pp�b��~�����~���symm..��~����Z�c��~��c��~��c��~��c��~��~�_x�~��~��c����c����c������~�	�~��~��Q��R�ph�S�pq�T�~��U�~�������PInfo�P��ATTR����PATTR����Pdecl�)insert_proof_1�α�s�pha�~�insert..	�p��.	��.�p���.	�..	�p��U.	��	�Z��[�ph�\������
�n��������
����%�p��%�~�e_1�~��~��'�~��'�~�e_2�~��~��).o�pg�S�m�~���1��4	�*������1�'��1�m��4��������p���������union_singleton.	����'��2.o�p������PInfo�Y��decl�X_proof_2��Z��[�ph�\H���p���~���.�~���.	���~������T.�~���q�Z��[�ph�\�b��g����{����p��~��p�����
�n��{�����~��~���v��z���

�����i�~���k���~�����	�����x�~����������~������������setext_iff.��v��z��.������������������������	�������

���������_������������������������.����i��������������������������.	������.���������|�������������|���������a_1����
���a_2������	�\�b������b���~�	absurd�~���	�PInfo�a��decl�X��Z��[�ph_inst_1decidable_pred���\	�b���p��~��p�	�S��~����~�����2n��)��Z��[�ph�h��$�\	�b��+�S���1��3�~������4�i���1coe_sort..�~��~����~�����<��>
����0��I�Y�Annot�$
equivsetunion.��<���$�a�Annot�$
�2~���=��)��]�equivsetsingleton..Annot�$�PInfo�X��prt�XVMR�X_lambda_1VMR�XVMC�q��aVMC�X���b�\�h�[�Z�)�o���q���q�q�6����decl�Xequations_eqn_1��Z��[�ph�h��$�\	�b��+���5�X�	��p�Z��[�ph�h��$�\	�b��+�S���5��|�PInfo�t��ATTR����tEqnL�tSEqnL�Xdecl�)sum_compl_proof_1u_1α�	�s�`Y�
��`Z�z��`Z�z����`Z���p��`Z�~�x�	��y�`Y�������
�n�����������������

�p'�z����������������������%�`Z�%�Oe_1�;�'���'��e_2�z������m�|q�|q	�����'���m�|q��������inter_compl_self�w���������`Z������9�`Z����������|��������|^��������������

������_�������|�	���������������4,�����������PInfo�v��decl�u_proof_2�w�x�	��y�`Y����z�`Z�z����p�x�	��y�`Y����	��
�n��	����	����p�p��%�`Z�%�Oe_1����'���'��e_2�������|��|�	����|����p��union_compl_self���p�p����p��������`Z�p���PInfo�}��decl�u�w�x�	��y�`Y_inst_1�v��`
�:��~!�~!���O��		�x�	��y�`Y����=����������E�~!�p(	����������E�j�����O�~ �z�O�z	��C��M
�symm�����~!��Y��E�{	��C��	���v�w	Annot�$
equivsetof_eq��	��Y�p(�}�w	Annot�$
�p^	Annot�$�PInfo�u��prt�uVMR�u_lambda_1VMR�uVMC�����rVMC�u�����y�x�9�����6�����}����decl�uequations_eqn_1�w�x�	��y�`Y����=�+Z��G�u�w	��z�x�	��y�`Y����=�+a��G����PInfo����ATTR�����EqnL��SEqnL�udecl�)sum_compl_apply_inl�α�s�ph_inst_1��$x�pf�p��pj	����2n�~��~��/.�~��0.	����equivsetsum_compl.	�L��3J�~�����c��~��c��~��c��~��d�����������ph����$������c�����PInfo����ATTR�����ATTR�����decl�)sum_compl_apply_inr�α�s�ph_inst_1��$x�������p����	�����3R�~�����c�����c�����c�����d���������~����������ph����$������c�����PInfo����ATTR�����ATTR�����decl�)sum_compl_symm_apply_of_mem�α�s�ph_inst_1��$x	hx��*���3�~�����������������������Z�3J�����Z������ph����$��	����*
�����c��`����~����~�������~�����c���
�c���
�c����`����qf��������
����2n������	����&���&����&����DV	�3J����%�~�	��'��-��/���
�������&���pm����������&��B�~�����
��A
�p�����
��&��V��	�DV�v.Annot�$
�w��
��@�}.Annot�$
�p~Annot�$	��;�
�n��<��j������&��2_a��q�n��2n�pf�~��pj��v����~������2���~���~����~����D#�3J��w��}�`��	���������������<��e��.�DV����j��'�pp�S���H��&�pz��K��&��U�`����~����~�����|	���c���A�c���A�c���A�����~��pm�`����	������~����~���� ����~����� �~��W�~��~��c���v����c�����c�����i���~��pm� �`��������@��
�~���
��@��^�d�������	��coe_mk.���	����;�
�n��j���%��&�%��~e_1��2n�pf�~��pj� ������'�2n�pf��1�pj�S� �������1����S� �'�2n�pf�pg�_�pj�_�S��!���������_�Se_2��2n�pf�pg�\�pj�\�_��-�����*����\�_�).�2n�pf�pg�c�pj�c�\��=�����:����c�\�m���E��H	�*����o��E�'��E�m��H��h���$����&��-��/��b��c	����symm.����&��H��V������pz��H��&��U����g��q��k�pp�b���A��H����A��H����H��A��_�����m��g�pp�S���A��&�pz��A��&��i��A��a��������g����pp�p���A�p���A�p���A��c	����?����.��&��A��a��c	�*������A��&����������J�
�	�?��������&��H��A��V��_��������K��&�pp��v��K��y��K����K��A��_�������l�$����K���������������P.��
��@��^���p�'�m��� e_2��S�	����\��\����c��`��i�`��i	������i��i�-�	�S��h{�`����\��\���
�\	������	�������v������H��&��U����;��;�
��&��;�|O��'�pp�S���K��&�����P���D#��T����qf�~�	��.��	��8�~��c���K�c���K�c���K�������4��6��8��9�����A��	������	��3��^��5��5�� ��5��D��R����w����e_2��������"��#	�3J��"��%��C��Q��
�~���A	��O�setunion_apply_left.��	�DV��T��4Annot�5Annot�6�PInfo����decl�)sum_compl_symm_apply_of_not_mem�α�s�ph_inst_1��$x	hx��+����3R�����`����~���	������ph����$��	����+
���������qz�������
����6�3R����%�`����~���|	��i����
�n��������s_a��q�n����3R��w��}�`����~����	�������������e��������������
�n���������������� ����|O��'��-����qz��/��1��������@����������������������	��N�����^�������� ����������������e_3�L�*u���2o	�3R����%��������
������	����setunion_apply_right.��	�DV��T���Annot�5Annot�6�PInfo����decl�)union_sum_inter_proof_1�α�s�pht�pq�.����2n����������i�p���k	�2n�����has_sdiffsdiff.�p��
has_sdiff.	��(��*��)������ph���pq�
��9��
�o�p���2_a�p�����2n�~����~���	�~���n�2n�~���D��+�~���-	��I��K�2n�~���I�������6�� ��union_diff_self.	�PInfo����decl��_proof_2�������ph���pqx	hx��)��Pa���~�������ph���pq��	����l�c���	��o�PInfo����decl��_proof_3�������ph���pqx	hx��)��H������������ph���pq��	����~not_not_intro��andleft����u�PInfo����decl��_proof_4�������ph���pq����2n����������1��'�������������������ph���pq�
�����?���_a�p��������~���C��P��H����~�������W�����_�������p�����������'��1�
�n���������_a�p��n��h�����h����������union_comm.	��1��'������������%��1�
�n��������?��'_a�p��n��h��C��H��P��h��C��P����������inter_comm.	���������
�n��������?���_a�p��n��h��C��m	��P����������inter_union_diff.	�
�p��PInfo����decl���������ph���pq_inst_1��"	��K���������ph���pq�����(��J��������"����2n�~���P��I�����"�2n�����%��I��(��"��T��-
�
�����U��K��J���	�]��JAnnot�$
�2~��R��I��+��I��V	��P������inter_diff_self.	�]��IAnnot�$
�sum_assoc...�~���%��IAnnot�$
�2~�~���'�~�����]�~��p������'�setunion'.��P��H
_x�����Annotinfix_fn��notdecidable�����decidable_mem.�z����	���	Annot�$
��2�������������	�]���Annot�$�PInfo����prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC�����rVMC��������_fresh4�	VMC��9�����������o_c_1���������}������������������decl��equations_eqn_1�������ph���pq����������	���������ph���pq�����S�������PInfo����ATTR�����EqnL��SEqnL��decl�)prod_match_1_aux_param_0_aux_param_1α�!Bβ�!Cs�o{tset��_a�jH�jI�#�jN�#setprod����	�j[�jH�jI�#�jN�#���	p�!L�qN	�p��o����������jm�!N���!N�jq�!Q�jI�!Q�jw�!Q����#�o����q��!��}s���������	�;����
���������$���!���������o��#0�������������#@���	�ql��������property��������p����!V�������}/����#0�j��!N�������o�������#@��	�j��!N����;�������c����������!B���!C���o{�����������j��#���#�jq�!N�jI�!N�jw�!N���	������j[�jH��2�jN�!N��:���!L�������jm�!Q���!Q�jq�!��jI�!��jw�!����� �#V�o����u�!��r����������<������������!���W��\��q��#}��n����#���n�ql��U��^����h��l����A�!V��W��\�}[��U�#}�j��!Q��Q����q��������#�����j��!Q��Q�;���h����c������������#���;�!���!Q���P�j[�jH�jI�!��jN�!�����S� ���!L�r/������� ���� �jm�"���"�jq�!L�\�_�jI����jw�������\�_�S� �"�v"�!��r8�������S����S�;��S���S����_����_����_� �!��r8�����u�!��_�S���� ����S�������S�!��_�S����rO�v!������S������������!V�r8����r:�v!����j��"�������u��� ����������j��"����;��S������c��������jm�!����!��jq�"�jI�"�jw�"����_�S� ��'val_fstval_snd��jq�!�����jw�!��"������u����"C� �������"C����"C��"�j[�jH����jN���������!L�r�����������_� �jm�!L�c�\����L�jq�!L�i�c�jI��O�jw��O����i�c�\�_�!V�c�\�r����c�s��\�!��r��������\����\�S�;��\���\����c����c����c�_�!��r���g��s��!��c�\��z�_����\��c����\�!��c�\��z�S�s	��`��i���\��t��x����C�!V�r���g�r���`��}�j���L��[����s�����_����������S�j���L��[�<���t����c�����������jm���������jq��L�jI��L�jw��L����c�\�_�S�!V�\�_	���property_left��8property_right����!��\�_���� ���j[�jH����jN��L������!L�r���g�jm��O����O�jq�!L�"�i�jI����jw�������"�i�c�\�!V�i�c�s
���i�tU�c�!��s\�����n����c�_�<����c����i����i����i�\�!��s\�����s��!��i�c���\��q�!��i�c���_�si���������c�����������!V�s\����s^������j���O�������s���!�\��q��
�� �_�j���O����<������&�c���$��(��,�jm
��LAnnot��
��[Annot����^�
�s���}��=�_Annot��
��������=�SAnnot����Mrflo���������M�PInfo���decl��equations_eqn_1_aux_param_0_aux_param_1���!B���!C���o{�����xyh₁�o��#0�$h₂����#��$C���j[�jH��G�jN�!���O���!L�r�����b�����%�!��r���S�u� �!��r/����<7��� ����!��r/�����r��!�������� ������� �!�����ql�S��w��{��� ����������n�!V�r/����u��w�!��j��!���$����r��������!�����j��!���$�<-�������c�����������jm�!����!���3����!X	��u�!������e�!�������������� �����Q��n������!B���!C���o{�������������g����j������������PInfo���ATTR�����EqnL��decl��_match_2_aux_param_0_aux_param_1���!B���!C���o{�����_a�!L�qH������	���	�!O�����&��	���!B���!C���o{����������!������������!O��D�������@����A����o���U�@��W�!O��u�������!V�r��t��fst_valfst_property��T�<� ����A����!O�!L�r8������jH���jN�"��"�!V�r���I�r��t��!��\�_�j�����������s7��+�S��������*� �j��������;��_���_����S��0�c���.��2��6�����������t��!��r���I�;��_��=�!��r���I��s7��'��Q�S��������Q� �r��t���H���_��=��O������	��g	snd_val� snd_property�����!O��J�������!V
�r�Annot��
��IAnnot���r�
�t�Annot��	��:
��=Annot�����&2��J���PInfo���decl��equations_eqn_1_aux_param_0_aux_param_1���!B���!C���o{�����xh₁�q�yh₂����������������}J��� �r�	�;�������������� ����&2��u������!B���!C���o{������	�
�q������������������PInfo��ATTR����EqnL�decl�)prod_proof_1u_1u_2���	����	����`Z���	����l��l��(��l��(�����	���) �l��)���)�l��$��l��$��l��$����		���	����	����`Z���	�������������
��������$���)+����m�)����PInfo��decl�
_proof_2�����	����	����`Z���	������������	����	����`Z���	�������c�����������PInfo��decl�
_proof_3�����	����	����`Z���	����$��`e�p��o���P����	�����) �)�=����v��$��z�������
��val������������	�$��z���	����)+��)���	����	����`Z���	��������,��0�v�����������#��'�PInfo��decl�
_proof_4�����	����	����`Z���	�_x����m��l��l��)�l��)���	���$��z����mq�$����$��l��$��l��$��l��$�����L��vz���v��$��{������
	��������	�����$���c��h��v��L���{�� �L���{	�v���a��j��=��u��y����O�$���c��h�=���a�L��l��$���_����v������ �L����	�m�$���_������u����c�������������	����	����`Z���	�����������	�PInfo��decl�
_proof_5�����	����	����`Z���	�_x���$���R���������	����	����`Z���	����������	�PInfo��decl�
�����	����	����`Z���	������������������	����	����`Z���	�����������������$��z����=���������	�����#������	�����mq�)�����)���	���	���	�PInfo�
�prt�
VMR�
_lambda_1VMR�
VMC����

VMC�
�����������decl�
equations_eqn_1�����	����	����`Z���	��������������
��	�����	����	����`Z���	����������PInfo��ATTR����EqnL�SEqnL�
decl�)image_of_inj_on_match_1_aux_param_0_aux_param_1α�!Bβ�!Cf1s�o�_a�o��������	��!B� �!C�!1�"�o��#��+��o�������o�	�#�qN�����,	����9�o���;�����f��,� �;���K�;���mem_image_of_mem�����PInfo��decl�equations_eqn_1_aux_param_0_aux_param_1��!B� �!C�!1�"�o�xh�o���(��A��'��	�}/���q��;��������,�;���P	��!B� �!C�!1�"�o��)�*��a�����A������A��n�PInfo�&�ATTR����&EqnL�&ncomp�_match_2decl�+_aux_param_0_aux_param_1��!C� �!B�!1�"���_a�o����-�,	�����!C� �!B�!1�"����.�����7���o����	�.�o����	��[	�������E�;������������classicalsome��a������;�	�����e���x����;����classicalsome_spec������PInfo�+�decl�+_proof_1_aux_param_0_aux_param_1��!B� �!C�!1�"�o�y	h�����������0�o��0�6�2����i�8��-�		��!B� �!C�!1�"�o��8	�9����������8�����4���1����PInfo�5�decl�+equations_eqn_1_aux_param_0_aux_param_1��!C� �!B�!1�"����8	�9�o������b����+�<�=	�o����o�����;�����f����1�����<�5����	��!C� �!B�!1�"����8	�9�����������������PInfo�;�ATTR����;EqnL�;decl�_match_3_aux_param_0_aux_param_1��!B� �!C�!1�"�o�Hsetinj_on�?�@	_a��<�:Z�}s	_x��A�+����_x��:��d��!B� �!C�!1�"�o��A��9�D��<�o���j�D��:�:Z�r�E��[��s��<� �F��U��d� ����i���:Z�qV� �
,� ���S�u�E��s��I��<�S� �F�r
��d�S� �}J
��� �r�Annot�����subtypeeq��� ������������� x� ������8�� �.�<Y��P� ����u����8�����<W���� �������c�����������PInfo�>�decl�>equations_eqn_1_aux_param_0_aux_param_1��!B� �!C�!1�"�o��A��9xh��9����V��]��c�}[���u����>�L�M	���������������	����I�����������?��V����q�����������;���������V�c������������!B� �!C�!1�"�o��A��9�N�O��9������������PInfo�K�ATTR����KEqnL�Kdecl�_match_4_aux_param_0_aux_param_1��!C� �!B�!1�"���_a����:Z����F�����R�Q	�E�������!C� �!B�!1�"����S����o�����S����:Z�qN����F������E������������:Z�qV�
,���u����S� �F��s��� �E�}s��
��� �}/
���q����� Annot����O�����K��Q��O�c�����������PInfo�P�decl�Pequations_eqn_1_aux_param_0_aux_param_1��!C� �!B�!1�"���y	h����������%�����P�V�W	���������g���c�������2��	�;���x�������!C� �!B�!1�"����X	�Y�����i���i��p�PInfo�U�ATTR����UEqnL�Udecl�)image_of_inj_on_proof_1u_1u_2��	�� �	��!1�"�O�A�C�\�]	_x�vt�+Z�{	�E��g��	�+���F��������	�� �	��!1�"�O�A����^����>��	�PInfo�[�decl�Z_proof_2�\�]��	�� �	��!1�"�O_x���T�@�����	�F������	�E������	��	�� �	��!1�"�O�`����P��	�PInfo�_�ncomp�Zdecl�Z�\�]��	�� �	��!1�"�O�A����)��������	�� �	��!1�"�O�A�������������������[�\�]	�_�\�]	�PInfo�Z�prt�Zdecl�Zequations_eqn_1�\�]��	�� �	��!1�"�O�A����=����Z�\�]	����	�� �	��!1�"�O�A����H������PInfo�b�ATTR����bEqnL�bSEqnL�Zdecl�)image_proof_1u_1u_2α�	�β�	�f1s�OH���e�f	xyhx�v~hy�v�hxy�=U� �?�<Y�
��_�g�	��h�	��i1�j�O�k��$�l�m�n��&�o��(�p��+�PInfo�d�ncomp�cdecl�c�e�f�g�	��h�	��i1�j�O�k��$����g�	��h�	��i1�j�O�k��$���d�e�f	�PInfo�c�prt�cdecl�cequations_eqn_1�e�f�g�	��h�	��i1�j�O�k��$���c�e�f	��Q�g�	��h�	��i1�j�O�k��$����\�PInfo�r�ATTR����rEqnL�rSEqnL�cdecl�)image_applyu_1u_2α�	�β�	�f1s�OH��$ah�v�	�������o��
�R��t�u����)�v���r�����u��r��W	�{G���v����������	�����R� �;��$���v�	��w�	��x1�y�O�z��$�{�|��jrfl���r����PInfo�s�ATTR����sATTR����sdecl�)range_proof_1u_1u_2αβ�	�f1x���	���
��range����	��	������	��	��������	���1�������=	����PInfo��decl�~_proof_2���������	���1H���&�%	x�
�classicalsome�&�=�
����(�����mem_range_self�%�&	Annot�;�����	���1����������classicalsome_spec�&y�=�����PInfo���decl�~_proof_3���������	���1x�������
��%	�
,	�
,���%���x������(����������	������=r��m�
,��������>��������	���1�����subtypeeq�%	�
,	��������������=i������!�������PInfo���ncomp�~decl�~���������	���1�������&�'�������	���1�������&�)���������/(�������������=r��m����s�������	������	������	�PInfo�~�prt�~decl�~equations_eqn_1���������	���1�������&�)�)�&��=�~����	��c�����	���1�������3��=��n�PInfo���ATTR�����EqnL��SEqnL�~decl�)range_applyu_1u_2αβ�	�f1H���a��������������9�6�:��;��|��6�9��|��j	��G�����	���1������������|����PInfo���ATTR�����ATTR�����decl�)congr_proof_1u_1u_2α�	�β�	�e�	���	��Q�T�Zequivsymm����	�n�>���	����	����	��symm_image_image�>�@	�k	�PInfo���decl���������	����	����	���@o�>o�O�	����	����	����	���C�E�O�	�s�O�]t�	�����symm_image_image�@�>	������	�PInfo���prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC��� �r��VMC��� �r��VMC�������������decl��equations_eqn_1�������	����	����	����o��o�M�J������H�K	������	����	����	���Q�������PInfo���ATTR�����EqnL��SEqnL��decl�)sep�α�s�pht�[��b����has_sepsep..	�p��
has_sep.	x	���pf�pg����pj����
�.���x����c>���������ph���[����cC�cF�cj�PInfo���"prt��VMR��VMC���"�������
�}decl��equations_eqn_1�������ph���[��������	���������ph���[��S�������PInfo���"ATTR�����EqnL��SEqnL��decl�of_bijective_proof_1u_1u_2αβf1hf������	x	Exists�Sa�
��$������1������	�c����S�T	���S�T	�PInfo���(decl��_proof_2����������1����x�
�������I�
��-��c�����!	(������1�������������$��?����I���;���&(�PInfo���(decl��_proof_3����������1����x	�I������2�I��/	��'������1������	�����W��'�PInfo���(ncomp��decl������������1����'������1����	��	�����W������	������	������	�PInfo���(decl��equations_eqn_1����������1������'������	���������1�����S'����PInfo���(ATTR�����EqnL��SEqnL��decl�of_bijective_to_funu_1u_2αβf1hf���h������^�]�_'�
�	����
�'������������1����rfl�]�^�������PInfo���,ATTR�����ATTR�����decl�subtype_quotient_equiv_quotient_subtype_match_1����p₁�_s₁setoid.s₂setoid.�[�	p₂�quotient.�mhp₂a�

�-�quotientmk.hx�[�y�[��

setoidr�d�\has_equivequiv.� setoid_has_equiv.� �
/..���� �
0�e.���� �
1�e.���� �
2.� �
5� �-����_a�[����x����$���[����� ������-�aquotient�d���quotientlift_on�e�e�\u� �[�����S�������a����[�����_� �����.����_� �\��S�[��S�������\��Sa���b�[��_�Shabhas_equivequiv�e�[��\�_setoid_has_equiv�e��!� �\�����c�_����*����[��c�\�[�����i�\����1�<�����i�\�[��i�c�[��c��9�S��:� ��9�\�i�c	��Gquotientsound.�c�_�[��c�\	��P�[������/�S	����c����c�_�����/�c�����/�c�����/�c����c�
5�c�<i	��i�y�a���quotienthrec_on.�d�S_x���_a��	�����!� �[������a�Sh��	�����e��!� �[��\�_�[��_����\�S�<Wa�Sb�_hab����\����\�S�hfunext�d��,����c�_	��,���a�������[��i�c�_�������������������_�[��i�c�[��c�S��6�<������������	�[��c	�S��6	�����n�������n�������
�n�������
��*���_a��*�n�n��3�����3����n��3�������������N	�����h₁���h₂���_x�
�������"�c������"�c������heq_of_eq�d����[��o�"�c�������c�[��o�"�[��"�\����o�i�<�	�����[��"�\���quotientsound�d����c�����[��������c��������o����o�i�������o�������o�������o����o�
5�o�o����9���S�����\�����������_�������������������������������\�����������������������������[�����	�����[�����\�S����j�-�����[��\�_�[��_��p��q��p�\�\�_��������!������/��#��/�S�\���1��3������[�����������[��"�i�[��i����_����S����\�"�i	�����L�i�\��8	��8�[��������_	����i����i�\�������i�������i�������i����i�
5�i�<t	����x�������x�_� ��������l�����/�S�[�����	���_����l��������/�S�[��c�\�[��<�� ��������_��\���]��������3��6��������[��"�i�\�������������������\�[��"�i�[��i�_����s������������	�[����_���	�x����n�������n�������
�n�����
��1������1�n�n���������n���������������	��������������
�������o�i�<i����0���������[����o�i�����9�i�[����o�[��o�c������"��	��>��@�[���c��E�\����9�i��K��V�[������9�i��K��V�����������"�����9�������9�������9��������
5������K��r��V�_��K��V�\����	������-�������e������������!�[���j��l� ����!�[���*��,�����P�[��\���� �������\�c�\����!����/���������#����_�\�������������[���/��0���[��o�"�[��"����\����_����\�o�"	�����L�"�c���	����[��������\	����"����"�c�������"�������"�������"����"�
5�"�<�	���������e��x�\�S����j����,����[���j��l���\����,����������[����S����k����\��c����������������������������������[��"�\��4�_��������	�[��"	�\��	�_	���n�����n�����
�n��1��4�
����������n�n��5��0��&�n��0��<����1�����	����������<��
���������"�<t��P��S��E�������[������"�����\�"�[������[����i������o�c	��a��c�[����i��g�c����\�"��n��z�[������\�"��n��z�����������o�����\�������\�������\��������
5������n�����z�\��n��z�\��j��l�[�
��Annot��
��	Annot�����quotientinduction_on.�_� _x��_a�.���[���*��,������������[���1��3�_����������������������#����c�\���R��S����9�[�������o������<���g�[������[�������i����c����\����	�����L���"�[����o	����[���^	��e��r	��r��)�������x�i�\����1�������[���1��3���i�������������[��"�\��������i��"���,�����S��E	��S��E�����^���!��^������a��c�[����i��g�������!��a��c	�[���	�i��g	������n����!�n��!��!�
�n��@��C�
��R�����R�n�n�����*�����6�n�����L����@�� ���	����!������L��
������������4���������c��e�������[������������o���[������[����o���������	��t��v�[����o��{������o���������[������o�������������������������o�������o�������o��������
5��������������i�������\��1��3�[�
��*Annot��
��,Annot�����a�_ha����=���������������PInfo���.decl��equations_eqn_1�������_�������������������������a���ha�$����`�������[�������������S� 	�������S�
���������������}�����/����S��G����/��������������#����\�\���/��0������[���R��S��E����[��o���c���\���\���o	����L�o�i���	����[���%	��,��9	��9�x��������x�c�_����*���������[���*��,���c����3��6�������[��i�_���S���c��i���������<��0�����<��;���Q��;����<��>��@�[��o�c��W�\����Q��>��@	�[��o	�c���\	���n��<��Q�n��Q��Q�
�n��p��s�
��/��&���/�n�n��X���n��S������p����	����Q���<�����
������t��J�������[������o�������o�[������[����"��e�i	�������[����"��f�i������o�������[��������o������������������������������������������������
5��������������c�������\��*��,��m�����S�����=�����5�����m���������_�������������������������������$������������PInfo��.ATTR����EqnL�decl��_match_2�������_�������������������������_a����������Q��w��������������_������������������������������\� ��������b��������������'�� ��-��������������������\}�S��7�=�����7�PInfo��.decl�equations_eqn_1�������_�������������������������aha�.����$��������&�\ � ��L���S� 	��K�=��b��N������_����������������������������.���P���P��Z�PInfo��.ATTR����EqnL�decl�subtype_quotient_equiv_quotient_subtype_proof_1�������_�����������	�m�����[����	����������$����<W������_���������w����}��������i~����,�PInfo��.decl�_proof_2�������_����������������������������� �����S����Sheq�da��	��	���l������������������[���������	�����l���	��������������	�[���)����?������_����������������������������� �������������������}������}���������n�������n�������
�n�������
���������n�n�������n����������������L�_� 	���������������
���,�����,����������������[���k�S��6� 	�������[���w�S��6�?������_�����[��������������������������PInfo��.decl�_proof_3����������������m���[���u����8�������	(�[���<��=�������4����7����;�\��<��=�PInfo� �.decl�_proof_4�������_���������w����}���[�	����[�������_���������w����}����N�[���Q��S��Q�\�PInfo�!�.decl�_proof_5�������_��������������������������������������������#�������d�r�������~	��~������_���������������������������������������n�\�����	��r��t�����
	��
�[������	����_����_� ������_������_������_����_�
5�_�<�	�������PInfo�"�.decl�_proof_6�������_�������������������������_x�����U������_��������������������������$������� 	�PInfo�#�.decl�_proof_7�������_�������������������������a������_x�����$������������_��������������������������&���quotientinduction_on�e������_x�����Y�PInfo�%�.decl��������_��������������������������_������������_��������������������������.�d�������������x� �������������[���������� ��������S��1��3���_�S� ��� 	� �� �������������������������\]� �!��S� �"�� 	�#�	�%�	�PInfo��.VMR�_lambda_1VMR�_lambda_2VMR�_lambda_3VMR�VMC�+�2'������_freshI�+-quotientmkVMC�,�2���0��_freshI�+,�+�1hrec_onVMC�-
�5
���0�5�2�1lift_onVMC��.��������������,�-decl�equations_eqn_1�������_��������������������������������	��O������_��������������������������������_�PInfo�9�.ATTR����9EqnL�9SEqnL�decl�swap_core����_inst_1�	�ab	r����;��r�<�=	�>ite.�
	�$	��x��y�$	�PInfo�:�>VMR�:VMC�:�>�>�=�<�;�		decl�:equations_eqn_1�����;��r�<�=	�>�
�:�	�������;��r�<�=	�>�
����PInfo�A�>ATTR����AEqnL�ASEqnL�:decl�swap_core_self�����;��rra	����������?�����;��r�C�D	���������x���@�����
�n�������j�������A.����
�sC����@����h������
��x�
	������		�
	�
�n�������%�%e_1�_��'� �'�Se_2�����\�m�\��\�	���\�
��\�����m��������m���c�m�	�������������H�m�H�me_1�Ph�	�	�t�Le_4��e�Ne_5�	���m�\�H�m�I�n�c�
��x�i�_�S� ��x����i����_�S�.�L�M���������i���i�S��'	�N�O������/� �
��x�\����\���� �\���\	�_�S�����������������if_pos.������	��p		���	of_eq_true����|$�����.	�E�����������	�
���������	�����		��i	if_neg.������	���		��y��}����|$�����y�PInfo�B�Cdecl�swap_core_swap_core�����;��rra	b�
��������?����		����;��r�T�U	�V������
��x�
�����x������	�����x���������	�
�n����������������������������������������������;�	��<�<e_2�]R�=�S�=�_e_3�\��>�c�>�ie_4�\���&�o�S�<�o�W�����_����������c�\� �������=�o�X������������	�>�o�Y����������
�o����o�_�S	� �����g���������������	��<���		��y�sC���������h������	���x�	���x�	�	N��x��KM		��X	��x��Y��\	��X�	���x�	�	�����Z�����]��l�%�%e_1����'�S�'�_e_2�\����c�m���c��t	���c�a��t��X��k��LN��W		�
		�
�n��j��������h�����_��Z��l�����]�����g	�m��g��x�	������a�����c���������		��_��a��������c		�����X�����k���������	����sC��l�;�	���h_1��l���_���x�_�	����_���x�_���:	��x���	��9	����������%�%� �[�S�'�_�'�\�\��t���i�m����	���i�V�����	��k�����:	�����?	����
�n��$��&����"	��k�����	��?��}��&�|$��&�m	����]����l��%�_��
��(��M��+��������	��6��}��M�|$��M��D�Z�������k�	���x�	���W	��p��j�����W�����LN��W		�����x��i�����|��t���	��W�
�����������������j��w��]�����g��������|�����c		�����X��W��s����sC��Q��S���h_1��Q���_���x�_�����������������������:	�����	��x���	������	������	������		��?	�����&�
�n�����&�����	��<�����x��L����������������������k��������	��x��L	������������������		���	��_������������		�����������_����������������������k��������	�����6��:��;��B	�^����Q�������
�����-�����������������������������	�������=���		��������<��������������:		����������R����������9��4��S�����>	��6��}��-�|$��-��6�PInfo�S�Fdecl�swap_core_comm�����;��rra	b�
������	����;��r�`�a	�b��������������	�
�n�����������������=��������:	��I���h�������Y��V��P�	���V�
�n�����������������_��Q��Q����Q��S		���������������h_1��Q��������	����
�n��������		���������	��}����|$�����=��&�d��,������	�
���������	��8	��}����|$�������c��h�����i��W�
��������t�����W�����r������h_1��Q������������
�n�����������������}����|$������e��,����-�
����-��:�����9��|�PInfo�_�Idecl�swap_proof_1�����;��rab	r�
������������ �k�	��.����;��r�h�i	�j�swap_core_swap_core.���	�PInfo�g�Ndecl�f_proof_2���7��B�PInfo�l�Ndecl�f�����;��r�h�i	������;��r�h�i	�������J�g�	�l�	�PInfo�f�NVMR�fVMC�f�N�i�h�;��:�:doc�f`swap a b` is the permutation that swaps `a` and `b` and
 leaves other values as is.decl�fequations_eqn_1�����;��r�h�i	���f�	��X����;��r�h�i	������a�PInfo�n�NATTR����nEqnL�nSEqnL�fdecl�swap_self�����;��ra����	��]	��	���@��E����;��r�p�eq_of_to_fun_eq..		��u�Efunext..	�8	������		��u����Er	�swap_core_self.�s�p�?��PInfo�o�Qdecl�swap_comm�����;��rab	����^����������;��r�v�w	��{����������8��������r�swap_core_comm.�x���	�PInfo�u�Tdecl�swap_apply_def�����;��rab	x�
�����1��]���	�������;��r�{�|	�}������PInfo�z�WATTR����zdecl�swap_apply_left�����;��rab	�����������;��r���	��k������������@
���������PInfo�~�ZATTR����~decl�swap_apply_right�����;��rab	���������;��r����	�sC�N(���h������
���	��
�n���������������	�������x����������	��				����x������		����� 		�������	��*�*..	����swap_apply_def.���		if_simp_congr.���������				�������G����������������A�m�

��L�0���������������		��y	��������			��A�������				��g��y��yif_true.��h		��{��				��y��e�������������	���������������+	��x����������;�	�t����		�����x������	��x�
���	�����<��A������������;�		�����g�������������������		��A�������		�����y��g��{���	if_false.���			��y��e���PInfo���]ATTR�����decl�swap_apply_of_ne_of_ne�����;��rab	x�ne.	����	�_���������]��'		����;��r����	��������
�n�����������z��imp_congr_ctx_eq���a����	���������]���	���nedef.	_h��������K��������.��K���3	_h��K���
��������	��<��������� ���S���_���	�������&���?�t���&		��U��x��&��'	�����d	��`��8��'	��@��&����X����?		��[����<���������������|�t����		��w�������|		�����6���������	�����\			�����������	����9�����K�������������PInfo���`decl�swap_swap�����;��rab	����trans...�������P����;��r����	�������P��������$x��9�����	�PInfo���cATTR�����decl�swap_comp_apply�����;��rab	xπ����	�������%�����*��x�	���&���	��x���	���	�������;��r����	��������..����"�_������������		��x�_���	����x�� ��#��π_to_fun�V�π_inv_fun�V0π_left_inv�..� � π_right_inv�..�S�S	�
�_�����_�_���_�_����_�_�_���_�_	��]�_���_���\�<�� �PInfo���fdecl�swap_invu_1α�	�_inst_2decidable_eq��xy	�
��*has_invinv�u��g�w�u��g�6�u�swap�v�����u���	�����f����	�*e��g��v�PInfo���jATTR�����ATTR�����decl�symm_trans_swap_trans��������;�	�_inst_2�	�abe�/�g���S�trans7..��������� �@
	�swap7�����?��	+	���������;������	��������/�w������x���&�|�����l� ���� � �3��]� ��� ���S��%	����������	`���	�&�����x�&��������1���������a� ���

�
�\&�\(	����	�

�
!�������
�n�����������_a�m�n�

���\��\�	�D	�\��3��������������������eq_comm.�S�����������a_1����������
�n�����������	��%�S�%�_e_1�\��'�c�'�ie_2�]��J�o�m���o��	�T�o�]��		���S	���	��S���������	�*.7�_�S�������\�	��������S	��a_1������������
�n��Q����Q����%�_�%�\e_1����'�i�'�"e_2�\������m������	�����'���m�����>����m�_����������*7.�S�_	�������z�_�S����X����_��� 	��x�����������	������	���	� ���ite7����-��������������-��������
�n�������c��������������1��������� �����9� ����������m� �����x���������� 	��x������	� ���������������� � ����������#7..� � ��������8� ���	�����@� ���������	������� ���	�������
	����������������������
�
����������swap_apply_def7����������sC���������h������������x������������.������S���

����������

�������9�
�n��:��?����6���m�n�

�\����E�_�\���_�\�f�\�_�\?���3���V����:��=����6��=���_�������=��9����=����V��
�n��V����V��S��%�_�%�\���I�'�i�'�"�����J���m����	�T����f�����_��U��_��U��T��O��9�\�_��O��T���\�_����q����_������9���\���O��
�n���������\���%�\�%�c�����'�"�'�o����������m������	�����'���m����
�\��O�m�\��O��N��U���_�\��U��N�z�\�_���������\���S��x��������������3����S��������.�<W��-� ��������<W��� ��-�������
�n���� �]�������9�S� �������k��.����S��
�����P7��.��� �������� ��
�n�� ���� �
����� ��G�E.7�S� 	����G��]������������������
���
��"��b��%��`��)��
��������.����S��
�����R7��.��� �����sC������bh_1�����D�����x��������������� ������_���

��P��S��T�

�\���O����
�n��������������m�n�

��t���E�\�c���\�c�f�c�\�\��=����c�\�3�����������������������\��O��������������������
�n�������������%�\�%�c���]��'�"�'�o�����J���m����	�T����������\�����\�����������9�c�\���������c�\���������\�����������������
�n�����������%�c�%�i���\��'�o�'������������m������	�����'���m���
�c����m�c������������\�c�������z�c�\��������c���_����������<Y����S���	�D��_��_�
�n��b��e��,��Y��_��;��X�����k�����T�_�����a��_��6�����\�S��_	����e��
�n��e����e�V�����e�����L�_�S�������������������c�D��6	�
��g�����j��6��l��������������T�_�����a	��s�����\�S��_	�������
�n�������������,��6	��B		��0��J���PInfo���mATTR�����decl�swap_mul_selfu_1α�	�_inst_2��fij	��hhas_mulmul����g�k�w��g�l�w��g�m�w��g��n��u��u��w��g�q�w��g������	�����f����	equivswap_swap�w����PInfo���vATTR�����decl�swap_apply_selfu_1α�	�_inst_2��fij	a�m2�`	�*�`��q���	��
���	�����f����	�������m2������������������������m��	��	�
�n����#�mX��_a�n�m��`	�*�`��q���	��0�m�������!�ma��!���permmul_apply����	��	����#�m2���������������
�n��#��Q��y����_a���n�m���+�����)�����)�����)�����)��m��/��/�m���+����#��M�swap_mul_self�y���	����Q�m2�
�n��Q��}�mX��O_a�n�m���+�����)�����)��^��7����Q�permone_apply�y�
��PInfo���yATTR�����decl�set_value��������;���f�Sab�/������;������S�����A��'����
J	�PInfo���}VMR��VMC���}�������;���}
�f��doc��Augment an equivalence with a prescribed mapping `f a = b`decl��equations_eqn_1��������;������S�����b�/����	���������;������S�������/����PInfo���}ATTR�����EqnL��SEqnL��decl�set_value_eq��������;���f�Sab�	��?������	������;������S�����
������	��t�����'�����
�n���������	���%�%e_1�^�'� �'�Se_2�\A�J�\�m�\����	�T�\�
��\������t��&��'�����������t�����9������t�~.��������	�������������PInfo����ATTR�����decl�forall_congr�������p�[�q�[�f�Uhx�[��

x�-�y�$��������[����[����U����?����@��Bh₂��@x���-��� �N� �
�n�-���U��_a�n�<W�����-���T� ��T�W� �[���S�[���S	��S��S����B���[����[�(��{�PInfo����prt��decluliftsubsingletonu_1u_2α�	�_inst_1subsingleton��subsingleton�~�������~���	�������subsingleton������equivulift�~���PInfo����	prt��VMR��VMC������decl��equations_eqn_1�������	�����������������������	��������������PInfo����	ATTR�����EqnL��SEqnL��ATTR�����class������declpliftsubsingletonu_1α_inst_1subsingleton��������������subsingleton�������equivplift���PInfo���	prt�VMR�VMC���decl�equations_eqn_1�����������������������������PInfo�	��	ATTR����	EqnL�	SEqnL�ATTR����classsubsingleton���decluliftdecidable_equ_1u_2α�	�_inst_1��fdecidable_eq�
������	����f�decidable_eq��������������	�@��PInfo���	prt�VMR�VMC���	������decl�equations_eqn_1�
���	����f��������
������	����f����������PInfo���	ATTR����EqnL�SEqnL�ATTR����classdecidable���declpliftdecidable_equ_1α_inst_1decidable_eq���e���������decidable_eq��������������PInfo���	prt�VMR�VMC���	���
��decl�equations_eqn_1�������9����������������������PInfo���	ATTR����EqnL�SEqnL�ATTR����class����declunique_unique_equiv_proof_1����h�[._x�[.���[Tinhabiteddefault�
.�[T�<���[T����!����"����[a�[T�[c	����PInfo� ��decl�_proof_2����_xunique�������������!���uniquemk���[T����"�[T�[e����[/����[/h������'to_inhabited���[T����&��
�[a���X�������#�PInfo�%��decl�_proof_3����_x����������!������-����[a����[c��2�PInfo�,��decl������_��
�����������
����*��
������������!��������������� ��%��,��PInfo���VMR�_lambda_1VMR�VMC�.���*VMC�����.�.decl�equations_eqn_1��������?����X�������?��\�PInfo�0��ATTR����0EqnL�0SEqnL�declequiv_of_unique_of_unique_proof_1�������_inst_1���_inst_2�[-_x�
_xdefault.�Minhabited._x�[�87	������3����4�[-�5subsingletonelim.�Msubsingleton.	��q�PInfo�2��decl�1_proof_2��������3����4�[-_x	�C��o��i������3����4�[-�>	subsingletonelim7�<7����PInfo�=��decl�1��������3����4�[-�U������3����4�[-�4	�9�[��k�6	��c��e	�2��	�=��	�PInfo�1��VMR�1_lambda_1VMR�1_lambda_2VMR�1VMC�A���9��_freshJ�.xVMC�B��
�6��_freshJ�.wVMC�1���4�3���A�Bdecl�1equations_eqn_1��������3����4�[-���1��	���������3����4�[-���U����PInfo�J��ATTR����JEqnL�JSEqnL�1declequiv_punit_of_unique�����_inst_1�����d����L�������dpunitunique7�PInfo�K��VMR�KVMC�K���L��N�1decl�Kequations_eqn_1������L����b����K���������L������������PInfo�P��ATTR����PEqnL�PSEqnL�Kdeclquotcongr_proof_1�������ra��`rb���e�Ueqa₁a₂�

�?��^C�^Ca₁a₂��?��\3	�\3������T����U����V�U�W����Z�[�[��?��[���{�@��PInfo�S��decl�R_proof_2��������T����U����V�U�W���b₁b₂h�?��\*	�\*������T����U����V�U�W����]�^�_�?��[����\3��	�\3����	����7� _x� �.�\��\�		��� � ��	�\O	�� _x� �x�����(���]��PInfo�\��decl�R_proof_3��������T����U����V�U�W����"quot.quot7	quotmap7.	������;quotmap.7	�[���������T����U����V�U�W����
��[���Dquotinduction_on.���B����B� ��J� �[��]�^� �_�@
�[��S��J��L	��q� ����r��w��t��r��t���_�`�_����� ������� 		��x� �_��x	���	����a�_�s���z�����z�����T� �[��Z� �[�S�[���%�\��\��?�a�
��j������quotmku� �������jquotlift7.xy� �@
��ix����S�\*quotmap_proof_1.7� �[�����p.7� �q� �r�S��%��F�s� quotmk7� �\3�v7.� �[������������j�������
�n���������i���B�Se_1����B�_� ���B�\�S���B�c�_e_2����B�i�\����B�"�c�m����	��	����	���	�m��������r�� ��a�S�|�_e_2�\���0�c��	����c�[���{�]Z�������
��i�����<�PInfo�b��decl�R_proof_4��������T����U����V�U�W����'��D��H��R��Z������T����U����V�U�W����
��O���Hquotinduction_on7���F�����������a�
��\�����������f����\��������f��f��\��f��f�
�n��o��r�������F� e_1����F�S���F�_� ���F�\�Se_2����F�c�_�J��F�i�\�m��������	�T��������m�����m��f�{��� �m�|� �|�Se_2�\A�*77�\���	����\�[��[��[���f��f�������f����PInfo�~��decl�R��������T����U����V�U�W������D��H������T����U����V�U�W����4��D��H��Y�S��	��Q�\��	�b��	�~��	�PInfo�R��prt�RVMR�R_lambda_1VMR�R_lambda_2VMR�RVMC�������_freshL�a�
VMC��������}
VMC�R���W�V�U�T�����u���udoc�R An equivalence `e : α ≃ β` generates an equivalence between quotient spaces,
if `ra a₁ a₂ ↔ rb (e a₁) (e a₂).decl�Requations_eqn_1��������T����U����V�U�W����b����R��	���������T����U����V�U�W�����������PInfo����ATTR�����EqnL��SEqnL�Rdecl�Qcongr_right����r��[�r'���eqa₁	a₂�

�@��@�����B	������������������quotcongr..	�P�PInfo����prt��VMR��VMC��	����������o�Rdoc�� Quotients are congruent on equivalences under equality of their relation.
An alternative is just to use rewriting with `eq`, but then computational proofs get stuck.decl��equations_eqn_1���������������������!���	��,��������������������!��6�PInfo����ATTR�����EqnL��SEqnL��decl�Qcongr_left_proof_1�������r���e�Sa₁a₂��bb'�1�3��D�Z����������������S��������M���@��
�n��M��U�_��@��@����@���L�@���e_1�����S��_e_2�\���s�<��	��~�_�
J�Z��z	�_���s�0�@��PInfo����decl�����������������S��� ��F	b	b'�
J����������������S��	�������	�PInfo����prt��VMR��VMC�����������Rdoc�� An equivalence `e : α ≃ β` generates an equivalence between the quotient space of `α`
by a relation `ra` and the quotient space of `β` by the image of this relation under `e`.decl��equations_eqn_1���������������S�b�������	����������������S���������PInfo����ATTR�����EqnL��SEqnL��declquotientcongr�������ra���rbsetoid7e�Ueqa₁a₂�

setoidr.setoidr7���������quotient7	������������������U�������������	�PInfo����prt��VMR��_lambda_1VMR��VMC����a��VMC�������������������Rdoc�� An equivalence `e : α ≃ β` generates an equivalence between quotient spaces,
if `ra a₁ a₂ ↔ rb (e a₁) (e a₂).decl��equations_eqn_1��������������������U������b�������	���������������������U��������������PInfo����ATTR�����EqnL��SEqnL��decl��congr_right����r��4r'���eqa₁	a₂�

������	����<����������4������������3���	���PInfo����prt��VMR��_lambda_1VMR��VMC��������VMC�����������������doc�� Quotients are congruent on equivalences under equality of their relation.
An alternative is just to use rewriting with `eq`, but then computational proofs get stuck.decl��equations_eqn_1��������4�����������������	��
�������4�����������������PInfo����ATTR�����EqnL��SEqnL��EndFile