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��]��init��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_assocdeclstringhashsstringnat�foldhas_oneonenathas_onehccharhas_modmodnathas_modhas_addaddnathas_addhas_mulmulnathas_mulbit1bit0�valunsigned_sz(�PInfo~)VMR~_lambda_1VMR~VMC�*
�
�unsigned_sz!natmulnataddnatmodVMC~)�stringfolddoc~A rudimentary hash function on strings.decl~equations_eqn_1eq~(1eqrefl6�PInfo�)ATTR_refl_lemma���EqnL�SEqnL~decllibrary_note_attruser_attributeunit?id_rhsAuser_attributemk??namemk_string
Strlibrary_notenameanonymous
StrNotes about library features to be included in documentationoptionnonedeclnamepriopersistentbooltactic?OdeclPTuser_attribute_cache_cfgmk?_xlistPhas_purepureRapplicativeto_has_pureRalternativeto_applicativeRtacticalternative?unitstarlistnilPa?punitreflect(`leanparserbwdwleanparseralternative?k
�PInfo�-VMR�_lambda_1VMR�_lambda_2VMR�VMC�-stactic_state�_VMC�-�leanparser_stateVMC��u-nameanonymousecharof_natt�o�n�_�y�r�a�r�b�i�l�stringemptystringstr�����������namemk_stringn�o�i�t�a�t�n�e�m�u�c�o�d� �n�i� �d�e�d�u�l�c�n�i� �e�b� �o�t� �s�e�r�u�t�a�e�f� �y�r�a�r�b�i�l� �t�u�o�b�a� �s�e�t�o�N�����������������������������������������������������������������doc�A user attribute `library_note` for tagging decls of type `string × string` for use in note output.ATTRuser_attribute���USR_ATTR�prvget_name_for_private�T|6%get_name_fordecl�note_idP�BPmk_str_nameKhas_appendappendstringhas_append
Str_to_stringnathas_to_string6
�PInfo�4VMR�VMC�N4�_�_c_1r�_c_2�e�t�o�n�y�a�b�i�l���������������~natrepr��stringappend�doc�Creates a name to store `note_id`.decltacticadd_library_notenote_namepexprnote�S����BS Rmonadto_has_bindRinteraction_monadmonad�exprbooltt?Fto_expr$��note_name��note�	decl_nameP���exprhas_to_string�$��exprsubstboolff�
Quote_x_1_�_x_2��

prodAnnotfrozen_nameprodmk$(TyEto_pexpr�exprhas_to_pexpr�$��body��??Fadd_declmk_definition$pcoereflected��coe_to_lift��coe_base��exprhas_coe��
Quote�(_x?�set??
Quote?library_note_attr�k�O�PInfo�:	VMR�_lambda_1VMR�VMC�(4:	s�_fresh
�UP�*_fresh
�S��*_fresh
�Q��to_pexpr��4�exprsubst�6tacticto_expr	.�mk_definitiontacticadd_decl	'�?user_attributeset,VMC�':	�)������8	!�8	exprto_string��P�(doc� If `note_name` and `note` are `pexpr`s representing strings,
`add_library_note note_name note` adds a declaration of type `string × string` and tags it with
the `library_note` attribute.decllibrary_note_xinteractiveparse?u�parsertkHw?�A�B��w�w���?�Dpexprstdprecmaxname��!note��Dof_tactic?tacticadd_library_note$(�PInfo�@GVMR�@VMC�@G�)��A�stdprecmaxleanparserpexpr	�Q�T	�leanparserof_tacticdoc�@ A command to add library notes. Syntax:
```lean
library_note "note id" "note content"
```ATTRuser_command���@USR_CMD�@decltacticget_library_notesR^�B�/�_�.attributeget_instancesKlistmmapR�P�dclP��Fmk_const(Feval_expr�
Quote��PInfo�ZM	VMR�Z_lambda_1VMR�Z_lambda_2VMR�ZVMC�bM	αVMC�cN5�)��_P�`	�tacticeval_exprVMC�ZTM	�)��e�t�o�n�_�y�r�a�r�b�i�l���������������attributeget_instances	BN�c��blistmmap_maindoc�ZCollects all notes in the current environment. Returns a list of pairs `(note_id, note_content)`EndFile