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�+��)initdataratbasic��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}traversedeclratnonneg_mainarat�ratcases_on�a_numinta_denomnata_poshas_ltlt	nathas_lthas_zerozero	nathas_zeroa_copnatcoprime�nat_absid_rhshas_leleinthas_leinthas_zero�PInfo�VMR�VMC��decl�equations_eqn_1nd	hceq��mk'%&��	��eqreflid_delta6�PInfo�ATTR_refl_lemma���EqnL�decl�nonneg0�PInfo�prt�VMR�VMC��decl�equations_eqn_1��	��/�5&�equations_eqn_1�PInfo�ATTR����EqnL�decl�_sunfold-�PInfo�decl�mk_nonnegabh
�has_lt#iffGratmk$���Txha.V%���`VUG$n₁d₁	h₁c₁�`V5eqmprUG1h%$	U$h�id/��a�e_1/b�e_2�congrUfUhcongr_arg�fhU%���h%��>��intro��h₂�nonneg_of_mul_nonneg_rightlinear_ordered_ringto_linear_ordered_semiringlinear_ordered_comm_ringto_linear_ordered_ringdecidable_linear_ordered_comm_ringto_linear_ordered_comm_ring�decidable_linear_ordered_comm_ring
coe	coe_to_lift	coe_base	inthas_coeh{preorderto_has_lepartial_orderto_preorderordered_cancel_comm_monoidto_partial_orderordered_semiringto_ordered_cancel_comm_monoidlinear_ordered_semiringto_ordered_semiring�!mul_zero_classto_has_zerosemiringto_mul_zero_class�to_semiring�has_mulmulmul_zero_classto_has_mul������has_mulf��/��eqrec���_a/���f�>��iffmp`V��g�.�	��mk_eq��f�ne_of_gt�ordered_comm_monoidto_partial_orderordered_cancel_comm_monoidto_ordered_comm_monoid�ordered_ringto_ordered_semiringlinear_ordered_ringto_ordered_ring��#u�8�#�mprR��hintcoe_nat_lth%eqmp�1fh%���R_a/`V��1nfh%�Z>�S��num_denom'fh%mul_nonneg�3f�le_of_lt�7!����3�u�J���f�{��f���	�/������_a/��n��>���	eqsymm�	��p�v��intcoe_zero_lehuXrflX�PInfo�ATTRsimp���decl�nonneg_addab�l�lGhas_addaddrathas_add%���num_denom_cases_on'_x�G�GG��%n₁d₁	h₁ne	��_x�Ga��lG���%n₂d₂	h₂��{�G����G��Vw�nVh�%�$f�&$���has_add�w���h���/���imp_congr_eq���GW�G��Vn�
�����[$���n���%�
propext�����f��?S�trueiff_true_intro�$�%�Dintcoe_nat_poshnatpos_of_ne_zeroh%trueintro��G���[$�����
����[�!�
�?S�
�&�(�I�J�+�.�4eqtrans�;GV�B���
�C��e_1`�G�:�`�add_deff��
�?���#�&ifftrans�x��h�&�coe_nat_ne_zeroh��~AU��fiffrefl�~�&�[�~notfalse�&����.	h��nedef	ha�4e_1�������������iff_false_intro��%����&not_false_iff�4�?�v�
#�&�{�����&������AU�������&�[�����&����������������������������4��a�C�!�B�_�?Ppreorderto_has_lt�7�����~��
�&�(��mul_pos'�3��
�1�S�4n₁0��n₂0&add_nonneg�4�����vw����%�vh����n�PInfo�
,prt�
decl�nonneg_mulab�l�lG��has_mul%�@�A��_x������G�2%n₁d₁	h₁����_x����lG�2�%n₂d₂	h₂��{������G�2��������&$��h�/�N�S�	��G�2������[$�%�7�9G�B�[$���X�[�dGV�g�_�h�n�c�m�mul_deff��
������n�h�!�g�_�
�w�PInfo�?7prt�?decl�nonneg_antisymma����Ghas_negneg�has_neg`�has_zero�M��_x��nd	h��{���G����`�����[� %#�h#�/�����9�G���`����[� #�%#�X���`������#�[��$���has_neg���+�-ordered_comm_groupto_ordered_cancel_comm_monoidordered_ringto_ordered_comm_group�2!add_monoidto_has_zeroadd_groupto_add_monoidadd_comm_groupto_add_groupordered_comm_groupto_add_comm_group����GV���
���n�����neg_def�
������!���
�V��������]to_has_neg����neg_nonneg��������mk_eq_zero�
��h₁[h₂��le_antisymm�6h#�PInfo�LAprt�Ldecl�nonneg_totalaor��G���ke�k�/na_denom	a_posa_coporimp_right���ato_partial_order��%��G��5Hneg_nonneg_of_nonpos��%le_total�to_linear_order�#%�PInfo�jIprt�jdecl�decidable_nonneg_proof_1a_numa_denom	a_posa_cop�decidableH�Y&�y�z	�{�|��]p�~e_1���W�YH&�%�PInfo�xM	decl�w�k�Y���k�k�y�y�z	�{�|eqmpr�Z�\�x%�decidable_le#%�PInfo�wM	prt�wVMR�wVMC�wM	�k�zerointdecidable_ledecl�wequations_eqn_1�k.�y�w���k=�y���PInfo��M	ATTR�����EqnL��SEqnL�wATTRinstance���wclass�}�w��decl�leab����Ghas_subsubadd_group_has_sub�add_group�PInfo��Pprt��VMR��VMC������decl��equations_eqn_1����/��������>���PInfo��PATTR�����EqnL��SEqnL��decl�has_lehas_lehas_lemk���PInfo��R	prt��VMR��_lambda_1VMR��VMC��R	����VMC��R	decl��equations_eqn_1.������=�����PInfo��R	ATTR�����EqnL��SEqnL��ATTR������class������decl�decidable_le_maindecidable_rel��ab�Y��
this������Annotshow�PInfo��T	VMR��VMC��T	������algebrasub�wdecl��equations_eqn_1ab.�Y����������=��?�����PInfo��T	ATTR�����EqnL��decl�decidable_le�����PInfo��T	prt��VMR��VMC��T	��decl��equations_eqn_1������������equations_eqn_1�PInfo��T	ATTR�����EqnL��decl��_sunfold�����PInfo��T	ATTR������classdecidable����decl�le_defabcdb0Sd0SU��ib �g�h����������������
��UG��bi��{��U$����%���g�����/���������[��GV�������n����Z��V�������f�@h����add_semigroupto_has_add�[to_add_semigroup����bV�h���&�����i�)sub_eq_add_neg��bichas_adda��e_2�e����e_3�e���nf�=h�f��fh�=%�$bb=b�/�(��fh�q%�h�?�v#�&���eAU�v%#���e�&�[�e���&�r��������#����������������8#���4�?�vh#�&����AU�vf#�����&�[�����&���������xh#����������������8h#���4��e_1���e_2���g����fhV%������9����e_2������e_3������nf��h����fh��%������mul_comm�comm_semigroup%h����Z�semigroupto_has_mulcomm_semigroupto_semigroup��������ringto_add_comm_group�ring���ringto_semiring�f����������mul_neg_eq_neg_mul_symm�fchas_neg����e_2������%����g��f��
�0h�����!���
�?����h�&�(�C�h�4���c������e_2������e_3����nf�Vh����fh�V%�g�g=�g�������NU����������g���g��U������������g����~���k�������o���}���3����g����>��sub_nonneg�����gAnnot���PInfo��Wprt��decl�le_refl�k���k
��G��{��G�����"�/�����V��_a/G����>����sub_self��le_refl�7#Annot���PInfo��]prt��decl�le_total�kb�+�����k���N�+��G������G���V�.��_a/�+G��G��������>����neg_sub��ratnonneg_total���PInfo��`prt��decl�le_antisymmabhab��hba��`%������������N��.�.�	�V�_a/`h�.�.%�>�neg_neg��eq_neg_of_add_eq_zero��%�ratnonneg_antisymm�%%�{G���-G�%��%�/�1�6�n�0�5��.�,���%�.�=��5neg_add_rev��%�=�S�A�#��4�V�4�PInfo��cprt��decl�le_transabchab��hbc�`��h���������`���`
��G����%h��%
�NG����hf�iG���.f�n�r�v��r���add_comm_semigroupto_add_semigroup�add_comm_semigroup%����h�u�.h�v�{�����������R���p���5hf�i���5%hadd_left_comm�~��%����%%�V%���u����������uadd_comm�~����neg_add_cancel_left��h�uAnnotcheckpointAnnothaveratnonneg_add�i�l�PInfo��gprt��decl�decidable_linear_order_proof_1abU
has_ltmklinear_orderlt_default�������������PInfo��k	decl��_proof_2�����PInfo�k	decl��decidable_linear_orderdecidable_linear_ordermk����ratle_reflratle_trans��ratle_antisymmratle_totalab�������decidable_eqdecidable_lt_of_decidable_le��to_partial_order�mk����������������PInfo��k	prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC�k	����VMC�r�������wVMC��k	������_maindecl��equations_eqn_1.�����=���
�PInfo�k	ATTR����EqnL�SEqnL��ATTR������class�����decl�has_lthas_lt����latticesemilattice_infto_partial_order�latticeto_semilattice_inf�lattice_of_decidable_linear_order�
�PInfo�u	prt�VMR�VMC�u	���"�!���:decl�equations_eqn_1.���=��!�PInfo�$u	ATTR����$EqnL�$SEqnL�ATTR�����class����decl�latticedistrib_latticelatticedistrib_lattice�distrib_lattice_of_decidable_linear_order�
�PInfo�&v	prt�&nspace�%VMR�&VMC�&v	���)decl�&equations_eqn_1.�'�&�*=�'�,�PInfo�+v	ATTR����+EqnL�+SEqnL�&ATTR�����&class�(�&��decl�latticelatticelatticelattice��PInfo�-w	prt�-VMR�-VMC�-w	���"decl�-equations_eqn_1.�2�-�=�2�4�PInfo�1w	ATTR����1EqnL�1SEqnL�-ATTR�����-class�/�-��decl�latticesemilattice_inflatticesemilattice_inf��4�PInfo�3x	prt�3VMR�3VMC�3x	�-�!decl�3equations_eqn_1.�:�3�;=�:�=�PInfo�7x	ATTR����7EqnL�7SEqnL�3ATTR�����3class�5�3��decl�latticesemilattice_suplatticesemilattice_sup� to_semilattice_sup�4�PInfo�9y	prt�9VMR�9VMC�9y	�-�<decl�9equations_eqn_1.�C�9�F=�C�H�PInfo�>y	ATTR����>EqnL�>SEqnL�9ATTR�����9class�;�9��decl�latticehas_inflatticehas_inf�to_has_inf�=�PInfo�@z	prt�@VMR�@VMC�@z	�3�Cdecl�@equations_eqn_1.�N�@�Q=�N�S�PInfo�Ez	ATTR����EEqnL�ESEqnL�@ATTR�����@class�B�@��decl�latticehas_suplatticehas_sup�semilattice_supto_has_sup�H�PInfo�G{	prt�GVMR�GVMC�G{	�9�Kdecl�Gequations_eqn_1.�Y�G�\=�Y�^�PInfo�M{	ATTR����MEqnL�MSEqnL�GATTR�����Gclass�I�G��decl�linear_orderlinear_order�to_linear_order�
�PInfo�N|	prt�NVMR�NVMC�N|	���Pdecl�Nequations_eqn_1.�d�N�g=�d�i�PInfo�R|	ATTR����REqnL�RSEqnL�NATTR�����Nclass�O�N��decl�partial_orderpartial_order��=�PInfo�S}	prt�SVMR�SVMC�S}	�3�decl�Sequations_eqn_1.�o�S�p=�o�r�PInfo�V}	ATTR����VEqnL�VSEqnL�SATTR�����Sclass�T�S��decl�preorderpreorder���r�PInfo�W~	prt�WVMR�WVMC�W~	�S�decl�Wequations_eqn_1.�x�W�y=�x�{�PInfo�Z~	ATTR����ZEqnL�ZSEqnL�WATTR�����Wclass�X�W��decl�le_def'pqU�� ��num��denom�������\�]{��U��V���� ���������������/�����V_a/U�` ����������U�_ ��������>���������num_denom{��U��V������ ���������������/�����V_a/U�_�� ��������U���� ��������>����������{�������/���������>�������[�������l����chas_mul����e_2������e_3�����nf�		h���		%�����c�ge_1�e�f����������_inst_1has_lift_t	a	�k	e_2���	�%������g�ge_1�e�f	�����������	�����	%���������	;�����	E�����/����>��ratle_def��������{S�����/�	m�	o�[�	m�A���	oc�����e_2������e_3���UPnf�	yh�`�	y%Q#�@���@#intcoe_nat_zero�����o����	u�	o�G���pos{S�����/�	��	��[�	��A���	��	������o����	��	��G���	��PInfo�[�prt�[decl�lt_defpqU���!R�����w�x{�	�Uand����y���	��/�	��	�������y_a/U�	�R����U�	�>�	��	���	��	�lt_iff_le_and_ne�r{�	�U�	����	��	��/�	��
����_a/U�	��	��	��	�U�	��

�	�>�	��������ratle_def'��	��	�h�	�iffelim_right�������	���7�����v�����	��6����andintro�
+�
.�yleft���

��elim_left�

�
.�
$U�����������U�
A�
Enot_iff_not�
A�
E���decidable_eq�����eq_iff_mul_eq_mul�yright���

��	��
6���

�
9�
+�
.�
>�
&�
/�
4�
$�

�
.�
Z�
\�
+�
.�
l�PInfo�v�prt�vdecl�nonneg_iff_zero_leaU��������
���
}G����{�
��&�/�
��&�[�
��
}���&�����>���
����n�
���
��%���
��
��.���
��5���S�V�
���neg_zero��add_zero�add_monoid��
��&iff_self��trivialAnnot���PInfo���decl�num_nonneg_iff_zero_leaU$���
��e���
�a_numa_denom	a_posa_cop�UH�
~5�nonneg_iff_zero_le5�PInfo���decl�add_le_add_leftabcU�����
��`������{�
�UG���
��
����/�
��
���
��
����
��
��`���
�{�
�UG�������add_comm_group���/�
���V����� �!�
��_a/UG�����%G�l�
}�>�
��add_sub_add_left_eq_sub�
�����PInfo���prt��decl�mul_nonnegabha�
~hb�4�
~�4�������4���4{�5�5�/�5�5���5_a/�
~�2h%>�5�5���5�5��5�5�
��4ratnonneg_mul%�N�
~%G%���X_a/�
~h>�X�Z�J�Z�X��Z�X�
�%�N�
~�����p_a/�X>�p���J���p����p�
��PInfo���prt��decl�discrete_linear_ordered_field_proof_1abab���	���partial_ordermk�le�
�lt�
�le_refl�
�le_trans�
�lt_iff_le_not_le�
�le_antisymm�
c���
�%�
������������?����%ratadd_le_add_left%�PInfo���	decl��_proof_2abab�����c��������i���� �!�
�add_comm_groupmkdiscrete_fieldaddratdiscrete_field��add_assoc����zero����zero_add����add_zero����neg����add_left_neg����add_comm��%������������lt_of_not_ge�i����bage�	�������not_le_of_lt�{h%�����h��h��h�PInfo���	decl��_proof_3abha������5ordered_comm_groupmk���������������������������������zero_ne_one_classto_has_zero��mk����one����zero_ne_one��hb�A�	��?�0���ringmk������������������mul����mul_assoc���8��one_mul����mul_one����left_distrib����right_distrib��%�������A���Alt_of_le_of_ne�r�?�nratmul_nonneg%�z�{��%�~nesymm�0no_zero_divisorsto_has_mulintegral_domainto_no_zero_divisors�integral_domain%����to_has_zero��mul_ne_zero��%���?%ne_of_lt�{�?%�����PInfo�ϝ	decl��_proof_4��������ordered_ringmk�����������������R�V�8�[�_�c�g����������������<�y�����8of_as_true��has_ltltdecidable�
���8�
��PInfo��	decl��discrete_linear_ordered_fielddiscrete_linear_ordered_fieldmk�����������������R�V�8�[�_�c�g�����������������<�y���le_total�
����inv����mul_inv_cancel����inv_mul_cancel����mul_comm���decidable_le�
�decidable_eq�
�decidable_lt�
��inv_zero���PInfo���	prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC��	����VMC�r�������wVMC���	�add���of_int�neg�mul�one��inv������	decl��equations_eqn_1.�����
%=���
'�PInfo��	ATTR����EqnL�SEqnL��ATTR������class������decl�linear_ordered_fieldlinear_ordered_field��to_linear_ordered_field�
'�PInfo�
�	prt�
VMR�
VMC�
�	���decl�
equations_eqn_1.�
-�
�
0=�
-�
2�PInfo��	ATTR����EqnL�SEqnL�
ATTR�����
class��
��decl�decidable_linear_ordered_comm_ringdecidable_linear_ordered_comm_ring��to_decidable_linear_ordered_comm_ring�
'�PInfo��	prt�VMR�VMC��	���decl�equations_eqn_1.�
8��
;=�
8�
=�PInfo��	ATTR����EqnL�SEqnL�ATTR�����class����decl�linear_ordered_comm_ringlinear_ordered_comm_ring��
=�PInfo��	prt�VMR�VMC��	��decl�equations_eqn_1.�
C��
E=�
C�
G�PInfo��	ATTR����EqnL�SEqnL�ATTR�����class����decl�linear_ordered_ringlinear_ordered_ringlinear_ordered_fieldto_linear_ordered_ring�
2�PInfo��	prt�VMR�VMC��	�
�decl�equations_eqn_1.�
M��
P=�
M�
R�PInfo� �	ATTR���� EqnL� SEqnL�ATTR�����class����decl�ordered_ringordered_ring�0�
R�PInfo�!�	prt�!VMR�!VMC�!�	��decl�!equations_eqn_1.�
X�!�
Z=�
X�
\�PInfo�$�	ATTR����$EqnL�$SEqnL�!ATTR�����!class�"�!��decl�decidable_linear_ordered_semiringdecidable_linear_ordered_semiringdecidable_linear_ordered_comm_ringto_decidable_linear_ordered_semiring�
=�PInfo�%�	prt�%VMR�%VMC�%�	��(decl�%equations_eqn_1.�
b�%�
e=�
b�
g�PInfo�*�	ATTR����*EqnL�*SEqnL�%ATTR�����%class�&�%��decl�linear_ordered_semiringlinear_ordered_semiring��
R�PInfo�+�	prt�+VMR�+VMC�+�	��decl�+equations_eqn_1.�
m�+�
o=�
m�
q�PInfo�.�	ATTR����.EqnL�.SEqnL�+ATTR�����+class�,�+��decl�ordered_semiringordered_semiring�.�
\�PInfo�/�	prt�/VMR�/VMC�/�	�!�decl�/equations_eqn_1.�
w�/�
y=�
w�
{�PInfo�2�	ATTR����2EqnL�2SEqnL�/ATTR�����/class�0�/��decl�decidable_linear_ordered_comm_groupdecidable_linear_ordered_comm_group�to_decidable_linear_ordered_comm_group�
=�PInfo�3�	prt�3VMR�3VMC�3�	��5decl�3equations_eqn_1.�
��3�
�=�
��
��PInfo�7�	ATTR����7EqnL�7SEqnL�3ATTR�����3class�4�3��decl�ordered_comm_groupordered_comm_group���
\�PInfo�8�	prt�8VMR�8VMC�8�	�!�Zdecl�8equations_eqn_1.�
��8�
�=�
��
��PInfo�;�	ATTR����;EqnL�;SEqnL�8ATTR�����8class�9�8��decl�ordered_cancel_comm_monoidordered_cancel_comm_monoid��
{�PInfo�<�	prt�<VMR�<VMC�<�	�/�decl�<equations_eqn_1.�
��<�
�=�
��
��PInfo�?�	ATTR����?EqnL�?SEqnL�<ATTR�����<class�=�<��decl�ordered_comm_monoidordered_comm_monoid�,�
� �PInfo�@�	prt�@VMR�@VMC�@�	�<�decl�@equations_eqn_1.�
��@�
�=�
��
��PInfo�C�	ATTR����CEqnL�CSEqnL�@ATTR�����@class�A�@��ATTRreducibility��ratledecl�num_pos_iff_posaUS���	����Hlt_iff_lt_of_le_iff_le�K�i��#��{U�����K��#������U ��#�����/�
��
�>�
��NU$���-�
~�-�
���
��
��[�
�$�����������l##�o#�
��
�e�Hthis�
����������a_numa_denom	a_posa_cop�JU$���>�
~�>�o�����num_nonneg_iff_zero_le�-������
�����
��
�����	����*�
����
������!�
����
����,����
�
��
��PInfo�G�decl�div_lt_div_iff_mul_lt_mulabcdb_pos��d_pos��U�	�has_divdivdivision_ring_has_div'�division_ring����cast_coe�����has_one��f�Bh�2�B%�BR�g���Q�R�S�T�U���V��{�PU�	����	��{�F�K���Y�K�F�	��
)�g�����
)���g�/�P�i��L�`�����{�F�K�`lt_iff_le_not_le�{�F�K�O�h����g���h�v�7�g��and_congr�[�_�c�g{U�[�c�&�/���&�[��U�����&��[���[�[�Yib����������e_2�e����e_3�e�;��nf��h�ffh��%�X�Fi��FV����C����E�����C���Ei�div_num_denom�C�E����f������has_oneone�has_onef�	��f�coe_int_numf����������#���������@���������	nathas_one���	;�����coe_int_denomhintcoe_nat_succ���@#�	������o��zero_add�add_monoid��mul_one�monoidf��h�������hh�	�����������������������	;������f�������h��hone_mul�h�Kb��KV����H����J�����H���Jb���H�J���@%���@���%�	�<%��%�?�����?�����Y�����Y�����	;�>����������
%�F���F��	�C�����C�����w�����w�����	;�B����%������E���3������	hfh%�c��>������&�
����
�not_iff_not_of_iff�^�f{U�^�f�&�/���&�[��U ���g���&��^���[�^�Ybi�����Kb���Fi�7���bi���	h%fh�f��>������&�
����
��PInfo�P�decl�lt_one_iff_num_lt_denomqU�	����=R�����rordcases_on�
����
�_x�+�
���U�	���R����decidableem�
�����q_pos�
�{��&�/��&�[�U���&�����[��R�������������������ratlt_def���	��������������	�����o�������������5�����5�����	;����denom_one������
��������������	����num_one�����	��3����>����&�
���
�q_nonpos���U�&�&��
�n��&��q��monoidto_has_one�to_monoid���
q�&�(�lt_of_le_of_lt�{���~�
>�������
���not_lt�i��zero_lt_one�
q��&���&�(����7��#���
$�
���#���NU��S�����
�U������������P���
�#�������K#��������������
$��U�����
L�����decidable_lt#����num_pos_iff_pos��{��#���	o�/���	o�[�����@���	o�	���#�@�	������	��	��	����&�PInfo�q�decl�abs_defq`abs�
�V����������
��
���_x�+�
��`�V������G�i��hq�
�{�`���,�
�decidable_linear_ordered_comm_groupto_add_comm_group�
���/��,�V�_a/`�V�����`�7>��*abs_of_nonpos�
�{�,�+V�
����/�,�M��_a/`�)�7�TV��>�,�
�intof_nat_nat_abs_of_nonpos���N ���#���b!���semiring����h�j��_a/ ���c���r>�e�jzero_mul�h���N �����t�v��d�e�����~to_semigroup��������_a/ �����s �s>�����H�N�
���V#������������_a/�
�V������>����������	j#���?�	m�	o�+���	�����N�������V��_a/������>���������N������_a/�
����
�>������{�M�+�����/�M���V�L_a/�TV�������T>�M�������L������{���+���/����V��_a/�T�����T�->�����V�*hq��#�d���.�&�@abs_of_nonneg�
�{�&�d���/�&�4�R_a/���7���X>�&��intnat_abs_of_nonneg���N �d�� �j���q_a/ �s������>�E�j���N�D���E��_a/�J���J>�V���H�N�
������V��������_a/�d��>�e�V��i�V�	h#�����������N����e��_a/����
���>�~�����N��~��_a/��>������{�4�d�/�4���_a/������>�4���V�PInfo���decl�sqrtq��Vintsqrt���natsqrt���PInfo���VMR��VMC��	���
natsqrtintof_nat
intsqrt�mk_maindecl��equations_eqn_1��`�������V���PInfo���ATTR�����EqnL��SEqnL��decl�sqrt_eqq`���2���{��`V���������������/�����V��_a/`���2��:�>��������{��`V����������/�������_a/`V��������������`V����>�����mul_self_num{��`������	�has_mul������/���"�	��_a	/`V��������`�+����>����mul_self_denom{�"`����/�"�C���_a/`�+���������`�W�L�>�"�
intsqrt_eq��{�C`���/�C�a�'�_a	/`��L�`���>�C��natsqrt_eq��{�a�`��/�a�{�V�_a/`����>�a��abs_def�V��PInfo���decl�exists_mul_selfxUExistsq`��`�2�����������_x��_a������Existsdcases_on	����%������`�2��%��%wh���
�`�2��h��h{��`�2�������/�����Vh_a/`�2��f��f��>��������h{��`�2�����/�����V��_a/`�2���:��������>����sqrt_eq{��`�0����linear_ordered_comm_ringto_integral_domain�
E���/����V����
��_a/`�2�2�2���:��>����abs_mul_abs_self�
=�V��h����intro	�����PInfo���decl�sqrt_nonnegq�
~�����G���3�
����?G��$���!�����?S�����+���.��H������	o����natpos_iff_ne_zero���	������������natsqrt_eq_zero���
��PInfo���EndFile