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�^.~�inittacticbasiclogicrelator���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}traversenspacerelationdecl�compu_1u_2u_3α�β�γ�ra�pac�������Existsband�PInfo�VMR�VMC��������decl�equations_eqn_1����������eq�����������eqrefl/�PInfo�ATTR_refl_lemma���EqnL�SEqnL�decl�comp_eq����r��eq��relationcomp����DfunextxFPafunext�INbpropextINiffintroru_xr_aINExistsdcases_on�N(�I(N�wh�anddcases_on(N����(h_left�h_rightNid_rhs_x	��(eqsubst��(hu�intro���intro~rfl�PInfo�decl�eq_comp�����DH�����DY�a_��hbj��uw�u_x�_a���(�(����((�(��(�����(��,�/�h_left�,h_right��_x
�����8�;��symm�8�hu���"���rfl�PInfo�decl�iff_comp��r�C��F�iff���t
this%ab�|&
eqmpr�u�	�z�|����&id&����eqrec���|_a��&�u���z�|����:��&��������&���������_a��&����&��:���eq_compeqrefl��AnnotcheckpointAnnothavefunext����|&a����|&biff_eq_eq�PInfo�decl�comp_iff��r���u����|����
���
���u������|���&��&��
��_a��&�u������|��:�&���
����&�
�'�����_a��&��&�:�
�comp_eq����Annot�Annot����PInfo�"decl�comp_assoc���u_4������p�Mq�M��(���(+�(������K��M��M��Mfunext(�(���X�ea(funext��Q�'�(�Z�(�_(dj�Q�('��(�Z���_�(w����_x��_a�Q��('�������'�8��(���Q�8��'�8��(�Z���8���_�8��(������'���8���/����/�Z
���8��_�����8��(h_left��h_right�7����������8�'�����8���Z������_������8���h_left_w��h_left_h����������"�Z����_�(�������8�h_left_h_left�h_left_h_right��(��&��&����_�&�(�������&�F�����_�&�(������8�"�(��(��������������8_x��_a�Z��(�_��(���������Z�8��(�_����Q��������������_���8��(������Q�����8'���������(h_left��h_right����������8�:��_��������(�Q�����'�������8���h_right_w��h_right_h������8�������Q�&��'�&�(��������8�h_right_h_left��h_right_h_right�����"�(��('�=�&�����^�Y�
�'�=�&�(��������8�I��&�<����L�����PInfo�&decl�flip_comp���������a�flip$#%'�flip%flip%�����funext��I�U�fcfunext��L'�W�[�aaj�L(-�W(�[�a(w����_x��_a�L��}����(���L�(���W����[���a��(���������.������W��8���[�8���a���8�(h_left��h_right�6(�������[�������a�����8��������[���8���a�����(_x��_a�W(��[(�a�(����������W(���[�(�a���L����(����2��[��(�a�8����T�[�L�������(h_left�Th_right���������8��9����q��(���PInfo�.decl�map���������Kr�Mf�g���������K��M������cd��a��b��.�����Z�PInfo�8prt�VMR�	VMC�		���������decl�equations_eqn_1���������K��M��������������(�������K��M������������PInfo�8ATTR����EqnL�SEqnL�PInfo�refl_trans_gen>
ind��r�CaCe_1e_2bc���(�(ih���n����������refl��������tail���������������������������������������(����(��6��rec����(�decl�drec��������h����������������������6����������������0��5��D������(�������(��_��������������_h�����8��_�������8���PInfo�>
ATTRreducibility���auxrec�prt�decl�drec_on��������0������1��(����S�����y�7���8���������0�����������W_�X������^��`��g_�k��o�PInfo�">
ATTR�!���"auxrec�"prt�"decl�dcases_on��������0���������(���������6�7�8����������0������������������^��`��g_�k���PInfo�%>
ATTR�!���%auxrec�%prt�%decl�rec_on����������������(������������y������������������P�PInfo�'>
ATTR�!���'auxrec�'prt�'decl�cases_on����������������(���������6�������������������������^��`��y��PInfo�(>
ATTR�!���(auxrec�(prt�(gind���prt�recnspace�doc�`refl_trans_gen r`: reflexive transitive closure of `r`ATTRrefl���refl_trans_genreflREL�,declrelationrefl_trans_gencases_tail_iff��������|�.or������������w�.�#a_1�.relationrefl_trans_gendrec���1����"��(�(�(orinl�����2�Zeqrefla_1_ba_1_ca_1_a��a_1_a_1��a_1_ih��*(�����]��5inr�����������8���9�U��j��]�a_1�#�0drec��F��G�[�?������1�?���������?��������?������a_1_wa_1_h�����/�B��/�Sa_1_h_left�a_1_h_right�7�:(�PInfo�/DPInfo�refl_genG
ind��r��aCe_1��e_2b���n�E�(���E����Erefl��F���G���Esingle��F���G�K�u����F���G�H�I���J����F���G�H�I���J���K��u�decl�Edrec���F���G�H�h���I���M��J�K�����N9(��L���E��F���G�H���I���J���L���Erec9�(���P����(��_���(�K���_������PInfo�OG
ATTR�!���Oauxrec�Oprt�Odecl�Edrec_on���F���G�H����L���I�����J�K(��������(���F���G�H����L�4�I�8�J�A�_��K���_�"��PInfo�TG
ATTR�!���Tauxrec�Tprt�Tdecl�Edcases_on��I�Z�PInfo�WG
ATTR�!���Wauxrec�Wprt�Wdecl�Erec_on���F���G�H��L�4�I���J�K(��9�����F���G�H��L�4�I���J�\��PInfo�XG
ATTR�!���Xauxrec�Xprt�Xdecl�Ecases_on��d��F���G�H��L�4�I���J�\�f�K���u�PInfo�YG
ATTR�!���Yauxrec�Yprt�Ygind�E�M�Nprt�Erecnspace�Edoc�E`refl_gen r`: reflexive closure of `r`declrelationrefl_gen_iff���F�����|���u��F����w����a_1��relationrefl_gendrec���]���5��E��Oa_1_ba_1_a��]�4��a_1������c������c��������6�c����PInfo�\KPInfo�trans_genN
ind��r��aCe_1b��te_2bc��d�(���n�����d����dsingle��e���f�i�u���dtail��e���f�k�l���������e���f�g�h���j���i������e���f�g�h���j���k�l(����(����drec����(�decl�ddrec���e���f�g�h���h�i���t�n��j�k�l������ih�6���o=�����m���E��e���f�g�	�h�	�j�	"��m�����(���r����(���i���_��������k��l���	8��`�s_h�����8��f_�������8�p�PInfo�qN
ATTR�!���qauxrec�qprt�qdecl�ddrec_on���e���f�g�	��m���h�i�����	�(�j�k(�l���	0����s���y�	���8����e���f�g�	��m�	X�h�	`�j�	n�	4�i���_�	8��k��l���	8��`�s�	A_�	E���PInfo�wN
ATTR�!���wauxrec�wprt�wdecl�ddcases_on���e���f�g�	��m�	X�h�	`�j�k(�l���	a����6�	�8�����e���f�g�	��m�	X�h�	`�j�	��	z�k��l���	8��`�s�	A_�	E���PInfo�zN
ATTR�!���zauxrec�zprt�zdecl�drec_on���e���f�g��m�	X�h�i�����j�k(�l���	a�����e���f�g��m�	X�h�	��j�	��	-�PInfo�|N
ATTR�!���|auxrec�|prt�|decl�dcases_on���e���f�g��m�	X�h�	��j�k(�l���	a�����e���f�g��m�	X�h�	��j�	��	��i������k��l���	8�
�PInfo�}N
ATTR�!���}auxrec�}prt�}gind�d�n�oprt�drecnspace�ddoc�d`trans_gen r`: transitive closure of `r`declrelationtrans_gen_iff���e�����|�		�u��k�	X��e����w�		�	�a_1�		relationtrans_gendrec����������6�k(���:a_1_ba_1_a��B���
a_1_ba_1_ca_1_a��a_1_a_1��a_1_ih�����k��	7�X�]���b�k����8���h�m�
 ��	7�sa_1�	�����F�k�	��[�����
:�	�����	���
:���k��������
G��a_1_wa_1_h�
F����/�����/�	0a_1_h_left��a_1_h_right�7�	(�PInfo��RATTR�*���refl_genreflREL��decl�refl_gento_refl_trans_gen��r��ab������������������Wt_1���H_1�WH_2heq������������������
s�����(�S������
s���
���(��X�1�(�Ca_ba_a����
r������������
s�!(�"������e��������
s��
��<��](�:�(�1����Nheqrefl���PInfo��Vdecl�refl_trans_gentrans������abchab��hbc�0�������������������
��+(��(�����hbc_b(hbc_c�hbc_a�Rhbc_a_1��hbc_ih�e���b���������������(���"(�7�������PInfo��\ATTRtrans����REL��decl��single����������habu�������������u�7�1�PInfo��cdecl��head������������hab��
���������������hbc�
��
��7(�1(��PInfo��fdecl��cases_tail������������.���Fc������������mp�.�#��cases_tail_iff�PInfo��mdecl��head_induction_on��������Pa��,ah��refl��heada(c�h'�h�\���6�r�refl_trans_genhead���8������������b�����d�������w�+�(������R�������d���1�8����������������������(��#(�j�(����������R���1����������8�������i�������j����8h_b�h_c�h_a�\h_a_1�`h_ih��������i�����1���������������������(��������j�=�&�8�8��������
������1��������������������&�(�������j��=�8���������������������&����=�&�8���8�1�=�&�8���������������������j�(�(�����=�����=�8����1��=�8����������������!��������j��(����������������@�����1�!����������C���C�����������j������!hab����!�(�.�7�C��&�(����7�!�����Z���Y������!�����������`�C�=����7�^�`��=�e�7�f�^���j�f�^�(a�!a'�hab��hbc�������PInfo��pdecl��trans_induction_on������Pab��.abh��ih₁a�Z�;ih₂a(b�h�f���single��ih₃a�b�c�h₁�dh₂�b��������(�refl_trans_gentrans���(������������������������������
�+��������\(�
h_b�h_c�h_a�d�h_a_1�8h_ih�8����
��8����������(����(������8������=�&�������PInfo�̀decl��cases_head����������h�.��C�Fc��0������������.relationrefl_trans_genhead_induction_on�����
n��3�6��(����B���F���
n�
�h_ah_ch_h'��h_h�h_a_1��*������y�\(�]�^(�b��������m�
���s�\(�PInfo��decl��cases_head_iff��������������c���c����������)�
���cases_headh�
��5dcases_on�
k�
q���
r��rfl�
k�
����������
q������������
���ch_h�
���
�����
���hac�hcb�R�j���(�PInfo��decl��total_of_right_unique������������Urelatorright_uniqueab��ac���
����������������	������������T��g���B��b�d�ab�^bd�`IH��b��b��
��i��i����+�.��
���
��IH�+�
���������������(���8a_0��=�G����8���8�
������rfl�=���(�����������������������(�����]�����]����(����8�h�G������������������(���(e�h_h����	�����
������_�������be��ec�b���7dcases_on�=�t_1�=_x���8H_1��H_2�
s����(�(����(�8�������=��=�����8�����=�����8������������&�������
s��!�����M�!���y���y����=���8��������(�������
s�������M����B�@���@���C��8�L�8��M�=�
������IH�.�]�3�6�7������PInfo���decl�trans_gento_refl������abh�		�����������		�	����	���bh���(bch_a��bc��ab�S�<�PInfo��decl�trans_left������������hab��hbc�
���������������#���$�
��
���(�$�
��	ahbc_b(hbc_c�hbc_a�
�hbc_a_1��hbc_ih�
�'�
��(�
��)��������(�(�
��	�������PInfo�"�ATTR�����"REL�"decl�trans������������hab��hbc�	���������������+���,���trans_left(�trans_gento_refl(�PInfo�*�ATTR�����*REL�*decl�head'������������hab��f������������1�hbc�
����	(�PInfo�0�decl�tail'������������hab��hbc���������������4���5��
���(�4�7����5���
��(�5�9�5��	���hab_b(hab_c�hab_a��hab_a_1��hab_ih���8�5���	D�����5�
�8�
��9�
��:����5�����&�(��5�	�9�(�8��	�=�&�(�8(���PInfo�3�decl�trans_right������������hab����������������<��hbc���	�(��(�=���	ahbc_b(hbc_a���?��tail'���(hbc_b(hbc_c�hbc_a�	/hbc_a_1��hbc_ih�q�C�	>����PInfo�;�ATTR�����;REL�;decl�head������������hab���������������G�hbc���head'(���PInfo�F�decl�tail'_iff�����������	��b� ����������	��_h�		�zt_1�L�	�H_1�
rH_2�
s�������K��V�W(h_bhac��N�
r�
��P��Q��O�
s�	7(�	8�����8�K�8�c���Q���O�
s�
R�
R�	��(�m�K��g�:���]��
(�
�bh_chab��hbc���N�+���(�S��U�
��O�
s�	?���	?�	d(�����K���
����8�U�r(�O�
s�
�(���	���U���K���j���(��c(�8(������8�(�
��
���_x�__a�F�K�����K���W�����
J����������
Rh_left�h_right�7��{�((�PInfo�J�decl�head'_iff�����������	��b�
�����������	��h�		�	����\�	��6�[(�9�
�h_bh_a��^���U��[��������
�h_bh_ch_a��h_a_1��h_ih���[��
�
��a�
%�b�
��c�����[�����8����b���(����[���
9�C�IH�?�P���[�������d��IH_h�O��S��8�f�]�`���(�[�(�(�����had�]hdb�����U�&�[�&�&�(�
����e�����7�&�(����_x�_a�F�[�
o���[�
��j�����
J���
��
���
��
Rh_left�h_right�
���O���(�PInfo�Z�decl�refl_trans_gen_iff_eq����������hbnot���|��������������n�������|�
r����&��������_a&�|���`����:���
rj���
r������true��&����eqtrans���|�
k�
k����e_1&��e_2��congr�|�|congr_arg���|�
r�
k���
r�
lfalse�
ka�ze_1��b�|e_2���������
k�
k:�
k�
q����
q�F����p���~�Ie_1�u�(�x������
p�1�s�vx�
o��������
o��
n��z�ze_1���|�|e_2�������j���oiff_false_intro��
n�
n:�
nj�O�false_and�
nj�Fa��α�f�����exists_falsej��
kor_false�
k���
kj���
keq_commj����iff_self�
ktrivial�PInfo�m�decl�refl_trans_gen_iff_eq_or_trans_gen�������������		����������)��h�.�%t_1���2H_1�
rH_2�
s����+(�
R�����
����������
s��X�
���
�(�	0���1���
s�����<�B����d��
�ch_chac��hcb��������������
����
s�c���c��(������8�	D��������
s�
�(�
�����]��������%���8�(��
��
���h���
�������������rfl����������h�����PInfo���decl�refl_trans_gen_lift��������p��abf�ha(b����(���hab��refl_trans_gen��������������������B���G���J�refl_trans_gentrans_induction_on�(���������c��K�8��#��a���(a�b�functioncomp�����Z�K�����Z�refl_trans_gensingle�����Z��a�b�c�8_x�a�_x�h�8�����8�����6�PInfo���decl�refl_trans_gen_mono����������p����ab��
���������������������refl_trans_gen_lift�����
�id�PInfo���decl�refl_trans_gen_eq_self������reflreflexivetranstransitive�u���,�������������funext����,a�H�cbj�0�Ew���Eh���
���(�����b(c�h₁��h₂��IH�w�
���PInfo����decl�reflexive_refl_trans_gen���������������a�1�PInfo���decl�transitive_refl_trans_gen��������������abc�
	�PInfo���
decl�refl_trans_gen_idem�������u������������refl_trans_gen_eq_self��reflexive_refl_trans_gen�transitive_refl_trans_gen�PInfo���
decl�refl_trans_gen_lift'��������p��abf�Bha(b�����K�(����Q�����������������B���1hab�Jeqmp�L�M�N���Pcongr_fun�a��<�O���a�����;�M�refl_trans_gen_idem��N���refl_trans_gen_lift���������s�M�PInfo���decl�refl_trans_gen_closed����������p���ab��
������������������refl_trans_gen_lift'�����PInfo���decl�join����r��ab�c�
����PInfo���VMR��VMC�������decl��equations_eqn_1������������������������PInfo���ATTR�����EqnL��SEqnL��decl�church_rosser������������habc(�������bd����8��dhab��hac����������������������������������T����\�%����T������
�hab_b�hab_c�hab_a�^hab_a_1�`hab_ih�����b����j�����������(�8����(��(���(�����ih���(��������&�����b�(ih_h�����8������������4�8�hdb��hcb�4���a���������this�������������&�+������������������������!��U��������������������������1������������hdb_b�hdb_c�hdb_a��hdb_a_1�hdb_ih���������C��(���C���:�&��C����^���^���f�^����f�^���^�(��d���d���d����Y�d�ih���d�d���Y���Y���Y����i�Y�a�dih_h�c��l�p�8��y�|�� ������!�����������hea�yhfa�����i���
n������t_1�����"����H_1�#H_2�
s��$���(����%������&���d�������(�	����������������������`����
�
s�������(���(�������(����������'���Y�������&��������C������������
�
s�������������U�������������f������7�����f�(������C����hfa_b��hfa�����	������(�������(�
�
s���&��%�������&����������(���i���2���=����(�
�
s����E�������(�������������a_1���T�>���&�(��c��h_1�S��:�4�8��_�b��)���f��*�f�����h�f�hbc�_hac���f�2���U�h���h��+�h�����}�h���k�p�
	�h�f�����8�M���
�����a�this_h�����������������!�@��hea��hba�(�
n��!�t_1���?�H_1��`H_2�
s���^�`�8(�����f�K���������C���C����&�����
s�P���������f�^�����d���d�f��C��;�����`�C����
s���8����^�`�8�U�f���f�
��
�C����L���K�����C�C�hba_b�hba��������^(��^��^����
s���d�f����H���d�f�����Y�[��`��`�8(��
s����^���f�^����U�d���d�^�[�`���!��$�(�7�d�f�C�����M��
�����!��PInfo��� decl�join_of_single����������h��hab������������������V��������PInfo��7decl�symmetric_join������symmetric�������ab_x��_a�������#����(���������������(h_left�h_right�#��b�������m����(�
�PInfo��:decl�reflexive_join������h������������'��a�U��������h�hh�PInfo�&�=decl�transitive_join������ht�
habc����6��(����������*�(�+�0abc_x��_a�+��������r�3���������8�(��h_1�=��v�
��4�M�O����8(�������(h_1_left�Mh_1_right���_x�W�(_a�������������8��7�`�8�d�������8���8�e�����������h_1�q������8�9�~�����(����h_1_left�~h_1_right�(���_a���=�&����=�������(�<������������<���8�����(���h_1�������(�=���������=�(h_1_left��h_1_right������!���!�!��!�=�U�!�������&�������&����PInfo�)�@decl�equivalence_join������hr��ht��habc��$�����equivalence��������A���B���C�
��������������reflexive_join����symmetric_join�transitive_join�PInfo�@�Fdecl�equivalence_join_refl_trans_gen������habc�����6d(�������������L�?�equivalence_join���!�%abc�church_rosser�PInfo�K�Jdecl�join_of_equivalence����������r'��hr�hab(�������������������W���X�]�Y�`��c�����(����a_w�a_h�r��(�]�|���a_h_left�|a_h_right(���
2��right�����8�����8�������8����(����left���������PInfo�V�Odecl�refl_trans_gen_of_transitive_reflexive����������r'��hr�ht��ha(b���E��h'�k�����������c���d���e���f���i���
"(����i�[��(b�c�hab�c(�hbc�ih�B������PInfo�b�Sdecl�refl_trans_gen_of_equivalence����������r'��hr�]��`���������������p���q�]�refl_trans_gen_of_transitive_reflexiveab(���s�t(�������������	�������PInfo�o�[decl�eqv_gen_iff_of_equivalence����������h��|eqv_gen�����������v�w�"�h�"�wdrec����(�x��(�h_xh_y(h_a��h_1����(��(��(h_xh_y(h_a�2h_ih������������������J�Mh_xh_y(h_z�h_a���h_a_1���h_ih_a�eh_ih_a_1�
�������(���f(�������(���������(��8������8����=�&���8���=������������������������(�����eqv_genrel�PInfo�u�cdecl�eqv_gen_mono������r��Lp��hrpab����h��(����������������������,(��(������_�ch_x(h_y�h_a�
������������������(eqv_genrefl�h_x(h_y�h_a��h_ih������8����������h�������(��symm��8�(h_x(h_y�h_z�h_a�c(h_a_1��h_ih_a��h_ih_a_1�h������8(���m�8�(�������(���s��������&��8����x����8�����(���8�����(������trans��&������PInfo���oEndFile