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�c�L~initdatabufferparsermetaexpr���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_assocnspacetacticaliasdecl~alias_attruser_attributeunitid_rhsuser_attributemknamemk_string
Straliasnameanonymous
StrThis definition is an alias of another.optionnonedeclnameprionatpersistentbooltacticdecluser_attribute_cache_cfgmk_xlisthas_purepureapplicativeto_has_purealternativeto_applicativetacticalternativeunitstarlistnilapunitreflect#leanparser%;';leanparseralternative.
�PInfo2VMR_lambda_1VMR_lambda_2VMRVMC�2stactic_state�"VMC�2�leanparser_stateVMC�2nameanonymousscharof_nata�i�l�a�stringemptystringstr����namemk_string.�r�e�h�t�o�n�a� �f�o� �s�a�i�l�a� �n�a� �s�i� �n�o�i�t�i�n�i�f�e�d� �s�i�h�T��������������������������������������������ATTRuser_attribute��USR_ATTRdecl~alias_directddeclarationdocstringal�I�J� monadto_has_bindinteraction_monadmonadGFupdateex_envenvenvironment�add7_aIdeclarationcases_on�II7aa_1"a_2exprbooltta_3ca_4reducibility_hintsa_5Ideclarationdefnexprconstbfunctormap!applicativeto_functor!�to_applicative!listmonadlevellevelparamireducibility_hintsabbrevb�a_1"a_2ca_3taskcedeclarationthmtaskpurecnk��a_1"a_2ca_3eundefinedI�a_1"a_2c��to_definitionk_xX�set
Quote~alias_attr�.b_xFadd_doc_string�k�PInfo�5	VMR�_lambda_1VMR�_lambda_2VMR�VMC�5	alevelparamVMC�-6�Z_fresh
����_fresh
���Ideclarationto_definitiondeclarationcases_on#'�listmap_mainexprconstdeclarationdefn*��
�taskpuredeclarationthm*undefined*�environmentaddVMC�%5	sG��J�I��	user_attributeset	tacticadd_doc_stringdecl~mk_iff_mp_app_mainiffmpac�!�!cc� �!c�!�exprcases_onb�!c��a_1�?failcJstringhas_to_format
StrTarget theorem must have the form `Π x y z, a ↔ b`a_1|�a_aa_a_1!|�a_aa_a_1a_a_2c�a_aa_a_1a_a_2binder_infoa_a_3c�a_aca_a_1c��3c���3��3|�a_a_aa_a_a_1��a_a_aa_a_a_1a_a_a_2c�a_a_aa_a_a_1a_a_a_2�a_a_a_3c�a_a_aca_a_a_1c��>c���>��>|�a_a_a_aa_a_a_a_1�iteeq�	
Striffnamehas_decidable_eq����$&uTccoe_fncexprhas_coe_to_funb�&�&ng2|�i�has_zerozeronathas_zero�a_a_a_aa_a_a_a_1a_a_a_a_2c�a_a_a_aa_a_a_a_1a_a_a_a_2�a_a_a_a_3c�a_a_a_aca_a_a_a_1c�a_a_a_aa_a_a_a_1�a_a_a_a_2c�@�Ja_a_a_aa_a_a_a_1c�Ha_a_a_amacro_defa_a_a_a_1!c�a_a_aa_a_a_1�a_a_a_2c��Za_a_aa_a_a_1c�Xa_a_a�Pa_a_a_1�Q�a_aa_a_1�a_a_2c�a_aa_a_1�a_a_2ca_a_3c�qs�ccexprlambk��
�RecFn��7n�&ohas_addaddnathas_add7has_oneonenathas_oneexprvarb7a_aa_a_1c�fa_a�Pa_a_1�Q��PInfo�B	VMR�_lambda_1VMR�VMC�}C?�n�_fresh
���exprvarnataddexprappVMC���B	aG�!��!c� exprcases_on
�����������������a�_c_1r�_c_2e�_c_3t�_c_4 �	_c_5h�
_c_6o�_c_7m�_c_8`�
_c_9
b�	�!��		,�z�	y�	x�	���
	f�	
	v�
	s�u�	
	g�T����������������������������������������������������stringhas_to_format�%
a�_c_10r�_c_11e�_c_12t�_c_13 �	_c_14h�
_c_15o�_c_16m�_c_17`�
_c_18
b�	�!��		,�z�	y�	x�	���
	f�	
	v�
	s�u�	
	g�T�������������������������������������������������������%
a�_c_19r�_c_20e�_c_21t�	_c_22 �
_c_23h�_c_24o�_c_25m�
_c_26`�_c_27b�
�!��

,�z�
y�
x�
���

f�
	
v�
	s�u�


	
	g�T�������������������������������������������������������%a�_c_28r�_c_29e�	_c_30t�
_c_31 �_c_32h�_c_33o�
_c_34m�_c_35`�_c_36b��!��,�z�y�x����
f�	
	v�
s�u�	
	

	g�T�������������������������������������������������������%a�_c_37r�	_c_38e�
_c_39t�_c_40 �_c_41h�
_c_42o�_c_43m�_c_44`�_c_45b��!��,�z�y�x����	f�


v�
s�u�
	


g�	T�������������������������������������������������������%
��
�����������	���������a�_c_46r�_c_47e�	_c_48t�
_c_49 �_c_50h�_c_51o�
_c_52m�_c_53`�_c_54b��!��,�z�y�x����
f�	
	v�
s�u�	
	

	g�T�������������������������������������������������������%
��a�_c_55r�_c_56e�	_c_57t�
_c_58 �_c_59h�_c_60o�
_c_61m�_c_62`�_c_63b��!��,�z�y�x����
f�	
	v�
s�u�	
	

	g�T�������������������������������������������������������%
��a�_c_64r�	_c_65e�
_c_66t�_c_67 �_c_68h�
_c_69o�_c_70m�_c_71`�_c_72b��!��,�z�y�x����	f�


v�
s�u�
	


g�	T�������������������������������������������������������%��a�	_c_73r�
_c_74e�_c_75t�_c_76 �
_c_77h�_c_78o�_c_79m�_c_80`�_c_81b�
�!��
	
,�z�
y�
x�
���

f�

v�	
s�u�


g�
	T�������������������������������������������������������%��a�
_c_82r�_c_83e�_c_84t�
_c_85 �_c_86h�_c_87o�_c_88m�_c_89`�_c_90b��!��
,�z�y�x����f�
v�

s�u�

g�
T�������������������������������������������������������%
����
�	��
������
�����������a�	_c_91r�
_c_92e�_c_93t�_c_94 �
_c_95h�_c_96o�_c_97m�_c_98`�_c_99b�
�!��
	
,�z�
y�
x�
���

f�

v�	
s�u�


g�
	T�������������������������������������������������������%
��a�	_c_100r�
_c_101e�_c_102t�_c_103 �
_c_104h�_c_105o�_c_106m�_c_107`�_c_108b�
�!��
	
,�z�
y�
x�
���

f�

v�	
s�u�


g�
	T�������������������������������������������������������%
���f�f�i������namehas_decidable_eq	����a�
_c_109r�_c_110e�_c_111t�
_c_112 �_c_113h�_c_114o�_c_115m�_c_116`�_c_117b��!��
,�z�y�x����f�
v�

s�u�

g�
T�������������������������������������������������������%	�����������a�_c_118r�_c_119e�
_c_120t�_c_121 �_c_122h�_c_123o�_c_124m�_c_125`�_c_126b��!��,�z�y�x����f�

v�s�u�


g�T�������������������������������������������������������%��a�_c_127r�
_c_128e�_c_129t�_c_130 �_c_131h�_c_132o�_c_133m�_c_134`�_c_135b��!��,�z�y�x����
f�v�s�u�
g�
T�������������������������������������������������������%
��a�
_c_136r�_c_137e�_c_138t�
_c_139 �_c_140h�_c_141o�_c_142m�_c_143`�_c_144b��!��
,�z�y�x����f�
v�

s�u�

g�
T�������������������������������������������������������%��a�_c_145r�
_c_146e�_c_147t�_c_148 �_c_149h�_c_150o�_c_151m�_c_152`�_c_153b��!��,�z�y�x����
f�v�s�u�
g�
T�������������������������������������������������������%
��a��r�
�e�� t��! ��"h��#o��$m��%`��&b��!��,�z�y�x����
f�v�s�u�
g�
T�������������������������������������������������������%
��a�_c_154r�
_c_155e�_c_156t�_c_157 �_c_158h�_c_159o�_c_160m�_c_161`�_c_162b��!��,�z�y�x����
f�v�s�u�
g�
T�������������������������������������������������������%
��a�
_c_163r�_c_164e�_c_165t�
_c_166 �_c_167h�_c_168o�_c_169m�_c_170`�_c_171b��!��
,�z�y�x����f�
v�

s�u�

g�
T�������������������������������������������������������%��a�
_c_172r�_c_173e�_c_174t�
_c_175 �_c_176h�_c_177o�_c_178m�_c_179`�_c_180b��!��
,�z�y�x����f�
v�

s�u�

g�
T�������������������������������������������������������%
��a�
�9r��:e��;t�
�< ��=h��>o��?m��@`��Ab��!��
,�z�y�x����f�
v�

s�u�

g�
T�������������������������������������������������������%
��a�
_c_181r�_c_182e�_c_183t�
_c_184 �_c_185h�_c_186o�_c_187m�_c_188`�_c_189b��!��
,�z�y�x����f�
v�

s�u�

g�
T�������������������������������������������������������%
��a�_c_190r�	_c_191e�
_c_192t�_c_193 �_c_194h�
_c_195o�_c_196m�_c_197`�_c_198b��!��,�z�y�x����	f�


v�
s�u�
	


g�	T�������������������������������������������������������%a�_c_199r�	_c_200e�
_c_201t�_c_202 �_c_203h�
_c_204o�_c_205m�_c_206`�_c_207b��!��,�z�y�x����	f�


v�
s�u�
	


g�	T�������������������������������������������������������%
�}�	����exprlam	��	
a�_c_208r�	_c_209e�
_c_210t�_c_211 �_c_212h�
_c_213o�_c_214m�_c_215`�_c_216b��!��,�z�y�x����	f�


v�
s�u�
	


g�	T�������������������������������������������������������%
a�_c_217r�_c_218e�_c_219t�	_c_220 �
_c_221h�_c_222o�_c_223m�
_c_224`�_c_225b�
�!��

,�z�
y�
x�
���

f�
	
v�
	s�u�


	
	g�T�������������������������������������������������������%decl~mk_iff_mp_app�� �7�PInfo�qB	VMR�qVMC�qB	� �decl~alias_iffdIdocJaliffmp�sI�tJ�u�vNhas_orelseorelsealternativeto_has_orelse)��	
Str_���tacticskiphas_bindand_thenIUFget_decl���	ls"declarationuniv_paramsk	tc��typeiVc~mk_iff_mp_app�7_xn��to_name��vc��Finfer_type7t'cXYenvZ\�i���_xX�
Quote��.b�_x�g�PInfo�rG	VMR�r_lambda_1VMR�r_lambda_2VMR�r_lambda_3VMR�r_lambda_4VMR�r_lambda_5VMR�rVMC��G	��G�_fresh
�	��_������	�	�|�|VMC��G	���VMC��
K���_fresh
�	�"�_fresh
�	�I���
�to_name�VMC��
M��Z�_fresh
�	�c�_fresh
�	�c��"�����VMC��AG	�G�_fresh
�	�c��"�_fresh
�	����_fresh
�	�J��I���	;tacticinfer_type	4
	���	-�	 &�+
2
9	
	VMC�rG	�v�u�tJ�sI�univ_params��"�type��c����interaction_monad_orelsedecl~make_left_right�!prod�!namecases_on�!��7��?failed��a_aJa_a_1��	bufchar_bufferstringto_char_buffer�VsumJ!J��� �parserrun���sep_by1J��chcharof_natbit1���{����bit0�{����many_char��sat
_xcharne�$7�Annotinfix_fna�$��decidable�$a�$b�$chardecidable_eq�77���_p�_a�sumcases_onJ������7valJ��
match_failed��interaction_monadmonad_failGAnnotdo_failure_eqval���V������� �PlistspanJ
_xJ�%J7�Annot����J�,J��J��Jstringhas_decidable_eq�77�7_p�P_a�Pprodcases_on�����P��7fst�snd�listcases_onJ�����7�Lsnd_hdJsnd_tl���	pfxaJbJ��J��Jlistis_prefix_of�$�2stringto_list��{7�R�S�UsJorcoe_sortcoe_sort_bool�
Strleft7���
Strright7��Jordecidable����booldecidable_eq��b����b��reverseJ�_p�P_a�P�o��������	right���7	suffix����� ��prodmkmk_str_namestringintercalate��has_appendappend��has_appendJ���listconsJ
Strof
7�������������7777a_aunsigneda_a_1��PInfo��Q	VMR��_lambda_1VMR��_lambda_2VMR��_lambda_3VMR��_lambda_4VMR��_lambda_5VMR��_lambda_6VMR��_lambda_7VMR��_lambda_8VMR��VMC�
Q	���$_���			VMC�Q	αVMC�
Q	��Jf�f�i�����stringhas_decidable_eq		VMC�V%��J��Jstringto_list����is_prefix_of_mainVMC�CQ	��J�_fresh
���wt�f�e�l��������_main	At�h�g�i�r��������	=?VMC�<Q	�G�_fresh
����_fresh
����_fresh
����_fresh
��f�o�����append_main�+_����intercalate�f�o�����+�+_����,�VMC�Q	�G��w�_fresh
����&��)�reverse��span_main�0����0	���	�VMC�4Q	�G�)�_fresh
��Jstringto_char_buffer�����_�������	���match_failed�
�2listcases_on'����82�	���w	�VMC��Q	��G�!namecases_on
�����decl~alias_cmdmeta_infointeractivedecl_meta_info_x�?parse9�parsertk
;�>���A����O;Q;SH�Cidentold�I��;��;?I�Icoe;coe_to_lift��coe_base���Chas_coeFresolve_constant7old�I;I��"�$��"�$�I��7�-�IJ���Jstringhas_append�8
Strdeclaration to_stringnamehas_to_string7
Str not founddI	docalJ�Toptionget_or_elseJ�@doc_stringi�8�8
Str**Alias** of `�>�
Str`.���W��
Str←��
Str<-_x�"�Cmany;��?�aliases"����������listmmap'Tal~alias_directik777�Y�W��
Str↔��
Str<->_x���mcond;�������;�has_seq_rightseq_right;�to_has_seq_right;u;����
Str.��<=��b��������;���������������~make_left_rightk�����J�
Strinvalid name for automatic name generationhas_seqseq;�to_has_seq;����q;s;��a�����?typesident_��_p��_a���j�l����7�������Y�s~alias_iff�o��	
Strmp�_x�s�������	
Strmpr�7�PInfo�=^VMR�=_lambda_1VMR�=_lambda_2VMR�=_lambda_3VMR�=_lambda_4VMR�=_lambda_5VMR�=_lambda_6VMR�=_lambda_7VMR�=_lambda_8VMR�=_lambda_9VMR�=_lambda_10VMR�=_lambda_11VMR�=VMC�o^�H�_fresh
�/��Kleanparserof_tactic	
��VMC�p^c
�T�|�_fresh
�/���*�_c_1 �_c_2`�_c_3.����nameto_stringf�o�s�a�i�l�A����������������stringappend��
optionget_or_else_mainVMC�q^αVMC�rh�]�_fresh
�/��H�_fresh
�/�I�VMC�s=^�H���H��I-�<����leanparsertk�!�������Cparser_orelse	7leanparserident�Calternative��q�Cmany_main	!0�r��qlistmmap'_main�5VMC�t^aVMC�u<^�H.�����		�t	+.�����	$)0	16VMC�v^�HVMC�w^���_fresh
�0VMC�x(^�H�j	
�w	"�j	 VMC�y�u^�H���H��I�|>�-�<��������!��������	�o�xn�o�i�t�a�r�e�n�e�g� �e�m�a�n� �c�i�t�a�m�o�t�u�a� �r�o�f� �e�m�a�n� �d�i�l�a�v�n�i�����������������������������������������������%�������v�u����qmcond	��h�f�f�i������p�m������r�	�2�af�_c_4�i������r�p�m������		�r��f
�mVMC�=�^�H�A���>����	�d�n�u�o�f� �t�o�n� �������������� �n�o�i�t�a�r�a�l�c�e�d���������������������%��o��	���p�S�H�y�s���ATTRuser_command���=USR_CMD�=decl~get_lambda_body_main�!cc�!c��!cc7�!c���!|��"sortb7a_aa_a_1��n�7a_aa_a_1a_a_2c��"mvarb��7a_aa_a_1a_a_2�a_a_3c��"local_constbk��7a_aca_a_1c��"appb�7a_aa_a_1�a_a_2ca_a_3c�
�RecFn��7a_aa_a_1�a_a_2ca_a_3c��"pibk��7a_aa_a_1ca_a_2ca_a_3c��"eletbk��7a_a�Pa_a_1�Q��"macrob�7�PInfo��r	VMR��VMC��Ar	�!c��
!'+3;��exprsort�exprmvarexprlocal_const����exprpiexpreletexprmacrodecl~get_lambda_body����PInfo��r	VMR��VMC��r	��decl~get_alias_targetnoption���lV�j�k�{try_coreFhas_attribute
7attr�ooptioncases_on_x�o�l7� �k_xVI�k���dI_a��c�Q�jc�Q�����l7��c���Q�n	headc�����expris_constant_ofb�������������������b����bcexprget_app_fnb��ith_arg���W�kguardb)�"is_constantb7_x�~��k��kcoe_option�"const_nameb�exprget_app_fn_args~get_lambda_bodydeclarationvalue7�PInfo��v	VMR��_lambda_1VMR��VMC��v	�G�_fresh
�<�cexpris_constant	
interaction_monadfailed
	��const_nameVMC���v	�G���s�a�i�l�a��������tactichas_attribute��	"�	$(��	,��value��exprget_app_fn_args�f�f�i������p�m�������is_constant_of�	W��f�f�i������r�p�m��������	����	�����ith_arg��get_app_fn_main
��c
���EndFile