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�u��initalgebraordered_ringalgebrafield���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}traversedecldiv_posu_1α�_inst_1linear_ordered_fieldabahas_ltltpreorderto_has_ltpartial_orderto_preorderordered_comm_monoidto_partial_orderordered_cancel_comm_monoidto_ordered_comm_monoidordered_semiringto_ordered_cancel_comm_monoidordered_ringto_ordered_semiringlinear_ordered_ringto_ordered_ringlinear_ordered_fieldto_linear_ordered_ringhas_zerozerono_zero_divisorsto_has_zerodomainto_no_zero_divisorsdivision_ringto_domainfieldto_division_ring�to_field�	66
666666"6$6&6(6*6,6	WW
WWWWWW6"W$W&W(W*W,W6has_divdivWdivision_ring_has_div'Wq����div_pos_of_pos_of_pos�PInfo�declinv_pos���a�	
"$&(*,4has_invinvdivision_ringto_has_inv/���eqmpr���4wdivision_ring_has_div//has_oneonezero_ne_one_classto_has_one�to_zero_ne_one_class/ideq��eqrec���_a��5U�6�6P�5Veqrefl��w�������inv_eq_one_div�div_pos�zero_lt_onelinear_ordered_ringto_linear_ordered_semiring��PInfo�
declinv_lt_zero���a���!�3�������!�3���� �_a��!3H�T��&HT����div_neg_of_pos_of_neg���PInfo�declone_le_div_iff_le�����hb4iffhas_lele6�to_has_le6F�6�6�to_zero_ne_one_class6Qw6y6P�H������A�intro�W�Zle_of_one_le_div6one_le_div_of_le6�PInfo�declone_lt_div_iff_lt�����hb�A�BH�O�V�+������A�a�x�zlt_of_one_lt_div6one_lt_div_of_lt6�PInfo�decldiv_le_one_iff_le�����hb�A�B�H�V�O�H������Aiffmpr�B�D�F9linear_orderto_partial_order6�to_linear_order6@�V�O���B78���O�V��le_iff_le_iff_lt_iff_lt66�����V�Oone_lt_div_iff_lt6�PInfo�decldiv_lt_one_iff_lt�����hb�A�BH�V�OH������Alt_iff_lt_of_le_iff_le66�����O�Vone_le_div_iff_le6�PInfo�declle_div_iff�����chcU�B�CW�EWg|��has_mulmulW�to_has_mulWs���������a���mul_le_of_le_divW6le_div_of_mul_leW6�PInfo�declle_div_iff'������hc�����������������(������semigroupto_has_mulWcomm_semigroupto_semigroupWcomm_ringto_comm_semigroupWnonzero_comm_ringto_comm_ringWintegral_domainto_nonzero_comm_ringWfieldto_integral_domainWp���(�G�W�B_aW��B�C�E�P�P
�P�P�P�P�P�PW6w�Py�P*�P,�PW�b���P���P&�P(�P�i6�o�b��(�Dmul_commW�?��G�B��F���G������_a���o�b�p�0�P�2�P�4�P�6�P�8�P�:�P�h6�B����G�propext���le_div_iffW6iffrefl��PInfo�"decldiv_le_iff������hbV�B��~���$������V�a����le_mul_of_div_leW6�a���b�k6����B���������L�M_aW���c�x�C�E����
�������������Pw��y��*��,���PW6��c��������div_le_of_le_mulW6�PInfo��%decldiv_le_iff'������hbV�����������V��3���������3�<�L��_aW��B���c�w�B���3������<�B���;���<�V����_a���B�c�����^��<��������div_le_iffW6�����PInfo�(decllt_div_iff������hc���Bi��i����������a���mul_lt_of_lt_divW6lt_div_of_mul_ltW6�PInfo�
+decllt_div_iff'������hc����i�%�������������i�D�������O_aW��B�P	�P�`6�m���y��������D������B�������������_a����������������������lt_div_iffW6�����PInfo�.decldiv_le_iff_of_neg������hcHT�B��������������a���mul_le_of_div_le_of_negW6div_le_of_mul_le_of_negW6�PInfo�1declle_div_iff_of_neg������hc������������������B����has_negnegWadd_groupto_has_negWadd_comm_groupto_add_groupWringto_add_comm_groupW�to_ringWr�/���1����7�L_aW��o�b�w6�B�c�l�=�>���1eqsymmW�1neg_negW�-��7�4��/��mul_zero_classto_has_mulWsemiringto_mul_zero_classWringto_semiringW�+�0���7�j�L�f�1_aW��B�c�l�!�P�#�P�%�P�'�P�)�P�t�z�=�>�|��=��7�hmul_neg_eq_neg_mul_symmW�+�0��j�B���/���"�$�&ordered_comm_groupto_add_comm_groupWordered_ringto_ordered_comm_groupWb�i���j���L���/��_aW���=�z�p�\�P�^�P�`�P�v6�{�B�����j��div_negWq��ne_of_gtWg��u��XYZ[\ordered_comm_groupto_ordered_cancel_comm_monoidW��jadd_monoidto_has_zeroWadd_groupto_add_monoidW��������neg_posW������B�����������i��������������_a���B�c�z�l�q�r�s���P���P�[�����������������le_negW��������B�������i�������������_a���B�Q�R�S�T�U���P����6����������%��l���������B��/�f���i����I�L�e�/��_aW��B�=�w�/����B�������Fneg_mul_eq_neg_mul_symmW�+�����G�PInfo�4decldiv_lt_iff������hc���Bi��i�������B����WW��Wa��������PInfo�A8decldiv_lt_iff'������hc���w�x�%������D������w�x�D�������O_aW��B���m6���y��������D������B�y�����������v_a����������������y���v�ydiv_lt_iffW6���y�PInfo�C;decldiv_lt_iff_of_neg������hc���w��������I���a�v��mul_lt_of_gt_div_of_negW6div_lt_of_mul_gt_of_negW6�PInfo�H>declinv_le_inv�����ha5hbV�B���W�Wq��������M5�NV���B��x�Wqq�W�W�Wq�������L��_aW��B�b��P��P�i6�$�=6�B�~�'�*����Wq���B����������B����|��_a���B�b�d��P�i�i��P��P��P�i6�'�*���*���@���J�@�l����B�B�=~����B�q�L�?_aW��B�b�U�w�'6�*�B�w�*��B~�P~�?div_eq_inv_mulWp��q�B�����q���������KWr~_a���B�w���*�]��q��������W6����PInfo�LAdeclinv_le�����ha5hbV�B����������U5�VV����B������������������_a���B�&�b�'6����������$�����������inv_le_invW6��inv_posW6����B�����������L��_aW��B���$�%���B�������division_ringinv_invWq��j�to_has_zeroW������PInfo�TEdeclle_inv�����ha5hbV�B�����������_5�`V��*�B��������)���*�6���'_a���B�c�'�=�%���>��*�4���4�'���4�'�������6�B�)�)���6�Y�L�2_aW��B�b�$�'�%�>�B�~�%�>��6�������)�PInfo�^Hdeclone_div_le_one_div�����ha5hbV�B��|���������d5�eV���������a��f�e_1�b��h�e_2��congr���BW�B6congr_arg��h��W6�B���chas_leWa�P�n��e_2��n	�n
e_3���j��C���PW��6�k���n���W6��������one_div_eq_invWq������������PInfo�cKdeclinv_lt_inv�����ha5hbV�Bi����x�����s5�tV��������PInfo�rNdeclinv_lt�����ha5hbV�B��i������v5�wV�����le_invW6�PInfo�uQdeclone_div_lt�����ha5hbV�Bi��i�������z5�{VeqsubstW_xW�B�����k�P�Q�K�P�t6����P������9_xW�B���%��6���P�T���inv_ltW6�PInfo�yTdecllt_inv�����ha5hbV�B�~��x��������5��V���inv_leW6�PInfo��Wdeclone_div_lt_one_div�����ha5hbV�B�,����������5��V������one_div_le_one_divW6�PInfo��Zdecldiv_nonneg�������C�E3�V��u~����div_nonneg_of_nonneg_of_pos�PInfo��]decldiv_lt_div_right������hc���Bi}���~����������a����lt_imp_lt_of_le_imp_leWW��g����h����Z��W��div_le_div_of_le_of_pos�PW6h��div_lt_div_of_lt_of_pos�PW6�PInfo��_decldiv_le_div_right������hc���B��������������������B���������BXY�������	��WW��������div_lt_div_rightW6�PInfo��cdecldiv_lt_div_right_of_neg������hc�������������������������h��div_le_div_of_le_of_neg�PW6h��div_lt_div_of_lt_of_neg�PW6�PInfo��fdecldiv_le_div_right_of_neg������hc���������������������	�	�	div_lt_div_right_of_negW6�PInfo��jdecldiv_lt_div_left������haUhbvhc��"�P$�P�u�B��	������	q6��������	f���	g���	m�trans�	n�	o��������linear_ordered_semiringto_ordered_semiring������������\���^���to_semiring���	�W�������6�	��	��	��	��	��	wmul_lt_mul_left���	��	��	�Winv_lt_inv���P6�PInfo��mdecldiv_le_div_left������ha�	fhb�	ghc�	m�B��	s�6��������	f���	g���	m���B������������������	s�	�6�B�	n�	o�	��	s��	�6�������	��	���	s6div_lt_div_left���PW6�PInfo��pdecldiv_lt_div_iff������d6b0�	gd0�	l�B�	r��	q�	�����&��(���W�
6�������6���	g���	���
�B�	q�
��
���
�
���
_a���B��	����
��������������w��y��*��,�����PW�
=6�
5��������&��(���
;�P�
L6W���
R��
�
���
�
�����P���
�B�	q�������	��	��	��`���to_ring���W6�
���
�
|����
t�
lW6_a����B�
5�
L�
?6�
R�B�
56�
R��
�
xdiv_mul_eq_mul_div���W6��
|�B�	q�
v�

�
���
|�
����	q��
v6_a���B�
5�
6����
;�
;�
E�\���^���`���
n���
;�PW6�
R�
U��
|�
����
��
������P�
v6���
��PInfo��sdecldiv_le_div_iff��������6b0�	gd0�	��B��	���

�

�������6���	g���	���
��B��
�
����
��
����
�_a���B�C���E���
3�
?�
B�
��
N�
Q�����
��
����
��
������P���
��B��
x�
����
���
�_a����B�
��
�6��B�
�6���
��
x�
����B��
v�

�
�����7����
�_a���B�
��
�6�����5���=�5�j���P�
v6���5�PInfo��wdecldiv_lt_div��������6hac�~hbd�bc0�"��$���
d0�
5"��$���
J��	����
��������������w��y��*��,�������P��W6�������6���b���d���j���p��������������&��(������6��W�Pdiv_lt_div_iff�������PW6lt_of_lt_of_le����"��$����6�Pmul_lt_mul���|��6W�P�PInfo��zdecldiv_lt_div'��������6hac��hbd��c0�	q�h���������6������������d0�p����lt_trans������6�Pmul_lt_mul'���|��6W�Ple_of_lt������mul_zero_classto_has_zero���^���	����|6�PInfo��~declhalf_pos���ah�4�y/bit0distribto_has_add�to_distrib�)0���K0���������'two_pos�PInfo�΂declone_half_pos���	
"$&(*,wy�T���K�U����)�U�c��half_pos�c�
��D�PInfo�քdeclhalf_lt_self������!�(���div_two_lt_of_pos�PInfo�؆declone_half_lt_one����L�n�c��half_lt_self�c�y�PInfo�ڈdecllinear_ordered_fieldto_densely_ordered���densely_ordered�J��densely_orderedmk�Ja₁a₂h�%Existsintro6a6and�~i�Thas_addadd6�6�6�)6Q�6�����
n6P�I�J�6Pandintro����H��trans_rel_right6�T������789ordered_comm_groupto_partial_order6��6A
�O6�Q�6PP������add_self_div_two6Annotcalc
��6������add_lt_add_left6C�36Annot��trans_rel_left6����add_semigroupto_has_add6add_monoidto_add_semigroup6add_comm_monoidto_add_monoid6ordered_cancel_comm_monoidto_add_comm_monoid6C���T������
���
�
��add_lt_add_right6C��Annot��
��Annot���PInfo�݋	prt��VMR��VMC����decl��equations_eqn_1����������
/������
6�PInfo���	ATTR_refl_lemma����EqnL��SEqnL��ATTRinstanced��class����ddecllinear_ordered_fieldto_no_top_order���no_top_order�J��no_top_ordermk�Ja��a'�������)��monoidto_has_onesemiringto_monoid�	��	��lt_add_of_le_of_pos��
^le_refl���PInfo��	prt�VMR�VMC���decl�equations_eqn_1����
2�
B���
o���
;�
B�
u�PInfo��	ATTR�����EqnL�SEqnL�ATTR��d�class��ddecllinear_ordered_fieldto_no_bot_order���no_bot_order�J��no_bot_ordermk�Ja�
Ha'!�
S�!�#�%�'�
O���K�add_lt_of_le_of_neg��
��
jneg_lt_of_neg_lt�������
�
��
��������
��
��
��
����
��
��
�true���
��
�eqtrans��
��
��
��
��
�chas_lt�n�n6e_2��W�n�P�n��e_3��������q�PW�
�6�����n���W6�
��
��
��
�neg_zero�
��
��
���
������ordered_cancel_comm_monoidto_partial_order��
Z����^�
[�
^�
�α_inst_1��iff_true_intro�;�<�=�
��@�	��M���^�	��	�^�
T�
V��v�trivial�PInfo��	prt�VMR�VMC���decl�equations_eqn_1����
2�
����.���
;�
��4�PInfo�'�	ATTR�����'EqnL�'SEqnL�ATTR��d�class��ddeclinv_lt_one���aha��
���&���)�*�>��?��&���?�E��_a��'�O���O��?��/div_lt_of_mul_lt_of_pos�&���#����
T�
V�	��	���
�l�
��������\�^�i�&�
������
��
������
���
��n6�nWe_2���P�n���n��e_3������������PW��6�����n���W6���~���
����one_mul�to_monoid���!�&�
�����(�PInfo�(�declone_lt_inv����h₁�h₂�%�&�w�����2��3������w�����������6�_a6�i������������6P���H��6��6R�O����������w�T��_a���������������6�O�����
�����
��
�������
���
�6�nW�n�Pe_2�����n���n��e_3������������PW�06�����n���W6�0G����6��6�������
�6�������O�
���V�(�PInfo�1�declinv_le_one���aha�C�E��
�����&���9�:�l��n����&���n�u�K_a��H��O�H�O��n��W�!��&���e�q�u������}����&�
������
��
������
��l���n6�nWe_2���n���n��e_3�����C���PW��6������������mul_one�������&�
�����(�PInfo�8�declone_le_inv���xhx0�hx���&�P����@�A��B��le_of_mul_le_mul_left6�6@�O���D�F9�
�6<�	�6�����\6�^6�	�6���O��������������l��6�nW�n�Pe_2�)�n���n��e_3�,�.�C���PW�6�;�������6�L����mul_inv_cancel6Pnesymm6I�6��ne_of_lt6F�%�PInfo�?�declmul_self_inj_of_nonneg���aba0��b0�HT�B�
���0�
����K�L�M���N�<�	��
�����integral_domainto_no_zero_divisorsW�<�Oor�C�B�"�$�&�(�to_ringW�Oto_comm_ringW�<�Cmul_self_eq_mul_self_iffW�<or_iff_left_of_imp�C�dh�d��P�q�r�s�t�Y�P�[�P���K�P�M�i��W�M�b�	k�z��'�!���#���%���'���Y���[���:���66�'���e�����������������������������
�6_a������!���#���%���'���Y���[���:���
:WW���������le_antisymm������������6���mp����������������6��6��neg_nonneg����6����'�e���������)���
���������
���������_a��������k�������������������
.������������
������
�����6�O�P6�z�PInfo�J�decldiv_le_div_of_le_left���abcha�;hcvh�b�	����]�^�_�`�&�a�'�b�)dite�'W�hclassicaldec_eq��W�h�	�ha0�4��
��
>6�
��k�������
;�C���=�E�l�����n���n��e_2���n���n
e_3������C�P�PW�T6���P�n�P�W6�T�
��
?�C����
?�
=�nW�Cchas_div���n���n��e_2���n���n�Ke_3�O�j�P�Pw�P�PW�{6�k�P�n�PW6�{�
<�P�nWW�
���Wzero_div���
;W�<�C�o�<�q6�C��66��6��6�
g���
3�C�fnot�4���=�
�6Wdiv_le_div_left�����PW6lt_of_le_of_ne���
2�n�P�!���P�n�����
3�n6W�PInfo�\�declnatinv_pos_of_natu_1α_inst_1nnat���
Rcoe�s��coe_to_lift
��coe_base
��natcast_coe��
��
Q�
��t�u�v������add_pos_of_nonneg_of_pos����
��wcast_nonneg���PInfo�r�decl�qone_div_pos_of_nat�s�t�un����y��
����t�u�����������������_a�4��&���!��������2�%�!�&�A����������qinv_pos_of_nat�PInfo��decl�qone_div_le_one_div�s�t�un��m��h���nathas_le�H�T�O����6��6��6��6S�N���O�P���Z�O�t�u�����������Oone_div_le_one_div_of_le6�b�]natcast_add_one_pos6����D�F���b�]�M���w�z�
��w�H�`�[�z��u���O�`���[����t�b��add_comm6add_comm_monoidto_add_comm_semigroup6�to_add_comm_monoid6D�`�O�]�����[�O���H���
�
�
���O�`���[��add_le_add_iff_left6C�O�`�[���D�F9:;���Q�R�S�T��6���
T6�
V6�����(to_distrib6�����z�{cast_le6���PInfo���decl�qone_div_lt_one_div�s�t�un��m��h�����has_ltH�^�c�t�u������������one_div_lt_one_div_of_lt6�b�]�r����b�]���������
���H�`�[�������������F���b�����]������H������add_lt_add_iff_left6C�O�`�[��78���������{cast_lt6���PInfo���declinv_pos'u_1α_inst_1discrete_linear_ordered_field��a�B���������discrete_linear_ordered_fieldto_linear_ordered_field�������3���>�C�����0���a�G�I���G
�1#%')+-�Q��C���>�>����>�b���c�n��F_a���a���\789:;<=>?�16IJKLMN�y��a����c�l���>pos_of_one_div_pos��3�PInfo���ATTRsimp����declinv_neg'�������0a�B�<�F�B�<�B�����0���a���������Z�`��<�l�B���������s_a���Z�v�`������Z�`������l��neg_of_one_div_neginv_lt_zero�3�PInfo���ATTR������declinv_nonneg�������0a�B�g�h�:�B�F�������0�����B�g�h������4�B�F���B�����F�B���B�������B�F�Binv_neg'�PInfo���ATTR������declinv_nonpos�������0a�B���F�B���B�����0�����B���F�B���B�B���B�F����F�B�Binv_pos'�PInfo���ATTR������declabs_inv�������0a��absdecidable_linear_ordered_comm_ringto_decidable_linear_ordered_comm_group��to_decidable_linear_ordered_comm_ring�F�E�9�����0��
h�0�9���>���
��?�G�<
����1�3�5�v�u�S�
����X�
��
��X�M�W�W�
�a��6e_1�
��n�P�n��e_2���
���W��6�
����T�W��Xeqmp�M�S���\���#�]�|�V�X�r�~�T_inst_1decidable_linear_ordered_comm_group�n6�nWe_2���������1���R�}�v���\���W���V�W�W���W���`�
�eq_self_iff_true�W�(AnnotcheckpointAnnothave��L�0�g�9�F�<�K���L����9�g�F_a����M����L��abs_div�F����0���<�K���������_a��M���\�\�S�{�V���M���V������Fabs_of_nonneg�8�Fzero_le_one�
�4�
����PInfo���declinv_neg�������0���0�E�
��
��
��
��
N�?��F�����0���2�0�Bdiscrete_fieldhas_decidable_eqdiscrete_linear_ordered_fieldto_discrete_field�B�
h���M�u�!�#�%�'��]�&�v�
����+�
��
��+�M#%�Kdiscrete_fieldto_integral_domain��6�;�
��r�(�;�n�(�u�`�;chas_inv�n6�nWe_2�����	��t�'�`�B�'�&�`#�����$chas_neg�n6�nWe_2�������%�`�
��$inv_zero�6�*�;�B�*�&�;�Z�e�v�;�B�v�D�;�P�`�q�k���=�
����;�(������,�M������\�'�*��.���J�(_a���6�����!6�#6�%6�'6��������������+���U�\�'������&���������J�v_a����Q�������I�J�����������������������M��� �!�
n�\�����������J����_a����������������div_neg_eq_neg_div�\�������PInfo���declinv_le_inv_of_le�������0abhb��h�D�F������Z[\]^_`�1W6����no�������0�������������#�x��������"���#�4�L� _aW��Q�R�S�T�U�V�W�X�Y�1�PW�!�"�f�g�;6�H�D�K��#�2�6���4�3�1���4�]�L�"_aW��D�d�L�F�F�P�Q�R�F6�K�k��4�\�V�jW��PInfo���decldiv_nonneg'�������0abha�����X�`hb����jklm�xz������0������������orelimXY����
�����lt_or_eq_of_leW���div_nonnegW�h����D�	h�	i�r�s�F�d�e�F6�D�	h�	i�K�P�3�P��PW�����������l���P�n���n��e_2���n���n��e_3�������K��C�K�PW��6���K�n�K�W6���C�����
��P�������n�P���������i�u�Pa������e_2���n���n��e_3���w�K�Kw�K�PW��6���K�n�K�LW6����66��6�����div_zero�P��6�
g�P�B���PInfo���decldiv_le_div_of_le_of_nonneg�������0abchab�hc���D���������0���������6���7mul_le_mul_of_nonneg_right�P�>6�H�����I��inv_nonneg�PW�PInfo���EndFile