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�L��inittactictautodatalistbasicdatafinsetdatanatenatalgebragroupalgebraordered_groupalgebragroup_power��export_decloptionnonenonesomesomeexport_declboolffffttttexport_declhas_andthenandthenandthenexport_declhas_powpowpowexport_declhas_appendappendappendexport_decldecidableis_trueis_trueis_falseis_falseto_boolto_boolexport_declhas_purepurepureexport_declhas_bindbindbindexport_declhas_monad_lift_tmonad_lift!monad_liftexport_declmonad_functor_tmonad_map$monad_mapexport_declmonad_runrun'runexport_decllistmmap*mmapmmap'*mmap'mfilter*mfiltermfoldl*mfoldlexport_declnativenat_map3rb_mapmkexport_declname_mapnativerb_mapmkexport_declexpr_mapnativerb_mapmkexport_decltacticinteraction_monadfailedfailexport_decltactic_resultinteraction_monadresultexport_decltacticFtransparencyreducibleGreduciblesemireducibleGsemireducibleexport_decltacticmk_simp_attrLmk_simp_attrexport_declmonad_exceptthrowOthrowcatchOcatchexport_declmonad_except_adapteradapt_exceptTadapt_exceptexport_declmonad_state_adapteradapt_stateWadapt_stateexport_declmonad_readerreadZreadexport_declmonad_reader_adapteradapt_reader]adapt_readerexport_declis_lawful_functormap_const_eq`map_const_eqid_map`id_mapcomp_map`comp_mapexport_declis_lawful_applicativeseq_left_eqgseq_left_eqseq_right_eqgseq_right_eqpure_seq_eq_mapgpure_seq_eq_mapmap_puregmap_pureseq_puregseq_pureseq_assocgseq_assocexport_declis_lawful_monadbind_pure_comp_eq_maptbind_pure_comp_eq_mapbind_map_eq_seqtbind_map_eq_seqpure_bindtpure_bindbind_assoctbind_assocexport_decltraversabletraverse}traversedecldirectedfinset_leuu_1α�ra�_inst_1is_transι�hιnonemptyf�DdirectedsfinsetExistsziHhas_memmemfinsethas_mem	����	��
��
thisziHmultisetmultisethas_mem�val(multisetinduction_on_x5���5I8I
<_a
nonemptydcases_on�
��I�5d8dhas_zerozerof�has_zerodIIvalid_rhsyExistsintrox_xfalseelim$%is5_xc��I�ju_aI�I�d�$5$8$dd�dcases_ond�d�$�Q5Q8Q
$$�d�$�$�Q�q5q8q�consqQQwdh�}_aQzQand�$$���q�q����5�8���dI��I���q�q��QIQ�Q�����������5�8���$d���q��anddcases_onqdq�q� ���!�%�������5�8���qQ��h_left�!h_right���}�������5�8����q����Ua�h�3orcases_oneq���Hq�6�iffmp�a�Lor�_�bmultisetmem_cons��qh�_eqsubst_x�w��I��symm�w�h�btrans�y�N�4�Q�$���Annotshow�PInfo�declfinsetexists_le�α_inst_1nonempty_inst_2directed_ordersfinset�MiH����has_lelepreorderto_has_ledirected_orderto_preorder����������directedfinset_le������has_leleis_trans���directed_orderdirected�PInfo�declfinsetprod�v�β�_inst_1comm_monoid	s��f��������������multisetprod	�map	finsetval�PInfo�!prt�VMR�VMC�
!������map�proddoc�`prod s f` is the product of `f x` as `x` ranges over the elements of the finite set `s`.decl�equations_eqn_1���������������eq
�����������������eqrefl
��PInfo�!ATTR_refl_lemma���EqnL�SEqnL�ATTRto_additive���to_additivevalue_typemknameanonymousoptionnonestringATTRto_additive_aux���namemk_string
Strsum�/
Strfinset�)declfinsetsum�������add_comm_monoid	��������7������multisetsum	�
�PInfo�
!VMR�
VMC�

!������multisetsumdecl�
equations_eqn_1��������7��������
�>������7�������!�I�PInfo�!decl�prod_eq_multiset_prod�������_inst_1��s��f��rfl	��PInfo�#ATTR�����ATTR�����.ATTR�	����/
Strsum_eq_multiset_sum�4declfinsetsum_eq_multiset_sum���P������7�������X�I�PInfo�#decl�prod_eq_fold������_inst_1��s��f���finsetfold	has_mulmul	semigroupto_has_mul	monoidto_semigroup	comm_monoidto_monoid	comm_semigroup_to_is_commutative	�(to_comm_semigroup	semigroup_to_is_associative	�thas_oneone	�&to_has_one	�s�^�PInfo�'ATTR�����ATTR�����.ATTR�	����/
Strsum_eq_fold�4declfinsetsum_eq_fold��������7�������J�jhas_addadd	add_semigroupto_has_add	add_monoidto_add_semigroup	add_comm_monoidto_add_monoid	add_comm_semigroup_to_is_eq_commutative	add_comm_monoidto_add_comm_semigroup	add_semigroup_to_is_eq_associative	��has_zerozero	add_monoidto_has_zero	���g�PInfo�1'decl�prod_empty�����_inst_1��αf���has_emptycemptyc���has_emptyc������C���D�E���X���PInfo�B-ATTR�����BATTRsimp���BATTR����B�.ATTR�	���B�/
Strsum_empty�4declfinsetsum_empty������C�7�D�E����D��������C�7�D�E���X���PInfo�K-ATTR�I���Kdecl�prod_insert������s��af���C��_inst_2decidable_eq�not��������IinsertI��I�has_insertIaIbd�k�m�o�q�������M���N�O���C���P���fold_insert	�k�m�o�q�x�z��%�����$�U�VI�PInfo�L0ATTR�I���LATTR����L�.ATTR�	���L�/
Strsum_insert�4declfinsetsum_insert�������M���N�O���C�6�P��������DI�����������K�����M���N�O���C�H�P������������������i�����h�<�PInfo�Y0ATTR�I���Ydecl�prod_singleton�������N�O��C�����singleton�����N�O���C��eqtrans	���l�n�p�r�����������fold_singleton	���y�{������mul_one	�����PInfo�Z3ATTR�I���ZATTR����Z�.ATTR�	���Z�/
Strsum_singleton�4declfinsetsum_singleton�������N�O���C�6��F���������N�O���C��������������������������������������add_zero	�����PInfo�a3ATTR�I���adecl�prod_pair�������O��C��_inst_2��abhne����has_insertinsertI�����UI�Vd%singletonI����I�����	�
'%�����O���C���d���e�f�g��eqmpr�trueideq��eqtrans������a�sIe_1�da$�uQe_2�qcongr
����+congr_arg

��u��+������%'��comm_semigroupto_semigroup	�z'%�E�F����I�G�E�������T�W������d���$e_2���Q��qq����e_3�
����w
��������v�x�����q��v���\�r�������T�����UI�Vd�U$�VQr�Tchas_insertI���ud�u$e_2�dQ�u��q�u���e_3�d����w�~�~����~���x��u�~��������I���T�insert_empty_eq_singletonI���has_insert_eq_insertI���T��II�prod_insert	I�T���mpr����I����I�T��I�not_mem_singletonI�hsymmIchas_mul	aI��de_2�$�uQ�uqe_3�+�w

���k���x

��u����%%� %�V'�Z	Imul_comm	�L%'���4�propext��eq_self_iff_true
�trivial�PInfo�c7ATTR����c�.ATTR�	���c�/
Strsum_pair�4declfinsetsum_pair�������O���C�6�d���e�f�g�����J���O�P�Q�R'%�����O���C�e�d���e�f�g����p����p���p���o�o��A�h�o�D�h�m%'�O�Padd_comm_semigroupto_add_semigroup	��'%�����f�T�����f�\����6��b��c�{�h��i��j�|�o�s�D�����������\����finsetsum_insert	I�T���
��has_add	��I��d����uQ�uq����������%���l%%�5��'finsetsum_singleton	Iadd_comm	��%'�o�o�4�o�N����R�o�X�PInfo��7decl�prod_const_one�������M���C����x�����r�����q�����M���C������������s�se_1��u�ue_2�I�(d�"�"�2d�ud�"�
����
has_powpow	natmonoidhas_pow	��multisetcard���A��repeat	��O�P�A�T���N�Y�	�_inst_1���multiset	��je_2��j� �j��_�Xmultisetmap_const	�N�multisetprod_repeat	��Oone_pow	��O��� ����PInfo��;ATTR�I����decl�sum_const_zero�u_1�β	s��_inst_2add_comm_monoid���\finsetsumxkadd_monoidto_has_zeroadd_comm_monoidto_add_monoidk�������	���������prod_const_onemultiplicativemultiplicativecomm_monoid�PInfo��=ATTR�I����ATTR����prod_const_one�.ATTR�	�����/
Strsum_const_zero�4decl�prod_image��w������O���C��_inst_2��sfinsetg�I�xH����yIH��d��d��d��dq�Q�$�dI��imaged�Ud�V$����prod	Ix���������O���C���������������fold_image	I���	�
�x�K��������UI�Vd�����PInfo��BATTR�I����ATTR������.ATTR�	�����/
Strsum_image�4declfinsetsum_image�������������O���C������������������$�DdI��finsetsum	I�	���������O���C����������������O�P�Q�R�������U�����T�-�0�PInfo��BATTR�I����decl�prod_map�������������C��s��efunctionembeddingf���finsetmap�acoe_fn�rI��has_coe_to_funI���������C�����q���t���u����v��	��~��������eqrec	��_a�����zI����I���rd��d����������	�~����v�����map���r�������������multiset��_a������v����������������������finsetmap_val����v���functioncompu�����������!���m��_a�m���������I���I�������������multisetmap_map	����� ��PInfo��GATTR�I����ATTR������.ATTR�	�����/
Strsum_map�4declfinsetsum_map�������������C�e���q���t���u�v�D�~�D�����������C�e���q���t���u��`�v�;���_���`�m���Y������D���f�����z���`�kfinsetsumequations_eqn_1	�~��m�v�j���_���m������������;���z������z���m�������v�j��_�������'���m������.�z�����z������B�F���PInfo��GATTR�I����decl�prod_congr������s₁��s₂���O��g��C��h�d���xIH��d�b��d�"%���$�����������������O�������C�������������$��������������_a������d����$�c��$�R%�"�$dI�	����"�	�	�����fold_congr	I���	�
��K�"�	��I�&�'�	��I�PInfo��LATTRcongr����ATTR������.ATTR�	�����/
Strsum_congr�4declfinsetsum_congr���������������O�������C�6��������$�?�	<�������������O�������C�	;������	C����$�	@�	A���	C�	P�����������"�D$dI�	W����"�	W�	\���	C�	�O�P�Q�R�Y���]�	o�	&�a�b�	n�	-�PInfo��LATTR����finsetsum_congrdecl�prod_union_inter���������������O���C��_inst_2���v�'��has_unionunion���has_union�<�	�has_interinter���has_inter�<�'�	��	��������������O���C������fold_union_inter	�'�,�/�<�5�5�PInfo�QATTR�����.ATTR�	����/
Strsum_union_inter�4declfinsetsum_union_inter���������������O���C�H����v�k�\�	��	��	��k�	��	��������������O���C�H����	��k�p�s�<�y�y�PInfo�
Qdecl�prod_union���������������O���C��_inst_2��hdisjoint���latticesemilattice_inf_bot�<�����	����	�I�������������������O���C������
�	���	��	���	����	����	�I�����	��
���	�_a��$���	��b�	�d�Ud�V$�+�kI�mI�oI�qI�
�
�
$���	��
eqsymm	�
�	��prod_union_inter	I����
�	��
�����������
�
R���
_a����
$�
,�
#�
�	��b�	�d�
�
$�
X�
���
�
N�g�	����	�I���d���
�
N�disjoint_iff_inter_eq_emptyI���
=�
�&�'��	�����	��PInfo�UATTR�����.ATTR�	����/
Strsum_union�4declfinsetsum_union���������������O���C�H����
�	����K�	��V�Y�K�������������O���C�H����
�	���
��
��V�
��K�
���
��
��
�
����$�?�
!��I��I��I��I�
��
��
����
��
��
=�
��
�finsetsum_union_inter	I����
��
��
��K�
N���
��
��
W�����
��
��
��
��
^�
��
��
����
��
N�
�
=�
��a�b�S�
����S�
��PInfo�Udecl�prod_sdiff���������������O���C��_inst_2��hhas_subsetsubset���has_subset�����has_sdiffsdiff���has_sdiffI����	��������������O���C��������� �����	��	��UI�Vd�U$�VQ����	���� �7�
�_a��$�
,�
��b�d�
�
.�
1�$�
1��� �5�
=�5��prod_union	I����sdiff_disjointI����7���	��	����7�h���1���/_a����$�
�
�
�Ud�V$�UQ�VqR�B�
1�$�
e�
1���7�sdiff_union_of_subsetI���4�	��PInfo�YATTR�����.ATTR�	����/
Strsum_sdiff�4declfinsetsum_sdiff���������������O���C�H��������V�K��Y�
��������������O���C�H�����������K�3�
��������
���$��$�
��
��B�
��
��J�
��������
=����finsetsum_union	I����`������
��
��������s�'����$�
��~�
��$�
��
��������4�
��PInfo�*Ydecl�prod_sum_elim�������������C��_inst_2decidable_eqsums��t��f�g�I�$finsetprod	��dI��5!��"��U��V��$I�tfinsetimage"d��suminldfinsetimage��suminrdsumelim	dI�
%�
&�
'�
(������������C���.���1���2���3��4���=�$�4���.��&�.�<���=�O��I�/_aI��"��d��	����U��V��Qd���$��_�$I�I��_�"$I�)$Id�kd�md�od�qd�	�Id�"�����=�M�prod_union!	�I��&�.���!�
�!����&i�hi�!!��Y�!�latticehas_infinf!�Y�Esemilattice_infto_has_inf!�Ylatticesemilattice_inf_botto_semilattice_inf!�Y����_�h�p���QaQ���q����qH��eq!���Q��Q�d�Md����$��$��$�N�����"�Q�D���������q$�	�������Jhas_botbot!���Jorder_botto_has_bot!���Kto_order_bot!�������U���V���eqmp�����]�	�]���]�d�]�U�]�V����"Qd�����
_a����q�Mq����������I�N�
 �����q��q���$�����"q$�
.���
���N�
��finsetmem_image!d�]�

�
�
��
�Q�]�

�Qd�
�
�
�
S_a�����q�����q$�
6��
6���
U���N�
S���Y!Q�]�

�
P�
�
���
���
���
���]�

�
R�
�
U�
�
�!�
�!�]�

�
R�
_a������������������
_�
5���
��
U�N�
��
Ufinsetmem_inter!�]�

�
R�
hi_left��hi_right��$�M$����Q��Q��Q�N�
��
$�"�q���M�����������d�N�
�����������^����
����
#�	�
#���
#���
����
����
����
#�U�
#�V�
�� i�hi_left_h�
������~���$�N�
�����������a���
��
����
��	�
����
�������������
��U�
��V�����hi�
�rfl�
���'&�����C��_����M��������������N�$�����4��"�4������w��	�3���3���5���5���5���3�U�3�V�'�O�_����M������������q�N�P���3�"�w���w��&��M��%�N�$�,��4��_��g�8�Y�Dj�hi_right_h�f�
������������N�u�����N�w�"�N�w��N�wI�e���u�����x�	�x���x�����������������x�U�x�V���y�4�whj�uH���Odcases_on%���"�y�4t_1���g�����N�"���NH_1�O ���y����yQH_2heq�������"���������q���������	�����������������������������U���V��������y�4d�j��������sumno_confusion���N�k��������N$�����Orefl%���������	����������������������U���V���y�����(����heqrefl��������I��O�$�4�6��d�w�f�L�<���O�I�T�I_aI��"���X�h�w�X�p�w���"���S�����O�E�prod_image!	�Id�.��_xd_x��_xQ_x��suminlinj�Q��I�$�F�:���w�n�<���I���T�L_aI��"������$�)Qd$�
P�S���"�������I�}�s!	�I�.��$_x_x��I��I��I_xd_x��suminrinj�Q����$�<�<�������sI�sde_1��uQ�uqe_2��(������2��u����~�<���I�ud�u$e_2�Q�uq�u�e_3������k���� ��u�����3�E�7���I��c��ee_2�d����j��le_3�k�q�pa�������
�}������
���b�Dfunext	dxdd�Dxd���dsumelim_inl$$Id�}�;���������e_2������Q���q�e_3�&
����w*
��������M�x&*�����H��M�&���|��)��d�|���/��sumelim_inr$$Id�<�<� I�<���PInfo�-]ATTR�I���-ATTR����-�.ATTR�	���-�/
Strsum_sum_elim�4declfinsetsum_sum_elim�������������C�e�.���1���2���3��4��$finsetsum!	�I�'�.�
��
��
��
��?�F���������C�e�.���1���2���3��4�����$������.���&�.���������T���AI��"���d�q�w��d��d��d��d�	V�DId����������finsetsum_union!	�I��&�.��<����$�����D�����������T���rI��"�����h�w���p�w���"�����������finsetsum_image!	�Id�.���t����$�����|������� �T���{I��"����������"�'���������!	�I�.��$���� �$������� �D���������I�ud�u$�����uq�u�����������M���M��������6I��c��e�����j��l�����D���e��e�%�D�8�����b���������?��@��A���F�J�D�����Z���k�|�~�����������PInfo��]ATTR�I����decl�prod_bind�������������O���C��_inst_2��s��t����xH��yIH����h$�	����	���U��V���'�$��finsetbindd���x�	����������O���C��������������finsetinduction_on_x�����������d�������Q�	����	���U��V��T�"����I$�U$�VQ�t����I�Q$�	,I�U�Vclassicaldec_eqI_x�������G���H��I��������d����$����������$��I��I�
(�-���'�/���#�-��I�#�����b��d�-� �!�:�bind_emptyd�����dd�prod_empty	Id�&�-��	I�����-xs��hxs����ih���d������Q����q��q��q�����	����	���U��V��d����qQI��$q�Uq�V��
d�$QI��$��qd�$hd��$���
�insertQ�
��TQ�UQ�Vq�
���q��������������������U��V��
������	�����	���U��V��$�
hd'xQH�ny�H����U��������	�����	���U��V�w�Q�

�yqH����I

�y�H����$d�

��xdI�����vd
�����������������������U��V��
�dI$������������������k��m��o��q��������I��.����0�s��s�e_1���u�w�u�4e_2��N�(�y��y�=�2�y�u�y�=��.�����+���I$��.�V���	����	�������X��[�����������we_2�d���4���N�N���y�ye_3�k������p�������������y�}������t���y���c�bind_insert����I$�
d���������T�����X���������u��u�e_2��w�u�4�u�Ne_3�=������k����� ���u�������'�*�*� ��*�Z�-��.�prod_insert	��Id���
���.AnnotcheckpointAnnothave����i�H�������I��Q$��disjoint_bind_right��v��U��V��
���dAnnot��Annot��_x�hy��d�mem_insert_self��
dI�mem_insert_of_mem��
dI�:Annot��Annot��_xqhy��h���Iabsurd��dIfalse�
��I�)���_a���Nd�Od���.d��dAnnot��Annot��_xQhx�n_x�hy�����dI��PInfo��lATTR������.ATTR�	�����/
Strsum_bind�4declfinsetsum_bind�������������O���C������������������$�@���H���	V����������O���C������������������������"�n������I�DQ$�	,I������$�@�!�G��q�$��I��I�
����������������6���@�:���v�!�:�F�Lfinsetsum_empty	Id������	I�q�������������f��������DqQI��d�D$QI��$�D�qd�$����
����

���

���

���
����D������D��������D���������������������������I�����������R�����U�������X�������c����6������i���m��n��o���s�v�D�����������c�������������X����������u��u������u�4�u�N�����������4���4�������������������finsetsum_insert	��Id����
����Annot��Annot���Annot��Annot���Annot��Annot���IAnnot��Annot���X�PInfo��ldecl�prod_product�������������C��s��t��f�prod�vfinsetprod	�finsetproduct�yx��yIprodmkd���������C�����~������������v��finsetbind���U���V�Iproddecidable_eqd�U�VI�
d�Ud�V$classicaldec_eqQafinsetimage-I���U���V�d��I$�UI�Vd�
$�U$�VQ��qbI������������,�,����_a�����������I�����6��d��I$�������������product_eq_bind�U�V�
�U�VI��d����v���������������%����_a���������������d���U���V�I$��dQ�Ud�V$�
Q�UQ�Vq�����d�������������#�prod_bind,	��������������������������ddisjoint,���$q�,�l�U�l�V�Q���q��Uq�V��
��U��V������q�l����q��Q�����q�������e�����f��ia�lH�
��M��
��N�
��O.�������Ib�q�H����M�����������Q�N�����������I�h.���������forall_congr_eq����������imp_congr_eq�e���������I�j���dQ�o���U���V�l��Q����U��V������Q������Q��$q����Q���e����������������
�Mq�
!�N�
 ������q����r������M����
�$�N���������I�������e��������.����������j���2�o�2�U�2�V����$q�U$�VQ�
q�Uq�V������$�2�P��$��dQ�U��$�W����;���2�����MQ���N�����r�����l���
��M��
��N�
����������������;�j�����o���D�E��d���H�;��������$�M$����Q�e��Q�N�����l���������
�Mq�
!�N�
 �����r���;������U���V�2���E���E���������,,�2�<�,�2�U�����������l�m���l�����x�����2�|�N�����disjoint_iff_ne,���D�������������������������������2���������������^���l�����2�����MQ���N���g�����N���T�U�2�V���������mem_image,$�2�P�����2���2�����2����2����������!�N�����U���V�l�U�r�V���������U��V�����^��Q�����^���!�����e��H_1�fh�i���lH_2������H_3�����a_1�prodcases_on�����������M������w�i���w��N�a�����4����4�������w�+a_fst�a_snd�����w�M�w�����4�j���4��N������w�N���w�N�����e�g�
��N�M�N�����y���y���y��N������N�����N���������N���+H_2_w�NH_2_h���
���������������N������y�����y������
�������+H_2_h_w��H_2_h_h���h.������������t_1�����������������wH_2�O1�����������$dH_4��������������N��Q$���+��I�����������no_confusion�����������dI�����.�����+�	��fst_eq����d�w�����4�
�������$������������"�yI�&Qsnd_eq�dqd�������"���"�2��$�6��9�8��3�8�+��������4d������$��d�"QI���-q��-����2���2���2�������-���-�^���c��������2 ���2�i���n��p�o��j�o�+����-���-���-q����4�7�������`�f�f����_�f�X�2�i���j���!�M������"���������-�N�������#�������������i�����i������+�wb_fst�2b_snd��������M�����������������2�N�������$����������������"����
����M������%���������i�N�������&�������-����������+H_3_w��H_3_h���
����������������N�������'������2��������+H_3_h_w��H_3_h_h������(������^t_1������)�����iH_2����*����'$dH_3������+����1���5Q$�8�+�I�����G��������$�!dI�$�#���#�+�P�#����d�i���������3�5�����5$�����',���'�j��I�nQ��d-qd�������j.���j�z��$�~�������{���+����(�+�����+��d��8�6$��d�jQI���uq��u����z���z���z������u/���u��������������z0���z����������������+����u���u���uq���|��������������������������z��false_of_true_eq_false�����+����eq_true_intro��andelim_left���d���2���z�����������2�������d1�^�andintro�����1��d2�i�eq_false_intro����d$�=�$���1��G������G�d$�=��$�4�/����������������������e_2�����adQ��'$qe_3�B�@�G�A��q����T�i��A����i���"���o���"�����prod_image	��I����_xI_x��_x$_x��H�������right���d�prodmkinjQ��PInfo��|ATTR������.ATTR�	�����/
Strsum_product�4declfinsetsum_product�������������C�e���~���������vfinsetsum,	�����W���f�����������C�e���~������������v���������������������������u��������������������v�������������%�����������J��������#finsetsum_bind,	���������6�������&���������(�����Dq��G���G���"�����"����finsetsum_image2	��I�������PInfo�4|decl�prod_sigma��u_1�����C��σ�	s�qta�f�sigma�<�vfinsetprod3	�za�	%finsetsigma3����afinsetprod3	�	%�s�	%sigmamk3d�����C���=�w�>�q�?�y�A�}������a�~�zI�EI��Iimage33�	%���U���V�zd�Edsigmadecidable_eq3$�E$I��a$�U���V�a�classicaldec_eq3�s�	%������������Fbind5���U���V����d�����Rd�U���Vr�Sq���a����
������v����a��b�	%�������������3�7����_a��������I������I�����XI������U���V�z$����Q�EQd�?�RQ�U��V��S���q�V���$���	,�����2�������sigma_eq_bind3����R�U�	%�V%�S$�����F��Annotcalc
�prod_bind3	������a₁ha��a₂dha₂��h��Q���9��zq�Eq��9�g�U�g�V�z��E������E����R��U��V��S�������y�g���V�y����m������g���V���T���g��$�M����Q����d�N���O8�z��E�������I���z��p��q�M������������N�����z��E��s�����I�h8�z��E����������i�k�U�g�V�n�U���V��������U��V�����R��U���V���S�w�������q�f������T���g���99�n��n�9�n�����n�U�n�V��������,�R��U���V��S��������������������
���������U���V��������U��V����w�R��U�s�V�5�S�4���z��������g���n�����M����qI�M�M$I�N�U���������d���������M�����I�c�c�M�N�j���z��E������md�����N��J�disjoint_iff_ne9�g�������3�g���g�I���g�����g���$���n���������
��������������p�y���������n�����M�������������N���W�Y���N�
��U�n�V���A������mem_image39���n� ������n���n�����n�����n�������������N�����U���V���U���V������m�U��V�w���4�R��U��V�O�S�N���w���y�������������y�������g��������H_1�����a_1�W�Lcases_on3����������Q�M����q���q�N����z�4�E�4�z���4�"��g���z�w�E�w���+a_fst�a_snd�s����M������;�;���N�C���z�N�E�N�����N�F��J�g�$�&����M�Y���w��[�[���N�c���z���E���N�����g��k���Y�t�+H_w�YH_h�s�
��4��{�{���N�����z���E���y����������l�������+H_h_w��H_h_h������E�������z�����f����M������������y��N�����z���E�����������w�g���z���E����������$d�+Qb_fst��b_snd���f���M�������w�������w�N�����z�"�E�"�����"���4���g����Q$������4�M�������N�������N�N�����z�2�E�2�"���2���y���f��� �+H_1_w��H_1_h� �
����y� � ���y�N� ���z�^�E�^�-���^� ��� �r��� � %�+H_1_h_w� H_1_h_h� $�h8�z�i�E�i�2���i� /��t_1� 0�g���z���E���^����� 9��H_1�O<�z���E���i����� E$dH_2�����z���E��������� P�w�� TQ$I� W�+� 3I�v� B� 0� f� 5sigmano_confusion3��� 9�w��� @� =dI� @� ?�8� :� ?�+� p� ?fst_eq�d��d�������o���p� D�g���z���E��������� ��4�w� ��t���z���E��������� ��"d� �snd_eqheq;�E����� ��y�N�w�����z��E������� ����y� �� �� �� v� �� ��+�p�^��g� W� U�t� �� ���I� ��{� �� ��N� ��4��6���y�N�p� ��g� �� ��t���z��E������� ��^q� ����w�����z��E������ ������ �� �� �� v� �� ��+�g���z��� ������ ��y�N�!�t� �� ��2Q� ��w��� �� ����!�!	� v� ��!�2��d����i�����!�+���!����!��������i���!��� ������N������� l�� ���!�!$� ����N� ���z�!�{� ��E�'����y�!1�������d�1����� ��E�1������!=�������i�����!�i��� ����i��!"���!'��!Q�!W� ��i�� ��z�!Q�{� ��!1����!5�����!8����� ��!=����!A����!�2��� ��Neq_of_heq6� ��N$�!L��$�d�<� 0� f���� 0� 5� f$Annot�]
�prod_congr	����rfl��_x_x�_�prod_image3	3��I%�&��s%�)_x%_xTTT_xI_x�y�y�y��_x���n����of_eq_true�\�����"andelim_right�d��"� l��p��"
�"���"�z�"
�{� ���I�"���d�dd�\��d�!��"$Annot�]�PInfo�;�ATTR����;�.ATTR�	���;�/
Strsum_sigma�4declfinsetsum_sigma���<�����C�7�=�w�>�q�?�y�A�}�vfinsetsum4	�����\�H��3	�	%��������C�7�=�w�>�q�?�y�A�}���"O�"R�N�"J�����"Z�"c�"M���"j
��"P�"n�v�"M���"n���"q�"v��[�����"f��"f�0���"f�"���"q���M�F�"tAnnot�]
finsetsum_bind9	�������!�Annot�]
finsetsum_congr	�"i�"Y�!������_finsetsum_image>	3��I%�&���!��"9Annot�]�PInfo���decl�prod_image'�������������O���C��_inst_2��s��g��h�eqcH���I���d$finsetfilterdc'd���	%�!�ad�	%�!��"����I$�������������O���C��������������������"�	_instdecidable_eqI������dQ�UQ�Vq��I�"��"��"��5bindQd�Ud�V$�UQ�Vq�+�"��UQ�Vq��aQ�"�$c$�����$������"��#����_a���������$q��d���#'�����"��#�=���#�image_bind_filter_eqQd�Ud�V$�:�"���#�"���#	��Q���#���#�#K��$�#_a$��#'���"�q$�U$�VQ�Uq�V����#!�Uq�V�����q�"�Q��Q�"����Q�����#'���#�#Jfinsetprod_bind	d$Q�#�#	�#a₀Q_x���#aa₁�_x�
���q��U��V��vIne��������U���U��V��U��V����"������d��������$�#�����#�����#�$��������"������d��������Q������#�"������d�4������U�4�V�N�>�������disjoint_iff_ne��#��#��#�c₀�h₀�#�c₁�h₁�#���s��#��da_0��#��#����w�g�#��"������d�N��$����U�N�V�y���$��#��mem_filter��#��#��h₀�#�rfl�#��$���y����y�������N���U���V���U���V�����������Q��������������d�"��������d���������U���V�������w����$I�����$���4�y�U�y�V���U���V���N���������$�����y���y���yI�"��y���y�d���z�d���y�$
�z�$S���$�w�$Q�qa_1��$^�$b�$1�g�$]�$�����$!������$)��w�$e�#����$i�$l�wh₁�$^rfl�$ �wI������4d�������������������������U���V�"�U�-�V�2���N�y��������������Q�"��������.�������$����������-������"�����������������$~�������U���V���U�"�V�-���4�N��������������$�"��������Q���yQ�����$����$��y�����"�y��$�mt�����q�.�$���qcongr_arg���-�q����IQ$�!�Q$�"��#	I�#I�!��e�"�aQha�#��_Q�MQ���mI�N�%�d�ra_2��Q�%$�+���$�"�q��q�%����q�U��V��
���I�g�
��Q��U��V��%0�%'finsetmem_imageQ��%AbQh_1�%#�
���d�N�%S�" ������%S�%W����Lq�#�Ihb�%Srfl�%V���$������������������U��V�w�#�Qq�5�5�����#�����#�����#��Q�����������%f�����U��V��U�w�V�4�5$Q�y�PInfo���ATTR������.ATTR�	�����/
Strsum_image'�4declfinsetsum_image'�������������O���C��������������������������"��Dd$�"��"�n�"������������O���C��������������������%�	���"�������"�I�%��%��%��#���%��%��#����������#$d���%������%��#�#A��%��%����#	��Q���#���%��%��#P�%���$��%����#n�%����%��%�finsetsum_bind	d$Q�#�#	�#�%
�"�Q$�"��#	I�%��%��Q���#��%%a_3�%'�%(�F$�%5�%P��Q���%#�%X���%Z�%]��q�#�I���%S���%V�%g������%v�%w�D����%�Q�%��PInfo�ɖdecl�prod_mul_distrib�������M���O�������C���!�x�'�	,��k�m�o�q�&R�&R�����M���O�������C�����&V�h�&_�x�z��&]�&_�����&\�&{�&U�&c��&W�&��&W�&w�&{�&U���&��&����&}_a��v�	�x��	%�	,�h�'�,�/�'�5�5�&��&��&��&����&��&{one_mul	�&\�&{� �&V�fold_op_distrib	�&_�&s�&v�&{�&{�PInfo�ͩATTR������.ATTR�	�����/
Strsum_add_distrib�4declfinsetsum_add_distrib�������M���O�������C�H�!�D���k�	,����������&��&������M���O�������C�H�&k�&��&n�&��������&��&������&��&��&��&���&��&��&��&��&��&����&��'�&��&�����v�	����V�	%�	,�&��k�p�s�k�y�y�'�'
�'
�'���&��&�zero_add	�&��&��&��&��&��&��&��&��&��&��PInfo�ԩdecl�prod_comm�������������C��_inst_2�"�s��t��f�������x�5�/��yI�9x����������C�����'8���'9�������':��_x���$�9������'<��d����I�	,�U�V������������'>�'A��I�9��'D���&�'��'q���'n�'s�A�'h�'q�X�'>�'m�'q�D�'m�'A��I�)�*�1�'q�������'l�'��)I��II��I�'k��I�'���I�Y�'D�prod_const_one	I�4�'q_x_x��H�fih��"�I��d��d�	%�I��Q��d��$�����'���$����$�U$�VQ����$��$��'���q�Qq$�����UQ�Vq����Q�����kQ�mQ�oQ�qQd�'����'���q�'��'��'��'���q�'����'��'��sQ�sqe_1��u��u�e_2���(����'��2��u��'��'��'���Q�'��'��'��U$�VQ�Uq�V��
��'��'��'��'��'��'���$Q�'�d�'����Q�uq�u�e_2���u��u�e_3�'�����k��(3� ��u��w�(3�'��'��'�� Q�'��( �'��'��'��(�'��'���q�kq�mq�oq�qq$���'��'��'���q�(`�'����Q������e_2�d�~�����e_3�k����p��w�w���w��(x�}�i��(s�w�(xd�����'��(c�)q��qq��q�'������UQ�Vq�U��V��t�'���q�(_�'��'���q��Qq�'�$�'��prod_mul_distrib	qQ�(f�'�d�(M�'��PInfo�֭ATTR������.ATTR�	�����/
Strsum_comm�4declfinsetsum_comm�������������C�e���'8���'9�������':���u�����/�f��I���'D���������C�e���'8���'9�������':�������$��������(���d���'Y�'a����u�'f�(��(���I����'D���a�b�j�)���)�)�A�(��)���(��(��)�D�(��(���I�������)���'��(��)�'���I�(���I�)��I���'Dfinsetsum_const_zero	I�4�)���������f����%�I��d��d�	%��I��Q��d�'�����)@�'���$��$��)9��q�DQq$�'��'�����Q��Q��Q��Qd�)9���)9��q�)O�'��)_�)9��q�)a���)T�)i�(
�)K�)d�(�)@�(�)J�)]�)J�)A�)J�)d�R$Q�)Jd�'�����Q�uq�u������u��u����(/�(1����)��(>�)��)\�)^�)^�(M�)^�)u�)c�)S�)h�(�)S�)9��q��q��q��q��q$�(`�)a�)]�)9�(f�)g��6Q���������(n��������(r�(u�D�w��)��(��)�d�(��)R�)��(���q�)O�(��'���q�)��(��)a��q�RQq�'�$�'�finsetsum_add_distrib	qQ�(f�)fd�(M�)d�PInfo��decl�prod_hom�������������C��_inst_2comm_monoids��f�g�)�_inst_3is_monoid_hom	��)��finsetproddxd�	,�6���������C�����)��������)����)����*��*��*	���d�*�d�I�dI�*'�*	�*"�map	I�*.xd�	,�*'�*2���*3�*?�����*$��	dI�*9�*'_a�*D���I�* I��$I��$�	%�$�d�$d�*X�*O�*Q�*c���*3�*<�=�*D�*<�*Mmultisetmap_map	dI�*9�*'��*?�*	�*,�*;�*2���*?�*����*=_a��*O�*Q�*5dI�*_��$�	%�*X�*c�*O�*c���*?�*multisetprod_hom	I�*;�i�*�PInfo��ATTR������.ATTR�	�����/
Strsum_hom�4declfinsetsum_hom�������������C�e��add_comm_monoid�������)����)���is_add_monoid_hom	�jadd_comm_monoidto_add_monoid�*	finsetsumd�*�����������C�e���*��������)����)����*���*���*	multisetsum�*(�;I�*0�*	�*��*<�*����*��*��*N���*D��*O�*�I�*Y�;d�*a�*O�*��*����*��*<�*y��*��*	�*��*;�*����*��+�*��*����*O�*��*��*��*��*����*��+multisetsum_hom	I�*;�*��+�PInfo��decl�prod_hom_rel�������������C��_inst_2�)�r��f�)�g�s��h₁�'��.�/�*h₂a$b$c$���d�k��m��o��q�Q�!��#q�%q�'q�*q$�'��*
Qd���������C����)���+,��)���+-�����+7��+U��+^multisetprod_hom_rel	Q$dI�Q�PInfo��ATTR�����.ATTR�	����/
Strsum_hom_rel�4declfinsetsum_hom_rel�������������C�e��*���+,��)���+-�����)has_zerozeroadd_monoidto_has_zero�*���$�$�$���d������������Q�!�has_addaddqadd_semigroupto_has_addqadd_monoidto_add_semigroupq�*�q$�+N�)>�*�Qd���������C�e��*���+,��)���+-�����+���+���+�multisetsum_hom_rel	Q$dI�+r�PInfo��decl�prod_subset���������������O���C��h����hfxH�^������"'��d��d�}����	��������������O���C���,�+��-�+�
��������UI�Vd��$�,xI�)�*�
)
��$�
.�
1�,
�
,�
�=�>�Ud�V$�?�
.���,�,�T�
1_aI��"�	I�,�,"���,�,�
<I�,�
1�prod_sdiff	dI����,�,
�
.���,�,?���
.�
.���
.�,�
.�6�,�
,�,�
.�
.���
+�,�,�6�
�=�>���,V�0d�+��,�'�dI�,U�
.�
.�,F�&�I�
)�
.�,FAnnot��Annot���!�I�,�,�,�!����,���I�����,U���+���Ia���3����I�T��$��$�q$���,��,���I��I�,���I�,���I�a�,~�,�3��������,�,����,~�$�	%�,�,��,��N���,�,��mem_sdiffd�����,��N�,��,�and_imp���,��,��PInfo�+�ATTR����+�.ATTR�	���+�/
Strsum_subset�4declfinsetsum_subset���������������O���C�H�,�+��-�.�/�+���+��+���d��d�����Y�
��������������O���C�H�,�+��-�,�
����K�,�,��0I�����
�
��$�
��
��,��
��
��,�
����,��,��T�
��1I��"�	VI�,��,����,��,��,.�,��
�finsetsum_sdiff	dI����,��,��
����,��-���
��
����
��,��
��6�,��
��,��
��
��^�
��,��,��6�
��,U�-,�0d�,��,��)*dI�,U�
��
��- �'I�
��
��- Annot��Annot���"�I�,�,�,��,|���I���,~���,���I�3���3�,��,���$��$��$���-T�-_�,���I�-S��I�-^��I��4�,~�-R�3�,��-R�-^�,��,��,��,��-m�,����-m�N�-j�-^�,��-m�PInfo�8�decl�prod_filter_ne_one�������M���O���C��_inst_2xdecidable�h
��&x�&y�&[�!�&Pfinsetfilterx�-��	,�2�3�#���/�-������M���O���C���<�-��prod_subset	�-��filter_subset�-��-�x��/��������-�I�AI�-�I��-��I�	,�$'�-�/�-��3�������)���-�d�Ad�-�d���+��+��}��d�	%���-��-��
����-��-��A�-��	%�)����-�_a��/������-��"�+N�-��/�-����-��3���v�	,�-��-��N�-��.not_imp_comm�-��-�classicalprop_decidable�-��.�-���-��/�-��3�-���-��-�'�-���-��.�
�-�_a��/�-��3���-����-�$�A$�-�$���,��,��,���$�I�/�-��3�.���-���-��-��N�-��.7�mem_filter�-��-����-��-��PInfo�;�ATTR����;�.ATTR�	���;�/
Strsum_filter_ne_zero�4declfinsetsum_filter_ne_zero�������M���O���C���<�=�-��-��&��&��&��!�&��-��A�-��v�w�g�-��.Z�����M���O���C���<�.Yfinsetsum_subset	�.b�-��._�-��D��/�-�������-��AI�-����-��-����/�-��3���-��d�-��-��Ad�-��,��,����-����.��.��
����-��-��A�-��d�-��.��E��/�-�����.��-��.��-����.��3���-��.]�.�N�.��.��.�.��.��.�.��.�.���.��/�-��3�.��.�.�����.��.��
�.��I��/�-��3���.��.�.�A$�.!�-V�-W�-X�.(I�/�-��3�.����.��.6�.^�N�.��.��.<�.��-��.E�.��PInfo�L�decl�prod_filter�������M���C��p�++_inst_2decidable_predf�)��v���-��-���aite
�	,��/�'q�����M���C���P�++�Q�.��S�)����.��.��.��.�
�!��.��.��.��!��.�ah�^�-��-���$�9�.�����I�9�'��/�9���/�/�T�/_aI��"�.�'�!�d�/%�+��+��~�/&���/�9if_pos
�������+����g�+��-��-���+����.;d�-�I�9�'����9Annot�]
�-��.��.��-��-�xhs�^h���/?if_neg
'�!��
�����I'�3�/k���+N�
�/n_a������d�+N���/n�/q�N�/n�/qnot_and�/k'�
���/j�.�.(I�/n�
�/�_a����/t�-�Q��Q��d�����/��/m�N�/��/m�.;$�.(Id�/%�/,Annot�]�PInfo�O�ATTR����O�.ATTR�	���O�/
Strsum_filter�4declfinsetsum_filter�������M���C�e�P�++�Q�.��S�)��v�]�.��]�T�.��)�����M���C�e�P�++�Q�.��S�)����/��/��/��/�
�"��.��.��/��/�V�W�/��/�/�)�/���/��/�T�/��XI��/&�/*�,��,����/0���/��9�/N�)�/SAnnot�]
�.o�.��/��/c�Z�[�/e�\�/f�/��/�Annot�]�PInfo�b�decl�prod_eq_single�������C��s��f��ah₀bH�-�����$�!��)�*�
(h₁��������/%�&�'�
�����/%�����C���d���e���f�g�0�j�0classicalby_cases���0!��0,�6���0/��d��
�,.�06�01�-�dI�04���b�d�04a_1dH����$���I��I���0K�0N��Q_aQ���d��d���0K�g�0J��Q���mem_singletonQ��.d�/������0a��t��Q��Q�'�$�.d�/������0c�0z���0}�0��,�d�.d�0|�.d�0��.d��������0I���,��,��,�d������d$�0��������0��"��+��+��}I�0��0�a�qe_1��x���0I�0��N�0I�0��0e$���0�Annot�]
�9dIAnnot�]����0,�6�00bd��00�sd�0����!�dI�0��0��!��b�sdhb���+��arfl�0c��q�fq�g�h��i�
�Q��#��%[q�������q���j����
�Q����������q������
�q�+�g�hq�i�
$�����1�j����
$�+���������+;q����
�Q��+�����
�q�+���1"����1"��1"�6�00��d�0��0���,_�,.���0�/�PInfo�c�ATTR����c�.ATTR�	���c�/
Strsum_eq_single�4declfinsetsum_eq_single�������C�7�d���e���f�g�h�i�0����0�����
��j��0�0�a�b�R���J�/%�����C�7�d���e���f�g�1`�j�1e�0-�1j��0,�6�?�1t�04��
�,.�1y�1v�.odI�04�0q��.d�/����0s�0t��Q��Q�)Y$�.d�/����0�1����1��1��0��.d�1��.d�1��.d�0���0����-V�-W�-Xd����0��1��0��0��0��,��,���I�0��1��0����1�Annot�]
��dIAnnot�]��0��6�1u�0��1u�sd�1����"�dI�0��1��0��sd�t���+�0��u�0c�0��fq�g�h��i�0���0��0������������j��0��0������������1�g�hq�i�1��1�1��j��1�1�������+�q�10�6�1u��d�1��1\���-5�1H�1\�/�PInfo�w�decl�prod_ite�������������C��_inst_2�)�s��p�hp�.�f�Ig�dIh�I$��'�xQ�U��	%$�	,��k$�m$�o$�,�I�'��/���Q�	%xQ�	,�'��/�xQ�����Qnotdecidable��	%xQ����������C���y�)��z���{�2�|�2�}�2�~�2��2	_inst��Q���(�'���q�2���Q�	%�	,�'��'��-�q��q��2W�'��2Z��q������q�28����2W�'��2_��q�	%�2j��q�*�2Y�'��	����	�q�Uq�V��:�2^�2i�2W�2l
����2X�2�2��2X���2��2������2|�2Zaq�2b�2g_a����%�'�I����2����q��	%�'��	����	���U��V����-�������I�2������������28����I�2��2��'��2����2��filter_union_filter_neg_eqq�2\�2y�(M�2XAnnot�]
�TqQ�2^�2i�2Wd�2y��	����	�q�2y�2^�2i����2����2��2��Uq�V��U��V��+�2^�2i�qa����2���q��
�2����0��-��I�����d�2��N�2��2��disjoint_rightq�2y�2^�2i�,�q��q�2���q���q��2����
 �2b��imp_congr_ctx_eq�2����
�2��3��N�
�2��������28���I�3�2��.;��2��2�I_h�3��2����+��0��2��+��0��2��������d���+�+�32��0�dr�34�N�31�39�.;�I�2�da��e_1�0�b��e_2�0��w���0�����37��N�37�iff_true_intro�37���37��rr�+�Nr�+iff_false_intror�"
�37�3c�N�34�+and_false��N�3'�not_false_iff�N�3	�forall_true_iff�3�Naq����q�XAnnot�]
congr_arg2			QQQ�'��2`�2p�2k�2s�!�qQ�2^�2^�2W�2od�!����2^���q���3�+�2rRq%��%����3���xq������
��2����2�r�R%R�q������3��q�3���q���q��4�3�3����3�����3�3�%�2V�2n�3���N�
�2�����2�I�3��3�2�I_h�3���3��+�3��3���s��s�e_1�%[�u��u�e_2�7�(�w�����2�w�u�w���3��3��q��e_1�$�x
���3�%�rq�3��2�decidable_of_decidable_of_iffr�R�3`r�3orq%��%if_simp_congrqr�R%��%���4,�iq%�4>��if_trueq�4-%���3��3�� ��3��N�3���Q��3��N�3���3��3��3��X�3��2i�2i�2W�2rd�3��2i���q���2��3�������4s����q������
��2��������3d�3�%�3���3��q�4r�3���q��4�2��4q�3	��3
�3��*�3��3$_h�3��4q�+�4p�4p��4�4p�4���4#�2�+�4&�+R�3rq%�����46�+R%��%���3r�4?�4Aif_falseq�4�%���4p�4p�4N�4p�N�4���4T�4p�3��3��XAnnot�]�PInfo�x�ATTR����x�.ATTR�	���x�/
Strsum_ite�4declfinsetsum_ite�������������C�e�y�*��z���{�2�|�2�}�2�~�2��2��)>�2"��$��$��$�-XI�)>�2/�22�)>�2=�2@���������C�e�y�*��z���{�2�|�2�}�2�~�2��2	���2O���(�)8�2W�)]�)8�2^�2W�)8�2i�2W�)]�4��2o�5�2r�4��)8�2}�2W�5
����4��5�5�4����5�5�2�������%�)GI�2��)G�2��2��5�)G�2����5�2��(M�4�Annot�]
��qQ�2^�2i�2Wd�2y�3�Annot�]
�3��)]�4��5�5�5�"�qQ�2^�2^�2W�2od�3��4f�5>�2i�2i�2W�2rd�4n�4�Annot�]�PInfo���decl�prod_ite_eq�������C��_inst_2��s�qab�)��v��x�.��dI�!��/�0�.��0�decidable_mem�U�VI���2�3�#�����C�����5]���q�����)���5{�v���-��T�5`�T�5b�T�/�5z���5{�5������T�5f_a����0��I�.��dd��I��0�.��0+�5lI�UI�Vd�t���0���5����5{�5��
<�5��5�finsetprod_filter	�5��5��5�dite�5j�5r�5�h�5j����0�-��TI�5��TI�5��TI��5����0�-��5_�5������5��5��A�5��5��4�5��5����/7�5��5����0��5����������5��5��A�5����D�5��0�T�����5��T���5���I��d��$��ite����5�c�-��5���N�5���3`�5����T�
N�T�6�6�5��5��UI�Vd��$��Q�
�������6$�
N�6�filter_eqI��I��d�t����e_1�0�h�-�αt��e_4�de��e_5�deqdrecQ�����q�5��6�$dI�6�6��6$d��u�����5^�6J�6E�6N����d�6Z�����5^�6J�6bI���6Q�6Q�6IQ��Q$d�5���6�5��������5��T���5��
N�
N�'��
Nif_trueD���6�T�
N���<�����4���6������5j�5��5��0��5��6��5��0�/g�5��5����0��6����0�0���6��6��5��0�5��0�
N�0�5��
N�6�6�+�6�+�6�+�3m�5����T�
N�
N�6/�6��67�6��+�6��5����6��T�6��
N�
N�6�if_falseD���6��T�
N�6��OI�0�0�4�0�7
�PInfo���ATTR�I����ATTR������.ATTR�	�����/
Strsum_ite_eq�4declfinsetsum_ite_eq�������C�7���5]���q�����)��v�"R���5e�1c�5v�v�w�g�����C�7���5]���q�����)���7%�v�"Q�5��5��7$���7%�71���"R�T�7������1f��I�5��1\�5��1c���7>���7%�7/�5��7/�77finsetsum_filter	�5��5��5��5��71���5j����1f�5��5��7>���1f�5������7Z�7_�A�7X�7]�4�7]�7>���5��1c��7_�5����7_�5��A�7]���D�7]�1f�T�����5��T�6��6��������6��6����6��7[�7^�1c��7a�7��7h�1c�6��1c��7����1c�1c���7��7��7s�1c�7u�1f�
N�1c�7{�
N�6��6���I�1c�1c�4�1c�7��PInfo���ATTR�I����decl�prod_ite_eq'�������C��_inst_2�5]s�qab�)��v��x�.��5^�	%�/�0�5z�����C�����5]���q�����)���7��7��5h���7��7����5z_a����5���I�.��5��I��0�5��7����7��5h�5��5h�5z�prod_ite_eq	�5o�5���������be_2�d�c���QQ��ie_3�k�j�p�l�����8	�}����l��8	�����7��5g�)���7��5gx�5��7��7����7��5fh�7���$�.��5�%I�9�0�.��5���I�9�0����8B���8B�$�8I����89�8I�6�89�.���4%�83��85�
�83Aiff�0�iffrefl�83���83�5���sd�s$e_1���uq�u�e_2�"�w��%�%�xC��u��%��d�N�8b���dI�8I�0�8I��	I�83��85�9�0�8I�0�8��d�$e_1���x
qQ���0��HI�8��8I�0�8A�8I�6�8A�8Q�4%�8;��8=�
�8;A�8V�0��8]�8;���8;�8b��8�8��8�I�8I�0�8I�8��8;��8=�9�0�8I�0�8��8��8��8��8��8I�0�N�8K��QI�8Iclassicalby_contradiction�a_1�����$��$�+���8���Q���i����falserec�+���������7��8C�$�0�8A��8E�9�8N�0�8P�.��+�8R�+�85�3m�83I�9�0�0�8��+�85�9�0�9�0�9�/S�8���HI�9�9�0�8A�8A���8A�8��9a_1���9���c��Q���i��������"�������1�.��%q��9�1�8������%[�0��.��" �%\��/%�0��+���9W����9W�
<��9V�0�if_eq_of_eq_false
�9P�9R��/%�0���9P�" �+�N�9P�9hiffintro�9P�9h_h1�9P�!L�_h2�9h�9p��9h��9W�PInfo���doc��When a product is taken over a conditional whose condition is an equality test on the index
and whose alternative is 1, then the product's value is either the term at that index or `1`.

The difference with `prod_ite_eq` is that the arguments to `eq` are swapped.ATTR�I����ATTR������.ATTR�	�����/
Strsum_ite_eq'�4declfinsetsum_ite_eq'�������C�7���5]���q�����)��v�"R���7��1c�7$�����C�7���5]���q�����)���9��9��7���9��9����7$������79��I�7��1\�7>�9����9��7�5��7�7$finsetsum_ite_eq	�5o�5���D�����b���8��8��i���8�8�D���9��8�9��8$�9��7�8*�9��7���8.���9��7���7���$�88�1\�8@�1\����9����9��8K����9��8I�6�9��8��1\�8I�8��1\�8I�1\�8��8����1\�8��1\�9��8I�6�9��8��1\�8I�8��1\�8I�1\�8��8��:
�8��1\�8��9���9�9��$�1\�9���9��:+�:�1\�:�9"�1\�1\�9(�1\�9�1\�9�/S�:
�93�1\�9��9����9��8��:+�����:+���c��Q���i������9A�������1��9J�1��8������%[�1��9U�1��+���:K����:K�9]�:J�1��9d�1��9��:K�PInfo���ATTR�I����decl�prod_attach�������M���C��f����subtypex���?attachx�:~��valI���-�������M���C���������:��:�finsetimage�:~�U�V���:��:}�:��:�
��:��:��:��:����:��:����:�_a��!��:z�:��:����:��:����/e�&P�:��:��U�V��I�:��:��:����:��:��prod_image	�:~�:��:��:�x�:~_x���:����:����:��:�y�:z�:�_x���:zI��I�,����:����:��:�Isubtypeeqd��d��I�!�:�Annot�]
���:��:���:��:����;�;�����:�_a����!�:��:��!�:��;���;�attach_image_val�:��!�:�Annot�]�PInfo���ATTR������.ATTR�	�����/
Strsum_attach�4declfinsetsum_attach�������M���C�e������D�:~�:��:��F�����M���C�e�������;;�;=�:��;?
��;<�;H�;<�;;���;K�;M�:��;H����!�D�:��:��:��&��:��;X���;K�;;finsetsum_image	�:~�:��:��:��;�!�;;Annot�]
���;H�;?��;?�;?���;w�;z�;������!�;[�;Y�!�;Y�;����;w�;'�!�;?Annot�]�PInfo���decl�prod_bij�������������C��s�qt�'9f�)�g�iaIH��Ihiadha�`���:ha$ha����%��i_inja₁Qa₂qha₁�%;dha₂�0�$�����+NT�9Oi_surjb$H�
�I�a����Qha�;��$���%�'�d�'�I���������C�����q��'9��)���;���;���;��	�;���;���;�� �jqq��q��d��Qq��QI�q$multisetmap_eq_map_of_bij_of_nodup	�Qq�;��;�finsetnodup�dfinsetnodupQI�PInfo���ATTR������.ATTR�	�����/
Strsum_bij�4declfinsetsum_bij�������������C�e���q��'9��)���;���;���;��	�;���;���;��%�)Gd�)OI���������C�e���q��'9��)���;���;���;��	�;���;���;��;��;q$�;��PInfo��decl�prod_bij_ne_one�������������C��s�qt�'9f�)�g�;�iaIH�;���-����/,dhi₁adh₁�`h₂�. ���,��,��2(���/%hi₂a₁$a₂Qh₁₁��Ih₁₂�-�qT��q��q�(\h₂₁�
�$h₂₂�-��d�0��0��0�q��$�I�#�hi₃bdH����<C%�<H�a��;�h₁�;����-����0��0��0��h₂�<k����haqh₁�
dh₂�-��r�1�1�+<���IT�;����������C����q� �'9�!�)��"�;��#�<5�&�<@�*�<b�1�<z�7�<���q�;��'��#cxQ�<|���<��Q�.�;q�<L���<QI�;��<��'��2�x��<|���<����.�<��<L��<Qd�<�
�
<q�<��;��prod_filter_ne_one	�qd$�<�Annot�]
�prod_bij	�qQ$�<��<�a�ha�
��2��<�����.�<��<f��<j$Randleft�
�Q�<L��<Q�g�
��-���<�����.�<��-����������$�Q��<��<��.;��<��<�Q���<��<��<�a�ha�<��Aelim�<��<����<��"���;��<f��<j����.�;��<���<�$�<�h₁�<�h₂�<f��<j�����<M�<��%���<���<��g�=�-���<��-����������q������.�<��-�����������q�����=�=�.;��=)�=7����=�=�=E�#��;��= ��='����.�;��=+��=2q��=Lq�<�$�=K�<��#���=O�=Vq�=K���=[�=_�!�hg���=]�<��
�_x��5�@Q���<��%k��= �#�='�g�=u�-���=4����.�<�w�-��w�����w���w�q�w����=v�=y�.;��=4�=�����=v�=y�=��='��a�ha�<��=���I�<��<��9a₁�a₂�ha₁�<�ha₂���-���<�����.�=)q�=�=�=��<m�<M�=�=D�=I�=���<��%���<���<��g�=��=9��=��=��=B���=��=��=��#��=�ha₁₁�=ha₁₂�=y�=�_��=+�%\�=2����Q�<��_��=+�@�=2�g�=��-��w�=����w�.�<�4�-��4�s���4���4�q�4����=��=��.;�w�=��=�����=��=��>
���<��=��=��g�=��>��=��=��>
���=��=��>�#��>ha₂₁�=�ha₂₂�=}��=���<����N���N���NI��=��I�=��g�>4�-��N�<�N�-��N����N���N�q�N�w���N�.�<�y�-��y�����y���y�q�y�4���>5�>9�.;�N�>E�>S�I���>5�>9�>a�<��>3��=���=��g�>h�>U��>i�>m�>^���>i�>m�>vbQhb�m�%*�<���q�.�=
d�=�%R$�<Lr�<Q���������=���>��<m��<��%���<���<��g�>��=9��>��>��=B���>��>��>��g�%R�=��>��>��#���=
�=$h₁�>�h₂�<f��<j_a����4����%l��5�>����=+��=2�6�>�����0��
���4����`��5�>����=}��=��6�>����wI��X�[�>��z��w����-��4�=����4�.�>E���>��>���<��>3��=����=��g�>��>U��>��>��>^���>��>��>���h_1�>��
��~��5�?	���=���=��6�?
���4d��Y���?	�?����N�����-��y�>P���y�.�<���-����z���������q���N���?,���N$���<����w�>G�O�>N�g���-����?&�����.�<���-��������������q���y�w��?0�?3�.;���?&�?C�w���?0�?3�?Qh_1_w�?	h_1_h�?�
��><��>C�6�?b�?/��[���?b�?h��������������������-����?@�����.�<���-����4���������q�����4��?�����q�O�<��������������N�?7���?>�g�?��-����?~�����.�<���-����f���������q�����N��?��?��.;���?~�?��N���?��?��?�h_1_h_w�?bh_1_h_h�?g}����������?��?���?����#��<��������������y�?t�4�?|�g�?��-����?������.�<���-��������������q�����y��?��?��.;���?��?��y���?��?��?�����?���?p�?���?��?����<��?��N�?7�w�?>�g�@�?���@�@�?����@�@�@���?���?��4�?��?$�.;���?@�?��4���@�@�8=Annot�]
�=	QqI�;Q��$�<�Annot�]�PInfo��ATTR�����.ATTR�	����/
Strsum_bij_ne_zero�4declfinsetsum_bij_ne_zero�������������C�e��q� �'9�!�)��"�;��#�$I�%�;���<1�/�d�&�'d�(�`�)�<6�-V�-W�4��<=�*�+$�,Q�-�<B�.�<D��q��q�)��/�<K�0�<N�1��1��1�q�<\�1�2d�3�<c��<d�@k��4��;��5�;����<g�1��1��1���6�@{�<q�7�8q�9�<{�:�<}�1��1��+��<��<���������C�e��q� �'9�!�)��"�;��#�@a�&�@g�*�@v�1�@��7�@��<��<�)O�#c�;Q�<��@���Q�.�;q�<��@oI�<�@��)G�2��<��<��@�����.�<��<��@od�@�
�<��@��<finsetsum_filter_ne_zero	�qd$�@�Annot�]
finsetsum_bij	�qQ$�@��@��?��@�
��2��@�����.�<��<��@z$R�<��<��@o�g�
��<��@�����.�<��<����������Q�<��@��<��@��@�Q�<��@��@��C��D�@��=�@����@��=�;��=�@z����.�;��=�@�$�@��F�<��G�=�@z�����<M�=�=�@��g�=�=�<��=!��������������.�<��=,������������=<�A�=?�A�A��=H�A�A&�#��;��=M�A����.�;��=Q�Aq��A,q�<�$�A+�@��=b�A.�A4q�A+���A9�A=�=k�H���A;�@��=tQ���=w�=x�A�g�=u�={�A����.�<�w�=~���w���w���w���=��AJ�=��A�AW��=��AJ�Ac�A�=��J��K�@��@��=�I�@��@��9�L��M��N�@��O�=��=��@�����.�Aq�=��A��<m�<M�A�A%�A)�A���=��=��@��g�=��A�=��A��A#�=��A��A��=��A��P�=�Q�AJ�=��=��A��=��=��=��=��A�g�=��=��AT���w�.�<�4�=����4���4���4���>�A��>�AT�A���>�A��A����>�A��g�=��A��>�A��A��>!�A��A��>'�A��R�=��S�>,�AR�>.�>6�>8�A��g�>4�>;�<�N�>=���N���N���N�w���N�.�<�y�>H���y���y���y�4��>X�A��>[�A��A��I�>d�A��A��>j�>l�A��g�>h�A��>q�A��A��>y�A��B�TQ�U�m�%*�@���q�.�@�d�>��>��@o���������A���B�>���>��>��@��g�>��A�>��B�A#�>��B�B'�g�%R�A�>��B�>��@��@�$�V�>��W�>��@z�X�>��4��>��5�>����>��A�6�B?�>��>��4��>��5�>����>��AR�6�BG�>��X�[�BM�z��w����>��A����4�.�A����BV�>���>��>��A��g�>��A��>��BX�A��>��BX�B`���Y�BL�?
�5�?	���?�A��6�Bn�?�Y�?�Br����N�����?�A����y�.�<���?�������������N���B��?/���?1�?2�A��g���?5�B}�����.�<���?8�������������y�w�?H�B��?K�B}�B��w�?T�B��B��Z�?	�[�Bq�
��?a�A��6�B��?g�[���B��B��?l������?q�?r�B������.�<���?v���������������4��B��?��O�?��?��B��g�?��?��B������.�<���?����������������N�?��B��?��B��B��N�?��B��B��\�B��]�?g}�?�������?��B���B��?��#��?��?��B��g�?��?��B������.�<���?����������������y�?��B��?��B��B��y�?��B��C�?��C
�?��?��B���C�?����@�@�B��g�@�B��@	�C�B��@�C�C���C�@�@�B{�@ �B��B��4�@&�C&�@9Annot�]
�a	QqI�@H$�@�Annot�]�PInfo�_�decl�nonempty_of_prod_ne_one�������M���O���C��h�-������?nonempty�����M���O���C���e�Cd�elim�d���������Cg�Cg�?eq_empty_or_nonemptyH�Ct��Ce���_x�������)�������!L���C��O��Cg�PInfo�d�1ATTR����d�.ATTR�	���d�/
Strnonempty_of_sum_ne_zero�4declfinsetnonempty_of_sum_ne_zero�������M���O���C���e�C`�����Cg�����M���O���C���e�C��C{�i�Ct�C~�C��j�����J�d�C��C����C��PInfo�l�1decl�exists_ne_one_of_prod_ne_one�������M���O���C��h�Cd��a���-�H�-��-����)�����M���O���C���n�Cd�
�x�-��-����.�-�a_4�Cf�-����.�-����o���/e�p�/e�-�%�-�nonempty_of_prod_ne_one	�C��
�-��-��-��-��-��C��-��&��-�_a��-����-��-��-����C��C��
<�C��-��<��=�C�xhx�C��?�I�oI���,��p�,��-�R�-��?��-��p�-��.�<��-��C��g���-���I�.�-���-��C��.;I�-��D+���-��C��D9�PInfo�m�5ATTR����m�.ATTR�	���m�/
Strexists_ne_zero_of_sum_ne_zero�4declfinsetexists_ne_zero_of_sum_ne_zero�������M���O���C���n�C��C��o�C��p�-��C��d�����M���O���C���n�C��C��q�-��.����.�.�a_5�Cf�.`���.�.^�C��o�C��p�/e�C���finsetnonempty_of_sum_ne_zero	�Db�
�-��.g�.V�-��.Z�Db�.V�&��.g�t��-��\�.]�D�.]���Dr�Du�D�Du�.g�@��=�D_�u�v�D\�D�oI�D�p�,��D�.��D%�p�-��.��D(�DM�g���.|��I�.�.z�D0�DM�D3�.{�D��D<�DM�D��PInfo�x�5decl�prod_range_succ�����C��f��Dn�D�finsetprod	�D�rangenatsucc�v�/�D��D�����C���}�D��~�D��D���D�insert�D��D�T�D�U�D�V�Dnatdecidable_eq�D��D����D��D��
�D��D�_a�D���!�D��D��D��&X�&Y�&Z�&[�9�D��D��!�D��D����D��D��range_succ��D���D��D����D��E�:��D��D��D��U�D�V�D�D��D�_a��!�D��D��D��D��!�D����D��D��prod_insert	�D�D��D��not_mem_range_self�!�D��PInfo�|�>ATTR����|�.ATTR�	���|�/
Strsum_range_succ�4declfinsetsum_range_succ�����C�7�}�D��~�D�finsetsum	�D�D����/�EJ�D�����C�7�}�D��~�D��ER��EJ�D��EQ���ER�E[�D����D���!�EH�D��&��&��&��&��9�Ea�D��!�Ea�El���ER�D��E
��E[��EQ�EQ���E[�E~�:��EJ�E����!�Ea�E!�El�E'�El���E[�EQfinsetsum_insert	�D�D��D��E8�!�EQ�PInfo���>decl�prod_range_succ'�����C��f�D�n�D�D��v�D���CC
�D�D�D���Dnathas_zero����C�����D�����C�����D����Dnatbrec_on���D�!�D��D��D��D��D��E��D��E����D_F��below���D�v�D��D�� �!�"�5w�E��D��E��D��E����D���E����D�$�D�I�D��
%�
&�
'�0
�E��D��E�I�D��E���cases_on���D���E����D��D�$d�D�I�2%�2&�2'�0��E��D��E�$I�D�I�E���E��D�I�E��E��D��E��F���E����D�"�D�dI�D��z�{�|�0��F�D��E�d�D��E���zero}�"�F�D��D��E��F�F�D��E��F�F ��d�F*�F�F �F-�F0�prod_range_succ�dI�E��Bd�zdI�F �F6���D���F�D�}��E��D��D�has_addadd�Dnathas_add�.�Dnathas_oneI�E��E��D��FT�E��F��F_�FY�E��E�m�Dd�D��F	�Fc�F���F_�Fj�#P�F�Fc_a$����D�Q$�D��D��FN�FSd�'��'��'��0w�Fr�D��Ft�E�Qd�D�d�E��Fy�F|�F����F_�Fg�F:$d�Fc��Fj�FY�Fe�E��Ff�F���Fj�F��#P�Fi_a$��Fy�F|�F|���D$�D��Fr�D��F��F��Fy���Fj�F�mul_assocK$�E��Fd�Ff�F��F��FY�Fe�F���F��F��#P�F_a$��Fy�F��F|�F��F��Fy�F����F��F�
<$�F�FpprodfstC���D���Fr�D�d�F|�Fr�D��F��F�natadd�F%��recCn�DCpunitCn�Dih�F�pprodCC��C���D�+�D��q�D�Q�+8�+9�+:�1�F��D��E��Q�D�Q�E��F��F���CC�F��F��G�F��F�I�FT�PInfo���Bdecl�sum_Ico_addu_1δ	_inst_2��f�D�m�Dn�Dk�D�\finsetsum���D�Icol�D�FO�G4�G5�Fs�G9��	���G/���D����D���D���D��D�_x�D�_a�\�G2finsetimage�D�D�Ex�D�G>�G5�GN�GV���D���D�FN�\I�G2I�G5���D�G]�Gf�GQ�D��FN�G7�G@�Icoimage_add���G4�GR���D�G9�G7�G8���D�GS�sum_imageM�D�D�D��G7�G����Dhxhas_memmem�D�D�finsethas_mem�D�GVy�Dhy�G��G5h��D�FN�G�natadd_left_cancel�PInfo���Hdecl�prod_Ico_add�����C��f�D�m�Dn�Dk�D�v�E��G7�G;�E��G@����C�����D����D���D���D�GK_x�D�_a���D��GW�G��GV�Ga�$�E��Gh�Gk�E��Gw�G@�G}�5��E��G��G��G��prod_image	�D�D�D��G7�G��G��PInfo���MATTR������.ATTR�	�����/
Strsum_Ico_add�4decl�sum_Ico_succ_topu_1δ	_inst_2�G/a�Db�Dhab��D��has_lef��D�G0�G4�GU�Ft����add_semigroupto_has_addO��to_add_semigroupO���G4�GV��	���G/���D���D���G����G���H
�G0�G4�D��GV�H���H
�H�D��G�_a�D���GL�GN�Gg�G\�FS�G��G��H���GN�Gh�GL�GN�H1���H
�H�Icosucc_top��H�G0�H�H�H	�H���H�HI� ��G4�E�GV_a��GL�GN�D��Gh�H1�GL�H1���H�HG�sum_insertO�D�GV�D��Iconot_mem_top��HI�G0�G��Hadd_comm_semigroupto_add_semigroupO��to_add_comm_semigroupO�H	�H�H���HI�H~�HN�Hz�H�H	_a��GL�H,�H0�H.�H1�H\���HI�H|add_commO�Hw�H�H	eqreflO�H|�PInfo���Qdecl�prod_Ico_succ_top�����C��a�Db�Dhab�G�f�G��v�E��GU�D��E��E��GV�H����C�����D���D���G����G��sum_Ico_succ_top	additive	additiveadd_comm_monoid	�PInfo���VATTR������.ATTR�	�����/
Strsum_Ico_succ_top�4decl�sum_eq_sum_Ico_succ_botu_1δ	_inst_2�G/a�Db�Dhabhas_ltlt�D��has_ltf�G��G0�H	�H�G4�G5�H ��	���G/��D��D��H���G�
ha���G��H�
��GL�H.�H,�GN�G5�G��FS�H��GN�E�H���D����H��H�� ��H��H��H�_a��Gd�Gf�G��G�I�G�I�HI��I�Gf�G5�FN�FS�H����H��H����H��H��Hd�H��H��D���H��H��H-�H����H��I(�D��D��H�_a�D���H��Gf�E�I��D�	,�H��Gf�I3���H��Gh�Icoinsert_succ_bot�H��H.Annot��Annot����H�����H����H��3'��0��H��+��H���+�H��+�IX��G��H �I[�I\�N�H��IbfinsetIcomem�H �3[�I`�+��G���Dpartial_orderto_preorder�Dordered_comm_monoidto_partial_order�Dordered_cancel_comm_monoidto_ordered_comm_monoid�Dordered_semiringto_ordered_cancel_comm_monoid�Dnatordered_semiring�FL���D���D���D�to_add_comm_monoid�D�I{�FS�G��FS�E����D�I��I�canonically_ordered_monoidto_ordered_comm_monoid�Dcanonically_ordered_comm_semiringto_canonically_ordered_monoid�Dnatcanonically_ordered_comm_semiring�+�I��I�FS�E��I��I��I��N�I��I�add_le_iff_nonpos_right�D�Iz�FS�N�G��Ip�Ir�It�I��FS�I��I�le_zero_iff_eq�D�I��FS�N�G��FQzero_ne_one_classto_has_one�D�zero_ne_one_class�E��"to_has_zero�D�I��+α�F�s�"�3m��FP�I��E��I�one_ne_zero�D�I��I[�I[���I[�N�I\�+false_and�I[�3��X�PInfo���Zdecl�prod_eq_prod_Ico_succ_bot�����C��a�Db�Dhab�H�f�G��v�H��E��H��E��H�����C���+�D�,�D�-�H��.�G��sum_eq_sum_Ico_succ_bot	�H��H��PInfo�*�`ATTR����*�.ATTR�	���*�/
Strsum_eq_sum_Ico_succ_bot�4decl�prod_Ico_consecutive�����C��f�D�m�Dn�Dk�Dhmn�G�hnk�J�$�E��G��E��GV�E��Gg����C���1�D��2�D�3�D�4�D�5�J�6�J�GK_x�D�_a�"�F��D���D�E�G��Gh�F�F�G��F�Gh��E��E��G5I�E��G�I�E�I�J1�J3�D��Gh�GV�J$�Icounion_consecutive�,.�E��J5�Gh�GV�J"�prod_union	�DI�Gh�GV�D��Icodisjoint_consecutive�PInfo�0�eATTR����0�.ATTR�	���0�/
Strsum_Ico_consecutive�4declfinsetsum_Ico_consecutive�����C�7�1�D��2�D�3�D�4�D�5�J�6�J�$�
��
��
��1Z�EHI�Gh�J��GV�J��J$����C�7�1�D��2�D�3�D�4�D�5�J�6�J�GK�7�D��8�"�EHdI�J7�������1��J��G��J��Gh��4��4��4��1��EH$d�JCI�J��G�I�J�I�JT�J$�J\�,.�J��J_�J�finsetsum_union	�DI�Gh�GV�D��Jp�PInfo�?�edecl�prod_range_mul_prod_Ico�����C��f�D�m�Dn�Dh�G��v�E��E��F��G��E��D�����C���C�D��D�D�E�D�F�G��GK_x�D������	�0�G��G��G��F��G5�E��F��Icozero_bot�GK_x�D����J��G��J��J��J��J��D��J��prod_Ico_consecutive	�E�natzero_le�PInfo�B�jATTR����B�.ATTR�	���B�/
Strsum_range_add_sum_Ico�4declfinsetsum_range_add_sum_Ico�����C�7�C�D��D�D�E�D�F�G��v�d�e�f�7!�EH�F��K�G7�K�D�����C�7�C�D��D�D�E�D�F�G��GK�G�D����O�P�Q�1a�EH�K1�GV�K1�F��J��F��J��GK�J�D����K/�K1�J��K6�K3�J��D��Kfinsetsum_Ico_consecutive	�E��K
�PInfo�O�jdecl�prod_Ico_eq_divu_1δ	_inst_2comm_group�Sf�D�m�Dn�Dh�G��G0��prodQ�Dcomm_groupto_comm_monoidQ�G7�#Q�%Q�'Qgroupto_monoidQ�\to_groupQ�Ke�D�has_invinvQ�^to_has_invQ�Ks�Ke�F��T	�U�K^�W�D��X�D�Y�D�Z�G����K��G0�Kw�Kg�K��Kyeq_mul_inv_iff_mul_eqQ�Ks�Kg�Ky�K���K��G0�Kj�Kl�zQ�+Q�Kd�K��Kg�Ky���K��K��HN�K��Kg�K�_a��GL�Ki�Kk�Km�Ko�Kq�K`�Kb�GV�K��D��K��F��H[�K����K��K�mul_commQ�K��Kg�K��prod_range_mul_prod_IcoQ�Kd�PInfo�R�oATTR����R�(�/
Strsum_Ico_eq_add_neg�)�-ATTR�	���R�K��4declfinsetsum_Ico_eq_add_neg�S�T	�Uadd_comm_groupQ�W�D��X�D�Y�D�Z�G��G0�G3add_comm_groupto_add_comm_monoidQ�G7�G��H�Hadd_groupto_add_monoidQadd_comm_groupto_add_groupQ�K��D�has_negnegQadd_groupto_has_negQ�K��K��F��T	�U�K��W�D��X�D�Y�D�Z�G����L
�G0�K��K��L�K�eq_add_neg_iff_add_eqQ�K��K��K��L��L�G0�G��H�Ht�Hv�K��L�K��K����L�L&�HN�L"�K��L�e��GL�H%�H&�H'�K��K��GM�K��GV�L7�K��L7�F��H[�L@���L�L$�H��L�K��Lfinsetsum_range_add_sum_IcoQ�K��PInfo�i�odecl�sum_Ico_eq_subu_1δ	_inst_2�K�f�D�m�Dn�Dh�G��K�has_subsub�yadd_group_has_subR�K��K��L�z	�{�K��|�D��}�D�~�D��G��sum_Ico_eq_add_negR�PInfo�x�sdecl�prod_Ico_eq_prod_range�����C��f�D�m�Dn�D�!�D��G5�D��D����D��has_subl�D�G>����C�����D����D���D�5��G���decidable_le�L�h�G���v�J��E��D��L����D�G]�L��E��J��L��L����L��L��D��L�_a�D�����J��G��D��L����D�G��L��J��L����L��L����D��L��L��J��L���L��L��E��G5�FN�E��FN�L����L��L����L�_a��L��G��J��L��L��L����L��L��prod_Ico_add	�E��L���L��L��E��G6�L����L��L��
�D�FL�I��I��add_monoid�E��I��L�_a�D��L��G��G5�L��FN�L��L��G��G5�M���L�zero_add�D�L���L��L��J����L��M�L��L�_a�D��L��G��GU�M�L��G��GU���L�natsub_add_cancel�F�J������G��L��v�E��G�D��H�D�L���L��ME�D��G7_a�D��L����J��L��L��MA�Icoeq_empty_of_lele_of_not_ge�D�linear_order��ME�MD�E��F,�L����ME�Mb�L��L�_a�D����G��MA�L��Mj�G��D��L����ME�E�natsub_eq_zero_of_le�MZ��Mb�MD�MB�L����Mb�M�D��F,_a�D���Mj�G��F,�L��Mj�L����Mb�MA�range_zero��M�v�5y�M~���M�M����MC_a��Mj�Mh�L����M����M�5y�prod_empty	�D��M��M��5y���M��M����M~_a��6��M��6����M��5y�M��L��F�5y�PInfo���xATTR������.ATTR�	�����/
Strsum_Ico_eq_sum_range�4declfinsetsum_Ico_eq_sum_range�����C�7���D����D���D�!�Ea�L|�Ea�L��L�����C�7���D����D���D�L��M����G���v�K!�K�L��L��M��K�L��L����M��M��L����D�����K6�K1�L��L��M��K2�L����M��L��L���M��M��K�L����M��M����M�����M��K1�L��L��M����M��M�finsetsum_Ico_add	�E��L���M��M��K�L����M��N�L����D��M��K1�M�M��K1�M���M��M��N�M��K!���N�N1�M���D��M��K1�M�M��K1�M$���N�M1�F�K!���M<�M��v�K�MA�M���M��NP�MI���D��M����K3�M��M��MA�M[��NP�NO�K�F,�L����NP�Na�Mg���D����K1�MA�M��Nh�K1�D��L����NP�E��My��Na�NO�NM�L����Na�Ny�M����D���Nh�K1�F,�L��Nh�M����Na�MA�M���Ny�v�7#�Nx���Ny�N����NN����Nh�Nf�L����N����Ny�7#finsetsum_empty	�D��N��N��7#���N��N����Nx����7��N��7����N��7#�N��L��F�7#�PInfo���xdecl�prod_range_zero�����C��f�D���D��F,�������C�����D���N���N��MA�N����N��N��M�_a�D����D��F,����D������N��MA�M���N���N��N����N��N����N�_a���D��MA��������N��N��M��D���N��PInfo����ATTR������.ATTR�	�����/
Strsum_range_zero�4declfinsetsum_range_zero�����C�7���D���EH�F,����������C�7���D���O��O�MA�O���O�O'�M����D����EJ�F,����EJ�����O�MA�M���O'��O�O���O'�O@�N��O%�����EJ�MA���N������O'�O�N��D���O�PInfo����decl�prod_range_one�����C��f�D���N��D��FS�E�����C�����D���Od��N��k�D�D��M@�D��E��Oc���Od�Or�D��O__a�D����D��O_�E��N��E����Od�On�range_one�prod_singleton	�D�E��PInfo����decl�sum_range_oneu_1δ	_inst_2�G/f�D����G2�O_�Oc��	���G/���D���O����O��On�Oc���O��O��Ow_a�D���\�G2�O_�E��O��O��E����O��On�O��sum_singleton���D�E��PInfo����ATTR����prod_range_one�(�/
Strsum_range_one�4�-ATTR�	�����O�decl�prod_const�������M���C��b��:�a�B�D�F�	�?card�����M���C����finsetinduction_on_x���!�;���B�D�F�&[�O��:��X�:��������O�as��has���0ih���'A��I�B�D�F��O�I��$�5��d�b��d����d�BI�D�FI�1�O�d�P�$�4�'<�P
�P���P�P�T�5�P�P�,�P
_aI��"����$�c��$����$�Bd�D�Fd�~�O�$�P1���P>���P�P��dI�P
����P�P�P�FN�P�FS���P�PX�L��P�P'_a�D��"���'R�P3�P>�Pb�P;���P�PV�card_insert_of_not_memd����PX�P�P�P�PT���PX�Py�T�PW_aI��Pb�P;�FN�P<�FS�Pb���PX�Pxpow_succ	I�1�PT��Py�$�Px�Px���Py�P��T�P_aI��Pb�P_�P;�P�"�P_�P����Py�Pw���Px�PInfo����ATTR�I����decl�prod_pow�������C��s��n�Df���!�&Px�B�D�F�5w�/�O��O��D��P������C���������D�����O�_x���v�����O��O��0��P��P��:���!�P��Cs�P��P��P�����P����P��!�&x�&y�D��P���s�se_1���uI�ude_2��(Q�����2Q�uQ���P��P��O�P��P��P��&k�P��P��P��P�chas_pow	�D�u�ue_2�&�'�D�'�De_3�G��wC
�Dq�Bq�D�Q(�x
C
q�'�D��Q(�P��P��P��Q���D���D��N�P���Q�P��X�as���������$�0/��d�P7�P8�0��	%�P�P�0
�Q]�"�	I�P/��$�B$�D�F$�0���Q_�Qn����Q���������������+���"�Qk�Qv�Q_�Q���d��Q�e��Q�?��Q�BQ�D�FQ�0w��I�Qs�Q�����������,����Q����������,��������Q~�����������Q~��Q\���3�Q\����0��I�Qf�	,�P��Q��$�0/�P	�Qb�Qf�Q��Q\����Q\_h�Q\��Q}��Qj���3�Qj�Q��Qj����Qj_h�Qj��Q|�"�F�Q_���Q_�Qk�Q���sd�s$�����uq�u������(��%[�%[�2��8r�%[�Qw�Q��F3�Qk�P,�P-�U$�VQ�K�Qv�F�Qv�Q��Qv�Q���$d�QvI�������.�ifftrans�R$�3'�not_congr�R#�+�3m�R#�3�trueintro���d��$��Qe_2�'�u��u�e_3�3�����!�R;� ��u���R;�F�Q��Q�� d�Q��R�Q��Q{�Q��F3�Q{�Q_�F���Q��Q����Qd�D�u$�uQ���'�'�D�'�D���Q"�Q$��B��D�Rk�Q/��'�D��Rk�Q^�Qy�Ra�RI���R5�QGmul_pow	dI���Q��N�Q���Qd�Q��N�Q���3��Qj�N�Q���3��Q\�Na�3a����forall_2_true_iffF�����X�PInfo����decl�prod_nat_pow��s��n�Df��D�G�finsetprod�D�comm_monoidx���D�D��has_pow�/�R��R�����R����D���R��O�_x�q�G��R��D�R����R���R��R��U�V����G��R����q���R��R��R�����S���S�G��FQ�/�D�)�D�R��FS��s�D�s�De_1�Q"��D��De_2�Q"�3E�D�G��G��0��D��D�G��R��S�B�D�R��R��S�FS��D�S�R��S�FS�����D�D�u�D�u�De_2�Q"�u�D�u�De_3�Q"�S�D�R��S@�S�u�D�D�S@�R��S�S�S1�QHnatone_pow�N�S�S����D�S�X��������������G��R��D�R����R��	%�R��Sv�G��R�I�D�R������+���I�R���R��S�����S�������������O���G��S��S��R��S��G��R�d�D�R��P��d�R���I�R��S�����������,����S�����������,��������S������������S���Sr���3�Sr��G��R��D�R����R��	,�R��S��G��Su��������Sy�R��S��Sr����Sr_h�Sr��S���S���3�S�S��S����S_h�S��S��G�has_mulmul�D�%�D�'�D�S�R����R��S��S�nathas_mul�T�T��S+�S��T�S6�S������UI�Vd���S��S��S��T�S��T�LI�D�S��R��+���������R'�T-�3'��R+�T,�+�3m�T,�3��R4�����D�u�D�u�De_2�Q"�u�D�u�De_3�Q"�S?�S��T@�SJ�T@�S��T�T�QG�T�T�T�S��T�S6�S��R��S����T�T�SV�S��T`�T'�R��+��T;�R�natmul_pow���T�N�T�T��Sh�T�N�S���3��S�N�S���3��Sr�N���3�������R������X�PInfo����decl�prod_involution�������C��s��f��gaH��h₁aha�0���J����:�0h₂aha�+���-����0��$�!�h₃aIha�����+h₄adha�������:�"�Qk�0������C��������finsetstrong_induction_on_x������-�I���	�^�$�E����:�0�
�I�����-�%�0��a�T��
�d��k���+��$������T���Q��0�s��iht��Hhas_ssubsetssubset���has_ssubset��I���$��d�	����E�R�:�0��
�$�����-�Qr�0y����T��
�Q����
�+��q��
�"�T��%��Qd�<E�<F�([Qg���T�dh₁�I�	���"�F%�:�0�h₂�d��k��. R�0���q�T�h₃�$������+h₄�Q������T��Cn��������q�Ceq����$I�0y�Cxqhs�UI�C��_x���+�8q$�1�������I�!L��I�Ua�Wq�U�Uad_x�UL_a�Ce�I�
���q���%�Ce�d���u�$Q�1����}�%[�	�Qq�0�
hmemy�H�%�finseterase��3�U�q��%k�

g_injx�hx�%l�y�why����#��?��d�y

ih'�'����U�����U�����="�=#�=$�
�5��5�?d�=-�=.�=/�classicaldec_eq
��?d�U��5�(w����U�hx1�U��=o�w_x�w��4��N�4�w����4�w��U��4�U�4�V�N���y�U���@��=�=��=���
<�w�U��U����-��4�w�U����y�4hy�>3�hy₁�����U��y�U�y�V�������U��I�>7
��j�d��d�U��dI
�Cn�d��$�V��d����4�?�? �?!�yh�V�C��_x��������?w�?x�?y��Q�!L��Qh�V�=o��_x���V�y�k���m���o���?;���NQ�N�Q$�?9�?:�V2�Q$�V_x���V+�k���m���o���V�yq���V9�V)_x���V+�VH�V*�V>�V6�
<���V6�V>�VY�V5�V>�N�V_�&����V2�V_Annot��Annot��ordcases_on�����V�V�7�j�Vq�V�j�V�Vnot_or_of_imp�Vp�V�hdecidable���U���V�������V�
�����U����V��V��d�V�3�Vp�V��V��3�Vp�����V�V��V�����Vp���V�V��0��V��V���V��V��U���V���U���V�������V��V��$F�V�V��V��V��N�V��V��mem_erase���V��V�V��3[�V��Vpnedef���V�V��V���V��V��d��V���V��V���V�d�V���V��N�V��V��V�d��3[�V��V��V�d�V���N�V���3`�V��N�V��V�and_true�V��N�V��V��/��Vp�V����Vp���V��Vp�V���Vp�N�V��Vnot_not�V����d�7�Vq���Vw�3�V��$Q�V9or_iff_not_imp_left�V�V�U�$�3�V���W�Wrfl�Wof_not_not�W�V�V9�7�V�W�3�V��'�WQ�W�3���U�����U��U����U����4�j���4�U�4�V�N�U��U��WL���U����WD�WW���j�_a�j��U��=��=��=��w�U��U���W`���WD�WS�!L�j�WS��insert_erase�4�U����WW���k�w�m�w�o�w�U��d�U��WR��U����WW�W����w�WU_a�w��U��U����N�>0���N�U�N�V�y�V��U��N�W����W`�U��W`���WW�W����4�w�WR���WL�not_mem_erase�4�WL���W����W��U��WN�U��WP�U��U���U����W��W��W\�U�_a�j��U��k�4�m�4�o�4�W^���U��W���W`�U��W��Wd�W`���W��W��Wm�W��U��Wr�U��U����~�U��U�����4�U��W���V��4�U��U�����W��W��=�����W����W��W���U��U��W���U����W��X�W��W�_a�w��U��W��U��W���W��W��U�N�V�y�W��X��W`�U��W��W`���W��X�W��W��U����WL�W��U��U���X���W��X�U��U����X�X8�W��U�_a�w��U��W��W���X�U��X��W`�U��W��X?�W`���X�U���X8���W��X�U����X8�XW�W��X5_a�w��U��W��X?�W`�W`�X"���X8�X���w�U��X��XW���U��U����XW�Xp�W��XU_a�w��U��W��X>�W`�W����XW�U���� �w�U�Annot��Annot��q�U���������U�����X���U��subsettrans��U��U���erase_subset����U��U��X��h�X��W��w�U�w�V�4���N�#�U��w�X���X��yy�hy�`�X��X��X����y�hy�X�� ��y�hy�X����y�hy�X����~�W�4�X�U��X�X�X�����U���W��X��U��X��U��W��X��U��U����X��X�h�#��X��U��
�>3�X��+��X�����#��X�+�+�X�����N�X�>h�X�X��X��>h�X��X�chas_mem�N�>0�u�y�u��e_2�V�u�?��u�?�e_3�d�$��8g�$��$��Y
�8p���u�$��Y
�>2�/%�T��X��X����>0�X��N�>h�X�X��V��N�X�X�X�3[�X��X��V��N�X�X��+��>h�W��IY�>h��+�YC��X��YD�YE�N�YB�YJ�Y4��3[�YH�+��YH�8��+�YU���X��8��Y=�0��YX��N�YX��8��N�N�8��+not_true�YD�YD���YD�N�YE�+�I��YD�N�X��+�3y�X����X���X��X���X�����Y��Y�h�X�
��#��X
�
���U��+��Y��IY����U��U�I���U���+�Y�����y�U��U��Y��U��Y��Y��Y��U��Y��`�Y�y���u���u���b�$Q�u�?��u�$��c�d�$��8g���"���"�Y��Y��8p�"�u�Y��Y����U��U��U������U��N�Y��U��U�y�V���U���V�������U��U��Y��V��y�U��U��U��U��3[�Y��+��Y��8��+�Y����Y��U��8��V��y�U��U��0��Y���N�Y���8��y�U��Yk�Y��Y���Y��Y��I��Y�I�Y��Y��N�Z�Z�Y�I��3[�Z�Y��Y�I�Y��Y����Y��N�Y��+�I��Y�Annot��Annot���C�N_x�N�U��U����T���T���T���#��Z9�X����Z?���Z?�#��X
���N�Z6��N���Z8�X��s�N�s�ye_1�U��u���u��e_2�$ �8g���d���ZX�8p���u���ZX�Z9�ZM��N��ye_1�ZS��?p�w�6Y������i�$ �ZX�4�?��$}����$����������������?��N�Z��Z6�Z8�X�X���N�X�N�ZN�ZM��Yb�ZM�X���y�hy�X����Annot��Annot��x�hx�U�y�why��h�U���U��U���?d�X����U��Z��$_a�y��U��U����U��Z��!L�y�Z�����Z��Z���?�>����Z��Z��$_a�y��U���d�U��Z����Z��Z��Z��Z����Z�����Z����Z��U��Z��$�Z���y�$	��X��Z��Z���s�y�s���g�Y�u���u���h�ZX�8g���d���[�Y�u���[�Z��[��y����i�Y��?��4�6Y������i�Z[�[�N�$:��������Y����"�������w��������$��y�[C�Z��Z��X��Z��Z����y�Z��N�[�[��Z�[�XAnnot��Annot��y�hy�U��mem_of_mem_erase�����[y�U��U��PInfo���ATTR�����.ATTR�	����/
Strsum_involution�4declfinsetsum_involution�������C�7��������T����	�0���K/���T��1c�
���+���T��1\�T��
�T���T��"�	VI�1������C�7�������T������T����	�T��$�J����T��1\�
�I�����T��1��T��
�T���T����d�1����������T���U��d�	�U��J�R�U�1��
�$��U	��U�1��U�
�U��U�%��Qd�@h�@i�)�Q��U-��I�	���"�J�%�U/�1���d��k��U5�1��U9� �U@�!�UD�UM����$I�1��UU�"�UI�UW�#���+�9�q$�1��UaI�Ug�Ui�[��Uad�$�UL�%�Uq�Ut�%�Uv�����$Q�1�����}�%[�d�Qq�1�
�&�U�

�+�U�

�0�'�����U���A�A�A	�
�5��U��A�A�A��U��\�5�)�����\�3�\ �U��4�w�U��D�N�4�w���D�4�w��U���AM�AN�AO��U��\7�\5���.o�4�w�U�����5�4�6�U��7�U�
��V
�V�V�Bv�Bw�Bx�y�8�V�V�9���V�B��B��B���Q�V$�:�V�V.�������������B����V6�V:�B��B��\^�VA�V�<���V+�������������\O�VI���V9�V)�=���V+�\n�V*�\f�V6�VZ�\f�VY�\a�\f�V_�V_�'���\^�V_Annot��Annot���W8�3���\ ����\@�\;���\5�WS��\;���\��\��W]�J�j��\/�A��A��A��w�U��\,��\����\��WS�Wv��\������w���w���w�\9�d�\5�WR��\;���\��\��W��\��L�w��U��\,�W���\��W��\����\��\����4�w�WR���WL�W���\����\��\5�W���\;���\��\��W��N�j��U����4���4���4�\����\,�W���\��U��\��\��\����\��W��W���\����\��\��X�\5�W���\;���\��]�W��\��O�w��U��\��\,�X��\��U��\��\����\��]�\��W��U����WL�X/��]���\��]�\;�\;���]�]-�W��\7�P�w��U��\��\��X>�\,�X��\��U��\��]3�\����]�\;��]-���\��X�\;���]-�]K�W��]*�Q�w��U��\��]3�\��\��]���]-�X���w�\9�X��]K���\;�\;���]K�]d�W��]I�R�w��U��\��X>�\��\����]K�\;�X��X��\;Annot��Annot���Z�Annot��Annot���[rAnnot��Annot���[��PInfo�w��decl�prod_eq_one�������C��f��s�qhxH���v���5y�!�P��P������C���y���z�q�{�]��&k�]��]�x�5y�P�
�!��]��!���Annot�]
�'�Annot�]�PInfo�x��ATTR����x�.ATTR�	���x�/
Strsum_eq_zero�4declfinsetsum_eq_zero�������C�7�y���z�q�{�|�}�]��]��7#�!�&��&��&��Ee�����C�7�y���z�q�{�]��&k�]��]��~�7#�]�
�"��]��]�Annot�]
�)*Annot�]�PInfo����decl�prod_powerset_insert�������C��_inst_2�5]s�qxh���]�f��������finsetpowersetI���6��J��^�^�^
t���P�P�Ud�V$�������C�����5]���q�����]����]���^���^�	������	����U���V�b�has_decidable_eq$�U$�VQ�
�^�:������^/�^�^�^���^�^<���^$�^_a�^$��$��bI�^d�^�E��^E�^F�^M���b�P,�P-�^*�$�^E�^W���^�^8�powerset_insertI�5���^<���^�^�^7�^���^<�^q�
�^:_a��$�^E�	����b�	��b�U�b�V�c�^'Q�UQ�Vq���^L�:��b�b�^��^�^L�^W�J�^W���^<�^o�T���^�^7�^/��	��^$�	����^/�^�^7���������b�^w���b�^L���c�����e���e���e�:��e�e�U�e�V���^'��U��V��
��Q��Q��^|�^Q�������^��^��
�^�_a��	��^w�	��b�^��^L�^����^��^��N�^��^�finsetdisjoint_iff_ne���^/�^�^7t₁��h₁�^�t₂�ch₂�^��
����M�����������������^�d�N�^������������U��V��tda_6�����_�����g�������������:������U���V���^'��^���q����q�Uq�V����^qI�_finsetmem_image�����_�_�_"t₃��h_1�^��
��������������^�$�N�_9�(l����~����U��V��$�����_9�_F���~h₃�_9H₃₂�_E�����I�_Q���������U��V���Q���_R�_]����_a�������d�_e���_R�_\�!L���_\�ne_insert_of_not_mem��_XIQ�not_mem_of_mem_powerset_of_not_mem�qIQ$��^q���^�^
�����^�^���^q�_��
�^n_a��$�^O�^E�^��^W�$�^O�^W���^q�_��:������^/�^�^t₁��h₁�^�t₂�ch₂�^��^�heq���_�_��d���_��U���U��V��_?���������_�II���_��_�����_a����������_��_��Ud�_�finseterase_insert��^�I�_|�dI��_��_��_��_�I���_��_��_�_a������U���U��V��_X�^��^��`dd�`	���_��_��Ud�_��_��_�I��_��_��_��_��_��^�II�_����_��`'�_��`"_a����`	�`�`d���`d�`0���_��`#�����`%�4�_��PInfo����doc�� A product over all subsets of `s ∪ {x}` is obtained by multiplying the product over all subsets
of `s`, and over all subsets of `s` to which one adds `x`.ATTR������.ATTR�	�����/
Strsum_powerset_insert�4declfinsetsum_powerset_insert�������C�7���5]���q�����]����]����D���^�K/�`_�^�`c�^�����C�7���5]���q�����]����]���`h���`_�^8�`g���`h�`u�^B���^$��$�D�bI�^H�J��`|�^L�`��^U�$�`|�`����`h�^8�^h��`u���`e�`_�^7�`g���`u�`��
�`s����$�`|�^��`��J�`����`u�`������^�^7�^/�_���`����`e�`c�_��`g���`��`��
�`�����$�`��`|�^��`��$�`��`����`��`��;e�����^/�^�^�`I�4�`��PInfo����decl�prod_piecewise�������C��_inst_2�5]s�qt��f�)�g����5�finsetpiecewise
I�IIjI�5ld�^�J��0�
	�

�5��0���5������C�����5]���q�������)������a���5�iI�.����`�I��/�a���a�a��
iII�`�_a�a��$�0/�`�d�dd��d�5l$�^*�E��0/�
Y�
Z�^�0/�=�>�^�$�a�a;���a�a�piecewiseequations_eqn_1
I�`��`���a���J��0�-���I����I�`���IxI��0�-���I������I�28���`���I�aX�/�a���a�ak�
�5���I�aX�a_a��$�a��d�.��k�a)d�	,��a;�J�a;���a�ai�prod_ite		I�aR��I�`���I���I�/����ak���J��`��aZ�ah�a���ak�a����-�iI���aT_a����$�E��0/�-���d�k��d�a)��d��d�	,�0/�-���d���k��d�28�k�a)��d�a���a;�$�E��0/�a��a��a;���ak�`��filter_mem_eq_interI�5���a����a��a�ag�a���a��a����-�
_xI�a]Annotinfix_fn�ab_a����$�E��a2�a��a��a;�$�a��a��a��a;���a��a�!L���a�a��sdiff_eq_filterI�5��4�a��PInfo����ATTR������.ATTR�	�����/
Strsum_piecewise�4declfinsetsum_piecewise�������C�7���5]���q�������)�������79�`��K/�1f�`��1f�a�����C�7���5]���q�������)������b���79�a�b���b�b%�a���a��$�1t�a+�J��1t�a1�1t�a8�$�b*�b2���b�a�aM��b%���K/�1f�aV�aZ�1f�ad�ag�b���b%�bI�
�79�aq����$�b*�ay�b2�J�b2���b%�bGfinsetsum_ite		I�aR�a��a��a��a���bI���K/�b�aZ�bF�b���bI�bo�a�������$�J��1t�a��a��1t�a��a��b2�$�J��1t�a��bx�b2���bI�`��a���bo���bl�b�ag�b���bo�b��a�������$�J��b-�a��bx�b2�$�b��b}�a��b2���bo�a�a��4�b��PInfo����decl�prod_cancels_of_partition_cancels�������M���O���C��Rsetoid_inst_2decidable_rel��rhxH�/e�$���-�ydhas_equivequiv$setoid_has_equivV$��d�	,�-���C��)�����M���O���C�����b����b����b���b����quotientI�:�I�b��U�b��V�b�dquotientdecidable_eq$�+quotientmkIxbar�b����-�yd�d�b�$�b�$��d�b��b��)���b��c�
�b�_a��$���-�J�-���b��c	�
=�c	�b�finsetprod_image'	�b�I�c�b��b���I���,��RU���.��$�d�b�Q�b�Q�c-��$�b�Q�v�c.�c0I��c�c
�c	���c�cG�
�)_a��$��b�I�:�d�b��U�b��V�b��c6�b�d���b����.��$�c/��$�c7I�-�cg���c�c	�c�)finsetprod_eq_one	�b��c�b�xbar�b�xbar_in_s���b����b����b��cZ�
�$�M$����d�N�c��d�b�q�b�qa_7���c����/���Q�c��c���Q�b�qaqb����c�dI�.$�g���b����b����b��:�$�b��U�b��V�c*�c��b�I�c��_'$�b��c��b�Ix$h_1�c��
��<A$�N�c��d�b��I�b��I�����c��c��%���2�����d�b��d�b��d����b��d���������c�Q$�<E�<F�([dx_in_s�c�xbar_eq_x�c���+�8$�2�����d�b��$�b��$����b��$���������c�qQ�1�1�+;$�+�c��2�����c��c�����c��dqQ�d���d�d���c�_a�c�����uQ�<�����d�b��Q�b��QI����b��Q�������
��d I�q�0��0��0�Q���d�<�����d!����d*�q�d4���d�c��!L�c��dG��d�+�c��2�y��b���b��$�������qQ�d���d�db�����d�������d*�dq_a������d�<�����d!�dh�dj�q�d4���dq�d4���d�d^�filter_congr��d
�dW�d
����q���_x��quotienteq�Q�;��4�c	�PInfo����doc��If we can partition a product into subsets that cancel out, then the whole product cancels.ATTR������.ATTR�	�����/
Strsum_cancels_of_partition_cancels�4declfinsetsum_cancels_of_partition_cancels�������M���O���C�����b����b��������/e�$�@�b������C��d�����M���O���C�����b����b����d���d����D�b��b����b��@�c�d���d��d��
�d�����$�@���J�����d��d��
=�d��d�finsetsum_image'	�b�I�d��b��b���I���,��RU�n�c;��d��d��d����d��d��
�d����$�D�b�I�cZ���b��n�cb���e	���d��d��d��dfinsetsum_eq_zero	�b��d��b����b����c~�c�a_8�c�����c�I�.��c���$���c��c����c��%���c�$�@h�@i�)�d���c����c���+�9�$�c�Q�1��1��+�$�+�e+�dQ�e1���e2�e7�d���c������Q�d.q�1��1��1�Q���e<�d=q�eB���e2�dG�dL��e7�+�e+�d^Q�e1���e7�eV�do��������e<�dtq�eB���e<q�eB���e7�d^�d��;��4�d��PInfo����decl�prod_update_of_not_mem�������C��_inst_2�5]s�qih�]�f�b�$�afunctionupdate
d�a!�^�a�����C�����5]���q�����]������0��e��0�jdhj�`���e�Q�QQ�^|������e����e��������s$�sQe_1�'�u��u�e_2�3��(������2��u����e���functionupdate_noteq
Q�e��^|���0���
�0�A�8V�U7�8]�0����0��3'��e��0�3'�V�Q�0��0c�+�N�0c�+�3m�0c�0�eq�0c�
�0UI��I�0�_aq��1d�<{���e��3��R4����� $���N�e���Q$���X�PInfo����ATTR������.ATTR�	�����/
Strsum_update_of_not_mem�4declfinsetsum_update_of_not_mem�������C�7���5]���q�����]������$�b*�e��b*�����C�7���5]���q�����]������1��e��e��f�PInfo�
��decl�prod_update_of_mem�������C��_inst_2�5]s�qih�]�f�b�e��E��0/�a7�04�����C����5]��q���]������fO�$�a�a"�04jd��d�a(�0H�fN���fO�fc�a�J�e�_a�J��"�Qk�e�$�$$�^*�F�Qk��c�$�^*�0H�"�fj�f}���fO�f`�update_eq_piecewise	dI�^��fc�$�E��0/�a0�04�f[�fM�fN���fc�f��T�fa_aI��"�fj�`�$�fl�0H�$��$�5lQ�^|�0`�f}���f}���fc�f��prod_piecewise	dI�^�04�f[��f�����f����f��$�fN�fN����f��fN���E��f��6�f��Qf�FS�f��f��P�04�f��f��05��d�f��0��f��04�f[�f��inter_singleton_of_memd�^������3`�f��R4��d���0I�f��	dI�04���QI�D�ud�u$e_2���'�D�'�De_3�Q"�Q$��B��D�g�Q/��'�D��g�Qe���f��FS�card_singletondpow_one	I�0
�fM�fM���fM�fN�fN���fN�N�f���8��fN�X�PInfo���decl�sum_update_of_mem������_inst_1�7_inst_2�5]s�qih�]�f�b�f.�J��1t�fK����� �7�!�5]�"�q�#�$�]��%��&��gP�$�b*�f`�gO���gP�g]�fi_a�J��"�[��fq�J��[��fz�"�gb�gh���gP�f`�f���g]�$�J��1t�f��f[�gN�gO���g]�g}�T�g[_aI��"�gb�f��gh���gh���g]�g{�sum_piecewise	dI�^�04�f[��g}����g}���g}�$�gO�gO����g{�gO�^�J�gy�6�gy�1x�f��f��1��f��04�f[�f��f��f��1��f��gN�gN���gN�gO�gO���gO�N�g���8��gO�X�PInfo��ATTR����prod_update_of_mem�.ATTR�	���*�/
Strsum_update_of_mem�4decl�sum_smul'������_inst_1�7s��n�Df���!�]�xadd_monoidsmul	�7!�/�g��Ee�g������,�7�-���.�D�/���prod_pow	multiplicative	��	�0�PInfo�+�ATTR����prod_pow�(�/
Strsum_smul'�)�-ATTR�	���5�h�4decl�sum_const�������M��_inst_1�eb��;>�O��g����O������M���7�e�8�f��g��g��PInfo�6�ATTR�I���6ATTR����prod_const�.ATTR�	���9�/
Strsum_const�4decl�sum_range_succ'����_inst_1�7f�D�n�D�EM���EO�E��E�����;�7�<�D��prod_range_succ'	�g��g��PInfo�:�ATTR����prod_range_succ'�.ATTR�	���?�/
Strsum_range_succ'�4decl�sum_nat_cast������_inst_1�7_inst_2has_one	s�qf��D�!coe	�Dcoe_to_liftZ[�Dcoe_baseZ[�Dnatcast_coe	�]��Egfinsetsum�D�add_comm_monoid�]�a�h=�h@�hC�hE�7"�K�/�����A�7�B�h:�D�q�E�h;�D�]����h`�hT�Ksum_hom	�D�hP�hL�Iis_add_monoid_hom	�Ee�PInfo�@�decl�prod_nat_cast������_inst_1comm_semiring	s��f��D��h=�h@�hC�hEmul_zero_classto_has_zero	semiringto_mul_zero_class	comm_semiringto_semiring	���Xto_monoid	�h�distribto_has_add	�Xto_distrib	�h��R���Zto_comm_monoid	a�h>�hA�hD�hF�h��h��h��&y�h��h��h��h��h��/�����R�h��T���U�h��
<�h����h��h�finsetprod_hom	�D�R��h��h�is_semiring_homis_monoid_hom	�D�semiring�h��h��Iis_semiring_hom	�h��PInfo�Q�decl�sum_nat_coe_enat��_inst_1��s��f�R��enat�hM�h�enatadd_comm_monoidxcoeC�D�h�coe_to_liftC�D�h��HC�D�h��mhas_coe�/�h��h��D�hP��i�h��j���k�R��induction�j�q�h��hM�h��h��o�h���h��i
�D�hP�U�V�+��h��h��R��h��h��i�R�����i&���i&�h��E��h��I��h��I��h��h��i-�mhas_zero��s�h��s�h�e_1�h��u�h��u�h�e_2�i:�3E�h��h��h��0��h��u�h��h��i!�i2�K�h��h��h��i%�i5��h��i%�h��E��I��I��hP�i5_inst_1has_lift_tC�D�h�a�D�y�De_2�Q"�S�h��h��h��i$�i`�iT�D�hP�mcoe_zero�N�i3�i2��Sg�h��i2�Xas��has�Srih�h��hM�h��h��o�h��	%�h��i��D�hP��h��hMI�h��h������UI�Vd�U$�VQ���oI�h���h��i��D�hP�i�����i����i��h��FK�h��I��h��I��h��i0�h����h��i��i��mhas_add�i��i���iQ�i��i��i\�i������UI�Vd�U$�VQ�Uq�V��t�i��i��i��i��i��i��YI�h��i��h��i��T;chas_add�h����h����h�e_2�i:�u�h��u�h�e_3�i:�i;�h��i��i��iC�u�h��h��i��i��i��i����h��i��i��i��i��i��i\�i��h��FL�I��I��i^���i��i��iq�i��j�i��D�hP�i��T;�mcoe_add���i��N�i��i���i��i��X�PInfo�h�prt�hdecl�dvd_sum������_inst_1comm_semiringasfinset	f�uhxH�		�jB�	has_dvddvdIcomm_semiring_has_dvdI�9�jM�jO��sum	�Xto_add_comm_monoid�[�������jA�����jC���u���jVmultisetdvd_summultisetmap	finsetval	yhy��multisetI�I�jtI�jx�	IaI��jDd�jd�	d�jxd�0��	%a_9�\I�j��jM$�jO$I�g���j}d�j�d�jtId�jxI�j�multisetmem_map	Id�j�xIh_1�j���jD$�j$�j�$�jx$��%����j��j��jMq�jOq$dhx�j�rfl��T����!�������
��j}��j���jt��d�jx�$�jM��jO��q���
�j}��j���!��jtq�I�jxqd�<V�PInfo���&decl�le_sum_of_subadditive������������_inst_1add_comm_monoid_inst_2ordered_comm_monoid	f��h_zero�!������&��&��&��	h_addxyI�	I�	I�	I�	I��d��d��d�kd�
��
��
��
��k!I���	,s��g�$�k(d�k*d�k,d�k.dfinsetsumI$���k!dcI�/�����������k���k�������k'���kM�������kNle_trans	d�kT�k]�*��k`�*_��I$��I�kemultisetle_sum_of_subadditive	$d�k}��kV�k�ke�kV�ku��Id��	I$d�k|�ke���k��k����j��k~_a�j���k($�k*$�k,$�k.$�;$�k!$�Q$�kwdQ��d�%��k���d��k��k��k����k��k�multisetmap_map	I$d�k|le_refl	d�kT�k��PInfo���*decl�abs_sum_le_sum_abs������_inst_1discrete_linear_ordered_fieldf�s�jC��������ordered_ringto_ordered_semiringlinear_ordered_ringto_ordered_ringlinear_ordered_fieldto_linear_ordered_ringdiscrete_linear_ordered_fieldto_linear_ordered_fieldabsdecidable_linear_ordered_comm_ringto_decidable_linear_ordered_comm_group��to_decidable_linear_ordered_comm_ring�j\��k��la�l�l�l��������k����k����jC�le_sum_of_subadditive	�l�k��l
abs_zero�l	abs_add�l	�PInfo���3decl�prod_inv_distrib�������M���O��_inst_1comm_group	���]	x�b	�c	�`	��lA�lC�lE�l@�����M���O�����l;�?prod_hom		�l>�l>����lSis_group_homto_is_monoid_hom		�lQ�lQ�lSinvis_group_hom	�PInfo���;ATTR�I����ATTR������.ATTR�	�����/
Strsum_neg_distrib�4declfinsetsum_neg_distrib�������M���O����add_comm_group	��Fadd_comm_groupto_add_comm_monoid	��has_negneg	add_groupto_has_neg	add_comm_groupto_add_group	��l��l��l��l�����M���O�����lzfinsetsum_hom		�l}�l}�lc�l�is_add_group_homto_is_add_monoid_hom		�l��l��l�invis_add_group_hom	�PInfo���;ATTR�I����decl�card_sigma�u_1�σ�	s��ta�x�G��card���z�E�	,���l��ia�card`�	,�/����l��������l�multisetcard_sigma`�l��Naa<�����PInfo���@ATTR�I����decl�card_bind������_inst_1decidable_eq
s��t��jBhxH��yH�+����ddisjoint	�jBd�	d�Ud�V$����'�G�finsetcard	finsetbind	�U�V���hQu�l���������l��������l����l��S6�l��l�afinsetsum	�D�hP�_x�FS�m�m
�m�D�hP�l�_x�FS�m
��l��m����m���m�l��l���S+�l��l��QG�l��m�l��S6�m���FS�T
�l��FS�l��m0add_monoidsmul�D�i^�l��FS�m2�6	�D�l��hP�FSnatsmul_eq_mul�l��FSmul_one�D�monoid�l��N�m%��Sh�l��XAnnot�]
finsetsum_bind	�D�m�hP�l�Annot�]
��G��m�m����mh���mh�G��l����m�m��S+�m�mp���D�m�mo�hP���������0�S6�m�D�hP�����FS�T
�l����FS�m��m��m7�m��FS�m��m<�D���hP�FS�mC�m��FS�mK�m��m�m�QG�m�N�mq�mp��Sh�mp�XAnnot�]�PInfo���Ddecl�card_bind_le������_inst_1�l�s��t�l��G��l��l��i�ia�l��/�����	�l��	���	�l��O�_x���G��l��l��hQ�	�m�:���G��m��m��O��i�O��m�����m����m��G��E��I���m��G��E��E��m�chas_le�D�u�D�u�De_2�Q"��D��De_3�Q"�S�G��m��S!�m��G��m��E��S6�m��m�has_emptycemptyc	�l��H	�E�s�l��	!�jBe_1��jF�xvC�jB�D�m��m��n�bind_empty	�i�card_empty	�m��E��iu�m��N�I��E��I��m��I��E��N�m��E���Sh�E��Xas��has�O�ih�G��m��l�I�U�VI���i��	I�l�I�	%le_trans�D�I}�nJ�l�dI�UI�Vd�
�P�FN�nJ���nJ�nV�hMd�D�hP�P�	d�l�d�
��I�nY�n`�I�nJ�	�jBI�	I�nU���n^�n`���nl�ny���no�nX_a�no��I�nf�l�$d�l��P1�FN�nf���nf�n��I�nf�n����nl�nv�bind_insert	dI�nU��finsetcard_union_le	I�nU���n^Annot�]
��I�n`�ni�n��j�n[�nd�nh���n��n��L��nd�P'�nh_a�D��I�n��hM$�D�hP�P1�	$�l�$���n����n��n��i�d�D�nh�hP��add_le_add_left�D�Iz�n_�n��n[Annot�]�PInfo�	�Kdecl�card_eq_sum_card_image������_inst_1�l�f��s�q�G��O��m�D�hPfinsetimage	�ia�O��-�x�-����	,�����	2�l��	3���	4�q	_inst�����S6�O��O��5bind	�U�V�:�n��l�a�-��	8���	%���	%�m�o�	7�O��o
congr_argC���D�o!�O����Co�o!a�8V�-��-��o�U�VI���n��U�V�t�	;�-��	8I�$���I�finsetext�o!x�9m�o3�oMhs�o3�����oI�-�n�I�nC�	;�-��	8d�"����dI���j�a���jDI�no�jHI�n�dI�nUH�oy�.�.x$�����$d���mem_bind	I�-�o_�oj�	�o����?��jD�n�jH���o_�	C�o��-��-��	Dd�oa�+N��d�oe�+N�mem_image_of_mem	I�nC�����-��	DI�oB'��I�oF'����-����D3�o��o����o��o��W��h�oM_a�o��j��	BI���j��l��jHd�n�$d�l��	C�o����/��	DQ�����Q$��	H�j��o��.�Ih_1�o��
��j��jB$�jH$�n�Q$�i�I�	C�o����2Z�	Dq�%���qQ�I�	I���o��p�o�Ih_1_w�o�h_1_h�p}�
d��p�p�`�Y����u��u�e_2�" a���	M��e_3�d�i�8g�j�|�p�8p�4�	M�j�p�
���dd�`@d�-���	D��+����q�d�g�ol�o��o�Annot�]
�card_bind	�o�o�o ������jK�o@�	�	�oy��-��	��e�	�Q�"��/��	DQ�o���Q�o��/��	DQ�o���Q�o�����p���������o��o_�	I�	�o���. �2��2����2Z�	Dq�o���q�o�I�p�������
���p~�������4�pd�p}���C��M��_�o���3�pd�	�	�p���-��	��c�	�$���.�	D$�o{��$�o�.�	D$�o{��$�o�p����jK�o;�U�V�nU�C��M���_�N�_�$%�p��N�p��p��mem_image	�o=pa�	Q�	RIe_1eqC�0�xf�	R$���p��p���C�����p�h�_�p����p��M�N�q�p�exists_prop�_�o_h�p�����	I�	�o���. �p��2Z�	Dq�o���q�o�I�p��	I���p��	�p|�	��	��4�oy�p{����d�Md��`�ob���3�oy��p��p��o��q3���os�ou�i��q/�Md���`�N�`�r�q3�N�qA�qI�p�dI�nU�	Q�0�	Q�p��	S�p��Q�p��	Rq�
�qH�q2�p�d��d��d�qC�	U�`�qE��d�q1�Md�N�qi�q1�q	�`�ob_h�q3��p{����"���3�pf�q9�q{��D
d_h�q{��pg�ph�#�pq�py�Q�3��q�aQ����q���%;�2��	D��p>����pBd�q��N�q��q��disjoint_leftQ�"��pq�py�,�Q�	ZQ�q��	ZQ��	ZQ��q�����I�pk���3�q������2Z�	Dq�o���q�o�I�q���N���q��q����pBII�q��q�.;q�q�qI_h�q���q��3'��0��q��+��%;�q���������d�34�+�q���;��q��34�N�q��q��3�q��q�d�3[�;���N�;���3`�;����;��%��q��+��q��%�+�	Rq�	R�e_1���	R��	R�e_2�(/�(��5�5�2��	R��5��"
�;��q�� q�N�r�+�3m�r�3{�3��N�q���3��q��N��Q���3�Q�N�q|��3��q{�N�q4��3��q3�N������
�N�p���3��p��N�����r]�XAnnot�]�PInfo�	1�Udecl�gsmul_sum������_inst_1�lyf��s�qzint�!gsmul	�l��&��l{�r�a�r��l��	,�����	`�r~�	a���	b�q�	c�r�D�r����r��r��l��r��r��r��l��r��r��r�gsmulis_add_group_hom	�PInfo�	_�`declfinsetsum_sub_distrib������s��f��g��_inst_1�ly�!�&��r�x��	��	�r��	,��r��r��l��r��r������	k���	l���	m���	n�r��&k�r����d�e�f�g�l{�	,�l��l��r���&��&��&��&��r��r��	o�	,�r��	o�r��r��)��r��r��r�� �r��l��l��r��r��r��	isum_neg_distrib	�	o��PInfo�	j�iATTR�I���	jdecl�	isum_mul�������	k���	l��b_inst_1semiring	�!�&X�Vto_has_mul	�h��&���	�sx� �s�h��	,�����	k���	l���	r�	s�s�D�s��x��s�h��	,�	w�s'�s�r��s�s�sAis_add_monoid_homis_add_monoid_hom_mul_right	�PInfo�	q�odecl�	imul_sum�������	k���	l���	r�	s�s�!�s�s�sx�s'�	,�����	k���	l���	r�	s�s�D�s[�sV�sG�sU�	xis_add_monoid_hom_mul_left	�PInfo�	z�rdecl�	isum_mul_boole�������	s�s_inst_2�5]s�qf��a�v�\�sx��s3�s4��.��5^�+�&�'�h��a�h��sw�.��o3�5p�/�v�h��s$�����	s�sr�	~�5]�	�q�	����	���s��v�sv���s��a�b�R�s�s��v�w�g�st�s�se_1�&�ud�u$e_2���(q�%�%�2q�qY�%�s��s��9��st�8$�s��s��8*�s��s��	��5��s|�+���s��s�h�s|��$�
%�sI�h�I���.��5�'I�)�*�h�I���h�I�s��s��������
��sI�$�s��s������s��s����s��s����s����������s��s��/7�s��s�I�s��s��s����t	���s���s�����s����s��$��������s�����I�s��������t�N�t��8����X�	����s|�s��$�s��s��s���s��t7�s��t5�t�s��/g�s��s�I�s��s��s��s��t@���s���t7����t7���t7�$�s��s�����t5�s�mul_zero	I�s����s��s����s��N�tS��8��s��X�s��s��F�s��9��st�5o�PInfo�	}�uATTR�I���	}decl�	isum_boole_mul�������	s�sr_inst_2�5]s�qf��a�v�svx�sy�s���s������	s�sr�	��5]�	��q�	����	���t��s��s��t��s��s��t��s��8*�t��s��	��s����t��s�h�s|��$�s��s����s��$�s��s��������t��t����t��t��s��s��s��t�����t�s����t��t�����t����t��t����t����,h�s��������t�t,�X�	��t4�t��$�s��s����s���t��t��t��t��t��s��tB�����t�s��s��tH��t�����t����t��tS����t��s�zero_mul	I�s����s��s��t_�te�X�s��s��ts�tz�PInfo�	��|ATTR�I���	�decl�	iprod_eq_zero�������	k���	l��a_inst_1��_inst_2�h�ha��h�����a�s��s4�h��$���h�I���s��s��h�I�����	k���	l���	��	����	��u�	��u
�	��u�6�u�u�P�P���U�d���u
��u�u4�u�u���u7�u9���b�P�P�Ud�V$�"��u.�uB_a�b��"�	�h�dI�uM�P,�P-���U�$��I�uP�uM���u7�Wpd�����uAnnot�]
��$�u4�u�$�
%�
&�
'�
(�u���u�u1�u���us�u~�T�u4_aI��"�uZ�,��h�d�h�d�h�d���u����us�u|�PI�u1�u���W�d����u~�$�ux�u�u{�u���u~�u��T��_aI��"�z�{�|�}�uL�uM�uW�u��"�u��u��u����u~�u��u��$�u�u���u��u��T�
%�s��u�u�u{_aI��"�u��u��u��u��u����u��u�t��u�u{���uAnnot�]�PInfo�	���decl�	iprod_sum��u_1�����	����	��h�δ�	_inst_3adecidable_eq�	��/s��ta�	,faI��	%d�$���uad�"S�d�sd�u��b��:�"JadH�URI�s��ufinsetpigd�	�d��Ud�V$�
p�v
��:z$��$�U	d�uK�:�$x�v�:�Q��Q�U�v'��propertyQ�v%�����	��u��	��u��	��u��	��u��	����	��u��	��u��id�	��b�"�	�v�	�$�"S��$�s$�h�$I�	,�	������"J�	�$�	���rd�v�v$�	�$���'��	��vP��:zQ��Q��$�h�$I�:�Q�	��v^�:�q��q�
�vk�v*q�vi�v��$�u��:�v�"J�	�d�	������c��$RI�v�v�:�	��v���v��$�����e��Qd�v�v!�v��	��v��v$��Q���UH�v��v+�v��v}�v��singletong�v��piemptygd�v�v�v����v��v����v��v�_a�v���"�v?�v��vK�"J�	�$�	��v�rd�v�vW�v��	��v���v[�v�$�vb�vd�v��	��v��vg��q�
�Ua�v��vn�v��v��v��v����v��v��	ipi_emptygd�v�v��v��v}��:zd��d�v�I�u��:�d�:�	��v��:�$�v��v�$�'��vU�v��v*$�v����v��w�T�v�_aI��v��v��v��v��v��v��v����v��w�	isum_singletonj	�v�I�v��v��v���v|ads�cha���0Jih�����h�Qd�	�q�"S�q�sq�h�q$��	�����"J�	�q�	��
�Q�sQ�h�Qd�vq�	�q��(�	��w6��:z�����
�q�h�q$�:���	��wH�:�������wU�v*��wS��%���wL�_��_��U��V��U��V����	���"S���s��h��Q���	���t�"J�	���	��
��^��^��U��V��U��V��%��q�w,�v��	����(��wl�	��w���:z������_<�_=�U��V��U��V��>��h��Q�:���w��	��w��:��������_U�_V�U��V��U��V�w�#��w��v*��w��%�(X�(Y�(Z�([�wL�"S�<Mq�w,���	��<M�(`�wb�wx�w����w��w���q�wy_aq��+�8�w��w��	���"S���s��h��q���	�����"J�	���	��w�� ��ws�v��	����U��V���w��	��w���:z��w���h��q�:���w��	��w�I�:������U����������U��V��U�w�V�4��I�x�v*��x�+�x���w��w����q�wx�wL�(���w��w��w�finsetbindgj�<M�w��U�w��V�w��decidable_eq_pi_finsetg��w��	���a��U��V��>���b�<M�	iimagegg�	���	��wR� �w��U�w��V�	���	��w���x7��w��	�����	���U���V���	ipiconsg��w��w��w��w��w����w��xl���w��w��wh�wl_a�xq��+�+8�+9�+:�+;�w��"S����ws���	����u��w��w��x�x��w��x���w��xi�	ipi_insertg��w��(��	���U��V��Z���xl�%�w��"J�	���	��wF�q�w,�w��	��x���w��wS��w��w��	��x��w�������x��w��x��xk���xl�x��w��w�_aq��x��w��x4���w��xZ���	����xF�	���	��x���xL�U�xL�V�	���	��x��x7��x�	�����	���U���V���Z��x\��x:�w��v��x:�w�I�x�+�x��x����xl�x���x��%�w��	v�<M�+8�s��h���wr�(`�"J�xH��ws�w��	��xH��w��x���w��w��	��yI�x����U��y�x�y�xk���x��y#�w��(X�sq�h�q�w+�w��x�_aq��+�x��y�x��x �x����x��y!�	isum_mulg	�<Mq���w��x��w+��y#�y"�w����<M�"Ja'�h��_<�_=�wd� ��wsx���xFa���x���	���	����_U�_V�w|��U�yY�V�	���	��U��x�x�w�I��x��y^�x��x��x��	����wd�x��wdI�x���y#�y{�w��"J�	���	��
��^��^��w��q�w,�x5�y��U�y��V�yL�yh���	��<M�xF�	����wR� �yL�U�yL�V�yY�xM�yV�xO�xU�x]�	����w��y	�w�_aq��+�x~�	v����s��h���w��x�"J�x���w��ys�	��x���:z��y��h����:���	��y�d�:������%lI�y��v*��y��x��y����y#�yz�	isum_bindj	g�y�q�<M�w��w,�U�y��V�yL�x8�yI�x:�x>���y�x�<Mhx��������y�=�hyq�y��y���h�hg�I��d��	���	��`���w�i���w�x$d�5�j�z�U�z�V�	��w�	���WG�WH�U�4�V�N�?�Q$�O�x7�4�z�	��4���	��4�U���V�#���xF�	����`d�5�z�z$�x\��	���s�w�Id�v��	���s�w�IQ�z,�z-�	���s�w�Id�z:���z���j�	��w��$�O�M�zJ����	��4��U�Q�#���zN�
�zN�v�4�z�z$��N�zZ���	��N�	������y�����y�U�y�V����q���x\�N�	��N�z�U�N�V�y�$;QqI���	��4�	��U��W��W��zmqQ�#����zG�	��N���q���M�z�����	��y��$	��?���z��
�z��v�y�	��y���z`q��N�z����	����	��?q�����������U���V�������$:�x\���	����?u�U���V���$&��I���	��y�	��$	�����������z����?����zE�z���z
�z�U�z�V�z�U�z�V�zg�x7�y�zd�z��	��y�U���V�?��4�z;�zD���z����z��z�
�z�xF�zJ�z�U�z�V�z�x7�N�z|�	��N�z�	��N�U�z�V���w�x\�w�	��w��xd$�v�w�	��w��xdq���z����zg��zg�
�zg�xF�z��zg�U�zg�V�z��x7���z��	����?u�	����U�?u�V�$:�N�zi�	��N�z�zmQq�v�N�z��zmQ��z���z���z���zG�zN�M�zN����z���z��
�z��{)�N�{8���z��x\�y�	��y���z`q�d���zg���zG�z��M�z�����	�����?q��$:��{L�
�{L�v���{�z����N�{X���	����	��?������?������U���V��������x\���	����f�z���d���z��N�z��{/���z�z$�z;�zD���z���z�{.���z�z����z���{���z����z��z�
�z�xF�zN�z�z��x\�4�	��4���z$Q�zY���zg�zx���z���{1�M�zN�{9�N�{8�{:�{;�	��y���z`q��{��N�z��z��U�z�V�z�{�z��{�zx�	imem_imagekg�zJ�z�z��z��{���z���z�{����z�{����z���{����z�{��{��N�{��{��U�z�V�zg�U�z��V�z��x7���z��	����f�	����U�f�V��y�{��zY�{��{��zN�z�z��{��zY���{�a_1�z���zx���zH_1�z���z�eq�{:�n�{L�M�{L����	�����?�����|
�
�|
�v���{��z����N�|���	����	��Z������?������U���V���$����$%�x\���	������{`��q���zG�{L�|1�+p₂�{LH_h�|0�
���	�����Z���$%��|:�
�|:�v���	������{`���N�|G���	����	��[G�����$������U���V���$������x\���	������|���I�	����|G�|`�+hp�|Geq₂�|_�|�	�����$���{]�M�|i����	�����[7�w�$���|m�
�|m�v���	������U���V�"����N�N�|~���	��"�	������-�����-�U�-�V�2�-�N�4�$��x\�"�	��"���U�"�V�-�"�w�4�d�	��zG�|i�|��+p₃�|iH_1_h�|��
���	��"��|��4�$���|��
�|��v�"�	��"���|��w�y�N�|����	��-�	��[���2�W���2�U�2�V�^�2�y�N�|w�x\�-�	��-���|��4�N�$�	����|��|��+hp₃�|�eq₃�|���
�\���y��x\�2���|��N�y��y�	imem_insert_self�2�|��y�N�|��� ��|��|��	��2���|��N�y��y�|�_a�|���\�����w�x\�^���U�^�V�i�^�y������|��^�}���y�|����|���	ipicons_sameg�2�|��|��N�y��|��
�|��|��	��2�|��|��N�y�I�y�|��|��|��|��|��I�y�|�_a�|���|��|��	��^���}�y���wd���}�}�|��}���}+��}�I�|���}+�|���y�|��|����}+�}P��g�	��2�	����^���^���^���^�}W���^�}���y�|��}'_a�}e�}>�|����}�}�}D���}P�}OQ�y�|����}P�}w�}f�|��	��2�|��|��N�y�_a�}e��|�����}�}�}��}i���}PQ��}w�|��}v�}v���}w�}��}f�_a�}e��}�q���}�}j�}����}wQd�H��|��}v�	isum_congrg	�<Mq�����y �yy�w,rflg�<M��b�<M_x�y�����y��u��y��"J�yY��w��	��=��xF�	����y��ya�U�ya�V�	���	��%l���������w�dI���x7��}��z6�	���U�s�V�5�7�x\��	�����w|�v��xO�w|d�	��xL��y��x��y��y��w��	��~d�y�����%l�}��}��U��V�w�zdI�~�y��~�}��"J�yQ��w��ys���yQ�~�	��~�~ p₁�	����y����z3�~�~#���~*�~<����}��yZ�U�yY�V�ya�U�}��V�z�x7�w�z�z��	��w�U��V�O�Q�	��yQ�~�ys�~(_a���%[���s��h���h���I�"J�	���	��y���s��~_�~	�	��~g��:z��y���h����:���	��~o$�:������z'�~{�v*��~y�"J�ya��~k�	��y��xF�~1�}��~N�x\��	�����w�I�v��x��w�$�	��x���~n�~��~s�~u�x�	��~�$�~x����`�z�z�U�w�V�4�zm$d�~��~~�~��~����~*�~;�	isum_imageg	g�yY��yQ�~(�w��yh�ys�~Vp₁�yQh₁��}���~g�
�~g�~	p₂�~1h₂��z)��	���	��z'�5�
�~��z:eq� B�z�z��z��	��w��xd$�	iinjective_pi_consg�4�z�zQ$d��~<���y��	{�x��~e�y��~;���~<��~A�}�_a���~��"J�}���~k�~	���}��~��	��~��~��	��z)�z��~��~��%[����~<��	imul_sumj	�x���ys�y��}��w��	�g	�x���ys�ys�~��~:�w��	�u��x��ysg�x�_x��~g�~��~��~	����!�s��h���h������~w�	��~o�~|�~{�~��~��	��~��~��
�~��~��K�~����~����~����~��U�~��V�:z��~�subtypedecidable_eq�w���w��WG�WH�U�4�V�N�z`Q$�~�subtypemk��~I�|���x
I�:��~o�~��kx�~o�n��~��~{�mem_insert_of_mem��~�~{dI�~��~v�P���R�����U�~�_a�U��'��k��s��h���h�������X�~y��h����:��I�	���Q�:��w���w�zH���v*�w����Y������~�	��YQ���e�	��zJ�{��	��4���z$Q�����e���������R���	iattach_insert��x
I����K�!�"�#�$�~sd�~�v�~4���~"�v�~����P�����������_a���������Y���Y���Y�U�Y�V�:z�w�e�Z�4���4�U��W��W��U�N�V�y�z�qQ�_�|d�|���~dI�:����Y���	����n�w�e���~�w�~���$d�����������������~�����v�P�~s�k������~��U���~��v�������~o�M�~o�����������������N��H�d�w��$����?��R�0���>��Q���=�y�U�~��V�Y�U���V�:z�4���Z�N���N���z]�z^�U�y�V���z��q�����~v��A�M�~o��I�N��H�d���	������n�4���:��4���4�zL�~�4�_��|Q$�v*�4��z��$�|��w�~�$d��Q�N��s����_'�~o�~��k���~v�v�	Q�	R�~o�	Q�	R��e_1�OCi�	R��v�xx�	R��Y��z������M�~o��I�N��H��u����K����K$d�������P��x�~o���~o���~o������~o��O�M�~o�	Q�u��H�	Q�u����v����v����v�:��wde_1��u����������������:��4$�0��u���:z�N���N�z������������:��NQ����������N����H����H����H�����a₁�w��������K�����$�������H��M�N��H�	�inj_eqw�w�e��K���$������Ra_1��Q�
����M�����������N��$�#���{Q�
������+�+a_1_w��a_1_h��*subtypecases_oni�4��z�
����
���������N��6�U��:��y���y�z���+a_1_w_val�4hm�zL�
�����:z�y��9����E����E�n�y��9�:��yq�N��R�U��:��������{J�n����U��
����:z����U����a����a��Z�:�����N��j�V�:��������|�n����m��
����j��v�+a_1_h_w��jrfl��u�Z��:��������|8�n����~�	����	����|8h₁�	��$%H���������{y��H����������h�y����d��	��^�	����i���i���i���i������i�U�i�V���iI���|��j����U����V�	��i�	�������������������������U���V����d���|��x7������	���� .�	����U� .�V�|��^�xF�	��^�������|��������}6�v�^�	��^���}�y������|��	��^���}�y����	�����	�����������yh₂�	��	��-��[�N�|wH��	��2��}[�y�|���	��2�	����|��
���v�2�|��|��N��p₂���H��	��i�������|���	��i�	����|��
���v�i�	��i� ��������� B�	����	��������������U���V����$���|��x\���	���� .�����d��5�	���� .�����d� B�	������������+�	����?������
�	��y�:��������[G��n����]�

���:��������|g�n����f��m��m�4��l�
���:��������|k�n����wI�
���:��"���"�|��n�"���dI�������y����
�y����:��-���-���n�-���$d�d��	��2�	��}[�}`�:��^���^����n�^���qQ�y�|��j����U����V�	��^�	��������:��i���i���n�i����q���|��x7�i����� �	��i�U� �V�|��2�xF���������}$�:��2���2���n�2���Q$������}������	���m�	���~��~��~�N��}�
�	��|��
�����	��-�	����|w�
����v�-�	��-���|��4���
���
������	��^�	�����|��
�������� B�	��i�	��������:������������n���������|��x\�i�	��i� �����������	��i� ��������� B�	�������|��
���	��N��	��y���7��7�w��	�����	����w��A��A�N�w�	��y����4��d��|��j�|��U�|��V�}e�x7�^�}b����	��^�U���V�|��-�xF���|���^�|��	��-���|��4�N�����c�|�������|����zG���M������������
�������N��x���	��i�	������������|�����I���	��^�	������������|����zG���M�������$���$�
��$�v�������������N������	����	��������������U���V������������x\���	���� 8��,����I���	����	�����.�����|�����p������O��P�U�|��V�}e�U����V��~�����{��������k��o���|�����}e��}e�
�}e����}e�U�}e�V����������� ����}%������������~���~�
��~�xF����~�U��~�V����x7������	���� 8�	����U� 8�V����i������$�����|����}e���zG����M�����������
����$�N���������9��d����~���zG��$�M��$�����H���H�
��H�v�������,�����N��,���	����	�������������������/�����U���V������������x\���	���� D�������d������N��������|���^��k��o���|����|������|�������|���������}e�����������
������������������������~������}e�����M������N������A����x�N�������U�}e�V��������������{����}e�����������}e���}e��y���}e������}e����u������������N��n��o�U����V��~�U����V����x7������	���� D�	����U� D�V�������r�������{������������r���������	��|������������	���������	����|��H�M��H����	������3����������
����v�����������"�N������	����	��������������U���V�����"����)�x\���	���� O��:����q���zG��H���+�	���H�	����
���	����������)���
�
��
�v���	���� O��:���-�N�����	����	��������������U���V����-�"����x\���	���� �������"�I�	�������3�+�	����	���2�|�	��������������-��7�M��B����	�������������2������L�
��L�v��	��� ��U��V���-�i�N��]���	���	���������������`����U��V�'��i�^���x\��	��� ��U��V���2�^�d�	��zG��B����+�	���B�	�����
���	�����d�^�������
����v��	��� ���z�2���N������	���	����'���'���'���'������'�U�'�V�1�'���i��V�x\��	��� ���k�^�i�$�	����������+�	�����	������
�\������x\�'������i������|��'������i����� ��������	��'� �����i���������	������\����w�x\�1��U�1�V�j�1��������|��1�����������������}�'�������i�������
�������	��'� �����i���I������������������I������	������������	��1�!0��������wd����������������������I������������������������7�}U�	��'�	����1���1���1���1��=���1���������w���	���K��%�������������+����7��6Q���������7��]��L����	��'� �����i����	���K���������������l��O����7Q���]�����\��\����]��{��L��	���K���lq�������P�������]Qd�H������\qQ�	��|:�	���	������\����	����	���\���
����v���	������|��w�	��|i�	��|n��	����	��|k�$��
����|}�	�� B�|��|��	��"���|��w�4��|���~��-����|��N��4�w����K���~w���~o$�~����L����~�������������_a�������m��o��=$��$�~����L���~�������%�������������:��~���~o�P�~s�k�~v��_x�~o_x��H_x��v_x���������d�����e�n�N��e�:��N����~�N����4qQ�v*�N�����1��3��7��AqQ��<�#���4��A�d����:��N���subtypemkinjw�N��e��4��>��A��G����K�B���~w���~o����z3������������q�R�J�J���J����p���A����h��������e_1�\�������xp
���y����xQ�|��4�_Q$�wq������}��x��w�I������o����o��|�C��h���C�I��o��h���C����e_2�d���������N����E�ye_3�x
���a���wy
��:z����m��������������xy���������������~s�~v�~v�����~o�~v�H��nfunextx
�~o���~o��H��n���~o��2��~y�����5��Q����"�~��������"v�hv�z'����{��w��z����3��0���e_1�\���:��L����w��V��X�y���
����������������x��������Q$���������#������{�a�4���z$Q�����'���resolve_left�#����Q�~���$�g��9�z�j��7��:�mem_insert�4�z���Q$��'��4Q�����W�Q���rfl�#�Q����ZF���	��N�	����z��
�	����

�z��z��z��Q�
�N�
�y��\��\�w�
�y����d��	����	��[7���"�Y����"�|�I�w�$��j��r�U��r�V�	��"�	��|��|�d�4�$��x7�-��w����	��-�U���V�|w���xF�|m��r����x\���	������|z��|}�������	������|z��|}�	��z��	���[��[��[�Z��
�	�����
��|i��	����	��|g�{]�
����v���	������|M��4�
�|m�
�|���	��"�	��|��$��
����|��� B�	��-�	��[�|�$�N�|w��gd�|�d� B���+�	����>3��Q�
�	����

���������
�
�4��n��p�
�N����������������
�y��y��^��`I�d��	����	��$������$������|z��x��z$d��{]�j���U���V�	����	��[7��m������Q$�w�$��x7�"���|��	��"�U���V�$����xF�|i����)�x\���	�������|M���g��idI�����.��/�	�������|M���6����	����	���������������
�	��|:�
����
�|i�
����� B�	��"�	��|��|�������qQ�4�$�������|���� B��q�!L�Nq��$�	��q�	�����z��z�B�	��w��	��4��������b�	��y���6��d��|T�j�|T�U�|T�V�	����	��$����w��{]�x7������|u�	����U���V�$����xF����|T����|[�������|V�	������|��������|T���|��M�|i�|�N�|~�|����I���	����	��[7��m�4�w�$����zG�|��M�|����������
������N������}e�}�I���|�����������������U�|T�V����U����V�|���{�|����������������|T�����������
�����,����U����V���������|���$��3�������������|���|��
�|��xF�|��|��U�|��V�|��x7�2�|��|��	��2�U�|��V�|��"�|��|������|T��������zG�|m�M�|m���|��|��N��&�|���hd���|����zG���M����������
�����N��6�������qd���}e�N�����"���|T������������|T���|T��!���|T������|T��������������������
����������������w�|}���|�������������$�M�|m��'�N��&�|��|���h�N�������U����V��������������{��|i�����������������������i�������u���������e�������t����N��^��_�U����V�|���^��b�|}��t�{��|m��������b�|}������	��|T�����������	���������	��|��|���M����y�N��x�����q����r����+�	����	�����
�����$�N��������I�	����������+�	�����	��������M��H����N����������	���� O��:�����d�	�������+�	���H�	�������N����(��)�	���� �������"�$�	���5����+�	����	������
�\���-��x\������ �"�-��-�|����� �-�"����� ��������	���� ��� �"�-��-����	������\���2�w�x\�����Y�-�2��2�|����Y�2�-��������}������ �"�-�����
�������	���� ��� �"�-�I�-������������	�I�-����	����������	��� ���Y�-�2�wd�2������������<���,�I������<�����-����������<��a�}U�	����	���?�����;�����Y�2�-��7��8�	���o��O���2������U����a��`Q�-�������a�����p����	���� ��� �"�-��	���o�����2���������s����aQ�����������������������p��	���o����q�2����t��������Qd�H�������I�	��z��	��z���	��y�	��z��?��
����z��	��{L�	��|��	����	��|��
����|�	�� B�|#�|+�|%�	������{`��q�~�������|�����	ipicons_neg�4�z�z$Q�����'���PInfo�	���decl�	iprod_eq_zero_iff�������	k���	l��_inst_1��_inst_2integral_domain	�8V�!�&P�h�nonzero_comm_semiringto_comm_semiring	nonzero_comm_ringto_nonzero_comm_semiring	integral_domainto_nonzero_comm_ring	�&�no_zero_divisorsto_has_zero	domainto_no_zero_divisors	integral_domainto_domain	�C�a�C�H�-��-��a��L��N��P�����	k���	l���
+���
,��<�P�_x���8V�v���h���>��@��B�v��L��N��P�C��
:���^�
;����p�����LI��NI��PI�U�V���9m�!��H�Cs��U�C��
:���-��C��
;�����_notelim������one_ne_zero	�
6to_zero_ne_one_class	��R_x���_a�C��
:���^�
N�
;�������
�I�
:I�����:�
;����"R�,���Ld��Nd��Pd�
B��I����$���u��>I��@I��BI�:����I�����
��,��v��
;����t�-V��L$��N$��P$������������va��>$��@$��B$�v�I���h_w���h_h���}�����w#��>Q��@Q��BQ�UHd�1���LQ��NQ��PQ���as��ha�Q\ih�8V�$�������q/�
:d�����
;���qD�����8V�"�	�uK��>d��@d��Bd�P,�P-��������
:$�����Q��Q��UQ�Vq�
�
;��7������8V�"�z�{�|�}��&�+N��'�����>����?��L��d��'�P,�P-�U$�VQ�Uq�V���_ad��8V������6I������
:Q�����_�_��S�
;��h�q��@h��Lq��Nq��PqI�8V������u����?��H�R��&�����L�8V�j�-��,����integral_domainto_no_zero_divisors	d�"��G�����>����L����
�"�z�
4to_has_mul	d����+N��G���_a��8V��2%�2&�2'�,�����<V���I�����u�8V��u����L����N������mul_eq_zero_iff_eq_zero_or_eq_zero	d�+N��G���������x$���7�o{������������
��x$��8h��7��:_a��8V�j��<V�-V������$���������u������������N������bex_def$�
P$��7�
P$�����������j�-������x$���������������
���_a�������
OQ���h�o���������������N�������	iexists_mem_insert$����������8V������
:$������
;�����:����������#�
������_a�����j���������
TQ������8V�����1������� �N��(�� ���#��"������
P$���
Q�����:����#��I�
���_a��8V������
:Q����,�
;��,��q��1��U��+����#��G����G����N��G�������
O$�������8]��!�PInfo�
*��decl�	isum_le_sum�������	k���	l���	m��_inst_1��_inst_2�k�xH�/e�k)�k+�k-�k/%���k(�k*�k,�k.�J�k!��������	k���	l���	m���
Z���
[��~�O�_x����
\I�
]���kO�kP�kQ�kRR%����?�kC����o8_x�
\�
]�������k��������
Nas��ha�Q�ih��
\$�
]���k(Q�k*Q�k,Q�k.Q�r�k��k��k��k����k�I���h�
\Q�
]���_�_���k(q�k*q�k,q�k.q��
�����)V�)W�)X�)Y�k!Q�y�����d����<V���I
�������k!q�_��_���$���d����)��)��)��)���������$��d��
d�������	�		q�u��u�e_2�3��u��u�e_3�7�3��k(�w���4������������q$�����������2d�����Annot��Annot��add_le_add'	Q�y�<V�������|�q��xqhx�
�9�~����PInfo�
Y��decl�	isum_nonneg�������	k���	l���
Z���
[�khxH�-��������������a�b�R������k(�k*�k,�k.�v�w�g�k!�\��������	k���	l���
Z���
[��m�
k��y�kq���������
l��u�����������������������������_a���v�J��r�
lI�����
��kC��v���������)*����k�������	isum_le_sum	����U�VI�+�PInfo�
j��decl�	isum_nonpos�������	k���	l���
Z���
[��mhxH�-���q����u��������������	k���	l���
Z���
[��m�
q������������������������������������������������_a���q�����u��q��u���������������PInfo�
p��decl�	isum_le_sum_of_subset_of_nonneg������s₁��s₂���	l���
Z���
[��~h�hfxIH����,�����-V�-W�-X���T��������������
v���
w���	l���
Z���
[��~�
x��
y��
trans_rel_left	I������
�
���=�>����������
��
��
��
���������%����)���
le_add_of_nonneg_left'	I����2�	isum_nonneg	dI��%����
ld�
m���fu�fv��I��	R�
ld�3���3���0Jd����1��1����t����K��U�0��
ld��J�
ld��T�
ld��4��H��I�3������:���I��T����H����,��,����k_���b��l�N���fu�fv�U$�VQ��I��b�,�$��I����l�N��c��T�,�����a��lAnnot�]
�,.��)��4��dI��%������\d��Annot�]
��$��)���$�������������u>�
�
�uB�=�>�uB_a�b��"�	V��g�	��c�	�$����GI����"�������������d������Annot�]�PInfo�
u��decl�	isum_eq_zero_iff_of_nonneg�������	k���	l���
Z���
[��m���y�8V�v������xH�/e�p���������	k���	l���
Z���
[��m�P�_x���xH����k)�k+�k-�k/���%�8V�������u�
�I�
��T�����,��,����k_���_x�
��
������w�9m�v����C�����
��
�������_x��_xI��oB���_x���o�����
Nas��ha�Q\ih��
�d�
����k��k��k��k��-V�-W�-X�k�r�8V�"�	V�����
�$�
������9�1��1��)Y���H�
�$�
���7��������������9�
�xQH��,������������I�@h�@i�)����I�
��8V������6��gd��9�
�q�
��
�_��_��U��V����+��1��1��+��k!�d�8V���)V�)W�)X��7����Sd��9��h����i��u��Q��S�_�_�Uq�V��U��V��
�d_aQ��8V�%����K��^$��N�
���
��
��^��^���|I��� �1��1��1��k!�$�8V�%��N�������i��q��qQd��6��S���u�8V�������9����o�
�q���9��h����u����
����n�����9_a��8V�%�)��)��)���L����$��N�������������u����N������add_eq_zero_iff'	Q�������M��S��=qQ�����S����������xq��
��f���������
xq���_��f_a��8V��%���N�%����
�����N��������������N�������	iforall_mem_insertq��S�
�q�o���N�����8V����
�q�
������f����������$�
����p��9_a������
����
�����8V����/�������!�N��*��!��8]��"Annot��Annot��_xQ��-��,��h��C��/�~q��S�PInfo�
���decl�	isum_eq_zero_iff_of_nonpos�������	k���	l���
Z���
[��m������������	k���	l���
Z���
[��m�	isum_eq_zero_iff_of_nonneg	order_dual	�r����order_dualordered_comm_monoid	�PInfo�
���decl�	isingle_le_sum�������	k���	l���
Z���
[��mhf��yah�/e���%�?��������	k���	l���
Z���
[��m�
���y�
��
��/e
������|�03��~
�
�kO�kP�kQ�kR��0�0G��0I���T�����Q���_ad���'����(�0_I���dI��'��������T��$d��Annot��Annot���	isum_le_sum_of_subset_of_nonneg	dI����Ud�V$�txde������CQ_xQ��$�!LQ�g�0J������0fxdh�:�_x������s��PInfo�
���decl�	isum_le_sum_of_subset�������
v���
w���	l��_inst_1��_inst_2canonically_ordered_monoid	h��������������	�J��������������
v���
w���	l���
����
�����
�����I�-���xIh₁��h₂�,�zero_le	$T�PInfo�
���decl�	isum_le_sum_of_ne_zero�������
v���
w���	l���
����
����_inst_3decidable_rel
��z��{��|��}���hxIH�,���T��,��,����k_���d��I�k)�k+�k-�k/���I�?�kC��2��8�����
v���
w���	l���
����
�����
���$�
���0trans_rel_right	I��:�
��
��
��
���7��8�-�xd�0���*��ddecidable_eq_of_decidable_le	d�kR��&�
���*��8�-�xd�-����*��d�A
d�Ud�V$��RQ������Q�v���*��=��6
��$��:��w��{��8��!��[��t����|����T��w_aI��"�	V��'I��������(����.�
�$����-V�-W�-X�k����$��$��R$�k�����+�����I����.�
�$�. �������$��c$�U$�VQ��Rq������q�c������I�������|����,.�����w�����[��t��7�����	��b�	�d����[��txdH�:����������U
t�1��1��)Y�����g�	idisjoint_filterd����P��a��Y��r_xd_x�:�h���n_h����5u������{��:���������u>��~�-���d����O��d�28��O��X_a�b����������������������������2�d��P��Y������:Annot�]
add_le_of_nonpos_of_le'	I��2��]��v��=�	isum_nonpos	dI��[����2��
rd�
s������k��k��k����R����
rd�3�:��3��������������ht�������3��<�0��
rd��2�
rd��;�
rd��4��,��1�3��:���O��1��;����,�kO�kP�kQ��T���*��H��Q�N�������$��Q��j�����I��G����/�������I����Q�N��I��;�,��:���O��Q_xd_x�:�le_of_eq	$��-R����	isum_le_sum_of_subset	dI��t����0C��txd�3�:��3�U5����0V�������������
�d�������0K�d�
�$�3�c��3�U����
$�N�������	isubset_iffd��t�0��
�d����
�d����
�d�������G��`�0K����������������N�������$��Q��cQ�UQ�Vq��R��k.�����I�U��V��
�����I��G����/�������I�0��N��������l��`��Annot�]�PInfo�
���decl�	isum_lt_sum�������	k���	l���	m��_inst_1ordered_cancel_comm_monoid	HleiH�-��������������	����Hlt�C�i�C�H�/e�	I�to_has_lt	I�k-�k/���I%�����������J�������������	k���	l���	m���
�����
�����
���
����
�I�D�
��,����d��d�kQ�kR���dR%�
������-���?�kC����2iIHlt_h��,�
��,��
��,����$��$�k��k����$tT�
����,���E��B���k���>dI��Khi�,�hlt��D����Q��Q���������Q�������V$d��]I��Z��\�_�_�Uq�V��U��V��.�p�U�q��i$d��rI����a��v�2�$_a������q��q���������qI�������Q$���d������$���d����a��q�!L����q$�Wpq�Uq�V��.�8f$���v��Z�)V�)W�)X�)Y��[�<M��\��pd��u����v�����z��s_aQ��������_��_��U��V��U��V��.�#��_����Q$���d����������v��������pd��[��i�W�q��i$�����������!����I����������z��u_aQ�����)��)��)��)������������$�����������������I��[��i���add_lt_add_of_lt_of_le	Q�<M�!����������qQ��pdI�����Vjqhj�
���r�[w���eq�PInfo�
���decl�	iexists_le_of_sum_le�������	k���	l���	m��_inst_1decidable_linear_ordered_cancel_comm_monoid	hs�CgHle��z��{��|��}���decidable_linear_ordered_cancel_comm_monoidto_ordered_cancel_comm_monoid	�\�����6��=���iI�DH�,��kO�kP�kQ�kR��#��3dR%�����	k���	l���	m���
���1�
��Cg�
���Aimp_of_not_imp_not�����������������3�J�����Z��a��N�.��N�a����N���k)�k+�k-�k/����3I�?�kC��m��t�
��
�I�
��,���!��"��F%R�������o��w��u����z�������j����e���������\��d��b������xI�
�d���:��
��:��k��k��k��k���=��3$rRxI������I�
�d�
��:���;��<���Rrpush_negnot_exists_eqI��M�,��
�I����L�
�I����
�I����D�
��,��
��,����tT�
��,�������4�,����
��,���K���,�����q��	%�,�����	%����,�push_negnot_le_eq	Idecidable_linear_orderto_linear_order	I�
�to_decidable_linear_order	I��	%�����������b��dHlt����
�d�:��
��Ced��}�	V�k_��DI���idhi�:��	isum_lt_sum	Q$dI���iQhi���le_of_lt	q��������~��3qI���+�?�Q�
�Q������
������|��}�����?���M�
���M��S��T��������U��3Qt��:�PInfo�
��decl�	iprod_nonneg������_inst_1�u�_inst_2linear_ordered_comm_ring	s�qf��h0xH�o3����������������	��	��	linear_ordered_comm_ringto_linear_ordered_ring	�a��X��Ylinear_ordered_ringto_domain	��J�9��z��{��|��}��2��B��D��F��H�v��w��x��S��a���to_comm_monoid	�����
��u����A��q������\�i�����I�����kO�kP�kQ�kR��#��Bd��Dd��Fd��Hd�,���������Sd������k)�k+�k-�k/����BI��DI��FI��HI����������SI�������pI�U�VI�t��������������Y����p�
N�������������Y�&�'�
�����	���uI�ude_2��uQ�uqe_3����k(�����������Q��X��X�4��X�������7���I�N���������ordered_cancel_comm_monoidto_partial_order	��Clinear_ordered_semiringto_ordered_semiring	linear_ordered_ringto_linear_ordered_semiring	��J�a�s��s4�to_semiring	����&�'�s������_inst_1�	�3`�k(�k*�k,�����B������h��h�����������h���zero_le_one	����Xas��has�Q�ih��$������������������U��BQ��DQ��FQ��HQd�1���������SQ��5R�k��k��k��k���=��B$��D$��F$��H$I�-V��������S$��K���p$I��Q����_�_�Uq�V��w���������������~��Bq��Dq��Fq��Hq$�@h��j��k��Sq��nr���C����pQd��h��C�'��'��'��'������������������	��Q�uq�u�����u��u��
�(/�r�k(�����r�����<��B��B�(M��B��������qQ�����d��������R'����3'��R+����+�3m����3��R4mul_nonneg	Q��7�������L��M��dxqH��S�9��T�w��PInfo�
��decl�	iprod_pos�������
��u����As�qf��h0xH�o3������P��X�9�������g��n��u�����
��u����A� �q�!���"�����~� ���"�#I�$�����!��"��������������������������"�#�$�����
�������������������������chas_lt	�uI�ude_2��uQ�uqe_3��������� ���� �����X��X�������������N���������������������3`�����������zero_lt_one	����Xas��has�Q�ih�"�#$�$�����S��T��;��BR��;��<��Q��X��^�"�#Q�$��i��|��}��t��{r���X�����X�������g��i�%��Q�uq�u��'���u��u��(�(/�r������p�r��p��V��B��B������������mul_pos	Q��7������������PInfo��decl�	iprod_le_prod�������
��u����As�qf��g�)�h0xH�_���h1xIH�;����������������������
��u����A�0�q�1���2�)��3����6����v>�0�b�3�4$�5�vN��D�6�7Q�8�v\��vrR��=�������v�3�4d�5�v���Y%�6�7$�8�v���=R%���S��\�v������S�,��,��,���[������������	��$�uQ�uqe_2��u��u�e_3�'��'��k(�����(�����R�������O$��[Q����������k�$��Q���ads�chas�w"ih�3�4q�5�w4�k(��k*��k,����������B���D���F���H�Q�1���L���N���S���
��6�7��8�wF����k*��k,��k.�������B���D���F���H�q�����8��p�Qd��9I�3�4��5�w���1�1���L���N���S���)��6�7��8�w��k(��k*��k,��k.�������B���D���F���H�������1�u��p�q�w�$��dd��1��m��o��0���b����c$��o����qd����h��x�	����u��u��9�(/�u��u�w�:�U��(�N�k(�N����2�N�u�N�����0��e��s����$��b�w������1!��R'����3'��R+����+�3m����3��R4��g��w���d��b�w����mul_le_mul	���+����r����v�|���w�x�H�x����~��x
Ix�H�x��9����	iprod_nonneg	���wdq��������kq���/��F��������������PInfo�/�#decl�	icard_pi�u_1�_inst_1�h�δ�	s��ta�x�G��l��	��	������v�K�	,�l��h�a�l���G�h��H���I���J��multisetcard_pi�F�l��	��K�	%�	aa<�K���PInfo�E�1ATTR�I���Edecl�	icard_le_mul_card_image������_inst_1�l�f��s�qn�DhnaH�pd�G��P�-�xI�oB��I�oF�G��o%�T
�l��o@�����R�l��S���T�q�U�D�V��8�
|C�D��9�m�o@_x��=�G��
�C�D��9��Ia�P�oJ��K�I
�	icard_eq_sum_card_image	�o=Annot�]
�	isum_le_sum	�D�o@��S��J�o=�I{Annot�]
��G���K��=�����m����m�G���=��=��S+��K��=�S6��I�O��T
��<�S��S��z�D�comm_semigroup��<��{�m7��<��}�m<�D�o@�hP�mC��<mul_comm�D�����<��=��=�QG��=�N��u��Sh��=�XAnnot�]�PInfo�Q�6decl�	iprod_Ico_id_eq_factn�D�G���prod�D�D�R��G5�FS�D�x�Dnatfact�a�D�E��a�D����a�D_F�E�����a�D�f����E��a�D�f����G��������D��������f����F%}�G��������F'�������W!�D����a�D�f����D�}�G��������FU�������FT�����G��S�����G5�D��I��D�����D�������������L��������D��D����_a�D��G��������Fu�������Ft�G�������������	iprod_Ico_succ_top�D�R�����D�natsucc_le_succ�I�zero_le�D�I������������T
�D������������L�����D�_a�D��G��S��������H�����H������'�������natfact_succ����G��S�����D���������:�L����_a�D���'�T
�H�����G��S��H���B��������F�����F��F����D���F��F��F�����F��F��G	�F���O��Y�F����:�G���7�FT�T
�FT�������:��i�L��D�_a�D��G��S���A�H���B�G���o�T
��A����:�FTnatsucc_eq_add_one���i�G�����FT�����h����i����L��������FT_a�D��G���o�Ft�T
�Ft��A����������i����������FT�QG����PInfo�`�>ATTR�I���`declfinsetsum_range_id_mul_twon�D�G��T
�sum�D�D�hP�D�i�Dbit0�D�FM�FS��v�L��FS�v�D�E��v�D����v�D_F�E�����v�D�z����E��v�D�z����G��T
����D���������;�L��FS�z����F%}�G��T
����F,����������������v�D�z����D��E��v�D�z����G��T
����D����������L��D��FS�z����D��F%}�G��T
����O_����������������v�D�z����D��D�}�G��T
����D��FN�FT�FS�������T
���L����FS���
�G��T
�j�FT����FZ������������
���L�����FV���_a�D��G��T
����D��FN�Ft�FS�������T
�� �L��� �FS�G���v�����*����
���tsum_range_succ�D�hP����FT����G��FL�^�D�distrib�S��]to_has_mul�D��A�FT�����G�������������O�L���G��C�FT�����_a�D��G��T
�j�Ft����F}��������*�����*������Madd_mul�D��A�FT��������O�G���J��g�L��FT�FS������O��x�L��T
�����_a�D��G���C��G�Ft�����G��[�����*�G������*����O��u�F�����F��FK
�DAnnotinnaccessible
�FMAnnot���FP���
�FRAnnot���F%�F����D���F��F��F�����F�����G	�F��������F����x�G���C�������FT��u������x����L�������_a�D��G��������L��Ft�FS��*�G���C�����*����x�������FT��������G���C�FL��@�_�D�h��FT�FT��u�����������L��S��	u�D�Y�D�h��������FQ�S�\�D�h��FT_a�D��G���C����Ft�����*�����������two_mul�D�h��FT�����G������g���������
�L���t_a�D��G���C����Ft�Ft�����*�G��������*�����natadd_sub_cancel�FS���
����	�FT����
��,�L���_a�D��G��������*��4��'����
�FT��$�FT�FS���,�G��������FT��+����,��H�L����_a�D���4��'�Ft�G�����O����,��E������H�G��FO�FO�FN�FS��`��;�FT��e����H��g�S+��F�FO�FO��`��`��E�S6��F�FL�I��add_semigroup��u�FO��`�FS��E��p��r��C�FO��x��E��{���i��D�u�D�u�De_2�Q"�u�D�u�De_3�Q"�S?�FL����SJ�����B�����~�S6�FL�I����D�add_comm_semigroup�FT����FS�������FS��~add_left_comm�D����FT�FS����FM�QH�����xadd_assoc�D��s�FS�FS��E��E�QG��E�����x��E�����z��o�S6��u��v��w��E��v��u��w��E��o�����w��E��������n����FS�FS��E��+��e�S6��+��������a��x��e����FN��a��~��������C��G�FT��G��w�FT�������T
��x�FT����TQ�T	����x����FT�FT�QG�FT��k��w�FT��������a�QG��a�����~�S6��G��C�FS�FS�FT�����~�����FT�������C��G�FS�FT������k�FS�FS�FT������FTone_mul�D�mJ�FT���FT��$�����������a��x��������d�S6��������w��������w��d��2��w�����;��c�S6�������FS�FS��C����FS��c��1�FS�FS����FS�FS�QG�FS��G��badd_comm�D�����a�FS�QG��e�PInfo�u�Jdoc�uGauss' summation formuladecl�tsum_range_idn�D�G����has_divdiv�Dnathas_div���������D������}������������������L����_a�D��G���������������������������������D�������tsum_range_id_mul_two������}������������L����_a�D������������������������natmul_div_cancel������of_as_truegt�D�H�����E���decidable_lt�E�����X�QG����PInfo���Vdoc��Gauss' summation formuladecl�tcard_eq_sum_ones��s�R��G��O��hM�D�hP_x�FS����R������������������������S+�������QG����������S6������FS�T
����FS�������m7����FS����6�D�hP�FS�mC����FS�mK����N�����Sh����X�PInfo���[declis_group_anti_hommap_prod������_inst_1group_inst_2group	f��_inst_3is_group_anti_hom	llist�vlistprod�%�'�_�/��"��	�!�"�_	�3��1listmap	��reverse��������������������������rec��������I��I��I�� I��&I��O��-��	��/�'��[��7I��;Iis_group_anti_hommap_one	hdtl��Iih�$��d��d��d�� d��&d��x��-I�
&�
'��/I�*�����7dI��;d��"��$��$��$�� $I��&$���listcons$��-d�{�|��/d�+������7$d��;$����"�z������������'������������R�������F3���������'������has_mulmul$����������$�Qe_1���8��qd������listprod_cons$���is_group_anti_hommap_mul	$dI����RQ���������''�RU'�������F3�����������	d'��nil	d���������has_appendappend	list	dlisthas_append	d�������_inst_1�R8_inst_2�h9$a��	Q����	qe_3���	�� ��	����-����������������
�������������$����/���has_appendappend��$��has_append$�����2��4f�'$$���8e_1�k�ia��������e_2�d����w
�����	���7����R�x
~�����M��	���R����B�����>��reverse_cons$listmap_append	$d�����2chas_append	��
�u��	$�u��e_2����u���u��e_3���O���[��[����[���� ��[�u��[��	������
������� ��
�����3����map_singleton	$d��prod_append	d������������������RU�����'�F3�����'�+����'����������������	d�����'���''�����������prod_nil	d�����d���'�RU����PInfo���edeclinv_prod������l���6:�b�c�������� ��&�������x��������;������l���is_group_anti_hommap_prod��inv_is_group_anti_hom�PInfo���jdeclmonoid_hommap_prod������������_inst_1��_inst_2�)�gmonoid_hom	�	�*f�)�s������		��)��*��has_coe_to_fun	��*���*
IxI��1��)I�1�+4��7I�1�+4����������������)�����/���)������=��S��@finsetprod_hom	I��=monoid_homis_monoid_hom	��*�PInfo���pATTR������.ATTR�	�����/
Strmap_sum�/
Stradd_monoid_hom�)decladd_monoid_hommap_sum���������������e���*�����	�h
�*����)�������0��1���j�*�add_monoid_homhas_coe_to_fun	�j�*��f�*�I��I��1��I���+����I���+�������������e���*���������)�������]������finsetsum_hom	I���add_monoid_homis_add_monoid_hom	�j�*��PInfo���pdeclis_group_hom_finset_produ_1u_2u_3α	β��γ��_inst_1group��_inst_2comm_group�sfinset�f��_inst_3cis_group_hom��I�`��/���aI�prod��I�]�Ic�'X��	�������������������������	���is_group_hommk��I������is_mul_hommk��I�KkI�KmI�KoI�%��'��_�������aIbd���d���Id���d�I�	%�KiQ�KkQ�KmQ�KoQI�#�d��d��d��d���d���I�7����I�	%����.����I�7�����I��2��5����6��?�sd�s$e_1��Q�uq�u�e_2����w�������M�x����8r��M��"��=�r�d��"���I��$$��$��$��$���$�7���2��%��&��'�)�d����9��<���d����d����$e_2�����Q��A��Ce_3����H�w���'������������x���������������������I��!��t����I��I$��I�� ��I��s�Icdis_mul_hommap_mul��qQ�Kkq�Kmq�Koqd��Q��Q��Q���QI��to_is_mul_hom��qQd�����	%finsetprod_mul_distrib��Id��8��;����5��5��d��5�����=�PInfo���vATTR������(�/
Stris_add_group_hom_finset_sum�)�-ATTR�	������declis_add_group_hom_finset_sum��������	���������add_group��add_comm_group����������	�
is_add_group_hom��Iadd_comm_groupto_add_group��/���Ifinsetsum��Iadd_comm_groupto_add_comm_monoid�I�����	��������������	���������	���"mk��I����is_add_hommk��I�H��I�K�Iadd_semigroupto_has_add�add_monoidto_add_semigroup�add_groupto_add_monoid������I�d�����Id��d�I�	%�G�Q�G�Q�HQ�K�QIhas_addadd�d��5d��7d��9d��d��E��/��E��3����^��E��8��E��;��b����c��j��b��R��h��f��R��E�I��T$��5$��7$��9$��$�7���2��U��V��Wadd_comm_monoidto_add_monoid�d��C��e��g�add_comm_monoid�d��������������A��C����������������������C�����Q��~�����I��P��I��}�I�dis_add_hommap_add��qQ�G�q�Hq�K�qd��5Q��7Q��9Q��QI�is_add_group_homto_is_add_hom��qQd�����	%finsetsum_add_distrib��Id��8��;��C��b��b�����b�����h�PInfo��vATTRinstance��is_group_hom_finset_prodclass��>��ATTR�=��is_add_group_hom_finset_sumclass�"�?��declmultisetto_finset_sum_count_eq��_inst_1�h�s�j}�G��hM�D�hPmultisetto_finset�U�V��a�Dcount�i�K��B�h��C���multisetinduction_on_x�j}�G��i����i�F����l��L����������k����F����k�j}��as��ih�G��i����l��F����o=�K�S6�hQ����o=�x����nC��6��;x�FN�UC�d�7��D�FS�E���>�K��9
�my��:��:��C��R�hP�]���:_x_x�-�����nC��A�5��s{R�G����I�nU��6I�FN��F��c��e�D�FS�E���ih��c��G����d�l���6d�FN��F�s�t�D�FS�E���{�����`������������S+�����QG���������������FSif_posC�������D�FS�E��������QG��������G���z����������������G��D�����������������S6�������~�D���y�Ud�V$�UQ�Vq�
�_inst_1��da$�UQe_2�����j���j�e_3�d�j}��6Y��U��V�<Z�G�����dI����6Y�j}������W�d�j}��������QG�����l���~��~���j���~�@count_cons_selfd�l��������S6�����`��������Q������������natone_add�����succinj_eq�������QG����R����c�������L����������*�����)����E�if_negC�������D�FS�E�������������*�G�����������*��@�������@count_cons_of_ned�l���)����M������Annot�]
�5�����5�5l�o=��^�G���S��Vh��_��G��i���a�O�FN��F�7����D�FS�E���h�K��A�G��i��S��S��nC��`��u��y����z���������a_a����G��i����I�nU��l�OI�FN��F�7����D�FS�E���z�KI��l�G��i�����������z����@to_finset_cons�nC�����G��i�����u��y������������S��S��U�VI�l���_a����G��i������nU�������������������finsetinsert_eq_of_mem�nC�������G��j���x��p�������s��y���������L�������j��p��s_a�D��G��i������������������������finsetsum_add_distrib�D���������hP�����G������x��y�������
�L�����F��s_a�D��G��j����eI��������I�������G����������������
�G��j�i����������y����
��/�L����_a�D��G����������G��j��5�������
��+�����+���finsetsum_subset�D��)������hP����)��a_1H�^�S��+����d�l�����T����U��X��d_ad��/j���$�i�����a����U�g�j���}�k�j���d�82�@mem_singletond_x_x�^���H���+��03��0�8W��$�����/j�0G���������0��D�FS�E����/�G��j��F��G���D�FS�E�����y����/����L���+_a�D��G��j�i���P����5�����=����/���finsetsum_singleton�D����hP�����G��j�FS����y���������L����_a�D��G��j��F�5^���D�FS�E���5�����=������FS����������!��D�FS�E������G�������FS��y���������L���C��_a�D��G������5����������������V�FS����������FN���FS�������
�L���y_a�D��G������5�FS�������������@card_cons�QG����_����_�������G��j�FN�����=�����y������:�L��i������u_a�D�����������8�i��D����u�hP�nC���:�G��j��`��5�����y����:��V���_a�D��G��j�FN�����h�������G��j�Gu��]����������:�FS������V�G���S�����y����V��u���_a�D��G��j��`��]�������G���{�������V��������u�G���S�j���x�E������y����u�����4_a�D��G���{������G���{��:���������u����mw�D�����������hP�!���xhx�����0��qr�����qrfl��q�8��K$�_�������Q���ha�����j}q�j�qI�+�_����b�������j}Q�j�Q�1 ����������q�i�I�+����������������
������a�����j}$�j�$�
���_a�����I����/����������N�������@mem_to_finset$�i��D�FS�E������G���S�j�i`�����y��������L�������i`_a�D��G���{�j����~I�E���������������i`finsetsum_const_zero�D���hP����G���S������y������9��_a�D��G���{��������G���{��������������9�G��j��`�E���6��y����9��U�L���<���_a�D��G���{����5����G��j��`��^�������9�E��@count_eq_zero_of_not_mem�nC�
�����������j}�j��
��s�����������/�����t��{�N��s��{����nC���U�G���R����y����U����L��L���_a�D��G���R��^����G���R�������U���M�������G������Q��y���������L������Q��_a�D��G���R��5����������������V��Q���������������������_a�D��G�����Q���������������"�QG���Annot�]�PInfo�A�ATTR�I���Adeclwith_topsum_lt_top������_inst_1�u�_inst_2�ks�qf�with_top	�aH�o3�����������with_toppreorder	�������9�Jhas_toptop	�����has_top	���������������|��}�[��with_topadd_comm_monoid	����������������u���������q������P�_x����������������I����+���I�k-�k/������+��I���I����������
�'ah���������������C���"������������������"����N��W������L_a�������?�
N��
����
����N��U��������coe_lt_top	���v�w�g��as��ha�Q\ih���d����������$����|���$�k��k�I%����|��$������d��������d�kQ�kR�	U�����d�k_�������dh��$�����Q��Q��'�������Q��������Q������dR�������Q��������|��$�k�I�������������|����|����|����|�����������������������|����Q��Q��(�_a��|�����������Q���d�_�_�(�������������������Q��|����'�������������������������������
�����������add_semigroup	$�4��-X�����������_a����������������������������u���������������N������add_lt_top	$I��������������L�|�Q�'�aQha��,�9�~��(��PInfo����doc��sum of finte numbers is still finitedecl��sum_lt_top_iff���������u�_inst_2���s�qf����8V���������������k,�k.����&�������k"��[�������aH�o3�������������������9��
�������u�����T���q������9m��l��wh��laha�_lt_of_le_of_lt	��+��.�k-�k/��1���>��+�k!��+��ordered_comm_monoid	I�����7�
�	d��+�v���adha�`����|��canonically_ordered_monoid	$I%��sum_lt_top	�'a��[�-��PInfo����doc��sum of finte numbers is still finiteEndFile