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���L�initlogicbasictacticcoredataoptiondefs�>�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_assocdeclauto_cases_athexprbooltttacticstring~id_rhs monadto_has_bindinteraction_monadmonadtactic_stateFinfer_typet'FwhnfFtransparencysemireduciblet'	use_casesbool_aexprcases_on�anat�level'�namea_1list*iteeq-namemk_string
Stremptynameanonymousnamehas_decidable_eq39%045
Strpempty8=EA045
Strfalse8=NA045
Strunit8=WA045
Strpunit8=`A'�-a_1-a_2'�-a_1-a_2binder_infoa_3'�a_1 �3(+a_a-a_a_1/045
Strulift8=�A045
Strplift8=�A045
Strfin8=� ��$'�*'a_1_a-a_1_a_1/'a_1_a-a_1_a_1-a_1_a_2'a_1_a-a_1_a_1-a_1_a_2sa_1_a_3'a_1_aa_1_a_1 �3�$'�*'a_1_a_a-a_1_a_a_1/'a_1_a_a-a_1_a_a_1-a_1_a_a_2'a_1_a_a-a_1_a_a_1-a_1_a_a_2sa_1_a_a_3'a_1_a_aa_1_a_a_1 �3�$'�*'a_1_a_a_a-a_1_a_a_a_1/045
Strzero5
Strhas_zero8=� ���$'�*'a_1_a_a_1_a-a_1_a_a_1_a_1/045
Strnat8=� ��$'�*'a_1_a_1_a-a_1_a_1_a_1/04��=�A'a_1_a_1_a-a_1_a_1_a_1-a_1_a_1_a_2'a_1_a_1_a-a_1_a_1_a_1-a_1_a_1_a_2sa_1_a_1_a_3'a_1_a_1_aa_1_a_1_a_1'a_1_a_1_a-a_1_a_1_a_1sa_1_a_1_a_2��a_1_a_1_a-a_1_a_1_a_1��a_1_a_1_amacro_defa_1_a_1_a_1.''a_1_a_a_1_a-a_1_a_a_1_a_1-a_1_a_a_1_a_2'a_1_a_a_1_a-a_1_a_a_1_a_1-a_1_a_a_1_a_2sa_1_a_a_1_a_3'a_1_a_a_1_aa_1_a_a_1_a_1'a_1_a_a_1_a-a_1_a_a_1_a_1sa_1_a_a_1_a_2��a_1_a_a_1_a-a_1_a_a_1_a_1�a_1_a_a_1_a�a_1_a_a_1_a_1�''a_1_a_a_a-a_1_a_a_a_1-a_1_a_a_a_2'a_1_a_a_a-a_1_a_a_a_1-a_1_a_a_a_2sa_1_a_a_a_3'a_1_a_a_aa_1_a_a_a_1'a_1_a_a_a-a_1_a_a_a_1sa_1_a_a_a_2�1�;a_1_a_a_a-a_1_a_a_a_1�9a_1_a_a_a�a_1_a_a_a_1�'a_1_a_a-a_1_a_a_1sa_1_a_a_2��Ia_1_a_a-a_1_a_a_1�Ga_1_a_a�a_1_a_a_1�'a_1_a-a_1_a_1sa_1_a_2��Wa_1_a-a_1_a_1�Ua_1_a�a_1_a_1�''a_a-a_a_1-a_a_2'a_a-a_a_1-a_a_2sa_a_3'a_aa_a_1 �3�$'�*'a_a_a-a_a_a_1/045
Strprod8=�yA045
Strand8=��A045
Strsigma8=��A045
Strpsigma8=��A045
Strsubtype8=��A045
StrExists8=��A045
Strsum8=��A045
Stror8=��A045
Striff8=��A'a_a_a-a_a_a_1-a_a_a_2'a_a_a-a_a_a_1-a_a_a_2sa_a_a_3'a_a_aa_a_a_1'a_a_a-a_a_a_1sa_a_a_2����a_a_a-a_a_a_1��a_a_a�a_a_a_1�'a_a-a_a_1sa_a_2�k��a_a-a_a_1��a_a�a_a_1�'�-a_1sa_2t���-a_1����a_1�'0coe_sortcoe_sort_boolbooldecidable_eq.-Fcaseslistnil-_x�formattacticppexprhas_to_tactic_formatpp� returnhas_appendappendstringhas_append
Strcases �5to_stringoptionsmk_a �C�$?failed�*�D�-a_1/�D�-a_1-a_2�D�-a_1-a_2sa_3�D�a_1 �3�E�Ga_a-a_a_1/�Da_a-a_a_1-a_a_2�Da_a-a_a_1-a_a_2sa_a_3�Da_aa_a_1 �U3�U$�D�U*�Da_a_a-a_a_a_1/045
Strquot8=�o.prod-�u�.�vFinduction
�optionnone-_x�|�"�&pp� �-�1
Strinduction �7�Da_a_a-a_a_a_1-a_a_a_2�Da_a_a-a_a_a_1-a_a_a_2sa_a_a_3�Da_a_aa_a_a_1 �f3�f$�D�f*�Da_a_a_a-a_a_a_a_1/045
Streq8=���~�����]�|�"�&
���Da_a_a_a-a_a_a_a_1-a_a_a_a_2�Da_a_a_a-a_a_a_a_1-a_a_a_a_2sa_a_a_a_3�Da_a_a_aa_a_a_a_1�Da_a_a_a-a_a_a_a_1sa_a_a_a_2����a_a_a_a-a_a_a_a_1��a_a_a_a�a_a_a_a_1��Da_a_a-a_a_a_1sa_a_a_2����a_a_a-a_a_a_1��a_a_a�a_a_a_1��Da_a-a_a_1sa_a_2�a��a_a-a_a_1��a_a�a_a_1��D�-a_1sa_2�P���-a_1����a_1��D3	�PInfo}	VMR}_rec_3VMR}_rec_2VMR}_rec_1VMR}_rec_7VMR}_rec_6VMR}_rec_5VMR}_rec_4VMR}_lambda_1VMR}VMC���+	nexprcases_on
�����"�%�(nameanonymousdcharof_nato��r��p��stringemptystringstr������namemk_stringnamehas_decidable_eq	"���d��n��a��������������	7���a��m��g��i��s������������������	V���a��m��g��i��s��p��������������������	z�
��e��p��y��t��b��u��s����������������������	����s��t��s��i��x��E��������������������	��	��m��u��s��������������	����r��o������������	����f��f��i��������������	������
�����VMC����	��_fresh�d��
����������������t��f��i��l��u������������������	'����t��f��i��l��p������������������	F����n��i��f��������������	[]����
_behkn��������������������
psvy|�z�}����������������
����d�g�j�m�p�s�v�x�x��o��r��e��z��_��s��a��h����������������������o��r��e��z����������������	���b��
����N�Q�T�W�Z�]�`�b�b��t��a��n������������
��	���L��
����8�;�>�A�D�G�J�L�L��t��a��n������������o��r��e��z��_��s��a��h������������������������	�3�5�6�L�L�L�L�L�L�L�b�b�b�b�b�b�b�x�x�x�x�x�x�x����������������������VMC���	����
���������y��t��p��m��e������������������	'���y��t��p��m��e��p��������������������	K���e��s��l��a��f������������������	j���t��i��n��u����������������	����t��i��n��u��p������������������	���������VMC���	a����_fresh�e���
y������D�D��q��e������������	#�Dwtacticinduction	*r�9�7	0koptionsmkformatto_string ��n��o��i��t��c��u��d��n��i������������������������stringappendp	w�D�D�D�D�D�D�DVMC���	������_fresh�ei��
��������D�D��t��o��u��q����������������	(-�D���	4|�9�7	:u���� ��n��o��i��t��c��u��d��n��i��������������������������z	��D�D���D�D�D�DVMC��>	������_fresh�e?��
 &,28�D�D�D�D�D���D�D�D�DVMC��>	������_fresh�c���
 &,28�D�D�D�D�D���D�D�D�DVMC��J	����_fresh�j���_fresh�j���_fresh�j��0_main		���1	D�9�7	=���� ��s��e��s��a��c������������������BVMC}#	s~tacticinfer_type	tacticwhnf	
�����declauto_cases�Flocal_contextl�.tacticsuccesseslistmaphauto_cases_atlistreverseresults�unitwhen�listempty��,?fail�$stringhas_to_format
Str`auto_cases` did not find any hypotheses to apply `cases` or `induction` to_x�$�-stringintercalate
Str, 3
�PInfo��/	VMR��_lambda_1VMR��VMC��/	αVMC����/	��tacticlocal_context	��listreverse}��map_main��	��o��t�� ��`��n��o��i��t��c��u��d��n��i��`�� ��r��o�� ��`��s��e��s��a��c��`�� ��y��l��p��p��a�� ��o��t�� ��s��e��s��e��h��t��o��p��y��h�� ��y��n��a�� ��d��n��i��f�� ��t��o��n�� ��d��i��d�� ��`��s��e��s��a��c��_��o��t��u��a��`����������������������������������������������������������������������������������������������������������������������������������������������������������stringhas_to_format����empty_main�����when	���� ��,����������intercalate����doc��Applies `cases` or `induction` on certain hypotheses.EndFile