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�-�kinit�N�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_assocNOTAbnot!!Z��declboolcoe_sort_tteqhas_coe_to_sortSboolcoe_sort_boolcoe_sort�tttrueeq_true_introrfl
�PInfo�ATTRsimp���decl�coe_sort_ff	�fffalseeq_false_intro�ff_ne_tt�PInfo�
ATTR����decl�to_bool_truehdecidable
�"
this'%decidabletruep�.e_1.h!�4eqtrans$0$eqrec.7�.!0;3<�.�.e_12�4eqdrec.;�.�/7#$3$0>OA30eqrefl<>;A;^.;307;30congr!;<<E^�v<subsingletonelimvdecidablesubsingleton;Ed*Annotshow�PInfo�ATTR����decl�to_bool_falseh!#$��
���decidablefalse�d�Annot��PInfo�ATTR����decl�to_bool_coebh!#$00���6��booldecidable_eq0
0
������d��Annot��cases_on���#�00�!_$�
�!_$�

�PInfo�ATTR����decl�coe_to_boolp._inst_1@iffS0�.�@to_bool_iff0�PInfo�ATTR����decl�of_to_bool_iffp.��._inst_1@�intro�0of_to_bool_true0to_bool_true0�PInfo�ATTR����decl�tt_eq_to_bool_iffp._inst_1@�#
�0�.�@�trans�#�
0eq_comm
��of_to_bool_iff0�PInfo�ATTR����decl�ff_eq_to_bool_iffp._inst_1@�#�not0�.�@������to_bool_ff_iff0�PInfo� ATTR����decl�to_bool_notp._inst_1@#$�notdecidable0��.�@dite0�.h0eqmpr#$�3�(30$30id/�?5.�?�a�e_1#0a�e_2�Lu.#O#730congr_arg�.O7#;�:6�:�>�6A�9�F�6�a.�.e_12�U..30�3propext3iff_true_intro3�{�mnot_trueo�6���9����>6�>
a�e_1�L�V30�=
6�=%>3A0��
o3��0���bnotequations_eqn_2�{�Heq_self_iff_truetrivial���A�E�G�
�e
�g%�j�l��y�|iff_false_intro3�{��not_false_iff
�����9�����>
��
�������������0�����equations_eqn_1�{����
���PInfo�#ATTR����decl�to_bool_andp.q._inst_1!0_inst_2�
#$and;3anddecidable;30band<0�<�.�.��
��
�1;0�h;�$#$�7;�7;30�83�h;�5#$�O7�O7;3�P;�/�B/�@�F�@���d�;
6�;%>�5A�:�F�5�a.�.e_12b.�.e_22u..�4�&30�p�..O7�;O�{O�~O07�{7�~7�{�Rand_self
o�5��:�����?
6�?�


��e_1�L��e_2�L�M�O�730�VaO7�;�=
6�=%U;�o
oO�o;�����/
6�/%B3�w
p�w3����tt_band
�����;�B�E�F�H�I�K��N�P�Q�q�s��7�{��and_false�����:�����?�������������p��3��������������3h;�B�E�����K����P��i�k��O07�w�{�false_and���'�:���(�?���
�����������;���:�/
��ff_band
��������B�E�����K����P�����{�T�|���^�:���_�?���4�E��I�����PInfo�&ATTR����decl�to_bool_orp.q._inst_1�
_inst_2�
#$or;3ordecidable;30bor���.�.��
��
�$��h;�$#$��7;��7;30���/�h;�5#$��O7��O7;3���=�/�B/���F�����d��
6��%>��A���F�����.�.e_12�.�.e_22�V����30�^��;O�o7�w�{��or_self
o������������
6����


��e_1�L��e_2�L����O��730����;�=
���/
��tt_bor
����������������%�����������{�or_false
����������
����
�������
����h;����������%���������7�w�{�=false_or
���K�����L��
����

��C�/
��ff_bor
�������������H����������<�B���{�q�����{�����|�����X�^��b�����PInfo�*ATTR����decl�to_bool_eqp.q._inst_1�
_inst_2�
�#���;3�.�.��
��
�����h���7�/;�symm��7�coe_to_bool73�5���;�B/���F����;a.�.e_12b.� .e_22�V�O�730�^�;��;5���;_inst_1�a�#e_2�L�V;30;�/��{��;�;0;;e�{��iff_self;��to_bool_congr;30�PInfo�.ATTR����decl�not_ff��5��B/��F����x������PInfo�'2decl�default_bool#defaultboolinhabited�!�PInfo�(4ATTR_refl_lemma���(ATTR����(decl�dichotomyb��#�%
�.��.�)�5���H�
�B/�0�F�0����H���/�/_h�/�no_confusion
����5������B/�O�F�O�=���M�M_h�M�@
����J���PInfo�-6decl�forall_boolp�W�b0�
�3�W��l�qh�l�5�00
�B/�y�F�y�R�h�v�{�v�4�~3�k�x�{�x��
�~��_x�q_a�yanddcases_on33
�7������47left��right;
id_rhsb�=�=���30�PInfo�29decl�exists_boolp�W�Existsb�k���n�p�?�W�����_x��_a���A��Existsdcases_on�A;�C������;��wh������77
�bhO������
0�I��orinlOO
�I��orinr����h��ordcases_on�v�x�N���v�x���N�v�Dintro���N�x�
�PInfo�><decl�decidable_forall_bool_proof_1p�W��q�l�T�W���l�q�forall_bool���PInfo�S@	decl�R�T�W_inst_1b!�k!b���T�W�V�decidable_of_decidable_of_iff�y���v�x�n�p�S0�PInfo�R@	prt�RVMR�RVMC�R@	�V�T�W�decidable_of_decidable_of_iffdecl�Requations_eqn_1�T�W�V���R0�*�T�W�V�^��0�PInfo�\@	ATTR�,���\EqnL�\SEqnL�RATTRinstance���Rclassdecidable�R��decl�decidable_exists_bool_proof_1p�W������a�W�������exists_bool���PInfo�`C	decl�_�a�W_inst_1�!���a�W�c�� �������v�x�n�p�`0�PInfo�_C	prt�_VMR�_VMC�_C	�c�a�W��Zdecl�_equations_eqn_1�a�W�c��B�_0�N�a�W�c�^�B�T�PInfo�eC	ATTR�,���eEqnL�eSEqnL�_ATTR�]���_classdecidable�_��decl�cond_ffu_1α�hte0�	3cond30�i�]�j�k0rfl3�d�PInfo�gFATTR�,���gATTR����gdecl�cond_ttu_1α�]te0�_�a
00�p�]�q�r0�k�r�PInfo�nHATTR�,���nATTR����ndecl�cond_to_boolu_1α�]p._inst_1@t3e;�^7�`7<30ite�t;370�u�]�v.�w@�x3�y;�#3��h;�5�^O�`O8;30��7;O30�B/���F����33�O���e_1�^0��	e_2�^
0�.�^��O��730�

�����.O7��;��3�
O����
303��e_1�L������e_2������e_3�^
0�
���`����O����730���������O7���������������;��
6��%B;�w
��;���33�
O300�0�nO30��3������� 7;�vO303if_simp_congrO7;3030�v��if_trueO�-30�{���O3���{����������00��0����300��	��
���;���a33�00��gO30��0�(���*;��O300�6;3030����if_falseO�|30�{�V�L0���PInfo�sJATTR����sdecl�coe_bool_iffab�����Lof_as_true���.�����W�.�����Wiffdecidable���L������
����PInfo��Ndecl�eq_tt_of_ne_ffaane�K
�����.�����Wforall_prop_decidable����������decidableab��h������PInfo��Pdecl�eq_ff_of_ne_tta����
�K�����.�����W������������
��������PInfo��Rdecl�bor_commab#��0��0�����.�����W�.�����W��������PInfo��TATTR�����decl�bor_assocabc#����30�������.����W�.���
�W�.����W��	����PInfo��VATTR�����decl�bor_left_commabc#�������'�.���&�W�.���%�W�.���$�W���#���PInfo��XATTR�����decl�bor_inlabH����������5�9�B/�9�F�9����B��3��C�{�9�Hbor_coe_iff30���F�{�F�~�F��^��{�Ctrue_or����PInfo��Zdecl�bor_inrabH��9��������>�A�B�G�I�p�P�R�F�\�F��{��~��{�por_true�F���PInfo��]decl�band_commab#�0�0�����.�����W�.�����W��������PInfo��`ATTR�����decl�band_assocabc#��30���������.�����W�.�����W�.�����W��������PInfo��bATTR�����decl�band_left_commabc#�����������.�����W�.�����W�.�����W��������PInfo��dATTR�����decl�band_elim_leftab�����F�����.�����W�.�����W���������F��
�����3
���PInfo��fdecl�band_introab�������;3�����.�����W�.�����W��������������������������
���PInfo��hdecl�band_elim_rightab��������	�.���	�W�.���	
�W�����������������PInfo��jdecl�bnot_false#��
���PInfo��lATTR�,����ATTR�����decl�bnot_true#�����PInfo��nATTR�,����ATTR�����decl�eq_tt_of_bnot_eq_ffa��#�����	)�.���	(�W���	'���	'������	'����PInfo��pdecl�eq_ff_of_bnot_eq_tta���	&
�����	;�.���	:�W���	9���	9���	0
���	9�����PInfo��rdecl�bxor_commab#bxor0�	J0���	R�.���	Q�W�.���	P�W��	L�	O���PInfo��tATTR�����decl�bxor_assocabc#�	J�	J30�	`�	L���	i�.���	h�W�.���	g�W�.���	f�W��	c�	e���PInfo��uATTR�����decl�bxor_left_commabc#�	e�	K�	`���	��.���	��W�.���	�W�.���	~�W��	e�	}���PInfo��vATTR�����decl�bxor_bnot_lefta#�	J
���	��.���	��W��	�
���PInfo��wATTR�����decl�bxor_bnot_righta#�	N
���	��.���	��W��	�
���PInfo��xATTR�����decl�bxor_bnot_bnotab#�	J0�	L���	��.���	��W�.���	��W��	��	L���PInfo��yATTR�����decl�bxor_iff_nexy��	M
��0���	��.���	��W�.���	��W���	��	��	X
��0���PInfo��{EndFile