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�H��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_assocdeclge_iff_leuα~_inst_1preorderabiffgepreorderto_has_lehas_lele���iffrfl�PInfo}
ATTRsimp��}declgt_iff_lt~_inst_1abgt�to_has_lthas_ltlt%���(�PInfo�ATTR����declnot_le_of_lt~_inst_1abh,not
<����:andright@Cle_not_le_of_lt<�PInfo�
declnot_lt_of_le~_inst_1abh;*<#<����[aaid_rhsfalsenot_le_of_gt<�PInfo�declle_iff_eq_or_lt~_inst_1partial_orderabpartial_orderto_preorderoreq+$~�{��ifftrans�����le_iff_lt_or_eqorcomm���PInfo�decllt_of_le_of_ne'~_inst_1{abh₁�h₂ne<*l#l|l<�{������lt_of_le_not_lel�mtl
l��lle_antisymml<�PInfo�decllt_iff_le_and_ne~_inst_1{ab�and���{���intro��h�andintro=>|<�le_of_lt<�ne_of_lt<�_x�_a����dcases_on��l����*#�|�l<left�right��<h*#�|��l<lt_of_le_of_ne��l<�PInfo�decleq_iff_le_not_lt~_inst_1{ab��;��{�����=h��;\]�le_of_eq<�eqsubst<_x<;�lt_irrefl<�_x�=_a��I�;���
�d��<���;�h��l<���l<classicalby_contradiction�
��"<lh₃;�}�|����l�PInfo�decleq_or_lt_of_le~_inst_1{abh���<�H�{����orsymm�H��lt_or_eq_of_le<�PInfo� decllt_of_not_ge'~_inst_1linear_orderabh;}linear_orderto_partial_order\]���<���������<���resolve_right=>����le_total<�PInfo�#decllt_iff_not_ge'~_inst_1��xy+$��������������k��lt_of_not_ge'�PInfo�&declnot_lt~_inst_1��ab;��������������le_of_not_gtnot_lt_of_ge���PInfo�)ATTR����declle_of_not_lt~_inst_1��aba�����������mp����not_lt�PInfo�+declnot_le~_inst_1��ab;����������symm�/�,lt_iff_not_ge'�PInfo�-ATTR����decllt_or_le~_inst_1��ab������
��lt_or_ge�PInfo�	/declle_or_lt~_inst_1��ab��+�/���le_or_gt�PInfo�0declnot_lt_iff_eq_or_lt~_inst_1��ab���/�����������X�$������/�Xle_iff_eq_or_lt��or_congr�d�/��/eq_comm�/�PInfo�2declexists_ge_of_linear~_inst_1��abExistsc����������_a�M��ordcases_on����� �������l�l��
�����l<��h��h��Existsintrol��������l<��le_refll��h����������������PInfo�5decllt_imp_lt_of_le_imp_le~u_1β�)_inst_1��_inst_2preorderab<c<dlH��x�y�!���l����lh����l*	#��|�������<l�*���+���,���.�/<�0<�1l�2���3�������<lh'��
����l<not_lt_of_ge���<�PInfo�(;declle_imp_le_of_lt_imp_lt~u_1�_inst_1_inst_2linear_order�7ab<c<dlH�����������<*��#���<h��
���<���������*���,����8���9�%�:�'�<�=<�><�?l�@�:�A�@le_of_not_gt���h'gt�������Fk
���l��PInfo�6?declle_imp_le_iff_lt_imp_lt~u_1�_inst_1��_inst_2�'ab<c<dl��������*��,�l��3�4�5�������<�G���H���I�'�J�K<�L<�Ml��|��lt_imp_lt_of_le_imp_le�F��l�/le_imp_le_of_lt_imp_lt����<�PInfo�ECdecllt_iff_lt_of_le_iff_le'~u_1�_inst_1�%_inst_2��ab<c<dlH�x�yl������<H'�><�������<l�����\��R���S�%�T���U�V<�W<�Xl�Y���Z���������<l;��l<��lt_iff_le_not_le���<l�����A�B�;����and_congr��������not_congr�����5����lt_iff_le_not_le�Q����PInfo�PGdecllt_iff_lt_of_le_iff_le~u_1�_inst_1��_inst_2�'ab<c<dlH�������/�������w�a���b���c�'�d�e<�f<�gl�h����;�;�<��<��5�,��not_le���<��,;�{����+�{not_le�`�l�PInfo�_Kdeclle_iff_le_iff_lt_iff_lt~u_1�_inst_1��_inst_2�'ab<c<dl��� ���3�m���n���o�'�p�q<�r<�sl���Vlt_iff_lt_of_le_iff_le�l��l<H�V��+;���{�5�m�+� ���<��m;��{�����not_lt
�l�PInfo�kOdecleq_of_forall_le_iff~_inst_1{abHc������x{�y�z�{���<�����<��mpr������PInfo�wSdeclle_of_forall_le~_inst_1abHc�@��<K��������������PInfo�~Wdeclle_of_forall_le'~_inst_1abHc�J��B�������������PInfo��[declle_of_forall_lt~_inst_1��abHc���������������������le_of_not_lt<h���[l���PInfo��_declforall_lt_iff_le~_inst_1��abc���+������������+le_of_forall_lth�+c<hca��lt_of_lt_of_le���<�PInfo��cdeclle_of_forall_lt'~_inst_1��abHc������������������$��h�����PInfo��gdeclforall_lt_iff_le'~_inst_1��abc�#������������3��le_of_forall_lt'h��c<hac��lt_of_le_of_lt���<�PInfo��kdecleq_of_forall_ge_iff~_inst_1{abHc�������{�������X��������������������PInfo��odeclle_implies_le_of_le_of_le~abcd_inst_1<h₀��<h₁����<��x�y�l�;�<l<�����������l���p���th₂�xle_trans��l�<����
Annotcalc
Annot��
Annot���PInfo��tdoc��monotonicity of `≤` with respect to `→`decldecidablelt_or_eq_of_le~_inst_1{_inst_2decidable_rel
|abhab�V�����{�����������Vdite���hba��orinr��g��l��;��orinl��������PInfo��decl��eq_or_lt_of_le~_inst_1{_inst_2��abhab�V�������{�����������V�swap������lt_or_eq_of_lel<alb�l�PInfo�̃decl��le_iff_lt_or_eq~_inst_1{_inst_2��ab�V��F����{����������V���<��<��l<le_of_lt_or_eq<��PInfo�ֆdecl��le_of_not_lt~_inst_1decidable_linear_orderabh;+$}��decidable_linear_orderto_linear_order=>����!<��� �������*decidableby_contradiction�2has_leledecidable<h';�2�����!l<�����D�I��l�B�PInfo�܉decl��not_lt~_inst_1� ab;�'�%��� ������b�g��le_of_not_lt��%�PInfo��decl��lt_or_le~_inst_1� ab��a�g��� �������g�:�~hba�g��\]�.�0��;�g�������;�����1<�,�PInfo��decl��le_or_lt~_inst_1� ab��e�)��� �������)����lt_or_le�PInfo���decl��lt_trichotomy~_inst_1� ab�}��)��� �����imp_right�g���ah�g�imp_left������eqsymm<��eq_or_lt_of_le<�-��<��l�:�l���PInfo���decl��lt_or_gt_of_ne~_inst_1� abh�������� ��������������h'���resolve_left����D��lt_trichotomy<�PInfo��decl��lt_by_cases_proof_1~_inst_1� xyh;+$}���mk��le��lt��le_refl��le_trans��lt_iff_le_not_le��le_antisymm��le_totalh';\]����
<�<�<�<�<�<� <�$<��
� ����.��K��C�l�B�V�PInfo��decl�~u_1�
� ��P�h₁���h₂��h₃�������!�l<�
� ����e��f��g��pdite�� �!���
����������������� ���$��l<has_ltltdecidable��l<����;���y�4�5���~�
����������������������� ����$���l������l�<�����;���~�������PInfo��VMR�VMC���������

	
	decl�equations_eqn_1~��
� ����e��f��g��peq�~���l<���
� ����e��f��g��peqrefl���PInfo�$�ATTR_refl_lemma���$EqnL�$SEqnL�decl��ne_iff_lt_or_gt~_inst_1� ab��}�)�*� �+�,������lt_or_gt_of_neo���elim�������.ne_of_gt<�.�PInfo�)�decl��le_imp_le_of_lt_imp_lt~u_1�_inst_1�%_inst_2decidable_linear_order�2ab<c<dlH��(�)�+�-���<�9h�@�A�B�C�D�"����3���4�%�5�!�7�8<�9<�:l�;�+�<�@��le_of_not_lt���h'���\�/�g�PInfo�1�decl��le_imp_le_iff_lt_imp_lt~u_1�_inst_1��_inst_2�!ab<c<dl��������t�u�"�l��*���A���B���C�!�D�E<�F<�Gl��[�]���&��le_imp_le_of_lt_imp_lt�@����<�PInfo�?�decl��le_iff_le_iff_lt_iff_lt~u_1�_inst_1�_inst_2�!ab<c<dl�x�y�!���!�l�����&�� ���*�K���L���M�!�N�O<�P<�Ql������d���$H����;�<���~�!���<;�4�5��<�Z�5������not_lt���<���;�����V�Z��������not_lt�J�l�PInfo�I�declorderingcompares_main~_inst_1has_lt�ordering���X�������orderingcases_on��������\�����!<�PInfo�W�VMR�WVMC�W������Xdecl�Wequations_eqn_1~�X��ab�%���W~�Ult+�X���_�`�'��id_delta���	�PInfo�^�ATTR�(���^EqnL�^decl�Wequations_eqn_2~�X��ab�	�	�Ueq��X���e�f�	�	�	�PInfo�d�ATTR�(���dEqnL�ddecl�Wequations_eqn_3~�X��ab�	�	�Ugt"�X���j�k�	�	�	/�PInfo�i�ATTR�(���iEqnL�idecl�Ucompares~���X���	�PInfo�m�VMR�mVMC�m������Xdoc�m`compares o a b` means that `a` and `b` have the ordering relation
 `o` between them, assuming that the relation `a < b` is defineddecl�mequations_eqn_1~�X���_�`�	�m~�	�	�X���Wequations_eqn_1�PInfo�o�ATTR�(���oEqnL�odecl�mequations_eqn_2~�X���e�f�	�	E�	��X���Wequations_eqn_2�PInfo�s�ATTR�(���sEqnL�sdecl�mequations_eqn_3~�X���j�k�	�	E�	,�	3�X���Wequations_eqn_3�PInfo�w�ATTR�(���wEqnL�wdecl�m_sunfold~�����PInfo�z�ATTR����mdecl�Ucompareseq_lt~_inst_1o��ab��	C<^�	���	��<�}�~�������	t�\�~����	C��l�	u�	�� �<��	Cl�	y�	h�	u�	�	��	���	��	�_x�	�_x�	�rfl���	��	��	h�	u�	�	�	���	��	�h�	��Uno_confusion�	��	�	h'�	��elim�	����<��	��	,h�	u�	,�	�	���	��	�h�	��	��	,�	h'�	��	��	�lt_asymm��<�PInfo�|�nspace�{decl�Ucompareseq_eq~_inst_1o��ab��	t�	v�	��������������	t�	�������	��	��	�n<��	�h�	��	����
��h�
�	��	��	�	h'���	��
�	���	�h�	��	����
��_x�
_x���	��	��	�h�	��	����
(��h�
(�
�	,�	h'���	��
(���<�PInfo���decl�Ucompareseq_gt~_inst_1o��ab��	t�	v�	,!l�	y������������	t�	�������	��	��	,!��	�<��	�h�	��	,!��	���
_�
dh�
_�	��
Y�	�	,h'�
d�	��
_�	�<��	�h�	��	,�
d��
z�
dh�
z�
i�	�	,h'�
d�	��
z�
7��	�h�	��	,�
d��
��
d_x�
�_x�
d�	��	,�PInfo���decl�Ucomparesinj~_inst_1o₁��o₂��ab<��	���	��	ul<��������������<��
���
��	�������	C���5�<�	u�<��	C��	��	h�	u��	���
��4�
�<�Ucompareseq_lt����<��
��	h�
��	���
����<��eq_eq����<��
��	,h�
��	,���
�!���
�<��eq_gt����<�PInfo���decl�Uswap_or_elseo₁��o₂���	u�[swap�Uor_else������������	������	u������	�����	�%���	�%���	,�PInfo���decl�Uor_else_eq_lto₁��o₂���	u��	��	���	��	u�	���������	������	u��	��=��<�	�	��	������	u�'�	��	���
�=of_as_true�	u�&�	�	�R�S�	�iffdecidable�]�`orderingdecidable_eq�[�	ordecidable�	��_�f�	�	anddecidable�
�	��m�	�ntrivial�Z�	u�&�	�	�R�S�	��c�~���f�|�	�k���n�q�	��s�f�	�	�y�Z�	u�&�	,�	�R�S�	��c�����f���	�k���n�q�	��s�f�	,�	�y�	������	u�,�	��	���
�=�Z�	u�+�	�	�����	��c�����f���	�j�	������p�
�	����	�n�y�Z�	u�+�	�	�����	��c�����f���	���������	������y�Z�	u�+�	,�	�����	��c�����f���	���������	������y�	������	u�1�	��	���
(�=�Z�	u�0�	�	���	��c���f��	�j�	�����p�
(�	����	�n�y�Z�	u�0�	�	���	��c�*�-�f�(�	��,����	�� ���y�Z�	u�0�	,�	���	��c�A�D�f�?�	��C����	�� ���y�PInfo���declcmp_compares~_inst_1� ab�	D�&cmp�&����<��l<��� ����eqmpr�h�Yite�a�����	�o�)�r���	,�	id�	�h���X��������e_2�	������e_3�����a�e_4�congr
���	C������l���<�������������l<congr_arg���������������&�e�eqtrans���ecmp_using�'ab<��l������p�b���	�x�b���	,�	cmpequations_eqn_1�&�b��equations_eqn_1�'�b�'�����-�t��h�-�m�	p���o����<���	�o���
���	,�	true���	�
�
�����
���
�
�
�	���X��<��������������������a������������������	C������l�
-�<�������
.�
1l<������������
-����
�	���
�o�
decidable_of_decidable_of_iff���
�
iff_true_intro�H���	�
�	if_simp_congr�����
�
�	�
�	�
�
_�%�	�%�
if_true���
`�	�
��<�
�o<��propext�
]�
�
_�y���.�
�
�
���
�
��
S�
�
U�oi�
Xi�
iff_false_intro�
]���	�
�
�
ii�
�	�
�	�
�
��
q�
sif_false���
��	�
�
��
����J�
�
�h₂�J�m�	����o���^���	,�	�
���	�
��
�
�
����
�
��
I�����
��
��	,�
��X��l���������������a�������������������
<���	C�
<����l�
��<���
<�
=�
��
�l<����
<�������
�����
��	,���
��
V�
W���
�
��
[������
l�l<�l<�l<�l<�l<� l<�$l<���	,�	�	,�
h���
�
��	,�	�	,�	�8�%�	,�%�	�
w�9�	,�	��l�T�wl��gtequations_eqn_1l���
��6�
�8�y���K�
�����
���
��
��	���	��
��i�
��
��6���	,�	�	�@i�
��	,�	�	,�	��H�J�
����	,�	�U�Y�sl���������l�C�Y�PInfo���declcmp_swap~_inst_1_inst_2��*#ab�	u��Z<^��������������m���	u��o`���	�o_����	,�	���	���	,�	���	����a������e_1����������e_2���������
��	u<����������l<�	u������������e_1�����������������<_��<��l�������������	������	,�	��<^���<_�����������&�	�!�	,�	�-�3��������h�����	z���	u��o�	|���	�o�Q�����	,�	�\�	�X�	,�	h₂�Q�m�	u��o�	�<���	�o�	�<���	,�	�t�	�l�	,�	i���	�~i�
�~�	�i��x�	,���x��	�	,��w�	���w�
V�
W�	��
�j�
[�	����	�	,�	�
h�	��
�j�	�v�	�	,���
q���v�
V�
W�o�
�r�
[�o���	,�	�	,�
h�o�
�r�	,�	�	,�	���H�J�
w���	,�	�
w���	�	,orderingswapequations_eqn_1�}�	���}���	�	,�	���	�|�	�	,���
q���|���	,�	�	,���	,�	�	,�	���H�J���	,�	���	�	,eq_false_intro�	�_h�	��	�i�	,�	�	��l��;�Q��
�����
���
��
�����������	�	���	���
q���
���i�r�
��o���	,�	�	��i�r�	,�	�	,�	��H�J�
���	,�	���	���}�	,����	�	,�	,��	�|�	�	,��
q���%�	�	,�
��
��
eq_self_iff_true���	,�y��;���g���Q�����	��
���	����	,�	���	,���
���i�j�
��	����	�	,�	,��i�j�	�v�	�	,�]�
q���
��^�	�	,��equations_eqn_3�}�	�����	�	���	���
q���`�	,�	�	�f�	,�	�	,�	�]�H�J�o�	,�	���	�
��	��
�G�	�y��������
�
���	����	�	���	���a�	�	�i�	�]�
q�(�p�	��equations_eqn_2�}�	���3�	�	�9�	��
q���?�	�
��
�
�G�	�y�PInfo���EndFile