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�VdC#inittacticbasicalgebragrouphom�@nexport_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}traversedeclis_conjuα�_inst_1groupab����Existsceqhas_mulmulsemigroupto_has_mulmonoidto_semigroupgroupto_monoidhas_invinv�to_has_inv�PInfo�VMR�VMC�����decl�equations_eqn_1�����eq��+����eqrefl6�PInfo�ATTR_refl_lemma���EqnL�SEqnL�declis_conj_refl���a2���Existsintro�U "has_oneone�to_has_oneeqmprhsj "jms{id1~�eqrecuu_a1MUUceR\�MV�>~one_mulhl�m�j�1���{_a1MU�M�>�jone_invl�m�1����_a1M��M>�mul_oneheqrefl�PInfo�ATTRrefl���REL�declis_conj_symm���aba62�����6�dcases_on������ �"���2�a_wa_h�	id_rhs��������! �"���K��- �"��l�������@�6�5�6�8�@�A�@�@�6�D�1�G�Q��_a�1��!�!�(�(�X���!�Y�\�>�G�Leqsymm��Ll�Q�8�A�@�L�D�1�Q�y�V�O_a�1��!�Y�!�!��X�\���>�Q�wmul_assoc��>�6�L�Dl�y�8�A�J�1�y���V�v_a�1��Y�!���\���a�>�y�Jmul_inv_cancel_right���J�6l���8�1�����V��_a�1��Y�����>��inv_mul_cancel_left�����PInfo�ATTRsymm���REL�declis_conj_trans���abc��
��2���������
���������!�"��)���2���a_w�a_h������	�������
� �"�����2����2�����a_w_1��a_h_1��
��#�%�%�%�%�#�.� �%"�%�#�K�#�:�#�#�#�#�l�#�F�F�H�� �#"�#��H��T�F�G��Q�1�U�[��#�_a�#1�&�.�.�.��5�c��i>�U�Z�l�#�Z�l�[�T�F�G�F�F���Q�Y�1�[���`�_a�#1�i�.�b���5�i�.�b��>�[��s��l���J�M�F�~�Y���1�����`�R_a�#1�i�.�b�.�.��5���&�f��>����mul_inv_rev�#�l���J�G�{�F�������1����a�#��%e_1a
�e_2congr�����congr_arg	������������eqtrans�#���G�}�������F�G�|����chas_mul�#��%���e_2��������e_3���������������E�L�����#�D��������#���-�|���(�3�����,�������������G�F�{���~�Y���I�F�G�K�Y�N�(���Q�>��K�B�~�Y�Y�3�Y�-�K�Y�>�M�����M�{�F�J�Y���A�J�Y�(�3�j���,���~�Y�3���PInfo�ATTRtrans���REL�declis_conj_one_right���aiffEj�j����intro����la��M�true�1�����	��xx�������axce������a�M�����imp_congr_ctx_eq���������������MUV�]���jpa��e_1eq	��	�������funextx���������e_1�����e_2����������������������V]���a��e_2�8�����e_3��
�#�#�?���$��#��#�%��$T���R]]�]mul_right_inv�D_h��>��propext���x������exists_imp_distrib����forall_congr_eq�������������j�����������������>��_h����������������������!���#�J��J���#��#��J����[�z��eq_self_iff_true�[�p��forall_true_iff���[������triviall���4����1�������������������������>��_h���������������e_2������e_3�!�~2�#��������#������D���[�������iff_true_introGis_conj_refl��[�����������PInfo�ATTRsimp���declis_conj_one_left���a��Fj�����ifftrans�����
�����is_conj_symmj�"jAnnotcalc
is_conj_one_rightAnnot��PInfo�ATTR����declconj_inv���abM\^UV\]����l�:MU\]\W�9�1�:�E��4_a1%%�L%�O�V>�:�C��W]l�EM�AU�6]�9�1�E�m�J�B_a1%�O%�M�V�t�V>�E�j�bl�mMV�j�9�1�m���J�@_a1�t�S�O�V���V>�minv_invl�������1�����J�9_a1�L���V��>������S�6]�D���PInfo�
!ATTR����
declconj_mul���abc�P�L�O�L�O�����l���N�O���1�������_a1�������������������>���������L���O�O��������O�
�l���is_associativeassocsemigroup_to_is_associative�P���O�
��	�O�O����
���
�����0�
��"�/��)�.���.�L���"���B�)�P�A��P�P�A�"�N�N�O�O�)�M�M���M���O��A�P��P�A��O�����C��C��a����Z��
���'�x������inv_mul_cancel_rightl���N�O���1��������_a1����������>�������M�Ol���L�������1��������_a1����������>��������l�����L���O�1��������_a1�����������>���������Ol�������1��������_a1�������������>�������O�����PInfo�&ATTR����declis_conj_iff_equ_1α�!_inst_3comm_groupab��is_conjcomm_groupto_group��"��#��%�&����_x�_a��������������������=�����9�+�����/w�h�J����l�Z�Y�0��2��4��6�����f��A��C��b�1�Z�p��_a�1������y>�Z�o���ol�p�Y�]�^comm_semigroupto_semigroup�comm_monoidto_comm_semigroup��(to_comm_monoid�����n��1�p���v������n_a�1�y�0���2���4���6����������A���C�����|>�p��mul_right_comm�����nl���Y��has_oneone����c��1�����v�g�n_a�1�y�����������������������y���>����mul_inv_self��bl���Y��1�����v�f���_a�1�y��������������|>���one_mul��c����h�l�,�*�1�,�%�u_a1�R�P>�,��)�PInfo� ,ATTR���� declis_group_homis_conj�v�β�@�_inst_2groupf�_inst_3is_group_homa�b�����is_conj����A�C��D�B�F�D�G�E�M�G��H���P�����������d�������Q�����a_w��a_h�m�������#��#��#��#��#��������#��#��������l�~�����������������������������������?�@�A�B�������1��������_a�1���������������������>����������is_mul_hommap_mul�#������is_group_homto_is_mul_hom�#������l��������N�O�����1��������_a�1�����'�(�)�*��������	
��>����������is_group_hommap_inv�#������l��������������1���	+����_a�1��	
��2�3������>���	)���	)��������l�	+�������1�	+�	K�`�	(_a�#1���	�	�	3������>�	+�����PInfo�?/prt�?EndFile