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�o��cinitdatanatsqrt�S-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}traversedeclnatmkpairanatb��itehas_ltltnathas_lt�decidable_lt
has_addaddnathas_addhas_mulmul�has_mul


�PInfo�VMR�VMC���natdecidable_lt	natmulnatadd���doc�Pairing function for the natural numbers.decl�equations_eqn_1��eq�
%��eqrefl,�PInfo�ATTR_refl_lemma���EqnL�SEqnL�decl�unpairnprod�	s�sqrt
has_subsub�has_sub

A
8prodmkA
K
?A
�PInfo�VMR�VMC��natsqrt��natsub�	�����doc�Unpairing function for the natural numbers.decl�equations_eqn_1�(8�
T�18X�PInfo�ATTR����EqnL�SEqnL�decl�mkpair_unpairn)*�fstX�sndX
�	s;id)*aWfml)*a@:uu
xu8KxuKu?xuf�diteCF)*aSfShCeqmpr)*a? 
�8K�K?�f��)!��l(��a�e_1)
a�e_2�congr�))�congr_arg����)
��eqtrans�truedecidable_of_decidable_of_iff���iff_true_intro�
������������*����e_1���e_2��*�*�����*�
��c8�8e_1V
�8�a
���8��8���if_simp_congr8��������\�\�if_true8�����8�8e_1��f
���@���,��������2����add_semigroupto_has_addadd_comm_semigroupto_add_semigroupnatadd_comm_semigroup�chas_adda�e_2�a�e_3����q�������q�
��add_comm�g��2����;�����2�natadd_sub_cancel'� �sqrt_le��notC�)	�������iffrefl������!��l�������������#����+�����#��&false����iff_false_intro�
8����.����������6�8if_false8�������J����O��T������������������������ ��d�add_semigroup� ���"��� ��2�add_assoc� ��������)���l����5������������������preorderto_has_ltpartial_orderto_preorderordered_comm_monoidto_partial_orderordered_cancel_comm_monoidto_ordered_comm_monoidordered_semiringto_ordered_cancel_comm_monoidnatordered_semiring�not_lt_of_ge�M�natsub_le_left_of_le_add��X�� �has_lele�has_le�!�\�d��l��f�keqrec��_a��c������u
1��f�jeqsymm�j�s�& �sqrt_le_add����������������������2��2��������������eqmp)!����5�����add_left_comm�g ���������l�����q��_a�)�x�y??��w��)�x
���������le_of_not_gt�linear_order�
���PInfo�ATTRsimp���decl�mkpair_unpair'nabHVW��
)*����������)*aW�f�����	������"�K�
��I��
��2��mkpair_unpair��PInfo�#decl�unpair_mkpairabVW,����	��-h�VW���VW�y �l��5�:�8�8e_1��8�8e_2��8�V�V����8���V�
�3�8��e_1��8�W
���7�������
���c
�7�y��w�7�a�c�g!��x��q�O��T�c��g�w�{�7�p�j����{�k�y�w�j��k�w���������y�����w�����������w���k�7�p��\���:�l��:����:and�������)�������V�����T�8��%�8	�:�7?��w

��
8K��
O?��
���7�%?�7������
����8K����K��?������������p���A�iff��:����
����������c�chas_lt��e_2���e_3���p�������
�������� �chas_sub��e_2���e_3��=�p��2���{�2�
>�7�72�7�� chas_mul��e_2���e_3���p��M���{�M�
���)��):�j �l��c�i�q�� _a�)��);����c�f��� ��i��l��i���q:�w_a�):�j�w��)
����i�sqrt_add_eq�le_trans�M��\le_of_lt�M�
�le_add_left������natadd_sub_cancel� ����propext�c��j8�����-��������������fst�&e_1�snd�(e_2��8K�K����(8��K�
��������������������D����������<���������������prodmkinj_iff��a��-�e_1�
b��/�e_2��������������/�������
��������eq_self_iff_true����������3�����and_self�trivial�
���6VW�p�l�<�P�U�N�_�p�a���d���g���c
�7�p�p�}�^�������g�w�{�7�p�Y�������Z�7�p������P)??�p�w�l��P����P�������������V��}����T�N���%�N	�:�p?���y��

��
8K��
O?��
�����p�%�z������
����8K����K��?����������������A����:������
�����������{����)���{�D�p�p2�p���w�_����)���):����w�l������q����w_a�)����s��������������&��w���):�����l�����q�j���w_a�):�������������������w����l�����q:�x��_a�):�j����������������add_le_add_left�J����
�������I����I���O�{������U�U�{���d�{�d�y?�o�wl��[�`�q�{_a��u�����~���[�_natadd_sub_assoc�o�w���w�natle_add_right��^8K�{������-���������������������{�N����I������I���}�D���{�N����I��������������������}�6����������true_and���)?�_�l�����e_a�)?�f��)?
�����_�u���)?�y�l������q�^_a�)?��?������)?��
���������w�����l������q��_a�)?�����������natadd_sub_cancel_left����PInfo�&ATTR����decl�unpair_ltnn1�chas_oneonenathas_one
n�E�F�*	su�a���a�:��3�3
�6�38K�6�3K�3?�6�3�l��1�H�)�/�F�"���E�������l�H��

�Z
a�\�_8K�Z
O?�Z
�h�\�a�� 
�o8K�o�?�o��p�l������)�~�o�"�}�x�%�r
��:�����8�x�|���q�����q
8�x�|�x�-�q����x�|�x�|��\�x\�|�<���x�|���!lt_of_lt_of_le�M�o�
�sqrt_le_self��L���\��	�l���������|�������������q
8�x�|�|�������x�|�x�|�����������x�|���!lt_of_le_of_lt�M�o������q�a�to_has_le�Blinear_orderto_partial_order���o�����@���o��not_lt���o
natsub_lt_self� �mul_pos�Iiffmprhas_zerozeronathas_zero�����sqrt_pos���'�PInfo�D:decl�unpair_le_leftn�cb
�_natcases_on�_�5
id_rhs�caW��of_as_true�?�decidable_le�=��H�_�;�a���MaW
Annotinnaccessible
Annot�e
�%�L
�'Annot�e�T���V�T�unpair_lt�Tnatsucc_pos
�PInfo�^Ddecl�le_mkpair_leftab�c,�j�k���ca�+,�gchas_le��e_2���e_3���a�p��q����q�
�b�j�"�+���
,,3�unpair_le_left,�PInfo�iHdecl�le_mkpair_rightab�c
,�r�s�1��h��f���f�7l������������7���� �7�le_mul_self�� ��t�M���f�pl�������p�q���o�p�y�w���o��PInfo�qKdecl�unpair_le_rightn�cg
�w����h����gg2gh
�$
�le_mkpair_rightbg�PInfo�vPdecl�mkpair_lt_mkpair_lefta₁a₂bh�c*����z�{�|�}�c��
���h₁����������w�������������������l����	�)������������
����	
�����y�����		�	�	�x��	���	�O���T�	��	�	!�	&���	�	�����	&�����	�j����	�	7�	8��	9���	$�	8���	��������	8������	���	���	���	��������x������	�O���T�������	a�	f�����������	f�������j������	w�	x��	y���	d�	x������������	x��	P���������	h₂�������	
���	��	��	����	����������	�l��	�����	��O����	��	��	��	��)�	��	�2�	��	��	���	���	���	���	�
�	��	��	��T�	���	��	��	��	��	��	�2�	�2�	����	��	��	����O�dadd_monoidto_add_semigroupadd_comm_monoidto_add_monoid�to_add_comm_monoid�K����	�����	�add_lt_add_iff_right�J�����������	���H������	��	��	�l�	��

�	��	��	����	����	����	�
�	��	��	��	����	��	��	��	��	��
�	��	����
�	��	�add_lt_add_of_lt_of_le�J�����	�����������	�������������
9�
��
�����	�	��mul_self_le_mul_self���
D���	��~�������	�	l�	�
[�	�	�		���	���	���	
���	�	�	(�
h�	+�	-���	�	!�	&���	�
c�	5�	S���
d���	���	�	���
[�
Z��l��
[�
��)�	�	2�	�	����	�������������not_lt_of_gt����������������	���������
;��
��
@�
�������	m�������������
�2��2�����
�����add_lt_add�J���	��add_lt_add_left�J�	���mul_self_lt_mul_self����PInfo�ySdecl�mkpair_lt_mkpair_rightab₁b₂h�������������	��
�h₁��������	��	�	�	�	���	���	l��
��
��)�
��	���
���	��	��	��	��	��	��
��	��	��	c��	%���	*��	��	��
��	��	��	��	�����	{�	8�	;�	{�	��	?���	G���!�	L������	����	��	����
��	(�
��	+�	-�	�	�	!�	&���	�
��	5�	S��
����wl��
��I���
��
����O���w�)�	��	��	��
�����
���	
�
���O��lt_trans�M���
���	���	.�
����	���	�f2���
����g���	���O�	��	��w�Radd_lt_add_iff_left�J����w�
������
	�
��	��
�l�
����
��	��
����
�	��
�	��	��	������
�	��
��	��	��
��-�����	��	����
��C��	�	��h₂�	��	������	�������
�������	��	���������l������������	��O�����)����2�����	�������������
�	����	��T������	����	������	�2�������	������O�	����	��������������j�����l�����q�	;��_a��	��p�p�	
�	������������:��l���.��_a���j���	
����.����.����.��sqrt_lt����.��l��.���q:���_a�:�5������.����������	�������	�������������i�
������
���
����l������[������������������������������������
�	������������	����	������	��������	�������	�����������O�	����	�������	��������	���	���H�PInfo��_EndFile