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�&-?initdatapfunalgebraordered_grouptacticnorm_casttacticnorm_num���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}traversedeclenatroptionnat�PInfo�
VMR�VMC�decl�equations_eqn_1eq�eqrefl�PInfo�
ATTR_refl_lemma���EqnL�SEqnL�nspaceenatdecl�has_zerohas_zerohas_zeromkroptionsomehas_zerozeronathas_zero�PInfo�	prt�VMR�VMC�	�decl�equations_eqn_1�
��
�PInfo�	ATTR����EqnL�SEqnL�ATTRinstance���class����decl�inhabitedinhabitedinhabitedmk�PInfo�	prt�VMR�VMC�	�decl�equations_eqn_1!�&!(�PInfo�	ATTR����EqnL�SEqnL�ATTR����class����decl�has_onehas_onehas_onemkhas_oneonenathas_one�PInfo�	prt�VMR�VMC�	�decl�equations_eqn_1.�6.8�PInfo�	ATTR����EqnL�SEqnL�ATTR����class����decl�has_add_proof_1xyhand�dom??���E�leftGAC�PInfo�	decl�_proof_2���EA���E�rightGAC�PInfo�	decl�has_addhas_addmk��roptionmkE�Ehas_addaddnathas_add�getF�F@Ch@�F@C�PInfo�	prt�VMR�VMC�	���natadddecl�equations_eqn_1]�{]}�PInfo�	ATTR����EqnL�SEqnL�ATTR����class����decl�has_coehas_coehas_coemk�PInfo�	prt�VMR�VMC�	�decl�equations_eqn_1������PInfo�	ATTR����EqnL�SEqnL�ATTR����class����decl�decidablendecidable?coecoe_to_liftcoe_base�C��trivial�PInfo�	prt�VMR�VMC�	�decl�equations_eqn_1���C�����PInfo�	ATTR����EqnL�SEqnL�ATTR����class����decl�coe_injxyiff�@�@C��roptionsome_inj@C�PInfo�ATTRsimp���decl�add_comm_monoid_proof_1xyzc_�}�F@C��@C���roptionext'��andassocGAD_x?�_x?��add_assocnatadd_semigrouphj��j���F@h�q���iq�F@�PInfo�	decl�_proof_2x��add_semigroupto_has_add�mk���$%CC���Ctrue_andD_x?�_xAzero_add�add_monoidiq�	F@�PInfo�	decl�_proof_3x��C�	C���#Cand_trueD_x?�#_xAadd_zero�ik�	@�PInfo�	decl�_proof_4xy��@C�"@����9�;andcommAD_x?�9_x?�8Fadd_comm�add_comm_semigroup�j�F@iq�F@�PInfo�	decl�add_comm_monoidadd_comm_monoidmk��%����PInfo�	prt�VMR�_lambda_1VMR�VMC������VMC�	���decl�equations_eqn_1�\��h�\�j�PInfo�	ATTR����EqnL�SEqnL�ATTR����class����decl�has_lehas_lehas_lemkxyExistsaDGh�thyAhas_lelenathas_le�@CiC�PInfo�"	prt�VMR�VMC�"	decl�equations_eqn_1�p����p���PInfo�"	ATTR����EqnL�SEqnL�ATTR����class����decl�latticehas_toplatticehas_top�mk�none�PInfo�#	prt�nspace�VMR�VMC�#	�decl�equations_eqn_1����������PInfo�#	ATTR����EqnL�SEqnL�ATTR����class����decl�latticehas_bot�has_bot�mk%�PInfo�$	prt�VMR�VMC�$	�decl�equations_eqn_1����������PInfo�$	ATTR����EqnL�SEqnL�ATTR����class����decl�latticehas_sup_proof_1JQ�PInfo�"%	decl�!_proof_2T[�PInfo�#%	decl�!latticehas_sup�%mkxybhE�$has_supsup�$semilattice_supto_has_sup�semilattice_sup_botto_semilattice_sup�natsemilattice_sup_boti�"F@Cp�#F@C�PInfo�!%	prt�!VMR�!VMC�!%	�)�(�'�decidable_linear_ordered_semiringdecidable_linear_ordered_semiringto_decidable_linear_ordermaxdecl�!equations_eqn_1���!�������PInfo�7%	ATTR����7EqnL�7SEqnL�!ATTR����!class�%�!��decl�cases_onP�	a�	@�has_toptop���	n���F�9��roptioninduction_onC�PInfo�8'&prt�8ATTRelab_strategy���8decl�top_addx����C���B�����false_andDh?��falseelimh₂?���h��F@h��CK��AC�PInfo�A+ATTR����Adecl�add_topx��C�����Ieqmpr�����add_comm_semigroupto_add_semigroup�to_add_comm_semigroup�j��C��id�����eqrec�C��_a���@�����C��������H�C�����������
���+���_a���@��������top_addC���PInfo�H.ATTR����Hdecl�coe_zero��%rfl�E�PInfo�U1ATTR����UATTR����UATTRsquash_cast���Uunitstardecl�coe_one��418�I�L�PInfo�Z3ATTR����ZATTR����ZATTR�W���Z�Kdecl�coe_addxy��f@C����\�]��T�W�symm=?�Ttrue�^�)�^_x�^_x?��F��Hh�f�F@�PInfo�[5ATTR����[ATTRmove_cast���[�Kdecl�[reversed�\�]��W�T�\�]eqsymm�T�W�v@C�PInfo�c5ATTRpush_cast���[�Kdecl�coe_add_getxyh?�VC�hc}�g@CfFpU?�gAC�h�i�j���k���PInfo�g8ATTR����gATTR����gdecl�get_addxyh?�C�h��F@CfiNpX�l�m�n���k���PInfo�k;ATTR����kATTR����kdecl�coe_getxhD��pC@�p�qD���@iff_of_true?��A�C_x��_xG�kh��F@�PInfo�o>ATTR����oATTR�W���o�Kdecl�get_zeroh?%�h%C�v���k���PInfo�uAATTR����uATTR����udecl�get_oneh?�O�h�OC4�x���k���PInfo�wCATTR����wATTR����wdecl�dom_of_le_somexy�	�v��@�G�z�{_x��_a��F�Existsdcases_on�	��?��
���?���yh�zh��C�}����g��Cw��h��id_rhs?��@�C�PInfo�yEdecl�partial_order_match_1xyzhxy₁�	A?�hxy₂�G�y��z�C_a���r���F����������������
������	����
�����yh�z��C��������C���������s�	��?�
�+�?��yh	�zhC�~intro�+�7functioncomp���-?�2�@_x��le_transpartial_orderto_preorderordered_comm_monoidto_partial_orderordered_cancel_comm_monoidto_ordered_comm_monoidordered_semiringto_ordered_cancel_comm_monoid�ordered_semiringh�)�=�-�@�*��FC�3FC�C��^�z
�PInfo��H	decl��equations_eqn_1������������
hyz₁�	G��hyz₂�����C��%�������F�:�	���-�
�~����y�3�z�a@C�:�	���@�
������y�U�z�a�=�����-�@�����T�3�BFC��^���^�z������������
���r���u��%id_delta�%���PInfo��H	ATTR�����EqnL��decl��_match_2������_a�F@a���"F�������������r�
�r�u�������C���r���u��_x�#�%���#�{F@C�PInfo��H	decl��equations_eqn_1������������
�v������F�:�� @C����x����F@C������������
�����������PInfo��H	ATTR�����EqnL��decl��_match_3xyhxy₁�thxy₂�_a�������������t����������	�����
��������a���������C������������������intro�-��@�_x�-_x�-le_antisymm�R�U@�4��CF@
�PInfo��H	decl��equations_eqn_1�������t���hyx₁�	��hyx₂������v�������F�:�	�����
�5��-��4@C���������@�����������3@�a�C��������t������,���.�������=�PInfo��H	ATTR�����EqnL��decl��_match_4����_a��C����F��F�������`����
��
����@������C������
��_x������2F@C�PInfo��H	decl��equations_eqn_1�������t����v�l���F�:�r��@C�����0��F@C�������t������l���l���PInfo��H	ATTR�����EqnL��decl�partial_order_proof_1x�s�	DA�
���A�yi�z�}���:�����
D_xDle_refl�Sp�
AC�PInfo��H	decl��_proof_2������_x�����������������F@C�PInfo��H	decl��_proof_3ab�has_ltlthas_ltmkpreorderlt_default��@C������iffrefl���PInfo��H	decl��_proof_4����_x�`�d�������`�~F@C�PInfo��H	decl��partial_order��mk�������������PInfo��H	prt��VMR��VMC��H	decl��equations_eqn_1�����������PInfo��H	ATTR�����EqnL��SEqnL��ATTR�����class������decl�coe_le_coexy������y@C���������_x��_a���g����	��?���
������yh����z���������g�y��C����������y�������C�Ch���:�	?����
�����y���zh��C_x��_x�@�PInfo��PATTR�����ATTRelim_cast�����Kdecl�coe_lt_coexy�����to_has_lt�G�������has_lt@C�������:�=����to_has_le�/��not�A���9�
��:�K����3_a�����1�g��7F@�C�V��:�Ipropext�3�Ilt_iff_le_not_le�/�����K�J=�w�>�S@C�E�pC@�
��K�x�P�5�,�S@C_a����=�A�g��E�B�g�V��C��K�w�a���w�d�S@C���x�=���H�w�
��x���P��_a�����=�pF@�E�qF�=C������x���a�����coe_le_coe@C��������E�yC@�w�
������P����_a����=�yF@��������EC��������a������C@�����PInfo��SATTR�����ATTR�������Kdecl�get_le_getxyhxAhyA��y�@�}��F������A��A����������
�����a������e_1�@Cb������e_2�congr���������F@congr_arg�������������C����eqtrans�����������}���P��_a����y�F��C����$�{���$���a�$�������}�
��$����$���#����!_a�����(�!��C�!��$��coe_get�@�
��A����A������#_a�����!�]C��AF�QFC�
�������������n�����PInfo��Vdecl�semilattice_sup_bot_match_1xyzhx₁�	D�hx₂�A��}_a���?�.����le����lt����le_refl����le_trans����lt_iff_le_not_le����le_antisymm���F���������������������������������!��������������C���������s�	��?���)�2�
����-�yh���.�)�z�4�:����hz��andintro�*�@��^_x���$sup_le���U���)�2���3���)�2���a�I�z�PInfo��Z	decl��equations_eqn_1��������������hy₁�rhy₂�u�v���������F���:�	��?���2��
������yh���z�a������@�-�I�^�	�����3���2������2����C�z���������������
�r��u�����������PInfo�Z	ATTR����EqnL�decl��_match_2������_a��FCa�*@������F��������+���	A���
�6�G������@�����C���6���9��_x���������F@C
�PInfo�Z	decl�equations_eqn_1���������������v�=���F�:�	G���
�T����s@C���������F@C�����������������=���=�\�PInfo�Z	ATTR����EqnL�decl�semilattice_sup_bot_proof_1_x�s�	D?�has_botbot���u���
�z�A�yh�x�z�}��:�z��_xD�_xDnatzero_le���PInfo�Z	decl�_proof_2_x_x�s�	?��@CG�
���?��F@�|h���FC�� �:����KAD_x���$le_sup_left�������PInfo�Z	decl�_proof_3_x_x�s�	��A�
����������$�%�:����UAD_x���$le_sup_right�������PInfo�#Z	decl�_proof_4������_x�+�1�������)�+�P�F@C�PInfo�(Z	decl��.�.mk�v�����������������#�(�PInfo�Z	prt�VMR�_lambda_1VMR�VMC�+%�)�(�'�2�4�5VMC�Z	��+decl�equations_eqn_1����������PInfo�-Z	ATTR����-EqnL�-SEqnL�ATTR����class�.���decl�order_top_proof_1x�s�	?������A�
�������h��C�0�:����h����AChy�����yp����C�PInfo�/d	decl�.�order_top�3mk���.le���.lt���.le_refl���.le_trans���.lt_iff_le_not_le���.le_antisymm���/
�PInfo�.d	prt�.VMR�.VMC�.d	�decl�.equations_eqn_1��.�!��#�PInfo�<d	ATTR����<EqnL�<SEqnL�.ATTR����.class�3�.��decl�top_eq_none�*���I���PInfo�=iATTR����=decl�coe_lt_topx�1����?lt_of_le_of_ne������le_top�#�h����absurd����false������?Ctrue_ne_false�PInfo�>kdecl�coe_ne_topxne����Gne_of_lt�/����coe_lt_topC�PInfo�FnATTR����Fdecl�ne_top_iffx��LC���n�@��Lroptionne_none_iffC�PInfo�Kpdecl�ne_top_iff_domx�[D�Qiffmp��ED���E�Dnot_iff_commD�classicalprop_decidableD�v��]�C���kroptioneq_none_iff'C�PInfo�Prdecl�ne_top_of_ltxyh�1@C�LF���Z�[�\���RF��lt_of_lt_of_le�/F@��C�4@�PInfo�Yudecl�pos_iff_one_lex��1%C���OC�_enatcases_on_x��C���������_x���4�O_x���Un�������h���mpr���L��y4@��4@�j�1�E��7@enatcoe_lt_coe@Ch�����������j����succ��y��@����@C�PInfo�^xdecl�decidable_linear_order_proof_1xy_xor��C@��@C@�n�o����@orinr����C�����4C��_x�=�����@���C_xorinl��������5xy�qelim�w�n�Hlinear_orderto_partial_order�linear_order@C�	C@���������le_total�	@C�=�	�	�	���	�	���������=�	�	�	�	�	�	���������PInfo�m}decl�l_proof_2���	@�PInfo�}ncomp�ldecl�ldecidable_linear_orderdecidable_linear_ordermk�������������mclassicaldec_rel���?�.�	�{mk�������������decidable_eq_of_decidable_le�	Z�	^decidable_lt_of_decidable_le�	[�	^�PInfo�l}prt�ldecl�lequations_eqn_1�	B�l�	i�	B�	k�PInfo��}ATTR�����EqnL��SEqnL�lATTR����lclass���l��decl�latticebounded_lattice_proof_1_x_x_xh₁���?�.�	Odecidable_linear_orderto_linear_order�	kF@h₂�	v�@�	v�min�	k�F������le_min�	k@CF�PInfo���ncomp��decl���bounded_lattice��mk�.sup���3le�#�3lt�#�3le_refl�#�3le_trans�#�3lt_iff_le_not_le�#�3le_antisymm�#�.le_sup_left���.le_sup_right���.sup_le���	~min_le_left�	kmin_le_right�	k���3top�#�3le_top�#�.bot���.bot_le���PInfo���prt��decl��equations_eqn_1�	����	��	��	��PInfo���ATTR�����EqnL��SEqnL��ATTR�����class������decl�sup_eq_maxab���@Cmax�	k@C��������	��	�������@C�	�le_max_left�	k@Cle_max_right�	k@Cmax_le�	k@C�	����	�@C���	�@C�PInfo���decl�inf_eq_minab��$has_infinf�$semilattice_infto_has_inf�semilattice_inf_botto_semilattice_inf�semilattice_inf_bot_of_bounded_lattice�	�@C�	~@C�����I�
 �PInfo���ATTR�����decl�ordered_comm_monoid_match_1ab_a���?�.����le�	k��lt�	k��le_refl�	k��le_trans�	k��lt_iff_le_not_le�	k��le_antisymm�	k@Cc�
D��add_monoidto_add_semigroup�to_add_monoid�^�add�j�add_assoc�j�zero�j�zero_add�j�add_zero�j�add_comm�jC��
gF�������
F�j���
DF@���
D�
g��
hC������
��c_x�
D�
g��
g��C�����
}C���
D�
f�����
���`�
��
��`��
��*���3to_has_top�#�`�
��
D�����
�c�pa��e_2�^C����e_3�
����������
��F@�������
��C�
C�
����;���
����;��a���?�.�3to_partial_order�#�
����
��top_le_iff�#���a�+�`eq_self_iff_true���c�:�	?�
f���?�
f��2�
�
��?�
���yh�
f�g�)�zh�
��2Ch�
�����@��U��-C_x�
�add_le_add_left�P�3q��2�
���
��C��@�PInfo���	decl��equations_eqn_1����h₁�th₂��v�
u���F���������
D�
{�
rC���
D�
��
���`�
�� �`�� �
��`�&�
��
��
��
����
�����;��
��
�����:�	?�
���
��
�<�?�
����y�
��zh�
��C���;�
��-���
���C���;�
����N���
���C��U@�������t������
u���
u��PInfo�ߓ	ATTR�����EqnL��decl�ordered_comm_monoid_proof_1����_x�
F�
l�������
F�F@C�PInfo��	decl��_proof_2abc_x�	���-�
B�
j�
g@�w�FF���������~Fh�w�
�@�
�Cfalserec�wF@eqmp�w�
�F���=����w�����=chas_lt����e_2�
�����e_3�
��
���������F@�
����C�v�����;F�����;@�a�1�����=α_inst_1��Ca@iff_false_intro��F�,F@CClt_irreflF@C�/��Ca��_x�	�w�
�C�
�F�w@�Fh�w�
����
�@�9�w�
�������FCnot_lt_of_ge�/������ge�@�����������
�������V��_a����
����
����C�������H��4��b��_x�	�w�
���
�C�w�g@F_x�w�
�����U@ch��
�����S�V��F@lt_of_add_lt_add_left�P�F@���w�n��l@�7�m�4�P�1�n�5_a����w�f����>FC��6�9�a�<�9���m�4���3�
f����6�����_a��A�
f���g�AC��U�5�|�5�Y�[�@���w�S�g�T�U��X�g_a��w�[���\�wC�\��p�n�|�n�s�iFC�PInfo��	decl��ordered_comm_monoid��mk�
M�
Q�
U�
Y�
]�
a�
,�
0�
4�
8�
<�
@�����PInfo��	prt��VMR��_lambda_1VMR��VMC�	����VMC���	�	�decl��equations_eqn_1�����������PInfo��	ATTR����EqnL�SEqnL��ATTR�����class�����decl�canonically_ordered_monoid_match_1ba_a�\c��g���
H�
J��to_add_comm_monoid���add���add_assoc���zero���zero_add���add_zero���add_comm���
������add_le_add_left���lt_of_add_lt_add_left���C���?�.�I����g�������������gC��������g��C����������������_x_a�������C������@hc���������eqsubst_x�
C�
�����|���
C
this���������C���
�
���
��
�
 ��
_a�����������
&C��
������4��Annotshowchc���
����
&�
�y�����������
B�
Af��@�
��
B�
J��_a��y��2�
QC��
B�
I����
��
I���
I�P�
]_a������2�f�FC��
]�
`�a�
]�
`�coe_inj��
I���
[�
'��
]��
x_a��
d��
�g�
dC��
y�
\�|�
\�
x�h��@Cnatle_add_right��@C�PInfo�
�	decl�
equations_eqn_1��chc���v���
�F����
�
C@C�����
�������@��������
� �
�C�
���|���
C
�!��X��C���
�����
��
��
���
��"�
"�
C��
�������4��Annot�#�$�%�
�X����
�������������
���>@�
��
��
��
O���&�
L�
AC��
��
�������
�����
��P�
��'����
[��
HFC��
��
��a�
��
��
r���
������
��
����)��
[�
'�g�
[C���
��|�
���h�@C�
��@C���.�/�����������
��PInfo�-�	ATTR����-EqnL�-decl�canonically_ordered_monoid_proof_1ab_x���FC����^���CC�2�3���HC����@������*��FC���
��T���|����@���_x���C��������@CFiff_of_false�������������Cnot_le_of_gt�/����V���E��x�sx�E�snot_exists�tx�R��r���2�r�2���
������0_a��R�q@�RC������<�#��������h���
����has_subsub�has_subF@������������R���
�������V��_a���������F��C������|�����h@�������F���
������P��_a����������C������a�����
rF��������d����J��@�
������
O��@��_a�������C������K@��������F�
����
�
Of��@_a�������F����Fnatsub_add_cancelF@�j���g��F��FCF_x���
�F@C�PInfo�1�	decl�0canonically_ordered_monoidcanonically_ordered_monoidmk�������������
����������	��	��1
�PInfo�0�	prt�0VMR�0_lambda_1VMR�0VMC�K����VMC�0	�	�K��decl�0equations_eqn_1�B�0�V�B�X�PInfo�M�	ATTR����MEqnL�MSEqnL�0ATTR����0class�H�0��decl�add_lt_add_rightxyzh�1F@hz�L@���1��F��F�O�P�Q�R�^�S�`���M��a_0�]�n�1�����a��j�L����p�ne_top_iff��ne_top_of_lt��@mrfl�m���O�R�1C��1����2��R�2���l�M���a_1�]���1�X����j�L�������|���krfl�����Q�S�Z�1�
}@�
@�S�L������P�R�1�
C�1��
c������.�R�1�������1�
}�����������
��������_a���������C������;�������1��
e����
��������0�����[reversed�������A�U��n�R��������V���7f�2��R��
���������1�����������������2�������@��a������������c�5�}�Hordered_cancel_comm_monoidto_partial_order�Pd���
G�
I�`to_add_comm_monoid�P�)C�#FC�_�7f�)C��C��1add_lt_add_right�P�2@���1�
c��7�2@�a�;�>���2@C���2�|�2�C����|��C��PInfo�N�prt�Ndecl�add_lt_add_iff_rightxyzhz�Z��1�d@�F@�1�F�e�f�g�h�Z��n�qlt_of_add_lt_add_right'���@Fh�qenatadd_lt_add_right��FC@�PInfo�d�prt�ddecl�add_lt_add_iff_leftxyzhz�Z��1���F�q�n�o�p�q�Z�����r�
����r����n�����j�#@����m��F�q�q��qenatadd_lt_add_iff_right�F@C�PInfo�m�prt�mdecl�lt_add_iff_pos_rightxyhx�`��]�m��@�u�v�w�`�������1�l%�m�
�������������������������P��_a�����FC������2�����a����enatadd_lt_add_iff_left%@FC�
�����������������
���������
H�
J�jF$��to_has_zero��_a���p�e�1�d%�e����e���F�-��F�����PInfo�t�prt�tdecl�lt_add_onexhx�Z����O�~��Z������O�
��� �P�_a����]�l�OC��� �a�� enatlt_add_iff_pos_right@�OC��� ��4�
�� �:�� ���L�:��%�E�|�E%�U�O�L�|�L�O�Z�a�@�:��4���:�`�
��:�`eq_true_intro�5�}�H��Nlinear_ordered_semiringto_ordered_semiring�3to_linear_ordered_semiring�2mul_zero_classto_has_zerosemiringto_mul_zero_class��to_semiring�e2monoidto_has_one��to_monoid�qzero_lt_one�d��PInfo�}�decl�le_of_lt_add_onexyh�����O�k���������������p���]@@���]���O�4�n���p���O�oa_2�p�����g�~���V�OCmrfl�m���������
�O�������2�X�O����������
������a������F�natle_of_lt_succF����R���U�>4����R��������g�g�@�g��������
�L��c]����e_2�
�����e_3�
��
��������F@�
���������C}�����@���O�L�O���4�a�����*��C��_FC�PInfo���decl�add_one_le_of_ltxyh�����&@���������������pC���a�O@@���]���4�d�On���p��oa_3�p���q�O�g�~���Cmrfl�m������������������2�������h�O���y��4��
��6�:��6����8���:�
����4�@���4�h�L�@���g�g���O�L�O��F4�������a�B�:���8�natsucc_le_of_ltF����R���U��a�f�h�*�C��_FC�PInfo���decl�add_one_le_iff_ltxyhx�`���^�������`���^h��l�M���a_4�]���1���j�L������|�@mrfl���������Z���.��]�2�������5������������C��@����������U�n�����������7��@�
������a��������@natlt_of_succ_le��@�����
'�O��y�
H4@������������E���������
'�L���������@���O�L�O����4���@��a��������@CC���|���C�F�add_one_le_of_ltF@�PInfo���decl�lt_add_one_iff_ltxyhx�`��]��k�������`���k�le_of_lt_add_oneF@h�k��a_5�������mrfl���������Z������]���O�����������������
��������
����1�����$���
��%�'���_a�������C��%���;�O��n���
����������R4�
��>�A��>����@�A�����������G�����V�L�G�������O�L�O�	4�a�H�A���@natlt_succ_of_le��@���
&��
A@�a�i�k�
D@CC�����F�PInfo���decl�add_eq_top_iffab���������^���������������@�������@����������+�C�������������+�`�
����`�����`�`�`����`����+�`a��e_1�
�����e_2�
��
����F@�
���C������������A�
����`������`�`�`a������e_1�b������e_2���������F@����C�+�`�
��+�`�
��a���`or_self�`�a���`iff_self�`����=����������8�`�
���`�x�=�Cx�=�`C�`forall_congr_eq���=�����`���`���+�`�������;������A�
���`�����=�`���8�=�a�8�=�G���8�FCC�a�-�`or_false�`���aa�`�`forall_const�`�inhabited������=����@�����8��C���=���������\�+�`�
��i�`����=�hC��`��o��=��h���`��e�`��e�+�`���c���������A�
��g�`��g���=�`�`���8�=�:�+�`�
��a���`false_or�`���Q����=�=��������\����=�=�E�w���
�������=���=���=��=���=���=�������=������������W�#�������A���=������=�=�����=�a���=�8@�a���=���=�a����iff_false�������=�=�E�=�
���������=���=����=���=a������e_1��
��F@�EC���=����U���=���W�T�~��C�����A�a��=�8�S�����`�
����`�����C�=�`�`�+���=�,C�,����/�=�����=�a���`not_false_iff�a���,�,�L�,�O�Q��PInfo���decl�add_right_cancel_iffabchc�Z���j�m�c���������Z�l�M�F�a_6�]�^���b�e���j�`�`�|@Ccrfl�]�������Z����@��@��2����������������o��������������y�*C���������g���+�`�
����`������`����`����+�`�������;�g�������
��+�`�
�������=��������*��`�
����`����=����������C��`��=����=�����=�=�`����=������=���������8������
��������*�
��������������
������a����eq_comm���
��a�����add_eq_top_iff��������=�a���=�8��8�=�:�����=����8�=�a���8����:�a���`���=�Q������=�������7@�����=�������8�`�
��.�`����=��!���8C��`��=�-��=��-���`��+�=��+���=�E�����E���������
���������������8�=�:��Q����=�=��!���7��=�=���
=��C@�
��k�t��=�j�=�s�=��=�i�=�r�=��f�n�����
=��������#����h�q�a�h�q�
rC@���t�=�=��q�q�
��t����{�=���=���=���=��n�q��n��>C�
��q�������
������
=���|���
=� C��
��"�a�����
r���
��a�d��add_left_cancel_semigroupto_add_semigroup�`to_add_left_cancel_semigroup�P�C��@�qadd_left_cancel_iff���C@�q�q��q�=n_1��q�qa_1�q���F���H����C����|��CF�PInfo���prt��decl�add_left_cancel_iffabcha�����e�j�\@����������������F��j��
������F_a����t�b�c���b�c����#�F������@���
���;�� @_a���� ��b�c��CC�c���8�1@���;����
��;�W�P��l���_a�����C���c�Y�c��;��a�^�enatadd_right_cancel_iffF@�C����PInfo���prt��decl�to_with_topx_inst_1�Dwith_top������to_option@C�PInfo���VMR��VMC��������to_optiondoc��Computably converts an `enat` to a `with_top ℕ`.decl��equations_eqn_1���������@C������������PInfo���ATTR�����EqnL��SEqnL��decl�to_with_top_top�������none_decidable����with_tophas_top�H�����PInfo���ATTR�����decl�to_with_top_top'h�������C��������������������e_1��@C��������e_2��������������F@���������������C��������e_1�
����G����������@����Q����@�F��C����e_1�
�����eqdrec������C������F��������F@C���������C��@�F@��F@�����������C��������subsingletonelim��decidablesubsingleton���C�����AC�����������to_with_top_top�PInfo���ATTR�����decl�to_with_top_zero����%�some_decidable��zero_ne_one_classto_has_zero��canonically_ordered_comm_semiringto_zero_ne_one_class��with_topcanonically_ordered_comm_semiring�canonically_ordered_comm_semiringab�decidable_eq@C�/�5���&�PInfo��ATTR����decl�to_with_top_zero'h������"C�;��>���A�<���?�&�%%�@%C�%�;�;���;�to_with_top_zero�PInfo���ATTR����decl�to_with_top_coen��������������has_coe_tC����W�PInfo��ATTR����decl�to_with_top_coe'nh������C�^@������h���d�@�g���e�m�����C�l�g�g���g�to_with_top_coe@�PInfo��ATTR����decl�to_with_top_lexy_inst_1�A_inst_2����v���>����preorder�S��@��FC���"�#��_x�$���%����������]FC���$���%������������`�
����`������$���%��������]��C�����$���%���`C�`����$�����$�����$������%�����%���`�%��������`����`��������`���o����������e_2����������e_3������������F@�����C����������������C�a�����G���
�����order_top�R�����
������`α_inst_1�Ca@iff_true_intro�vF�>F�GF�
�F@C��F�
�F@�2F@C���������`�a�
���
��`��#����aa��aa����C�`�`forall_2_true_iff���1�������_x�=�$���%��������gC��@���=�$���%�;�����@�=�����g�`�
��P�`����=�OC���=�$���%�;�`C�`��V�\�=���$���N�$���Z�$����;�%�;�M�%�;�`�%�;��M���`��I�=��I���^F���=�q�����r�t���G����@�=�r�FC�a�����r�t�
������r�a�s���=αaC����@�@���@���[@C������@��coe_ne_top@CF�L�=��
��g���
��=�a�����
��g�a�����=�8F��a�1b�1��C�0�1�7���;@C�`�`forall_3_true_iff������=n_1�$�;�%�;���������@�=��`�
����`�����p�F�y�F�`�����������^��r�����������@�=�r���a������coe_le_coe�R�F����a������F�a�����`������PInfo�!�ATTR����!decl�to_with_top_ltxy_inst_1��_inst_2��������,���������q�<�=�>���?�����/�=���E���7�
��/�9��-�7��-=���E�������7�a�-�E�d����������������e_1���������e_2��=��=�F@�=�C�����a�����to_with_top_le�F@C�D�6��C���a�C���dF�C@�q�7�a�q=�A�F�E�AF��f�F���7�PInfo�;�
ATTR����;decl�with_top_equiv_match_1_a���E��optioncases_on�E��C����val����PInfo�D�decl�Dequations_eqn_1��D���@�����PInfo�J�ATTR����JEqnL�Jdecl�Dequations_eqn_2n���C��M�@�����PInfo�L�ATTR����LEqnL�Ldecl�with_top_equiv_proof_1x�P�x����Cx��C�wCCC�P����C�������������������
������������E���E��e_1����F@��C�������v�������A�@���=�������������_��
����������������_��C�v����@��@���PInfo�O�decl�N_proof_2x���U��������CCC�U���G�	C�������������������
��������������v?������������J��������&����'�����F����U���������������_���
��A�D���?�_�����>�v?�>�V���>���M��LC�_���>��U�M���V�����7�����_�PInfo�T�ncomp�Ndecl�Nequiv��equivmk�������O�T�PInfo�N�doc�NOrder isomorphism between `enat` and `with_top ℕ`.decl�Nequations_eqn_1�o�N�x�o�z�PInfo�Z�ATTR����ZEqnL�ZSEqnL�Ndecl�with_top_equiv_top��coe_fn�oequivhas_coe_to_fun���z�������PInfo�[�ATTR����[decl�with_top_equiv_coen������_�`���PInfo�_�ATTR����_decl�with_top_equiv_zero����%�;�with_top_equiv_coe�PInfo�a� ATTR����adecl�with_top_equiv_lexy�����@��C�`�d�e�d@C�vA�w�PInfo�c�#ATTR����cdecl�with_top_equiv_ltxy��+�������g�h�to_with_top_lt@C���w�PInfo�f�&ATTR����fdecl�with_top_equiv_symm_top���m�������Vsymm���z�����I���PInfo�j�)ATTR����jATTR����jdecl�with_top_equiv_symm_coen����_��m�I���PInfo�l�,ATTR����lATTR����ldecl�with_top_equiv_symm_zero����;%�I���PInfo�n�/ATTR����nATTR����ndecl�with_top_equiv_symm_lex��y�������@��C��@C�p���q��������������������
������P��_a��������F����F@�Y��������2�����a�����with_top_equiv_le���������`�
����`���������`���������@�]apply_symm_apply���z@��C�
C��������a��`������PInfo�o�2ATTR����odecl�with_top_equiv_symm_ltx��y����1�����+@C�v���w�����'��+�����&�
��'�.�P�#_a�����1�����+F@�Y�8��'�,�2�,�#�a�,�#�with_top_equiv_lt�������.�`�
��.�`��.��&�&�`��,�&��������������e_2����������e_3�����(����[�F@���[�C�*��@���C��&�&��&�a�U�`���&��PInfo�u�6ATTR����udecl�lt_wfwell_founded�1
�!��ab��C�������~��+��classicaldecA����D�
�����ra������e_1��@C�����F@��C����funextxx���������������~������������a�����]����������inv_imagewf���+�~��with_topwell_founded_lt�Rnatlt_wfAnnot�#�PInfo�|�<decl�has_well_foundedhas_well_foundedhas_well_foundedmk�1�lt_wf�PInfo���A	prt��VMR��VMC���A	decl��equations_eqn_1������	�����PInfo���A	ATTR�����EqnL��SEqnL��ATTR�����class������EndFile