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�]��initalgebragroupdataintbasicdatalistbasic���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}traversedeclmonoidpow_main_meta_auxuα�_inst_1monoidaanat����natcases_on�id_rhshas_oneonemonoidto_has_onea_1has_mulmulsemigroupto_has_mul�to_semigroup

RecFn��PInfo�VMR�VMC�����
�
decl��
�����brec_on
�_F�below���6����6�	@�6��zeroHHH;a_1�B�succ@@@ @H;pprodfst�
nataddK�recnpunitnihipprod��le�ofzl�PInfo�VMR�VMC�����
�
decl�equations_eqn_1����eq��has_zerozeronathas_zero���eqreflid_delta��PInfo�ATTR_refl_lemma���EqnL�decl�equations_eqn_2����n��has_addaddnathas_add�nathas_one ���������PInfo�ATTR����EqnL�decl��
�����PInfo�VMR�VMC�����doc�The power operation in a monoid. `a^n = a*a*...*a` n times.decl�equations_eqn_1�������������equations_eqn_1�PInfo�ATTR����EqnL�decl�equations_eqn_2��������������equations_eqn_2�PInfo�ATTR����EqnL�decl�_sunfold�
�����%��PInfo�decladd_monoidsmul��_inst_1add_monoidna������multiplicativemultiplicativemonoid�PInfo�VMR�VMC�������decl�equations_eqn_1�����������������!�PInfo�ATTR����EqnL�SEqnL�TK•Fdecl_localized_decl�
EKprodnamestringprodmk�.�0namemk_string
Stradd_monoidnameanonymoushas_appendappend�0stringhas_append
Strlocal 
Strinfix ` • ` := add_monoid.smul�VMR�VMC��nameanonymousdcharof_nati�o�n�o�m�_�d�d�a�stringemptystringstr���������namemk_stringl�u�m�s�.�d�i�o�n�o�m�_�d�d�a� �=�:� �`� �� "� �`� �x�i�f�n�i�������������������������������� �l�a�c�o�l��������stringappendATTR_localized���unitstardeclmonoidhas_pow��_inst_1has_pow��has_powmk��PInfo�prt�VMR�VMC����decl�equations_eqn_1�����G���O����G�V�PInfo�ATTR����EqnL�SEqnL�ATTRinstance�class��declpow_zero��_inst_1a�has_powpow�T�����rfl�g�PInfo�%ATTR����ATTRsimp���decladd_monoidzero_smul�β_inst_2�a����add_monoidto_has_zero�����n�v�PInfo��&ATTR�����ATTR�����declpow_succ���an��`�T���������m���PInfo�(ATTR����declsucc_smul����an����add_semigroupto_has_add�to_add_semigroup�����	�
�����PInfo�)ATTR����declpow_one���a��f����mul_one�PInfo�+ATTR����decladd_monoidone_smul����a��t�����add_zero�PInfo�,ATTR����declpow_mul_comm'���an�����������rec��$�`�T%��eqmpr����K������id�����eqrecu���_a����$��K%���$%�����pow_zero������������������_a����$%�'���+���one_mul����������>����_a�����+�D�����nih�����777 7�`7�T7U�_�g�Y�_�k�e�k�p�����m�u��7�e��_a7����� �7�`��T�7U������������m�ppow_succ7���u�Y�k�_�o�t�����u���z�r_a7��������������������u��mul_assoc7�]�o�����Y�t�t���������z��_a7����������������������p�7�t�PInfo�.declsmul_add_comm'����an����������pow_mul_comm'���PInfo�+1declpow_succ'���an�������0�1��������������
����_a�������|$���.����������
�	�������
�&����_a����%���-��
��������PInfo�/4declsucc_smul'����an��������5�6���E����������E�L����_a������|�������S�.�`��E��succ_smul���L�K�������L�s����_a�����\�^�`�{��L��smul_add_comm'����PInfo�46declpow_two���a��fbit0�� ���<
this�����������������������������_a�������������������Annotshow�PInfo�;9decltwo_smul����a��t������������B
�>������}�����������������������_a��������x�z���������������Annot�@�PInfo�A;declpow_add���amn�����{������E�F�G���G�Y�e��_�e�e�������{K������������!����
natadd_monoid���,_a���Y�e�K��eK�Y��;��add_zero�,���!� ��'�����!�O�����_a���Y��;�W���!�'����O� ������O�i�T�N_a���W�77�W��O������nih���������f�������f����������������������|_a����;�`;�T;�7���;; ;�������������������7������������������������_a���������7���������eqsymm��������7������������������������_a�����������7���������������������������������������������_a�����������7����7����	���	������������������*���_a�����������7�����)���)�pow_succ'�7������PInfo�D>decladd_monoidadd_smul����amn���S��_�S���pow_add�����PInfo�YAdeclone_pow���n��e�����_���_�����hKnih�r�������'�f�'���(�x�'�����{���T�x�|_a���Y�d�r���r�Y�r��{�~���'�������(�'�'���������T�}_a���Y�_�r���r�Y���r����'�������'�'���������T��_a���Y���r�r������'�6�'���'�PInfo�^DATTR����^decladd_monoidsmul_zero����n��t�}�}����g���g���������tK�}nih�������S�f�x�z�����\���]�������������T�T��_a���Y�7���x7�z7����������j����������������������T��_a���Y��7��7��7������Y�%���������������������:�T�_a���Y�%�������zero_add�������PInfo�fFATTR����fdeclpow_mul���amn�����nathas_mul������o�p�q���q�Y�e�_�d��������`K�dK�����mul_zero_classto_has_zerosemiringto_mul_zero_class�Hsemiring�x�����y���'�]�tto_has_mul����_a���Y�e�lK�pK�>����y��mul_zero������nih�r�������_�f�����f������������������'��_a�������_�������������������natmul_succ����������������������������_a����������������������c�7���������������������������|_a����������������������@�����������������������_a����������������������G���PInfo�nIdecladd_monoidmul_smul'����amn���S�a�Z�^���pow_mul�����PInfo��Kdeclpow_mul'���amn�c���������������I�����]�comm_semigroupto_semigroup�Hcomm_semigroup�H�����I�\�'�W_a���Y�e�l�d�o�>�h��I�Ymul_comm�T���\���H�H�����\�|�T���__a���Y�e�a�h���h��\�H�B���H�PInfo��Ndecladd_monoidmul_smul����amn�:�]�[����������������S�Y�����������c_a���Y���d�&���Y��������Y�v�������������������T�S��_a���Y���������������add_monoidmul_smul'�����PInfo��Pdecladd_monoidsmul_one����_inst_3has_onen���coecoe_to_liftcoe_basenatcast_coe�����������nateq_cast����add_monoidzero_smul�add_monoidone_smul�add_monoidadd_smul��PInfo��SATTR�����declpow_bit0���an����������������c�PInfo��Vdeclbit0_smul����an���"�������������PInfo��Wdeclpow_bit1���an���bit1����%���������O�����"��N�����O�Y�'�J_a�������I$�������d��O�Vbit1equations_eqn_1�����Y���#�N�����Y�{���W_a�����������d�.�d��Y�y�>�"���{��N�N�����{�����#_a����$�����d�
�d��{�%pow_bit0��N�PInfo��Ydeclbit1_smul����an���J���7���pow_bit1�����PInfo��[declpow_mul_comm���amn������������������������������T�_a���Y��o����������������c�����������������T��_a���Y�e����������������������������)add_comm_semigroupto_add_semigroup�Hadd_comm_semigroup���������	�'�	_a�����e�{�>�	"����	add_comm�	���	�PInfo��^declsmul_add_comm����amn���\�\�[�^���pow_mul_comm�����PInfo��`decllistprod_repeat���an�listprod�listrepeat���������������	K#�&�	O����	N�	QKnih�	b���Y�	K7�^�q�	O7�f�g�Y�	klistcons7�	m�g�����	q�	z����7�	m�|_a�	������	K����7�	O��������	�����	q�	wlistrepeat_succ7���	z�Y�k�	k�	v�g�����	z�	��z�	x_a7�����	��	s��	���������	z�	�listprod_cons7�	v���	��Y�p�g�����	��	��z�	�_a7�������	��	���������	��o���p�PInfo��cATTR�����decllistsum_repeat����an���sum�����	R�����listprod_repeat�����PInfo��eATTR�����declunitscoe_pow���uunitsn����	����	����	�unitshas_coe�`�	��T�	�groupto_monoid�	���group���
�����	����������	��	��	��
 �	��
 �
�`�
 �T�
 �
�
 �

���
+����
�
K�
Ktrue�����
C�
Eeqtrans���
C��
Ea��e_1�Ya���;e_2�Hcongr@���@7�
Ycongr_arg@��@��7�
Y�
@���
@�
�	��	��
_inst_1has_lift_t�	�a�
 ��	�7e_2��	��7��	�;�;�	��
�;�
�
?�
x�
r�	��
?�
��
xc�E�	����
 ���
�e_2�
�a�e_3�����	�a@�`�
��7�
���
���	�a7�
��
��	�K��rnat_zero_eq_zero��	��
��coe_one�
B�
s�
B�
���E��7e_2����e_3�
��
�a�`a�7�
��
�a��
�7�
����
�
��
K��
���
propext�
N�
Eeq_self_iff_truetrivialn_nn_ih�
<���Y�	��
�7�	��
�7�	��
�7�
7�`�
��T�
��
�
��

7�f�d�#�f�
E�����4�
E�
K�4�Y�2�;�
E�:�Y�_�1�;�A�=��7���������H��@���a�
V�
�����
�7�M�
`�
����
���7�M�/�A�
r7�/�@�#�-�A�f�#�
��
� �
��*�g�i��
|�
�7��
���
����	�H;�
��	�@H@�	��@�"�.�s���
��*��coe_mul7�gchas_mul7a��;e_2�
U��@��ae_3�M��ppp�7���
�p��p
7���^�1�1���1�h�;�3�A���1��C�=��mul_left_inj7�;�;��=�
E�7�;��PInfo��hATTR�����declis_monoid_hommap_pow�v�β�_inst_1_inst_2monoidf�_inst_3is_monoid_homa7neq�����7��������������� ���!���#7����������� ���!���#7�$�brec_on�$��;�`H�TH���;��;7�$_F�below�$��H7�`@�T@;��H��H�7�$�'�&�$��a;�`�
��T�
�@7��a��aH;7��$�'�&�$��p@�`���T���
�;��p��pa@;�T@�Z�d�'�&�$���
�H�`p�Tpa����
����
�@H�K��sHppa���
���
�@is_monoid_hommap_one�p�
�a@H;�$�'�hV���T@�Z�f�d�f�����T@���� ���
�;�j���������������Z�|_a��������a�`�T��pH�����������
�aH����a������������
�;�����T�p�p�pa�c�k�����������p��_ap����a���� ��pH�������������is_monoid_hommap_mul��p�
�a@H;�j�����T���m���������
���k_ap�����������������
���a�������
&������m��$��a����������
?���$��p�`�T�
H��a���
F���
F��pa�
B��
E�
<�
d�
Beqreflp�
�7�PInfo�pdeclis_add_monoid_hommap_smul�u_1�β�4_inst_1�
_inst_2add_monoidf��_inst_3is_add_monoid_homa7n�% ��;7add_monoidsmul����5�
��6�
��7�
��9���:�
��<7��5�
��6�
��7�
��9���:�
��<7�=��=�
�;�H��
�;7��=_F�&�=�
�H7�@;�
�H��6�=�@�&�=�
�a;��
�@7�
�aH�L�S�=�@�&�=�
�p@����
�;�
�pa�c�
�@�
�;�
��c�@�&�=�
��
�H�pa��
��
�@��K���
�H�xp�zpa��4�
��!�
�@is_add_monoid_hommap_zero�!p�
�a@H;�=�@�
�V���
�@�
��f;�
��f�c���-�
�@�������������
�;�
��,�����-�:���
��|;_a�����
���a���p��H�
����
������B���L��-�7�j���
�;���:�
�has_addadd!padd_semigroupto_has_add!padd_monoidto_add_semigroup!pa�c�
��,�����:�k�!p�8_ap���Ba������������pH�DH�L�B�L��:�iis_add_monoid_hommap_add"!��p�
�a@H;�
����k�
��h�
��,�����k���q�
�_ap���B�_���a���c���
���a�{�L�B���L��k�
��
5�=�Ba�DH�J���
C���
?�
D�
E�=�
��
Fp��
H��a�
��
F���
W�
B�
f�
E�����
B�1!p���7�PInfo�3ydeclmonoid_hommap_pow����_inst_1��_inst_2��fmonoid_homan��7coe_fn��7�Thas_coe_to_fun�7������7��7���P���Q���R���S�	�U��P���Q���R���S�	�U�V��V����;�7�;�7����8�V_F�&�V���H;�7�H;�7���N�V�Y�&�V��@��a@H;�a@H;��
��TaH7��@��@;�e7�S�V�Y�&�V�s��p�
�a@�p�
�a@H�x;����;�s�������Y�&�V�=���
�a@H��
�a@H;�B��K���K���=���
��
�@��a��aH�Tmap_one���
�a@H;�V�Y��V���s�����f���f�����s����p pa;��������������p���|_ap���T����p�
�a���p�
�a@�YH���b��H���T�����������pa;�����s���
����
����
�@�������������
���
���_a�
����T����H�����T�������Tmap_mul+,p�
�a@H;�����
�s����������
�.���_a�
����T����������T�4����
���
5�V�T�������
C���
?�
D�
E�V�������
F����p��
F����p�
��`�
F�T�
F��a��������p�Va�
B�
f�
E�I�r�
B�
p�
��,7�PInfo�O�ATTR����Odecladd_monoid_hommap_smul�u_1�β�
�_inst_1�
�_inst_2�
�fadd_monoid_hom�aan�
�7�W--���7add_monoid_homhas_coe_to_fun-�7���
�7����b�
��c�
��d�
��e���g��b�
��c�
��d�
��e���g�h��h�
�����;�7��;�7�
��
����h_F�&�h�
�����H;�7��H;�7�
��
����h�k�&�h�
�@����a@H;��a@H;��aH7�
�@;��7�S�h�k�&�h�
�����p�
�a@��p�
�a@H�;��;�
���;���k�&�h�
������
�a@H���
�a@H;�
���
��3�K���
��3�x�
��z�
�@�a�aH�fmap_zero��a�
�a@H;�h�k�V���
����f;��f����Y�
����p��p��pa;��X�����Y�f����|;_ap���
�������p�
�a����p�
�a@�
���H�
����xH�
��x���Y�c�jpa;���f�
��_�
��a�
��c�
�@�� �X�����f���p�
��d_a�
����
��x�5H�
�H��
����f���fmap_add45p�
�a@H;������
����#�X����������� _a�
����
��g�~�x����
��������#�
5�h�
��x�
�H�
��~�
C���
?�
D�
E�h�
��������
F����p���
F����p�
���
F��a�
���p��a�
B�
f�
E�����
B���
���7�PInfo�`�ATTR����`declnatpow_eq_powpq�
�has_powpowmonoidhas_pow�Hmonoid�0�rhas_pow�s�t���t�
��5�:��6Kqih�E���
��5�f�:�f�N�_�O�����Q�V�'�P_a���
��5���:���^��Q�Unatpow_succ���V�
��]�Q��3�L�U�����V�z�'�L�|_a���^�_�_�
�����V�xpow_succ�3���z�
��W�w�U�����z���'�W�w_a���
��u�\������z���t�w�����
��W�S�U���������'�w_a���
��W�����
��X������S�H���PInfo�r�ATTR����rdeclnatsmul_eq_mulmn�
��?�,�a���������
��������
���K�_K�
��4�����������'���_a���
�������������4add_monoidzero_smul�,����������������'����_a�������������zero_mul���H�4mih�����
����f�_�f�
��/���,�����-�3�'���|_a���
������_�����?��-�1succ_smul'�,���3�
��/�`�,�����3�V�'�/_a���
��/���?�
��/�?��3�R���V�U��R�����V�s�'�,_a���
��/�l�?�|��V�rnatsucc_mul�H�T�PInfo���ATTR�����declmul_pow��_inst_1comm_monoidabn������comm_monoidto_monoid!������������������������Y�a�b��7�Z�[�\��������������K�$�%�����}����nih�������������7���������f�����f���f���������������������������;e_1�
U��@��ae_2���
Vp���p7���
`p��p��7�������
r����|���������to_comm_semigroup�7��������������������������������$��'���(����������a;��He_2�
Y��a���
�e_3�����������7�:�
���������7�:�������G���+��mul_left_comm���������Q�����G���#��������]����Q�G����p������������������������������������������Q�����/����/�]�����Q�G�����j�����]���G���PInfo���decladd_monoidsmul_addu_1β�
�_inst_2add_comm_monoid��abn�
��
�add_comm_monoidto_add_monoid6�_�a�c�����������
�����mul_pow6multiplicative6multiplicativecomm_monoid6�PInfo���declpowis_monoid_hom������nis_monoid_hom����
_x������Annotinfix_fn�������is_monoid_hommk������is_mul_hommk���������_x_xmul_powone_pow���PInfo���	prt��nspace��VMR��VMC�������decl��equations_eqn_1�������������������������� �PInfo�Ĥ	ATTR�����EqnL��SEqnL��ATTR�����class������decladd_monoidsmulis_add_monoid_hom�����
�����nis_add_monoid_hom66���0�
��0���
�������is_add_monoid_hommk66�0�0�5is_add_hommk66�a�c�0�F�5_x_xadd_monoidsmul_add6add_monoidsmul_zero6�0�PInfo�ǧ	prt��nspace��VMR��VMC��������decl��equations_eqn_1�����
���������6�����X���
��������&�6�`�PInfo�է	ATTR�����EqnL��SEqnL��ATTR�����class������declinv_pow��_inst_1groupan������
has_invinv��to_has_inv�v�p����l���������������
�q�s�������v�n��one_invnih�����Y�a�b�
7�q7�s7�f�����f�Y�Z�[�\�����������������z���|_a7���������
�7�q��s�7������������������>7�������������������������z���|_a7������������������������������������Y������������������z��_a7�������������������������������� �z��_a7���������
����)���mul_inv_rev7������PInfo�ֱATTR�����decladd_monoidneg_smulu_1β�
�_inst_2add_group��an�
��
�add_groupto_add_monoid9has_negneg9��to_has_neg9�V�P���
����Iinv_pow9��multiplicativegroup9�PInfo��ATTR�����declpow_sub�����lamnhhas_lele�rhas_le�Y��has_subsub�rhas_sub���������l���������n
h1�
���t

h2�������r�
��
eq_mul_inv_of_mul_eq;������
;�7�r����AnnotcheckpointAnnothave�������������������������_a�����������������������������������������������������������'��_a���������������������G��Annot�Annot�natsub_add_cancel�PInfo���decladd_monoidsmul_sub�����
����Iamn��n�����L7�t��97add_group_has_sub97�������
����Ipow_sub9���e�PInfo��declpow_inv_comm�����lamn��!��������������l����������������� ������%�T�_a���Y�����������+�Y�����/��� inv_powinv_comm_of_comm����	F���PInfo��decladd_monoidsmul_neg_comm�����
����Iamn���������L���X�Q�S�\�[�f�c���
����Ipow_inv_comm9���e�PInfo��declgpow_main�����la�int����l� ��v�!cases_on��va_1��a_1����V�PInfo��VMR�VMC����v� ���intcases_on���natsucc���
decl�equations_eqn_1�����l� n����!of_nat�|����l� �+�����PInfo�*�ATTR����*EqnL�*decl�equations_eqn_2�����l� n����!neg_succ_of_nat�v�{V����l� �/�����PInfo�.�ATTR����.EqnL�.decl���z����l� ���PInfo��VMR�VMC��� ����doc�The power operation in a group. This extends `monoid.pow` to negative integers
with the definition `a^(-n) = (a^n)⁻¹`.decl�equations_eqn_1�����l� �+������|����l� �equations_eqn_1;�PInfo�2�ATTR����2EqnL�2decl�equations_eqn_2�����l� �/�����������l� �equations_eqn_2;�PInfo�6�ATTR����6EqnL�6decl�_sunfold��z���PInfo�9�declgsmul�����
����In�v����
����I�;�vagpow9���c�PInfo�:�VMR�:VMC�:��<�;�v�������decl�:equations_eqn_1�����
����I�;�v�<�J�:�������
����I�;�v�<�����PInfo�?�ATTR����?EqnL�?SEqnL�:declgrouphas_pow�����l�F�v����l�K�v���PInfo�A�prt�AVMR�AVMC�A�����decl�Aequations_eqn_1�����l�R���A�������l�[����PInfo�C�ATTR����CEqnL�CSEqnL�AATTR�
�Aclasshas_pow�A
decl_localized_decl�'�m��1�4�5
Stradd_group�8�@
Strinfix ` • `:70 := gsmul�VMR�FVMC�F��p�u�o�r�g�_�d�d�a������������l�u�m�s�g� �=�:� �0�7�:�`� �� "� �`� �x�i�f�n�i������������������������� �l�a�c�o�l���������ATTR����F�Ddecl_localized_decl���1��1�4�5
Strsmul�8�@
Strinfix ` •ℕ `:70 := add_monoid.smul�VMR�HVMC�H��l�u�m�s�������l�u�m�s�.�d�i�o�n�o�m�_�d�d�a� �=�:� �0�7�:�`� ��!�� "� �`� �x�i�f�n�i������������������������������������ �l�a�c�o�l���������ATTR����H�Ddecl_localized_decl��,L��1��@
Strinfix ` •ℤ `:70 := gsmul�VMR�JVMC�J��l�u�m�s�������l�u�m�s�g� �=�:� �0�7�:�`� ��!$�� "� �`� �x�i�f�n�i�������������������������� �l�a�c�o�l���������ATTR����J�Ddeclgpow_coe_nat�����lan����v�����v��>�v��>�vinthas_coe�|����l�L�M���.�PInfo�K�ATTR����KATTR����Kdeclgsmul_coe_nat�����
����Ian�J���-�Z���
����I�Q�Rrfl9�;�PInfo�P�ATTR����PATTR����Pdeclgpow_of_nat�����lan�����|����l�U�V���I�PInfo�T�ATTR����TATTR����Tdeclgsmul_of_nat�����
����Ian�J�����Z���
����I�X�Y�C�V�PInfo�W�ATTR����WATTR����Wdeclgpow_neg_succ�����lan����������l�[�\���b�PInfo�Z�ATTR����ZATTR����Zdeclgsmul_neg_succ�����
����Ian�J�����V�OV���
����I�^�_�C�o�PInfo�]�ATTR����]ATTR����]declgpow_zero�����la��a�v����vinthas_zero���
����l�a�n���PInfo�`�ATTR����`ATTR����`declzero_gsmul�����
����Ia�
��������L���
����I�e�B���PInfo�d�ATTR����dATTR����ddeclgpow_one�����la�����v�bhas_one����l�g�����PInfo�f�ATTR����fdeclone_gsmul�����
����Ia���������
����I�jadd_zero9���PInfo�i�ATTR����ideclone_gpow�����ln�v�����������l�m�v�"�m�v�������m����p������n�m����v��V��
�>�����������������������_a���������$�%���f���������������V��������������������_a�����������.������������Annot�@�PInfo�l�ATTR����ldeclgsmul_zero�����
����In�v�����������
����Ione_gpow9���e�PInfo�p�ATTR����pdeclgpow_neg�����lan�v�����v�bhas_neg�v�����l�t�u�v���u�v�����v���3���A�u�S�u�Y�`�v��7�2�����N���������
���
�����u���Y�N�2�,�
Annotinnaccessible
�Annot�w��b
�Annot�w�m�m7�m�u�����A�2�������y���|�yinv_inv�y�PInfo�s�ATTR����sdeclneg_gsmul�����
����Ian�v�J���3�V�����
����Igpow_neg9���e�PInfo�y�ATTR����ydeclgpow_neg_one�����lx����2���q�s����l�~�
��b�c�����pow_one���PInfo�}�declneg_one_gsmul�����
����Ix�������Q�S���
����I��congr_arg99�3�����add_monoidone_smul9���PInfo���declgsmul_one�����
����I_inst_3has_one9n�v�J���9��>9�v��>B�v��>B�vintcast_coe9�U��N�a�c�N���
����I�������v�����v���������������`��X�Z�����������������e���������p�_a������7����7��7��7��7��7�S7�7���a7�c7���&���?���gsmul_of_nat9��������������9�	�Z�������c�"�_a������)�?�C���aadd_monoidsmul_one9�X���c�b�a�����c�|�"�_a�����S7�U7�W7�Y7�4�:�?����c�aintcast_of_nat9�`�	�Z���a�����������������a�\V������������"��_a�����%���)�>���B�������gsmul_neg_succ9��������a�`V�����������"��_a�����Q7�1���f�)��������������vV�������a�[�a����������"��_a���������f���������intcast_neg_succ_of_nat9�`�	�Z������������������"��_a�������_7�:���)��������natcast_succ9�	�Z�����PInfo���declinv_gpow�����lan�v���w�7����l�����v�����v���@���E�������A�������������������
��K�O���A��PInfo���prvgpow_add_aux_private�%z��gpow_add_auxdecl�������lamn���A��v�bhas_add�&����A�&�A������l������orelimhas_ltltnathas_ltVge�kV�lnatlt_or_geVh1�x
h2�l

�>�����v���7���s�����������������v��;�7�c���������������������������������&�v��_a�v���
S��v��H;��c��7��HH H�
H;���������
S�����������of_nat_add_neg_succ_of_nat_of_lt
�>������U���������������r�������������'��_a�����q;�s;���U������������������S�����Hsucc_sub�����������������������������_a����������rU������������pow_sub�7��le_of_ltpartial_orderto_preorderordered_comm_monoidto_partial_orderordered_cancel_comm_monoidto_ordered_comm_monoidordered_semiringto_ordered_cancel_comm_monoid�Hordered_semiring����������������������N���_a�������������������������L�3�7������N���������������N�n���J_a����������V���T�������v����N�����7���G�lAnnot�@AnnotsufficesAnnot�Annot��Hle_of_lt_succ�>�~
�>�Y�N���s�f���N���N���������c���������������������������������v���������������of_nat_add_neg_succ_of_nat_of_ge
�>�Y�����x�������Y�������������z��_a7���������l���l������,7�f����Annot��Annot���PInfo���declgpow_add�����lai�vj�v���A�c��A�D����l�����v���v�����v�Y�N�c���N�N�������v�����d�����&����������������������������e��������7�������v�����c������������������:���?�������J�����a�(�v�	�v�badd_comm_semigroup�����I�����J�W���R����_a�v�������c���&���������&���f��J�T�	,�v�O�������W�����H�>�I�����W�{�����c����_a��������R�&���f���f��W�y�2���{���x�����f�����H�����{�����>_a��������e�c�f�����{�e��{��gpow_neg_succ�7��������� ����� �����������H_a������������������e���{�������� gpow_of_nat�7�����������f����� ������������_a��������������������{��������������>�7�f���������������������_a�����������7���������������������pow_inv_comm�7�f�G�������������{UV������V
�>�<���<��������fV�;�����<�E�'�5_a���������U�f�������f���R��<�A��A�5�Hsucc_add_eq_succ_addV���E�������	V�f�;�����E�k�'�	�fV_a������������f�R�U��E�g�	.�fV���k�������9���;�����k�������V�f_a����������p���R�$�R��k����V�f�������;�;������������_a����������P���R���R����;�d�9���G�;Annot���PInfo���decladd_gsmul�����
����Iai�vj�v�������[�������
����Igpow_add9���e�PInfo���declgpow_add_one�����lai�v���������n�6����l�����v������������������������_a�����A�������.�������gpow_add����������������������_a�������A�������������gpow_one����PInfo��� decladd_one_gsmul�����
����Iai�v�J�����_�������
����Igpow_add_one9���e�PInfo���"declgpow_one_add�����lai�v���c�����6����l�����v���K������6�J�����K�T���G_a�����A�E����.�^��K�R�
�����T��J�J�����T�o�_a���������^������^��T�)��J�PInfo���%declone_add_gsmul�����
����Iai�v�J���F�8�����
����Igpow_one_add9���e�PInfo���'declgpow_mul_comm�����lai�vj�v������D������l�����v���v�����������������T��_a���Y���N�����������������������������A����������T��_a���Y�N�c������������������������A�R�������������R_a�v�����N���Y�	��������q�����PInfo���*declgsmul_add_comm�����
����Iai�vj�v�����[�������
����Igpow_mul_comm9���e�PInfo���,declgpow_mul�����lam�vn�v���A�\�v�bhas_mul�@������l���v��v����v�Y�N� �M�	�����v����� �&�����������a����B�����������2� �,��succ�-����� I���� O����� M� Sgpow_neg�7� M
�>�������`V� S��� e����� =V� S����� e� k��� b_a����������l�f�����,���$� x�� e� h� DV�G� iAnnot�@�����v����� �����>��������2� � K� I�-� ��-�� ������ �� �� ^� �
�>�������+� ���� ���������� ������ �� ���� �_a����������>���c� I�$� ��� �� �� C�f��� �������� ������ �� ���� �_a������������ ���� ��� �� ���� �� ������G� �Annot�@��������+V� ����� �� �V� �� �V
�>��� ���� �V���!�!����� ������!�!���!_a������ ��f�������f�!�#��!�!	� �V���!�!� ������!�!$���!
_a����!�����!�!��!� ���� ��G� �Annot�@�PInfo��/declgsmul_mul'�����
����Iam�vn�v����� �������
����Igpow_mul9���e�PInfo��7declgpow_mul'�����lam�vn�v� �@�D����l���v��v���!Z���A� �P�v�R�v�bcomm_semigroup�!Y�����!Z�!k���!f_a�v���Y�N� �M����!x��!Z�!h�r�v�!c���!k���!Y�!Y�����!k�!��T�A� (_a���Y�N�!p�!x���!x��!k�!Ygpow_mul���!Y�PInfo��:declgsmul_mul�����
����Iam�vn�v�!K�������
����I���v��v���!������!h�!������!��!��!r_a�v�����%�!t�%�%���%�!���!��!h�!����!����!��!������!��!��"��� (_a�����%�!��!��B�!���!��!�gsmul_mul'9���!��PInfo��<declgpow_bit0�����lan�v�����v�b���6����l�!�"�v��PInfo� �?declbit0_gsmul�����
����Ian�v�J���!��9�����
����I�$�%�v�����PInfo�#�@declgpow_bit1�����lan�v���F�v���b���"����l�'�(�v���"&���c�!����"%�����"&�"0���"!_a�v�����A�" ��������D�";��"&�"-�o�v���b���"0����!����"%�����"0�"Q���"._a�����A�c�!����";�.�";��"0�"O�
�!������"Q�
E�����"Q�
E�
K�"Q��6�6�
E�"o��"�"�"q�"o��"%�"%�"u�
o�"O�"%�������7e_2�
���;��He_3�5��aaa�7�"��
�a��a�
�7�"����!��"gpow_bit0���)�"%�"%��"%����right_cancel_semigroupto_semigroupgroupto_right_cancel_semigroup�"�"��"umul_right_inj�"��"�"���"��6�6�"��"q�"��6�6�6��"q�
E��6��PInfo�&�Bdeclbit1_gsmul�����
����Ian�v�J���"!�8�"���
����Igpow_bit19���e�PInfo�3�Ddeclgsmul_neg�����
����Ian�v�J���W�����
����I�8�9�vintinduction_on�9�v�����b�a�����J�����W�V�"��
E�����"��
E�
K�"��J����#�
E����e_1�������;e_2�
���B@����7���BB@�
b7���"��#�d9�W�"��#��B�"��V�#�#chas_neg9�<�<7e_2�
���;;�Q;�U�"��#�#,neg_zero9��#	�
E�9�#�zih�����-�b�a�#^�����%�c� I�������#f���%�R��� I�#g�#k�����#l�#s���R� I��_a�v���
����7�c� u���Q��S�7�#��#�
��#|�#��#���#l�#o�q� I�����#s�
E�����#s�
E�
K�#s���
E�#����#g�#g�#��#�����#g����#��#���7����<�
���H��@�=�
��#�
����
�7�
��#�
��U7�
��#q�#��#17�%�E� I�#g��%���#g�%� I�#g�#�add_gsmul97�#g��� Ichas_add97���;e_2�#�<@�<ae_3�
���BBpp�`�7�#���p��7�#��:�#��#g�i97�#g�#��#��#��#����#��#��>�#77�<��<;�@�#��@@�Q@�1�$��P97�#k�#��#��#k�����#��$�#j�$*�#��#j��$�#��$*�#�� I���#��$��$ �$2�$neg_add_rev97������7add_right_cancel_semigroupto_add_semigroup97add_groupto_right_cancel_add_semigroup97�#g�#��$U�#�add_right_inj97�$P�#��#g�#g��#��#�neg_inj'97��#��
E�#U7�zih�����2�-�b�a�${�����%�o�v�bhas_sub�2� I���#g���$����%�a�M�*�v���vadd_comm_groupto_add_group�vringto_add_comm_group�v�bring�$��0���v�$����#g�$������$��$����$���v�$��$���_a�v���
��#|�$��2� u���#��#��$��#��$���$��$�sub_eq_add_neg�v�$��$������$����%�R�$��$��#g�$������$��$����R�$��$�_a�v���
��#|�$��$��$��#��$��$���$��$��q�$��$����$��
E�����$��
E�
K�$��#��
E�$������$��#��#��$��$��#��%�c�$��$��#g��%�$��#g�%�$��#g�$��#��$��$��#��%�#��%���#g���#g�%���#��%�y97�#g���$�#��#g�$neg_neg97�%��#��%���#���%)���#��%*�%� I�$�#��#��$��#g�#��$�#g��97�%#��$��$��#��$���%�%*�$��%J����#��#g�%L�$�$��%P�#��$���%�%�%P�%V�%�c�$��$��%Z���H7�;�v�;�ve_2���v�<@�<ae_3�#��#���p�7�%h�>B�v��7�%h�$��%^�$���7�$6�$��$��#��%W�#��#��%W�$�#��%� I�$!�%Y�#g�#��%
���$2�#g�%����$�$2�$?�$F�#��#g�#��%�%$�%*��%C����$S��%��#��$\��$q��PInfo�7�Gdeclis_group_hommap_pow����_inst_1�k_inst_2groupf��_inst_3is_group_homa7n��������7���������a���b�%��c�%��e���f�%��h7�iis_monoid_hommap_pow;��%��%�is_group_homto_is_monoid_hom;�7�PInfo�`�Udecl�_map_gpow����a���b�%��c�%��e���f�%�a7n�v������7���v�A����a���b�%��c�%��e���f�%��o7�p�v���p�v��������v�&
;7��pis_group_hommap_powH;�7�p�%trans;�qH�sH������V��;��;7�&A�&&��is_group_hommap_invH;�7�&Acongr_argE;;�&K���%�;7�V�&J�&3V�PInfo�n�Xdeclis_add_group_hommap_smul����_inst_1add_group_inst_2add_groupf��_inst_3is_add_group_homa7n���
���;7�?�������y���z�&s�|�&u�~����&{��7��is_add_monoid_hommap_smul;��&~�&�is_add_group_homto_is_add_monoid_hom;�7�PInfo�x�adecl�wmap_gsmul����y���z�&s�|�&u�~����&{a7n�v��gsmul;7gsmul����y���z�&s�|�&u�~����&{��7���vis_group_hommap_gpow�;multiplicative���;7���multiplicativeis_group_hom;�7�PInfo���ddeclmonoid_hommap_gpow����_inst_1�%�_inst_2�%�f��m�%�an�v�
��
���%�7��&��&�������v�&
7�&���������%����%����&������v�����v����/�%��%��4�%��%��&�&�'
���Tmap_pow;��%��%����&7��'
����7�%�V�&E��&G��'
�''�'���Tmap_inv;�7�''�&Y���'/�%��'V�'.�'V�PInfo���lATTR�����decladd_monoid_hommap_gsmul����_inst_1�&s_inst_2�&uf�f�&|�&�an�v�
��'O�7�&|��&�7�j�7�'[�'^�&���&�7�'g��������&s���&u���'W�����v�����v����'O;��&~�&��'a;��&~�&��&��&��'����fmap_smul;��&~�&����'#�'�has_negneg;��;7�`�&��T�&��
�&��&�V�������'��'��&����'��fmap_neg;�7�'��'=�'����&����&��%��&��&��'�V�'��'�V�PInfo���uATTR�����declmul_gpow��_inst_1comm_groupabn�v���=�>comm_groupto_group!���'��'��'��'�����'��������v�����v�Y�J�K�'�7�Z�[�\���'��'��'��'������Y�a�b����to_comm_monoid7�Z�[�\�(
�(�(�(�	7�(�����Y�����'��a�b�'��'�V�'��()�(+V�()�(+V
�>�(8���(8�Y�()�(�(V�(V�(7�����(8�(B�z�(V_a7���������'��7�������(J�������(M�f�(R�(L�(O�f�(L�(O�f���(L�(`��(8�(?�(#V���(B�Y�'��()�(>�()�(<�(7�����(B�(v�z�()�'��(<�(>_a7�����(L���������(
�7�����(��f�(��f�(`���(`��(B�(t�4�'��(<�(>���(v�Y�Z�[�7�7�(�(s�(q�(7�����(v�(��z�(��(q�(s_a7�����(R�(L�(��(L�(��(`�(���(v�(�mul_comm7�(��(q�(s���(�Annot�@�PInfo����declgsmul_addu_1β�
�_inst_2add_comm_group��abn�v�����UG�������W�(��(��(��(����
����(�mul_gpowG��multiplicativecomm_groupG�PInfo����declgsmul_sub�����
����(�abn�v���(������(��(��(��(����
����(����)�
E�����)�
E�
Kx�������v���$�(�7�����)
�)�)�)x�������v�
E�
Eforall_congr_eqG���)�����)���)%���(����)����>�v���v�(����v�
E���v�
K�(����(��(��
E�)7���(��^�_�(��(��)?�)9����7e_1�#:��;��He_2���#a���
�7�
��#a��a��7�
��(��)?�#1�(��(��(��)=�)?�)`�(��(��)a�)c���H�;�v�;�ve_2�%f��H��@e_3�#��#��
��
����
��7�)n�%p���
�p7�)n�(���v�(��)fsub_eq_add_negG�(�gsmul_addG�)a�F�#��7��e_2�#���H��@e_3�#��)l���7�)����
��)u7�)��(��(��(����(��)b�)>gsmul_negG�(��(��)?�)��(��(���������$L�$N�(��(��)>�)��)9�$Z�)��)>�(��(���)9�
E�#U�(��ab��a�����v�
E�
Eforall_3_true_iffHH�������v��PInfo����declgpowis_group_hom�����'�n�vis_group_hom�'��*
_x���'�Annot������'����vis_group_hommk�*�*�*��������*�*�*_x_xmul_gpow	�PInfo����	prt��nspace��VMR��VMC�����v���decl��equations_eqn_1�����'����v��*����*)����'����v�&�*�*1�PInfo����	ATTR�����EqnL��SEqnL��ATTR�����class������declgsmulis_add_group_hom�����
����(�n�vis_add_group_homGG�(��*@���*@���
����(����vis_add_group_hommkGG�*@�*@�*D�B�C�D���*@�*Q�*D_x_x�)�	�PInfo����	prt��nspace��VMR��VMC�����v����decl��equations_eqn_1�����
����(����v��*E�����*[���
����(����v�&�*E�*c�PInfo����	ATTR�����EqnL��SEqnL��ATTR�����class������declis_add_group_homgsmulu_1u_2α�
��_inst_1�H_inst_2add_comm_groupKf��_inst_3is_add_group_hom��K�UKz�v�*r�7�*v7a�gsmulK��*v����
����*n���*o���*q�������*z���v��MK�7�*�*���MK�7�a��c��L��K7�
K7��K7�*�*�a�b;���%L;�*�;�*v;7�_H�aH�cH�LH��K;�*�;�*�;�*�;�*��*��*��*��*��*��*��*��*������*��*��K;�*�_a;���*�H�*�H�*vH�7�_@�a@�c@�L@;�*�H�*�H�*�H�*�H�*��*�7�*�7�*��*��*���*��*�is_add_hommap_addMKH;�*��*���to_is_add_homMKH;��*����*��*��*��*������*��+�*��*�_a;���*��*��*��*��*��*��*��*���*��*�gsmul_addK;7�*��*��1L;�*��PInfo����ATTR�����class������declwith_botcoe_smul��_inst_1�an�with_bot�	��+M�	��+Mwith_bothas_coe_t����+Mwith_botadd_monoid�+V����������+L�	��+f�	��+f�+S�[��+f�+Z�+n���+N�+V�K�+]K�+_�
E�����+��
E�
K�+��+N�x�+M�z�+M�+\�+��
E���+M���+fe_1��+L7���+L����+L;e_2��+LH�
V�+L@����+�7�+��
`�+����+���7�+��+}�+��
r�+M�+}�+V���+���
|�+M��7e_2�
��
�;�+��	�;�+��+U�+|���
s�+|������
��e_2�
��;�He_3�5�"����7�+���"�7�+�K��
��T��coe_zero�+��+��+��+��+]��+_�+���
�+M��e_2�
���+���+�e_3�+����+La�,��,�7�,
�+���,�+L�
�7�,
�+\K��
��+_�+_��+M�+_��+M�+\�+_��+��
E��+M�+��n_nn_ih�+x���+��	�7�+��	�7�+��+S7���f��+��+Z7�f�,A�
E�����,M�
E�
K�,M�+����+����+��add_semigroup7�"�,K�,I�,K�,^�
E���+����+��
��+����+����+����,�
V�,����,7�,k�
`�,���,��7�,k�,D�,^�
r�+��,D�,[�,A���,^�,��,A�$���,���
|7�+����;��
U�
�@�+��	�@�+��,@�,C�,��j7�coe_add7�"���F�G�+���+���+�e_2�+���+���,e_3�,k���+Lp�,����,��7�,��
��,���,��+L��7�,��,Y�,K�,K��+��,K�,��,]�,L�,^�j�+��,H�,K��,`�
E��+��,^��PInfo���ATTR����decladd_monoidsmul_eq_mul'��_inst_1semiringan�����vto_add_comm_monoid��y�w���������u�-�vto_monoiddistribto_has_add�vto_distrib���,���������R�,��,��,��,����������-�-)�%�-	�-�-����,�K�-�-K������,��-I�����-J�-O���,��_a�����-#K�-,�-?K�.�-[��-J�-M�+��,����-O�-N�-���-�����-O�-m���-�_a���������-"�-[�-v�-,��-O�-knatcast_zero�-�-�-���-m�-N�-k�����-m�-����-l_a���-v�-,���-2�-v��-m�-kmul_zero�-��-Mnih�-B���Y���,�7�,�7�f�Z�,�7�,�7��7��7��7��7�-7�-��p�-	7�-7�-7�f�Y�� �!�-��-��-������-��-��z�-��|_a7�������,���,��7�����,���,��7�������������-��-��	��-	�7�-��-�7�����-���-��-�succ_smul'7�-����-��Y�-��-��-��-������-��.�z�-�_a7��������������-��-��-����.!�-���-��.���.�.�-���-��.�o�-������.�.<�z�-�_a7�����.!�-��-��-��.F�-���.�.:natcast_succ7�-��-��-����.<�.�.7�Z� to_has_mul7�-��.�._�.9�����.<�.d�z�._�.:_a7���.F�-��.�-��.B��-��.F��.<�.cmul_add7�-��.�.9���.d�.�.a�����.d�.��z�Z�[�\�-��.9_a7���.F�.k���.[��-��.B�.��.n�.F�.���.d��7�-����.�PInfo���decladd_monoidsmul_eq_mul��_inst_1�,�na��,��-�-��7�,��8�9���.���-�.��.������.��.����.�_a�����-#�-+�-?�.�.���.��.�add_monoidsmul_eq_mul'���.���.��.������.��.����.�_a�����-+�.��.��.���.��.�natmul_cast_comm��.��PInfo�6��decladd_monoidmul_smul_left��_inst_1�,�abn���-$�-,�-,�-$��B�,��C�D�E���/	���-+�/�-@�/�����/	�/�T�/_a���Y�-��-��-��-����/��/	�/�.��/���/�/�-,�.��-@�����/�/1�T�/_a���Y�-��/�.�/�/9�-���/�//�/(���/1��!�-5�/L�-@�/0�����/1�/R�T�/L�/M�-@_a���/9�-��-��.���/]��/1�/P���/J�-@���/P�PInfo�A��decladd_monoidmul_smul_assoc��_inst_1�,�abn�/�-+�-%��K�,��L�M�N���/z���-+�-@�/�/y�����/z�/��/_a���/�-��-����/���/z�/�add_monoidsmul_eq_mul�/���/��/��-+�/������/��/��T�-%_a���Y�-��.�/�/��/��-���/��/��/����/��/��/L�-@�/W�����/��/��T�/L�/�_a���/��-��/��/���/��/��/h�-@���/��PInfo�J��declzero_pow��_inst_1�,�n��v�������-�-k�-k��U�,��V��/��S�V��/��Y�a�b�-���-��/���/�K�rless_than_or_equaldcases_onU�t_1��W�/�H_1�
�KH_2heq�/��/��
S���-	H;�xH�-H�,�H;K�0K�Z�/��/��no_confusion�[�0�/��/��Wrefl�/��������-��x��-�K�0%K�/�a_ba_a�/��Z�/��f�0�[�0�/����Wstep�/��0K���HKheqrefl�/��V��/�V���Y�-��/��7�-��/�e�/�zero_mul7�-��0O�PInfo�T��declnatcast_pow��_inst_1�,�nm��-�<�/��.���g�,��h�i���i���-?�D�����-5�.�natcast_one�,��-mih�0p���Y�-��P�/��-��f�Y�-��U�0|�����0}�0��[_a�����-��`�0#�-������-��0���0}�U�l���0��0��.��0{�0z�����0��0��z�0{�|_a7�����-����0��0���0��0����-��0z���0��Y�-��-��S�0z�0������0��0��z�0_a7���0��������-��0��0����0���0��0�natcast_mul7�S���0��Y�-��0��0z�0������0��0��z�0�_a7�����-��-����0��0����-��0��0���0��0����0��PInfo�f��ATTR����fATTRmove_cast���f�Ddecl�freversed���g�,��h�i��0d�0a��g�,��h�i���0a�0d�1�PInfo�u��ATTRpush_cast���f�Ddeclintcoe_nat_pownm�%d�,�<�.�v�1�v�bmonoid� I�y�z���z�%d�,�D�1� uintcoe_nat_onemih�1#���%d�,�P�1�,�f�%d�,�U�1,�����1-�11�[_a���%d�,�`�1�,���%d�-�1:��1-�U�l���11�10� �!a�q�v�1�1+�1*�����11�1P���1+�|_a�v���%d�,���1:�1X��11�1Opow_succ'�v�1�1*���1P�%d� �,�S�1*�1O�����1P�1o���1/_a�v���1X�1L�19�18�%d�1w��1P�1mintcoe_nat_mul�S���1o�%d� �1M�1*�1O�����1o�1����1k_a�v���%d� �,���18�1w�%d� '�18�1w��1o�1M�)��1��PInfo�x��ATTR����xATTR�t���x�Ddecl�xreversed�y�z�%d�1�1�y�z��v�1�1�1��PInfo����ATTR�v���x�Ddeclintnat_abs_pown�vk�
�intnat_abs�1�:�1����v�������
��1��1�:�1��H�1��1�Kkih�1����
��1��1�f�:�1��f�
��1��1L�1��1������1��1����1��|_a�v���
��1��1���:�1����
��1��1���1��1��1d���1��
��_�1��1��1��1������1��2�'�1�� �1�_a���
��1��1L�1��1����1���1��2intnat_abs_mul�1����2�2�_�1��1������2�2&�'�1�_a���
��_�1��2�1��1��2/��2�2%�j�1����2&�
��2%�2%�����2&�2@�'�2_a���2/�_�1��1��
����1��2H��2&�2#�H�2%�PInfo����declis_semiring_hommap_pow�u_1�β�
�_inst_1�,�_inst_2semiring��f��_inst_3is_semiring_homOx7n�
������-	;7�O��O��O������
����2b���2d�������2j��7�������
����0��2s;�2v;�2x;7�is_semiring_hommap_oneO;�7nih�2����
�7�)�*�-	@;�f�2sH�2vH�2xH��6�f�
�7YZ[�2��2��2������2��2���@�2��|_a@������
��f�-	aH���2s@�2v@�2x@;�������2���2��2���@�2����2��2��OH�OH�OH�2��6�2������2��2��pH�2��|_aH������"�a a�2��2��2��3��2��2�pow_succOH�2��6���2��
��2��yOH�wOH��67�2��2������2��3&�2�7Y�,�@�,�@;�2�_aH���3�2�@�2�@�2�@�2��2��2����3<��2��3$is_semiring_hommap_mulO@H;�7�2����3&�
��3"�2��2������3&�3V�2��3#_aH�����34�3@�3@;�2���3�3<���3a�3<��3&�2���H�3T�PInfo����declring_hommap_pow�u_1�β�
�_inst_1�2b_inst_2�2dfring_hom��an�����3��7��has_coe_to_funP�7�����-��2s7�2v7�2x7�3�����
����2b���2d���3���monoid_hommap_powP7�-��2x��to_monoid_homP7�PInfo����ATTR�����declneg_one_pow_eq_oru_1R�
�_inst_1ring��nor���2s�2v�Vto_monoidQ�����*?�WQ���Q�3��3��3��3����
����3����
����3�������3��J�2s�2v�3��R�T�(��3����3��3��3��3��3���_F�&���3����2s�2v�3��^�_�(��3����3��4�4�4�4�����&���3��
��2u�2w�3��7�#��#��(���3��7����3���4�4(�4,�4)�S�����&���3��
��2��2��3�H;�QH�SH�(�H�3�H;��H�3�H�45�4C�4G�4D�3��
��4E�4C�4P�4D���&���3��
��2��2��3�;��#?�S;�(�;�3�;���;�3�;�4Z�4g�4k�4hK���3��
��4i��4g�4t�4horinl�4u�4w�B;�4s�����4MV���3��
��4E�e�i�4C�4��4D��imp�4S�4Q�4��4�h�4S�����2��2��3�@H�$�S@�(�@�3�@H��@�3�@�4����4����34�35�36�4��4��4��4������4��4��p@�4�_a@���
��2sa�2va�3�a@�Qa�Sa�(�a�3�a@��a�3�a�4�����4��
��4���4��4��3@�4��4����4����4��4��4������4��4��4��4�_a@���
��2�a�2�a�2�a�4��4��4��4��
��4��4���4��4����4����4��4��4������4��5�4��34�3\�3]ringto_semiring��@H�4��4�_a@���
��4��4��4��4���4��5neg_one_mulR@H�4����5���4��4������5�5$�4��5_a@���
��4��4��4��4���5�4��%!@�4��4���@�4�h�4Q���4��4��4��4������5B�5D�4�_a@���4��4��4��4���5B�4��4����5D���4��4��4������5D�5X�4�_a@���4��4��4��4���5D�4����5X���4��4������5X�5k�4��5V_a@���
��4��4��4��5K��5X�4�mul_oneR@�4��4��5:�4���swap�4Q�4S�
5���3����4��4��5��4�e�
C���
?�
D�
E���3��
��2s�
��2v�
��3��
�a�Q�
��S�
��(��
��3��
�a���
��3��
��5��5��5��5��
Be�
f�
E�5��5��
B�PInfo����declpow_dvd_pow��_inst_1comm_semiringamnh�lhas_dvddvd7comm_semiring_has_dvd7�a�b�-�comm_semiringto_semiring7�5�����5����������5�Existsintro7c7�������-��5��7���-��-��5��5��5��r���Y�5��Z�-��-��5��5��6�6�5���6�����6
�6�z�Z�[�\�5��5��6_a7���5��5��5����5���6
�6��7�6�6�c7�5��6���6�6�5������6�64�'�6_a���5��5������5��5���6natadd_sub_cancel'���5��PInfo����declgsmul_eq_mul��_inst_1ringan�v��&��U�W��,��-�����v���v���v���'��6_�-�6g���-�Vto_distrib����6X�����v�����v���&��6Z�6\�-'�-(�6d�6j�6l�6n�6p�'��6��-1�6��%�6w�-8�6|�������R�-�- �6��6��--�-.�-/�-0�6��%�-4�6��-8�-9�6��/��6��������'��6��R�&|�6�V�6��6��W�6��--�-.�-/�6��6��6��$�6�
�>�6����6��6��6��6��6������6��6��T�6�_a���Y�'�7�'�7�6Z7�6\7���&|7�6��f�Z�-��-��6d7�6���-��6|7�-��-��-��-��-��7�p�6w7�7	�o�7�7��6��6�neg_mul_eq_neg_mul_symm�6����6����6��6��6�V�6������6��73�T�6�V_a���7�6��7�7�Y�6��7=��6��70�6�V���73���6��6������73�7P�T�6�V_a���Y�6��7�-��-��-��7�p�-��7�-��-��7�f�7=�Y�6��7�7=��73�6��.Q�6��6��6����6�Annot�@�PInfo����declgsmul_eq_mul'��_inst_1�6Xan�v�6c�6i�6�����6X�����v���7���6��7������7��7����6b_a�����6��6��6��.�7���7��6�gsmul_eq_mul���7��7��6������7��7����7�_a�����6��7��7��7���7��6�intmul_cast_comm��6��PInfo����declmul_gsmul_left��_inst_1�6Xabn�v���6��7��7��6�����6X�������v���7����6��7��6��7������7��7��T�7�_a���Y�&�7�6��7�7��7����7���7��7�gsmul_eq_mul'�7����7��7��7��6��6������7��8�T�7�_a���Y�7�7��6j7�6l7�6n7�6p7�6��7�7�7	�7��8�7���7��8�7����8��!�6��8)�6��8�����8�8/�T�8)�8*�6�_a���8�7��7�8���8:��8�8-�/g�8'�6����8-�PInfo����declmul_gsmul_assoc��_inst_1�6Xabn�v�7��6��6����6X����v���8V���6��7��8U�����8V�8_�7�_a���7��7�7����8f��8V�8]�7��7����8_�8^�6��6������8_�8z�T�6�_a���Y�7�8�7��8f�8��7g��8_�6��8q���8z�8^�8)�6��84�����8z�8��T�8)�8�_a���8��7�8��8���8z�8��8D�6����8]�PInfo���declintcast_pow��_inst_1�6Xn�vm��6��1������6y�6����6X��v�������6��1������6��6�intcast_one�'R�6_�6z�6smih�8����Y�8�1��a�b�7�8�f�Y�8�1L�1��8������8��8��1�_a�v�����6j��6l��6n��6p��'���6Z��6\�7�-��-��6d�7�	��6w�7�-��6|�7�1������8��9�����9�9	��8��8����v�1���8��8��Z�[�\�7�8��8������8��9#�z�8��|_a7�����9�1L�2�9	�9-��8��9"���7�8����9#�Y�7�8��8�1��9"�����9#�9B�z�8� �1�_a7���9-�������8��9�9���9P��9#�9@intcast_mul7�1����9B�Y�9>�9!�9"�����9B�9e�z�9?_a7�������-��8��9�9�2�9P���9m�9P��9B�9!���9c�PInfo�
��ATTR����
ATTR�t���
�Ddecl�
reversed����6X��v���8��8����6X��v����8��8��9��PInfo���ATTR�v���
�Ddeclneg_one_pow_eq_pow_mod_two��_inst_1�6Xn��b�c�6w�'��'��6Z�6\���9��9�has_modmodnathas_mod�����6X����9���9���9��_��has_divdivnathas_div���9��9��9��������9��9��'_a����8��'��6s�6z�9��9�����9��9��9���9��9���9�natmod_add_div�����9���������9��9��9��9��9������9��9����9�_a����9���9��9��9����9��9��:����:��9��9��c�9��9��9��9����9���9��9��9����9��9������9��:���9�_a�������6y�9��9��:�:��:(�:��9��:�B�9��9����9����:�
E�����:�
E�
K�:��9��9��
E����e_1����7���e_2�G�
VH���
S7�
S�
`H��H��7�
S�:�9��
r�:�9��9��9��������e_2�
R�����;e_3�
U��@@Y�7�:l�,���@a7�:l�9��9��9���9��:�9��:d�:�9��9��9��9���E����e_2�
R��e_3�
��
�@�)�7�:��
�@�a7�:��9��:�9��:d�:�9��9��9��:��9����,��,��6d�9��9��:��:��9��9��9��:�pow_two�9��9�mul_neg_eq_neg_mul_symm�9��9��>�?����e_2�
R�
����'���9��:��9��:d�:��9��:��9��9��9��7%�9��9��:��:��9����9��9��\�9��9��9��9��H�9���9��9��:��9��9��9��:��9��9���9��9��9��
J�9��9��9����9��Hadd_mul_mod_self_left�9����9�natmod_mod_of_dvd����iffmpr�����Hcomm_semiring�����
Eα�
?_inst_1��aiff_true_intro�;�;dvd_refl�;��trueintro��:F�
E��9���PInfo���declsq_sub_sq��_inst_1comm_ringab�����6[�6]comm_ringto_ring�����6x�;Z���;a����,��-�6e�;Z���-�6}�;Z�;^��C�;S�E�F���;v��;^����;_�;f�;u�����;v�;����;c_a�����;T�;V�6��6��;X�����6��;����;����-'�-(�6��;��W�-8�6��;��;����;��;��;���;v�;��:��;_���;���;��;~�;u�����;��;����;f_a�����;�!�;��;��;����;��;���;��;��;����;���;u�;u�����;��;����;^�;l�;l_a�����;��;��;��.�;���;��;umul_self_sub_mul_self��;u�PInfo�B��declpow_eq_zero��_inst_1domainxnH������6xdomainto_ring��no_zero_divisorsto_has_zero�Sto_no_zero_divisors�D���<�<��N�<	�P�Q�R�<���Q�R�Y�a�b�7
�<
7��<7�<7���0$�<��<�7�R�������6��<
K�<���Y�<2�Y�Z�[�\�<(�o�p�<(�<2�����<H�<R�z_a7���<:���<9��<H�<P�6'�<P�.��<(���<R�Y�<M�<2�<2�����<R�<k�z�<O_a7�����������8��<
�7�.m�	��<s�<9���<w�<9��<R�<2eqmp�Y�<+K�<2�Y�<O�<2�z�<+�_a7���������<sK�<9�<Y��<��<O�7�<(���<k�Y��-��-��7�<'�<2�����<k�<��z�Z�-��<��<�_a7�����<w�<9�<9�<Y��<k�<��-�7�<����<�nih�<;�R���<��f�<9orcases_on��7�x;�<;�<;����;�6w;�<
;�7�<��<�iffmp�����Uto_has_mul;�<�7�<��<��3��<��<�mul_eq_zero;�7�<����<��PInfo�M��declpow_ne_zero��_inst_1�<	anhne�<�=	�<C�<��g�<	�h�i�j�=mt���=�<�< pow_eq_zero�PInfo�f��ATTRfield_simps���f�Ddeclone_div_pow��_inst_1division_ringaha�=	�y�<�<division_ringto_domainn�������6��<>�=-has_divdivdivision_ring_has_div'�$zero_ne_one_classto_has_one�Sto_zero_ne_one_class�=5�=G�=9��p�=(�r�s�=3�v���v�Y�a�b�7
�<&�=-7�=:7�=<7�o�=@7�=B7�=V�=d�=Z���=;division_ring_has_div�=IK�$�=Adivision_ringto_zero_ne_one_class�=tdiv_one�=tnih�=l���������8��<q�=-�7�=:��=<�7�.m�=@��=B��=��f�=��=��f���������=��=��=��=������=��=����=��|_a����������<��<��=-;��=:;�=<;�;�=@;�=B;�=�7���=��=�7�����=���=��=��?�=��=����=����=��=��=��=��=������=��=����=�_a������������=��=��=��=����=��=��=���=��=����=����=��=o�77�.m�=��=v�7���-��-��8��~to_ring�7�=��=������=��>	���>�=��=��=�_a������=��=��=��=��=��=���=��>division_ringone_div_mul_one_div�7�=�pow_ne_zero��=��G�>�PInfo�o��ATTR����odecldivision_ringinv_pow��_inst_1�=(aha�=3n���=9���~to_has_inv�>@�=M����=(�����=3�����>F���=9�=s�=z�>M�=M�����>F�>S����7e_1�
���;��He_2�5�
Va���H7�H�
`a�)O7�H�>C�>P��E��7���e_2�G��e_3�
��
��
��?�7�>s�
��
��p7�>s�=8�>A�>Ninv_eq_one_div�H�>E�>R�>��=Mone_div_pow�PInfo����ATTR�����decldiv_pow��_inst_1fieldabhb�=
���<�<�=-fieldto_division_ringn�Y�a�b�7
�<&�=U�>�7�=[�=\�>��>��>��>�����>��������>������>��Y�>��Z�-��-��7�=�7�>��=[�=o7�>��>��o�=_�=v7�>��>������>��>��z�>�_a7���������8��<q�=��>��7�=��=��>��>��>��>����>��?��>��>�div_eq_mul_one_div7�>����>��Y�Z�[�\����to_comm_monoid7nonzero_comm_semiringto_comm_semiring7nonzero_comm_ringto_nonzero_comm_semiring7integral_domainto_nonzero_comm_ring7fieldto_integral_domain7�a�b�?&�?+�>��>������>��?3�z�?+�?)�>�_a7�����>����-��-��8��=��>��=��=��>��>��.m�=��=��>��?���?��>��?1�( �?%�>����?3�Y�?.�>��o�=_�=`�>��>��>������?3�?g�z�>��?c_a7�������������?��?��?��?��?�7�����?z�?�?J�?���?��?��?3�?d�>�7�>����?g�Y�>��?-�>��>������?g�?��z�>��?-�>��>�_a7�����?��>��.m�=��=��>��?�?�?Q��?g�?��6'�?��?��?�?-�>����?��PInfo����ATTR�����decladd_monoidsmul_nonneg��_inst_1ordered_comm_monoidaH��preorderto_has_le�����y�{�,���to_add_comm_monoidn�?��?��?��?������-�?��R�?�����?������?�����?������?�������?�7�?�7�?�7�?�7���-��?�7���@��_F�&���?���?���?���?��7�0$�z��-��?��7���@�����&���?�H�?�H�?�H�?�H;�0	�zH�,�H�?�H;�
��@.��S�����&���?�a�?�a�?�a�?�a@�xa�za�,�a�?�a@���@FH�@I�@JH���&���?�@�?�@�?�@�?�@H�x@�z@�,�@�?�@H�
��@e;K���@h�@gle_refl�@�@]�@g�����@OV���@I��a��a��a�@FH��a�a�@FHeadd_nonneg'Ta@H�@�;�
5���?��
��?��
��?��
��?��
�a�=�>�,��
��?��
�a�
��@�@e�
C���
?�
D�
E���?����?����?����?���p�x���z���,����?���p�
��@��
��
Be�
f�
E�@��@��
B�PInfo����declpow_abs��_inst_1decidable_linear_ordered_comm_ringan������6x�<linear_ordered_ringto_domainlinear_ordered_comm_ringto_linear_ordered_ringdecidable_linear_ordered_comm_ringto_linear_ordered_comm_ringabs��to_decidable_linear_ordered_comm_group�@��@�����@����������������6��<>�@��@��@��@��@��A�A���@��=@ordered_ringto_zero_ne_one_classlinear_ordered_ringto_ordered_ring�@��A(abs_onenih�A���Y�a�b�7
�<&�@�7�@�7�@�7�@�7�@�7�f�A>�A:�f�Y�Z�[�\�A8�A?�A@�AE�����AF�AO�z�A@�|_a7���������8��<q�@���@���@��7�@���@��7���Ac�A_�����Aj��AF�AM���A8�A?���AO�AN�A>�AJ�AC�����AO�A�z�AC�|_a7�����������A]�Ad�Ae�Aj�A��Ac��AO�A}�At���A�Y�AK�A>�A|�A~�����A�A��z�AL_a7���A��Ac�A��Ah���A��A���A�A����A��A��Z�<�7integral_domainto_no_zero_divisors7linear_ordered_comm_ringto_integral_domain7�A4�A?�A������A��A��z�A>�A��A|_a7�����A��Ac�A��A��A���A��A�abs_mul7�A|���A��PInfo����declabs_neg_one_pow��_inst_1�@�n��@��@��b�c�9��<
�@��@��@��9��9��9��9��A���=@�=B�A��B����@������B��A��A��B�B�����B�B���B	_a����@��@��9��6r�6[�6]�@��A �=B�@��B!�:	�B!��B�B���B�B	pow_abs�B���B��A��A��B�B�����B�BA���A��9��9��9�decidable_linear_ordered_comm_groupto_add_comm_group�A��B_a����@��@��B"�B!��@��B!��B�B=abs_neg�A��B���BA��A���B�A!�A#�A��B�����BA�Bp���A��Bl_a����@��@��B!�B!�BX��BA�Bl�A,���Bp����A��B�����Bp�B����A��B�_a����@��A(�B!�B)��Bp�B���A���B��PInfo����declinv_pow'��_inst_1discrete_fieldan������6x�<�>��>�discrete_fieldto_field�r�>=�B��B��B�����B����������������6��<>�=4�>��B����>>�B��B��B�����B�K�B��B�K�
E�����B��
E�
K�B���B��A �B�B��
E�
o�B��B��
s�B��B���B��
��B��B��B���B�K��
���B��B��B��B��
s�B��B��B��B�chas_inv����7e_2�
��+�;���B��B��B��
s�B��B���B��B��TK��
��B�inv_one�B���B��B��
E��B��n_nn_ih�B����Y�a�b�7
�<&�=U�>��B�7���>=7�C8�f�C@�C=�f�
E�����CH�
E�
K�CH�Y�Z�[�\�C;�CA�C@�CE�Z�A��A�discrete_fieldto_integral_domain7�CA�CT�
E�b�CC�CU�e�CB�|�CR�CB�CU���C;�CA���CP�CA�CA���CA�Cg�CT�CG�C_�e�CG�C]�CT�CA�Z�[�(��Gto_comm_semigroup7nonzero_comm_ringto_comm_ring7�?�? �C7�CA�CT�C{�C@�CQ�CS�C}���C7�����;���
U�,�@�q@�C?�CF�C��Ckmul_inv'7�CS�(��C��CT�CA��CV�CU�
E���CU��PInfo���ATTR�n�����Ddeclpow_div��_inst_1�B�abn���B��=;�==�B��C��B��B�����B����������C��
E�����C��
E�
K�C����<��<�B��B��B��C��C��
E�>m�C��C��
r�C�!���?�?�?�?�?�B������C��C��B��C��C��B��C��C��C��>��B��C��Ddiv_eq_mul_inv�B��>��
�C��C�����7��e_2�G��H��@e_3�J���
��
��
��7�D�
��
��)u7�D�C��C��B����B��C��C�inv_pow'�C��C��D
�B��C���C��
E��C���PInfo���ATTR�n�����Ddeclpow_inv��_inst_1�=(an��=���<�<�>����>@�=L�>B���=(����=(����D\����=	7��<.�</�=V�����>=�7�=��=��Do�_F�&���=	��0$�<5�<6�=������>=;��=��=��D�7��D���=	H��0	�<H�<H�=-H;��&���=	aH�@A�<a�<a�=-a@�M�q�
��>=�
�a�?�@�6w�
��<
�
��=-�
�a@�D��D�@�S���&���=	pa��<p�<p�=-p�
�����q���>=��p�V�W�6w���<
���=-��p�
��D��D��
����qp�>=p�
��u�v�6wp�<
p�D�a�D��D�a��&���=	�
�@�=�<�
��<�
��D��D�K���M�D����=@�
��=B�
��D��E�C&�
�a���D�V�����D��D��|�D��|���E���D��������D�a�D��E�����E�E���E_ap���D��D��D��4��D��4��D��D��E%��E�E���D�a���E�E�E�D��D������E�E:���E_ap���D��D��������D��
��D��E%�EG��E�E9�>p�D��D����E:�����,�p�,�p�6dp�=�p�
��D��D��E9�����E:�Ee���D��Eaa�D�_ap���EG�EB�D��D��D��Ep��E:�Ecmul_inv_eq�p�
��D�a�>%p�D�a���Ee���Ea�D��D��E9�����Ee�E����D�_ap���D����,����,����6d���=���p�D��ED�D��Ep�D��E��D��Ep��Ee�D��
5���=	���
��@��<���<���D�����q���>=���������6w���<
���=-����p�E��E�pe�
C���
?�
D�
E���=	�
F���x�
F�<�
F�<�
F�=-�
F����
H�q�
H�>=�
H�
F�
J�
K�6w�
H�<
�
H�=-�
H�
F���E��E����
Be�
f�
E�E��E��
B�p�E��PInfo���decladd_monoidsmul_le_smul��_inst_1�?�anmha�?�h���@�@�@���?���
���F%���_aExistsk�
�����dcases_onV��
��7��F4�F@�@)�@27��@2�wh_1�F?���@_�@i�;�@i7;trans_rel_left@�FM��@��@��@�@e�FM�@i;�FP�@_trans_rel_rightW@�FM�F\�@`has_zeromk@�zero@�@e�F_�@_
��@�FV�FW�mk@�add@�@e�add_assoc@�@e�FM�Fl�FM�	add_zero@�@e�FMAnnotcalc
add_le_add_left'@H�Fl�F^�FM�	smul_nonneg@H;Annot� 
���
Y�F_�FP�F��@i��;�����F��F��'7_a���H�@�@J;H�@JH�@J�H�F��@L��F��F���F�7���F��F��F_�����F��F��2��F�_a@���F��@J�;H�F���F��F_�@�@e;��@�F_Annot� natledest�PInfo�
�decl�	smul_le_smul_of_le_right����?�abhab�?��?��?��?�i�?��@�@���?��)�*�+�F����?��)�*�+�F��,��,�@�@�@�,_F�&�,�?�;�?�;�?�;�?�;��
��,�;�?�;�7�G�,�-�&�,�@_�@k�@j��S�,�-�&�,�@��@��@�H�@��@�@�G+H�-�&�,�@@�@L�@K;K���@@�@J�H�G:;���G>�@I�@H�����G>�GAchas_le�a���
���pe_2�D��������
Fe_3�E��
V���?��GL�7�GP�
`�GL���GL��7�GP�@?�G;�@H�a�@FH�G=�@H�Gk;�@ra�@>�@H�,�-�G)V���@����
����
����
��@�@���
���
��@�@e�G�H�G�Headd_le_add'X�
�a@H�G��G�;�
5�,�?�p�?�p�?�p�?�p�
���,�p�?�p�
�a�G�@e�
C���
?�
D�
E�,�?����?����?����?������C�,����?�����p�G��
��
Be�
f�
E�G��G��
B�PInfo�(�declcanonically_ordered_semiringpow_pos��_inst_1canonically_ordered_comm_semiringaHhas_ltlt��to_has_lt�?��?�canonically_ordered_monoidto_ordered_comm_monoidcanonically_ordered_comm_semiringto_canonically_ordered_monoid�y�zto_has_zero�>to_zero_ne_one_classn�G��G��?��?��G��G����G��H�����-4�5��>to_comm_semiring��5�G��7�8�H��5�G��7�8�H�B��B�G�7�G�7�?��?��G�7�G�7��G�7�H7�a�b�-��5��H7�B_F�&�B�G���G���@�@�G���G��7�0$�G���H�7�����-��5��H�7�B�D�&�B�G�H�G�H�@$�@%�G�H�G�H;�0	�G�H�HH;���0�5�H�HH;��S�B�D�&�B�G�a�G�a�@;�@<�G�a�G�a@�@A�G�a�Ha@�
��f�2��5�a�Ha@H�H��H��D�&�B�G�@�G�@�@Z�@[�G�@�G�@H�@`�G�@�H@H�)�*�2��5�@�H@H;K���H�@�=@@�H�canonically_ordered_semiringzero_lt_one�@H�B�D�H�V���H��"��,�a�,�a�H�H�a�H�He�;�H�and�H�H�H��H�canonically_ordered_semiringmul_posYa@H�H�andintro�H��H�;�
5�B�G��
��G��
��@��@��G��
��G��
�a�=�G��
��H�
�a�?�@�-	�
��5��
��H�
�a@e�
C���
?�
D�
E�B�G����G����@��@��G����G���p�@��G����H��p�V�W�-	���5����H��p�
��
Be�
f�
E�I�I*�
B�PInfo�4�decl�3pow_le_pow_of_le_left���5�G�abhab�F��F��F��F��G��G�i�?��?��H/�H?�H=��5�G��M�N�O�IV��5�G��M�N�O�IV�P��P�@�@
�HK�H[�HY�P_F�&�P�G
�G�G�G
�G�;�G�;������2k�5�;�H;�7�Iz�P�Q�&�P�@X�@Y�H��H��H���S�P�Q�&�P�@��@��H��I�H�H�I��I�I��Q�&�P�@9�@:�H��H��H�;K���I��H���I�����I��I�aa�H��I������I��I��Gf�I��I��I��a�H�H�I��I��I�;�Gt�H��I��P�Q�I�V���I��D�,��
��,��
��H�@��
��H�@e�I�H�I�Hecanonically_ordered_semiringmul_le_mul��
�a@H�I��I�;�
5�P�G��G��G��G��G�p�G�p�
��u�v�-	p�5�p�Hp�
�a�I�@e�
C���
?�
D�
E�P�G��G��G��G��G����G����������-	���5����H����p�J
�
��
Be�
f�
E�I��J�
B�PInfo�L�!decl�3one_le_pow_of_one_le���5�G�aH�?��?��G���B�Hn�?��?��H�$�=A�H�H!��5�G��U�V�JG�W�<��JI�H�JK�H!�JM�.�GF��7���e_2�G��H��@e_3�J�L�@��7�JZ�X�JZ�JH�JT�JK��H�H!�H!���H!�3pow_le_pow_of_le_left�JK�PInfo�T�%decl�3pow_le_one���5�G�aH�JC�JEn�JI�H!�JK��5�G��\�]�J��^�<��J��JT�J��Jl�H!�H!�Ju�JT�JK�Jq�Jz�JK�PInfo�[�(declpow_pos��_inst_1linear_ordered_semiringaH�G��G��?��?�����linear_ordered_semiringto_ordered_semiring�y�-�:���to_semiring�J�n�H�H	�?��?��J��J��J����-1�-(�J��J������-4�J���`�J��b�c�J���`�J��b�c�J��g��g�H(�H)�?��?��J�7�J�7�J�7��-��-��J�7�J��a�b�-��J��g_F�&�g�HD�HE�@�@�J���J���J��7�0$�-��-��J���J������-��J��g�h�&�g�H`�Ha�@$�@%�J�H�J�H�J�H;�0	�0
�0�J�H�K
���0�K��S�g�h�&�g�H}�H~�@;�@<�J�a�J�a�J�a@�@A�-a�H��J�a�K#�
��f�2��K,H�K0�K4�h�&�g�H��H��@Z�@[�J�@�J�@�J�@H�@`�-@�3,�J�@�KC�)�*�2��KL;K���H��H��@Zordered_cancel_comm_monoidto_partial_order�@�KD�KO�H�@�KQzero_lt_one[@H�g�h�K8V��gt[a�H~�@;�KZa�K$�"��H��K-H�H��K1He�K/mul_pos[a�K#H�Ky;�
5�g�H��H��@��@��J��
��J��
��J��
�a�=�-�
��I��J��
��K��?�@�H��K�@e�
C���
?�
D�
E�g�I�I�@��@��J����J����J���p�@��-���E��J����K��V�W�I�K��
��
Be�
f�
E�K��K��
B�PInfo�_�0declpow_nonneg���`�J�aH�?��?��J��J�n�?��?��J��J��J���`�J��o�p�K���`�J��o�p�K��q��q�?��?��J��J��J��q_F�&�q�@�@
�J��J��K�q�r�&�q�@"�@#�K�K�K�S�q�r�&�q�@9�@:�K'�K/�K5�L�K:�r�&�q�@X�@Y�KG�KO�KUK���@X�@Y�K]�KO�Kczero_le_one�@H�q�r�LV��ge\a�@:�Kq�Kz�K/mul_nonneg\a�K#H�Ky;�
5�q�@��@��K��K��K�e�
C���
?�
D�
E�q�@��@��K��K��K��
Be�
f�
E�L3�LB�
B�PInfo�n�4declpow_lt_pow_of_lt_left���`�J�xynHxy�J�Hxpos�K�Hnpos�/��G�;�G�;�G�G
�J�;�J�;�J�;������2k�J�;�Lm7�Lx��`�J��w�x�y�z�Le�{�Lf�|�Lgordcases_on�Ls�<��-;�,�;�Lu7���L�7_x�3��L��L��K�K�K7lt_or_eq_of_le;�Lp�L�7h�L����L��K�K����/��/��L��L������L��L��'_a���KI�KT7�KS�7�KI�KU�L���L��L���L����/���_x�KI�KT��/��L��L����K�K�K�/��L��L��K�7�����L��L�chas_ltH��@��ae_2����p����e_3�E��
V�
F���G��
F�7�L��
`�
F���
F��7�L��K�L����H�K��L�7�L�7n_1��L����K)�K4�@�/��K3;�M	�K)�"��2��3�K1�K4�f�K4�/��M
�����M�M��a�M
_aa���K��K��s�/��K�H�M�K��M#��M�M�ca�K1H�f�/����M�M�M�M�f�M�/������M�M;�M�M
_aa���K��D�
� �
��K��K����K��/��M#�MJ��M�M:�M/;�f�/����M;�K)�M�K4�|�M�M�M�|�M9�����M;�Mb�'�f_a���MJ�ME�M"���M"�/��K��ME�K��MH�ME�M"�Mj��M;�|natsucc_eq_add_one���Mb�K)�M\H�Ma�����Mb�M��M�K4�_aa���K��ME�K��4��MH�ME�M"�4��Mj�K��M��M���MbH��a�K1H���M��M��M`;�����M��M��M�M�_aa���K��M�@�M��M��M���M�;�M�;mul_lt_mula�K#�K4�{�/�H�M�M�;le_of_lta�K'H;7�M��K/�M�pow_posa@;lt_transa�K'�K/H;7�M����h�L��L��K�K�K�L����L��M���H�_aH�L��KI�KS7�L��L��K��H�K����M��K�L������M��N�M��M�_aH���KI�KS�KO7�L��KI�L���M��Kzero_powH�K�M�H;7�<��L��K7�M�_aH���KI;��N���L��K�N�PInfo�v�8declpow_right_inj���`�J�xynHxpos�K�Hypos�K�Hnpos�LgHxyn���Lz�L}�
S�7��`�J����������NC���ND���Lg���NF�L��H`�Ha�@$linear_orderto_partial_orderH�dto_linear_orderH;�7�3��NH�NZ7�a_0�3��N\�Na�
Y;�lt_trichotomyH�NV�7hxy�N\absurd�
Y�L��L��Nfne_of_lt@�KG�L��L�pow_lt_pow_of_lt_left@H;�7���Na�L��Nf�H��H��@Z�NR@�NT@H�;���3��Nf�N��HH;rfl�Nf�MH��a���L0�����u�v�I��J�p�J�p�
�aH�N�H�D��
����LH���M�K�;�N��Fa;hyx�N��No�H�K4��M��N�ne_of_gta�K'�N��N��Nza@;H��PInfo���Bdeclone_le_pow_of_one_le���`�J�aH�K����-	�J�n�K��$�%�J��J���`�J������N���`�J������N�������K��o�p�J��J���_F�&���K��.m�	��J��K�����&���K�NO�K�K�S�����&���L�I��I��K1�K5�O�K:���&���L�Kc�KUK���O�Kc�@s�KG�Kc�����OV���O�M[���O�@9�L#�O�M[�����O�O!��O!�<��O�Ku�O�O�Kv�K:�O �O,�Gf�L#�O*�O��a�K1�O�O,�O,�a�O,mul_le_mul�a�K#�O�OH�K:;�
5���L/�����K��K�e�
C���
?�
D�
E���L6�����K��K��
Be�
f�
E�OK�O\�
B�La@le_trans]a�K'�K/�OH�Of;�PInfo���Jdeclone_add_mul_le_pow'���`�J�aHsqr�K����:��J�H�F��F��F��F��J��J��J����-�-�J��O����-�-�O��-
�O�n�K���-��-��J��N����-��?��J��J��O���`�J������O����O���`�J������O����O�������K��.�-��-��J��N����-��@�J��K�O���_F�&���G
�G�Lq��;�-;�-;�Lu�=�;�Lv�
��G�G�Lo7�Lx�O�7�����&���L�FV�-@�-@�KL�Kc�
��@b�@c�KE;�KS�O�;�S�����&���L/�G|�-�
��-�
��K��OG�
��@��@��K�@�K��P@�L/�P�P@�P
���&���L�@z�-a�-a�K,�O���@C�@D�K%H�K3�P"HK���L�P"�P%�H�P+�le_of_eq�a�K'�P3�P5��a�P$�O�����PV���L/�P�P�|@�P
�|�Oh�
��K��PG�D�I��K��P�P�PI
���PH�PR�L/�=�>�P�PP@�
��@��,��
��K�@�����PU�Pb�
K�PU�L/�P`�P�P`�Pa�Pb�Pg�L/�P�P`�P�Pj�Pk�Pg�L/�P@�Pn�Pt�Pp�Pq�.�GF�
���p����e_2�L����
F���
He_3��GL�
V���?��P�7�P��
`�P���P��7�P��L.�PG�Pu�
r�
��PG�P�Pt�P`�G|�G}��^�
���to_add_comm_semigroup^�
��P@�P��OG�P`�F�,��
���p����e_2�L���
F��
He_3�P~���P�P���P�7�P��
��P��P7�P��P�OG�OG��
��OG�PF�P��j�
��P]@add_left_comm^�
��P��OG@�P`�PR�Pw�P��PR�P�Pt�Pj�P��P��Pj�P��P��P��Pt�Pa�P`�P��P��P�P��Pn�P��P��P�D�.[�
��P@�Pn�P��OG�Pn�P��P��PP�Pt�OG�Pn�P�����
���p����e_2�L���
F��
He_3�P~�P��P�7�Q�P��Q�PO�P�P�add_comm^�
��P��OG@�P�Pn�P��Pnadd_mul^�
��P@�OG�Pn�P��P��P��P��P��P�P��OG�P��P`�P��.z�
��P@�OG�P`�P��Q1@���
��K�@�Q3�Pa�P��Pa�P��Pn�P��P��P�P��OG�P��P`�Pn�Q8�OG�OG�P`�P��QL�OG�Q@�OG�QN�P`�6�
��K��P`�P��P��OG�P`�P��P��P��P��P��P��P`�P��P��Ql�Pa�Q�P��P`�P��P`@�Pa�P��Pj��L/�G|�G}�G~�P@�Pn�Q��Pp�Pqadd_le_add_iff_left^�
��K�@�Pn�Pp��L/�Q��OG�P`�Q��Pj�Pk�Q��OG�P`�Pj��Ph�Q��P`�Pa�Pble_add_iff_nonneg_right^�
��K��P`�Pa�<��PY�P�PZ@�Pb�P��PX�PX�P��PX�Q��Paadd_monoidmul_smul_left^�
��K�@@�F��
��K��Q�HAnnot� 
mul_le_mul_of_nonneg_left^�
��K��P�I��K��Pe�P�
5���G��G��G��G��J�p�J�p�N��\�-p�-p�N������N���G��G��Q�a�N��Q�ae�
C���
?�
D�
E���G��G��G��G��J����J����J������s�-���-���J����Q������J�Q��C�G��G��Q�p�����R�Rp�
Be�
f�
E�Q��R�
B;Annot� �PInfo���Qdoc�� Bernoulli's inequality. This version works for semirings but requires
an additional hypothesis `0 ≤ a * a`.declpow_le_pow���`�J�anmha�N�h���K��K�K��`�J����������RF����_a�F9�FA���FB�K��K7�L��h_1�F?���L�KT��L��FT�RXY�3+�KM�RX�KT�L��L�Fd�RX�R_�Kc�Ra�L
�FqYZ[�KQ�RX�Kc�RX��@�KQ�RXAnnot� 
�Q�@�KC�Kc�R`�RXone_le_pow_of_one_le@H;pow_nonneg@H;�Oh@�KG�KO�Kc;�L�Annot� 
���
Y�Ra�L��R��KT�F������R��R��F�_a���H�Ku�K4;�K4�N��R��K5��R��F��F����R��R��Rm�R`�����R��R��2��R�_a@���R��K4�F��R���R��R��c@�KQ;��F��RaAnnot� �F��PInfo���Zdeclpow_lt_pow���`�J�anmh�J��N�h2�v�J��RG�RI��`�J����������R����R��S�����v�K�RR�K���vK�/�Ut_1���/�U7H_1�/�H_2�/��v;K�/�U;�K��K�H�K�KK���/��R��0���/��v7K�R��R��0�R��KI�RX�KTKK�R�h2_bh2_a�R����01�0���R��R����04�R��SK���0B�0D�R�K�����R�V���R��K�f�R��������K��R������S6�S=�M��K�|_aH���S�KT���S��S6�S<��H�K����S=�K�S:�N��RR�S<�����S=�SY�M��RR_aH���S�Rl;�KT�N�Sa��S=�SW�M��SW�RR�6H�K�RR�M�H�K
�N��RR��R�pow_le_powH;�7�M�H�K�N����7�N#��M�H�K�K�N���KfH;7�S��K��S��PInfo���bdeclpow_le_pow_of_le_left���`�J�abha�O�hab�K�i�K��K�K��`�J��������S����S���`�J��������S����S�������O��Ly�L|��_F�&���K��K�L������&���L�K5�M�S�����&���Q��N��N�@�Q��N��S����&���L/�K��MqK���L/�K���M"����S��OH�OG�����S��S��P��S��OG��
��K�@�S��OG�S�H�@r�
��K��OG�����S�V���G��G��G��KZp�Q����EY�EZ�N�a�p�N�ae�T@�T	@e�O>p�N�a�T@�T;�
5���L6�K��K�ae�
C���
?�
D�
E���?��
F�?��
F�?��
F�?��
F�J��
F�J��
F�J��
F���X�Y�-	�
F�J��
F�T)���T5p�
Be�
f�
E�T �TE�
B�R�p�
�aHe�Ohp�Q���-p�Ta@H;7�PInfo���jdecllt_of_pow_lt_pow���`�J�abnhb�K�h�J��J��J��J���`�J����������T~���T�lt_of_not_ge��NT�7hn�L!��@
�@�NR��T�not_lt_of_ge;�Lq�Lz�L}pow_le_pow_of_le_left;�7�PInfo���nprvpow_lt_pow_of_lt_one_aux��� f:�pow_lt_pow_of_lt_one_auxdecl�����`�J�ah�J�ha�G��G��O��O�ik�J��K����K��`�J������J����T�����`�J������J����T���������Ls�Ly����Ly��_F�&���K�K�����K�����&���K)�K4��F=��K47�S�����&���G�p�G�p�Q��N���F���N�;�T��N���F���T����&���K��K���F���K��K���K��K���F����U���U
�K��K��F���U�����U
�U���L��
���p����e_2�L����
F���
He_3�P~�P��G��P�7�U�P��U�K��U�U��E�
���p����e_2�L���e_3�
��
��P�`�P�7�U1�
��P��P�7�U1�K�@@�P�@�U�U
�F�G����e_2�
�����e_3�
�����7�UT���7�UT��U��H����H��U�U�P��U���U�U�ME�OG�U�����U�U����
��U_a�
����T��N��F���T��U���U�U���
��U�U�Q]�U�M��
��K�@�Q�@c�K�OG�U;�S��U��M��
�a@H�U��L�
�a�����T�V���T��N���F��|��T����U��U��������N��Q��T������U��U����T�_ap���K��K���H�4���K�H�U���U��U���p�U��T��6p�N��T��M�p�N�a�T
c�U�K�Q��T�H�M�p�Q��U��T��
5���K��K���U���U�e�
C���
?�
D�
E���L��G��
F�T-�T6��a��T6a�
Be�
f�
E�U��V�
B���T��T��T�TX�U��M�p�
�a@�U���Lp�
�7�PInfo���qprvpow_le_pow_of_le_one_aux����pow_le_pow_of_le_one_auxdecl����`�J�ah�K�ha�O��O�ik�K��K��T���`�J��	�
�K���VJ���`�J��	�
�K���VJ��
��
�O��Ly��T��
_F�&�
�K��K�T��T��
��&�
�L�K4�F=�T��S�
��&�
�Q��N��T��T��Q��N��T��T���&�
�L/�K��T��UK���L/�K��U�U���V|�L/�U�U�����V|�V��P��Vz�U�UL�U��Uo�U�U�Uy�S��U�
��VkV���Q��N��U��T����V��Q��N���)�Hadd_semigroup�V�;��T������V��V��'�V��V��_a���L6�K��U��U��T�U���V��V���V��V�add_assoc�V�;����V��V��U������V��V��U�_ap���L6�K��V��V�H��U��V���V��U��U��T�T
c�V�K�Q��T�H�
5�
�L6�K��U��U�e�
C���
?�
D�
E�
�T/�T6�U��V�
Be�
f�
E�V��V��
B�TP@�V��V'7�PInfo��|declpow_lt_pow_of_lt_one���`�J�ah�J�ha�T�ijhij�w�Ls�Ly�T���`�J����J���T�����W#_a�F4k�
��T��F;��
���F5���F4�W7�KI�KT�KT�h_1�W6���K)�K4�T����WC�K)�K4��F<��T������WC�WK�L�_a���K��K�7�U�K��K��U��WC�WH��a@H;�7natexists_eq_add_of_lt�PInfo���declpow_le_pow_of_le_one���`�J�ah�K�ha�VJijhij�5��O��W$�T���`�J��!�"�K��#�VJ�$�%�&�5�_a�F4k�W/�T��F;�(�W3�F5�'�F4�W��L�W:�W<�h_1�W����L�WA�T����W��L�K4�WF�T������W��W��L�_a���L/�WP�U�S��U��W��WF�a@H;�7natexists_eq_add_of_le�PInfo� ��declpow_le_one���`�J�xnh0�S�h1�S��N��K��J��N���`�J��.��`�J��.�/�0�S��1�W���/�0�K��1�O�7�O��K��K�N��/_F�&�/�0�O��L�7�1�K���N��L�S`�Kc�0�W��1�W��/�0�N��1�L/@�OG�2�&�/�0�L7�
��1�Q�p�R�T/�T6�
F�
F�T3�S�/�2�&�/�0�T/�E��-�
F�,��
F�T2���1�?��
H�?��
H�?��
H�?��
H�J��
H�J��
H�J��
H�
F���
H�
H�-	�
H�J��
H�X�GO�?��GL�?��GL�?��GL�J��GL�J��GL�J��GL�
H�`�GL�T�GL�-	�GL�J��GL�X�
F�GL�GL�X&�T/�T6�W��2�&�/�0�Q��x���-���,����Q�p�1�T/���W��X�
J�
K�X���XK���Q��R�R�@r���Q��R�/�2�X4V���T/�
F�,��
F�W�����
F�T3��e�W�mul_le_one��
F�����Xd�R��
F����e�
5�/�0�X�x�
H�-�
H�,��
H�X���1�X�
F�X/�P��?��P�?��P�?��P�J��P�J��P�J��P�GL�U0�T�P�-	�P�J��P�X��
H�P�P�X�e�
C���
?�
D�
E�/�0�X��x�P�-�P�,��P�X��
H�1�?��P��?��P��?��P��?��P��J��P��J��P��J��P��P�GL�P��P��-	�P��J��P��X��?��?��X��?��X��?��X��J��X��J��X��J��X��P��`�X��T�X��-	�X��J��X��X��P�X��X��X��
Be�
f�
E�X��X��
B�PInfo�-��declpow_two_nonneg��_inst_1linear_ordered_ringa�?��?��?��?��J��J�ordered_ringto_ordered_semiring�Bh�y�=+�=,�A��b�c�9��A��Y"����5�Y�7���Y-�Y&�������Y(�����Y-�Y7���Y,_a���F��F��F��F��O��O��Y�A$���<�<�@������6x�<�YF���YJ��Y-�Y6�:��Y(mul_self_nonneg�PInfo�4��declone_add_mul_le_pow��_inst_1�YaH�Y!�9��9��9��9��Y'�=�-�6|�Y'��B�B�Y"n�?��?��?��?��J��J��Y�A#�W�-8�6��<>�A�$�=A�=C�Y��R�6��6��6��Y������6��Y��Y���=�Y�>�?�Yx��=�Y�>�?�Yx�@��@�?��?��?��?��J��J��Y7�A#7��-��7�<&�A1�o�=_�=`�Y����6��6��6��Y��a�b�7
�Y��Y��@_F�&�@�@�@
�@�@�J��J��Y��A#�7�.�-��8��<q�AV7�.m�=��=��Y����'Z�8��8��Y������8��Y��Y��@�A�&�@�@"�@#�@$�@%�K�K�YH�A#H;��H�-H�6|H�<
H�@�H;N�=@H�=BH�Y��
��&|H�6ZH�6\H�Y�����6wH�Y��Z��S�@�A�&�@�@9�@:�@;�@<�K �K!�Ya�A#a@�@z�P�6|a�<
a�@�a@�I��=@a�=Ba�Z'���&|a�6Za�6\a�Z(H�
��f�6wa�Z(�Z1H�Z#�Z1�Z8H�ZB�A�&�@�@X�@Y�@Z�@[�K@�KA�Y@�A#@H�FV�O��6|@�<
@�@�@H�H��H��=B@�Z_�
��&|@�6Z@�6\@�Z`;�)�*�6w@�Z`�Zh;K���Z[�Zh�Zo�;�Zy��P8@�ZY�Z��Z���@�Zn�Zg�@�A�ZFV�S�@�A�&�@�G��G��G��G��Q��Q��Yp�A#p�
��\�Q��6|p�D��@�p�
����=@p�=Bp�Z���&|p�6Zp�6\p�Z�a�u�v�D��Z��Z�aV�Z��Z��Z��fa�Z��f�A�&�@�@��@��@��@��K��K��Y�
��A#�
�a�G|�O��6|�
��D��@��
�a���D��E�Z��
��&|�
��6Z�
��6\�
��Z�@�?�@�D��Z��Z�@UK���Z��Z��Z��@�Z�����Z��Z�@@�����Z��Z��
K�Z��Z��Z�@�Z��[�Z��P��Z��Z��[�P��Z��Z��G|�G}�P��P��@��Z�@�Z��P��Z��Z��Z��P��Z��Z�@��
��Z�@�Q�[�Z�@�Z��[�P��Z��Z��[��[�UG�Z��Z��[�[#���Us���
��Z��[��Z��G|�G}�G~�@��[
@�Z��[@�Z�add_le_add_iff_right��
��Z�@@�Z��S��Z�@�@�A�Z��4���Z��Z��Z��{��a�Z��[V
H'�Z���D��D��Z��Z��Ykp�Z��Z�a

�>�@��@��@��@��K��K��Y���A#��p�@��E��E��@���p�0�-���6|���D��[s�
��&|���6Z���6\���[z���<����[t�[��
��
��[}�Yk���[|�OM�=@���=B���[s�
��[�
�FS���s�Q��6|���E��@������R�=@���=B���[��C�&|���6Z���6\���[�����p���<����<���[��[��[�p�[������E��[��[��[��[��G��G��G��G��Q��Q��Y���A#�����Oh���[��[��[��[��[�p�[��[��[��[��[��[��[��[�pp�[��Yk���[��[�p�[��[��[�
�;�[��[��s�t�u�G��G��[��[��[��[��X=�z���[��[��Q����[��[��[�Annot� 
���E��[��[��E��[��[��[�p�\�[��[��[��[��[��[�p�\
�[��\
p�[��[��[��[��\�[��[��[��[��\
�\�\�����\�\"�������
Fe_1�GK���GL���Pe_2��P��
V�X�����X�7�\,�
`�X����X���7�\,�[��\�F�,������
F���
He_2�P~���P���P�e_3�\,���\G���\G�7�\K�
��\G���\G7�\K�[��[��\
�\c�[��[�����[��[��\	�
r���[���4��p�s�t�u�[�p�[��4�p�\	�j���[�p�4��\cpp�\hp�\x�\�\~�[��\�\c�[��\�\m�[��[��C�[��[��[��[��\��[�p�\�\��[��[��\��\��\���
����e_2�
����P���P�e_3�\F�\I��\G�7�\��+��\T7�\��[��H�[��\��\m���.[���[��[��[��[��\��[��\�p�\��.z���[��[��[�p�\c�\��\�mul_two`���Q��[��[��\��\��\h�\�add_monoidsmul_add`���[��\��\��\c�\��\�\m�\��[��[��[��[��\��[��\��\�\��[��[��\c�\��\
add_monoidmul_smul_assoc`���\�pp�\��\
�\��\��\�\m�C�G��,����\����,����X?�\��[�p�]�]�[�p�\�\��[�p��������
F���
He_2�P~���P���P�e_3�\F�\I�\G�7�]�\W�]�[��]�\
�\�pp�\��[��[��\h�[��[��\!�\m�[��[��\��\�[��]E�[��\!�]D�[��\�[��]I�]1�[��\�\m�\��[��[��[��]R�[��]Rp�\�\��[��[�p�\c�]U�[������[��[��]W�\�\m�]W�[��\��[�p�\�pp�\�Q&���[��[�pp�\c�]ip�6���[�p�]l�[��]>�[��[��\h�[��\��\�[��[��\c�]F�\�]b�\�]H�\ �\m�]�\�]p�[��\��\�\��\��\��\ �]��[��[��\�]��]��]��]�]�p�]������]��]��Q����\��\p�\��]��]��\m�]Ep�[��]W�\��\p�]��]q�[��\p�\c�]W�\�]�]��]��]qp�[�p�\��\�]��\c�]��\�\m�\��[�p�[��[��\�p�\��\�\�p�[��\c�]��[��\h�[��\��\
�\��]��\�\m�\��\��\��\��\��\�\��\��\��\��\�]8�]��\!�\�\m�\!�\�\�[��\��\�\�\�\�\m�\�\u�\u�[��\
�\�\u�[��\v�\�^�^�^�\�^
�\u�\
�\�^�
������^
�^�\is_associativeassoc`���\uadd_semigroup_to_is_eq_associative`���\s�[��\
�\�\m�\u�\u�[��\�^�\�\v�\u�[��^�^�^1�^-�\u�\�^�^5�^'�[��\�^�^�\u�\v�[��^�^4�\�^'p�[��^�^'�[�p�^�\m�[��\�^�\�[��^�^left_comm`���[�is_commutativecomm`���s�t�P����P����[�add_comm_semigroup_to_is_eq_commutative`���^a�^'�[�p�^�^�^V�^�\�^m�^�]��\�^�\m�\�\u�\u�\�\�[��[��\�\v�^
�\�\�[��\�[��^�^�\�^�^�^��^��^�^}�^��\�\m�^}�^z�\u�\�[��^��^'�\�\�[��^'�\
�\
�^��\m�\u�^�\	�^��^�\u�\	�^��^��^M�\	�^��^�\u�\v�\�^��^��[��\m�^��\v�\u�\�^��^��^G�\�^��^�\u�\v�[��^��^��\�^G�[��^��\m�[��\�\�\�^��\�[��^��^�^m�^��^�^��^�\�\m�^��\�[��^��^�^m�^��^�[��\�\�\�^d�\�[��^�\�^�^��^�[��\m�^��\�\��^�^�^�^��^��\�\m�^��\�\��\�^��^�^��^��\�\m�^��\�^d�[��\�^��^�^��^��\�^i�\�[��^k�\
�[��\�_
�\�^k�[��[��^Annot� 
�Q����[��[��[��[��
5�@�T"�T#�T$�T%�T&�T'�Y�
F�A#�
F�����
F�-�
F�6|�
F�<
�
F�@��
F���W��=@�
F�=B�
F�_8���&|�
F�6Z�
F�6\�
F�_9���X�Y�6w�
F�_9�_B��cK�
C���
?�
D�
E�@�GO�X�X�X�X�X�Y�GL�A#�GL�
H���GL�-�GL�6|�GL�<
�GL�@��GL�
H�X,�=@�GL�=B�GL�_j��GL�&|�GL�6Z�GL�6\�GL�_k�
F�X!�X"�6w�GL�_k�_t�
F�
B�_X�
f�
E�_Y�_��
Bpprodsnd�_V�_Wc�iK�_��_��
f�
E�_��_��
B�Y_�����[�Annot� 
���E��[��[��E��[��[��[��_������_��_��\A�[��_��������[��[��[��[��[��_��\m�[��\o�����_��[��[��4��_������[��[��4��]1�[��[��\h�[��_��_��_��\h�_�Annot� Annot�Annot�add_nonneg`���[l�[��[��F����[m�[��L(���[k�[��[��Y_��p�
��_�Annot�Annot��<��G��G��G��G��Q�ordered_comm_groupto_ordered_cancel_comm_monoid`p��to_ordered_comm_group`p�Z��'�p�'�p�Z�ordered_comm_groupto_add_comm_group`p�`�[da�`
���Z��`�\�]�^�`�[daneg_le_iff_add_nonneg`p�`�[da@�PInfo�<��doc�<Bernoulli's inequality for `n : ℕ`, `-2 ≤ a`.declone_add_sub_mul_le_pow��_inst_1�YaH�Y!�Yj�Ytn�Y��Y��Y��;��;��Y��Y��Y���b�Y�c�d�`I�e
�>�Y��6��6��Y��Yk�Y��Y��`M
�<��Y��Y��Y��;T7�;V7�Y��Y��Y��Y��`g�`j�Y��.�GF7�����;e_2�
U��@��ae_3�����G��7�`u���`u�Y��`i�`i���`i�`m�`q��E7�����;e_2�
U��e_3�
��
�p�u�7�`��
�p���7�`��Y��`kadd_sub_cancel'_right7�Y��Y��Hone_add_mul_le_pow7�`gAnnot�Annot����``�Y��`Z�Y��Y��`M�����``�`��T�`]_a���Y��6��6��Y��Yk7�Y��Y��`g�Y��`��`g��``�`�bit0equations_eqn_1�Y��Y����`��Y��W�X�Y�Y��`Z�Y��`��`M�����`��`��T�`Z�`��Y��Y�_a���Y��`��Y��Y��`g�Y��`g��`��`�neg_add�Y��Y��Y�sub_le_sub_right�`�Y{�`��Y��PInfo�a��doc�aBernoulli's inequality reformulated to estimate `a^n`.declintunits_pow_twouunits�v�1���a�.�a�1�a���a���v�1����a��has_one�v�1�u�a�r�a�a1�a4�/�aunitshas_neg�v�$��a1�a2�sunits_eq_one_orh�a5eqsubst�a_x�a�a2�a1��a�a1rfl�a�a)�a1��h�a=�aF�a<�aJ�a<�aO�a)�a<���PInfo�t��decl�sunits_pow_eq_pow_mod_twou�an�a�a)�ab�9����a�����af�a�ab�9��ae�����af�alα�
?����e_2������e_3��7�UQ������7�ay�U[������7�ay�a�ac�aj�
J�a�ac�aj�aj�9�_a�a�a)�a���a�ac�9��9����ak�aj�a��aj�ae�ae�a��ae���al�a�\�a�P�a�q�a�a'�ae�ab�9��ae�����al�a��&�a�aj_a�a���a�a��:�a��9��a4�a���al�a�pow_add�a�a'�9��9����a��a�a��a)�ab���9��ae�����a��a��a��a�_a�a���a�a��a��a��:�a��a�a��a���a��a�pow_mul�a�a'���9����a��a�a��aP�9��ae�����a��a��a��a�_a�a���a�a��a)�a����9��a��a�a��a*�9��a���a��a1�sunits_pow_two���a��a�a��a-��a�a'�ae�����a��b"�a��a)�b�9�_a�a���a�a��aP�9��a��a���a��bone_pow�a�a'�9����b"�a�ae�ae�����b"�b>�a��b _a�a���a�a��b�a��a���b"�aemul_one�a�a'�ae�a��PInfo����declneg_squareu_1α�
�_inst_1�3�z���3��3����3������
����3������bc�
E�����bc�
E�
K�bc���2��2��2��3��bt�
E����e_1����7���e_2�#��#H���
�7�
��#H�:T7�
��b_�bt�#1monoidpow���3��b]����3��3��bt�bt�b��3��bm�3�3�5�b]�b��b��br�b]�b]�b��b��b��b���b��c�3��b]���c����e_2�#
�����;e_3�#�#�@@�34�7�b��$
�:s7�b��bq�b]�b]���b]�b��b]�b��b�����3��b��3��b]�b��b��3��b��b��b��b���b��b���b��b��3��c�3��b]neg_mul_eq_neg_mul_symmc�3��>�#7����e_2�#
�����#��3��b��5{�3��3c�b]�c	�b��b��b��%!�3��bt�bb�bt�b��b��b��bs�c(��bt�b���b��b��c+�b��c(�b��bs�3��c9�bs�c(��c:�c/��c5�c=�3��b��c��bv�
E�#U�bt��PInfo����ATTR�����decldiv_sq_cancelu_1α�
�_inst_1field��aha�kd���Vd�Wd�ud��db���xd�yd�ce�2��dd�ca�cc�cr�4�4�4�Td�cz���c}���
����c[�����cl�����c����ct�c}�cu�2��2��c��c������c��c��"�c�_a�����cm7�co7�ce7�2�7�cv7�ca7�cc7�c��3��3��3�7�c~7�c����c����c��c��c���c��c�pow_twod�c����c����ct�c��c��c������c��c��"�c��c�_a�����c��c��c��2�7�2�7�c��c����c��c���c��c�mul_assocd�c����c����c��c������c��d	�"�cn�}d�cr�cr�cu�3�3�5��d�cr�c�_a�����c��c��c��c��B�c���c��c�mul_div_cancel_leftd�c����c��PInfo����EndFile