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���X�initalgebragroupto_additivelogicfunction��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}traversedeclmonoid_to_is_left_idu_1α�_inst_1monoidis_left_idhas_mulmulsemigroupto_has_mulmonoidto_semigrouphas_oneoneout_paramhas_onemk�one��is_left_idmkmonoidone_mul�PInfo�	prt�VMR�VMC���decl�equations_eqn_1���eq��&��eqrefl-�PInfo�	ATTR_refl_lemma���EqnL�SEqnL�ATTRinstance���class����ATTRto_additive���to_additivevalue_typemknamemk_string
Stradd_monoid_to_is_left_idnameanonymousoptionnonestringATTRto_additive_aux���<decladd_monoid_to_is_left_id���add_monoidhas_addaddadd_semigroupto_has_addadd_monoidto_add_semigrouphas_zerozerohas_zeromkadd_monoidzero��C LVadd_monoidzero_add�PInfo�	VMR�VMC���ATTR����classis_left_id���decl�equations_eqn_1���C)W�_��C2We�PInfo�	declmonoid_to_is_right_idu_1α_inst_1is_right_id���is_right_idmkmonoidmul_one�PInfo�	prt�VMR�VMC���decl�equations_eqn_1���)q��{��2q��PInfo�	ATTR����EqnL�SEqnL�ATTR����class����ATTR����78
Stradd_monoid_to_is_right_id;@ATTR�����decladd_monoid_to_is_right_id���CoLV��CuLVadd_monoidadd_zero�PInfo�	VMR�VMC���ATTR����classis_right_id���decl�equations_eqn_1���C)�����C2���PInfo�	declmul_left_injectiveuα�_inst_1left_cancel_semigroupafunctioninjective�����left_cancel_semigroupto_semigroup������b�cmul_left_cancel���PInfo�ATTR����7;@ATTR����8
Stradd_left_injective;decladd_left_injective����add_left_cancel_semigroup��has_addadd�add_semigroupto_has_add�add_left_cancel_semigroupto_add_semigroup����������add_left_cancel����PInfo�declmul_right_injective���_inst_1right_cancel_semigroupa�x�����right_cancel_semigroupto_semigroup�������b�c�mul_right_cancel����PInfo�ATTR�����ATTR����8
Stradd_right_injective;decladd_right_injective����add_right_cancel_semigroup��������add_right_cancel_semigroupto_add_semigroup�����������add_right_cancel����PInfo�declmul_left_inj���_inst_1�ab�c�iffeq����������+�$����������intro�/�2�congr_arg
�������B��B���PInfo� ATTRsimp���ATTR�����ATTR����8
Stradd_left_inj;decladd_left_inj�����������"�$���������\�2����������9�`�2��A����B��B��B���PInfo� ATTR����declmul_right_inj���_inst_1�ab�c��"�$�%�&�����~��2�����������9���2��A���C�D��B���PInfo�$ATTR����ATTR�����ATTR����8
Stradd_right_inj;decladd_right_inj������������"�$�V�W��������2�����������9���2��A���k�l��B���PInfo�$ATTR����declmul_mul_mul_comm���_inst_1comm_semigroupab�c�d��#�B�C�Dcomm_semigroupto_semigroup�B�������������������������	�eqmpr��trueideq����eqtrans����������������a�B�e_1�#a�	e_2�#
congr���#���B���congr_arg��������B�������mul_assoc�B������������B�������������chas_mul�Ba�����e_2�#��������e_3���4��4���B�8���=�4��4
�B��8�������B��%��mul_left_comm�B��propext����eq_self_iff_true�B��trivial�PInfo�+
ATTR�����ATTR����8
Stradd_add_add_comm;decladd_add_add_comm����add_comm_semigroup������	����k�ladd_comm_semigroupto_add_semigroup�B��~���~�~��~�����y������	�����������������������������������add_assoc�B�|���������#��������������has_add�B��������0��������2�6��4���B�����D����}���U����add_left_comm�B���c�����g���m�PInfo�#+
declinv_inj'���_inst_1groupab��"�#�has_invinv�groupto_has_inv���������+���-�.��9����h�����$��$����������������eqrec��_a����������������eqsymm���inv_inv�������$��������*��_a��������B���B��3�����3����'���*�1�����*�F��(_a������3�3�����*� �S��=���-���PInfo�*4
ATTR����*ATTR����*�ATTR����*8
Strneg_inj';declneg_inj'����+add_group�-�.��"��has_negneg�add_groupto_has_neg���x�����+�r�-�.��9�|���3�|���$�s��u�����������������neg_neg��������$����������������:������s�B�u�B��������������������F�������F����;������������������\�e�-����PInfo�<4
ATTR����<declmul_left_surjective����+��afunctionsurjective�������1to_monoid����+���Dx�Existsintro�a��$�%�&�������������������mul_inv_cancel_left���PInfo�C8
ATTR����C�ATTR����C8
Stradd_left_surjective;decladd_left_surjective����+�r�D����add_monoidto_add_semigroup�add_groupto_add_monoid����+�r�D�H����K��$�V�W�������	�
������yadd_neg_cancel_left���PInfo�M8
declmul_right_surjective����+��a��x������+���Tx����K��$�U��C�D���B���B���<��inv_mul_cancel_right���PInfo�S<
ATTR����S�ATTR����S8
Stradd_right_surjective;decladd_right_surjective����+�r�T���U��.���+�r�T�V����K��$�U��k�l��B��B���`�yneg_add_cancel_right���PInfo�X<
decleq_of_inv_eq_inv����+���-�.�a�������+���-�.��mp����inv_inj'���PInfo�Z@
ATTR����Z�ATTR����Z8
Streq_of_neg_eq_neg;decleq_of_neg_eq_neg����+�r�-�.��[�|�����+�r�-�.����|��neg_inj'���PInfo�^@
declmul_self_iff_eq_one����+���-�"�#��������to_has_one������+���-eqmp�"�����groupto_left_cancel_semigroup��������"�����
�����_a����"�������������������������"�������mul_one���mul_left_inj������PInfo�`D
ATTR����`ATTR����`�ATTR����`8
Stradd_self_iff_eq_zero;decladd_self_iff_eq_zero����+�r�-�"�����has_zerozero�add_monoidto_has_zero�����+�r�-���"�����add_groupto_left_cancel_add_semigroup�����"�������f����"���	�
������&�����+���,�"�(�0��add_zero��add_left_inj����PInfo�iD
ATTR����ideclinv_eq_one����+���-�"���������������+���-���T�S�Q�O�������T�[�5����_a�����"�������d��T�Z�8���Z���c�Z����������[�S�R�����[�~���Y_a����d�������d����[��one_inv�iffrefl�R�PInfo�rH
ATTR����rATTR����r�ATTR����r8
Strneg_eq_zero;declneg_eq_zero����+�r�-�"���s��u������+�r�-��������������������a��s�����"�z�,�0��������o����c����������������������������t������z�x�,���z����neg_zero������PInfo�xH
ATTR����xdeclinv_ne_one����+���-�"ne��P���������+���-not_congr�R��inv_eq_one��PInfo�zL
ATTR����zATTR����z�ATTR����z8
Strneg_ne_zero;declneg_ne_zero����+�r�-�"�����������+�r�-�����neg_eq_zero��PInfo�~L
ATTR����~declleft_inverse_invu_1α_inst_2group��functionleft_inversea�0��2��#�����ainv_inv��PInfo��P
ATTR������ATTR�����8
Strleft_inverse_neg;declleft_inverse_neg������add_group���has_negneg�add_groupto_has_neg��;�����3��neg_neg��PInfo��P
ATTR���mul_inv_cancel_leftATTR���add_neg_cancel_leftATTR���mul_inv_cancel_rightATTR���add_neg_cancel_rightdecleq_inv_iff_eq_inv����+���-�.��"�����������+���-�.��9�G�Jeq_inv_of_eq_inv���T�PInfo��X
ATTR������ATTR�����8
Streq_neg_iff_eq_neg;decleq_neg_iff_eq_neg����+�r�-�.��"���{�I�y���+�r�-�.��9�b�deq_neg_of_eq_neg���n�PInfo��X
declinv_eq_iff_inv_eq����+���-�.��"���������+���-�.����|�"�J�{�����|���a��_a�����"�$��$�'��"����|�J�c���Jeq_comm����������G���������a�{_a�����"�1���������G�c�{�G���������H�G���������a�J_a���������'��������G�c�J�Geq_inv_iff_eq_inv�����G�PInfo��\
ATTR������ATTR�����8
Strneg_eq_iff_neg_eq;declneg_eq_iff_neg_eq����+�r�-�.��"�����{���+�r�-�.������"�d�����������a���������"�$���$�����������d�c���d���y�������b�������
�a���������"�1���������b�c���b���{���
�c�b�����
�$�a�d��������������*��
�b�c�d�beq_neg_iff_eq_neg�����b�PInfo��\
declmul_eq_one_iff_eq_inv����+���-�.��"�������G���+���-�.����L�"�����groupto_right_cancel_semigroup�����G�����L�]��]���"�Z�W���G�]a������e_1��b������e_2�m������"�B�"������������B��"��g�[����e_1��������e_2�0�������#���B�������������B�����Y�Y�S��Y�f��mul_left_inv���G�G��Gmul_right_inj��T���PInfo��`
ATTR������ATTR�����8
Stradd_eq_zero_iff_eq_neg;decladd_eq_zero_iff_eq_neg����+�r�-�.��"���.�,�b���+�r�-�.������"���	�
�add_groupto_right_cancel_add_semigroup���,�b��������������"�����{�b���������������������,add_left_neg���b�b��badd_right_inj����{�PInfo��`
declmul_eq_one_iff_inv_eq����+���-�.��K�����+���-�.�����H���������a�J_a�����"�$�������������������G�c�J�Gmul_eq_one_iff_eq_inv���������������1�a�G_a�����"��������J�c�G�J�����1�y�������1�I��_a�����������1���������������PInfo��d
ATTR������ATTR�����8
Stradd_eq_zero_iff_neg_eq;decladd_eq_zero_iff_neg_eq����+�r�-�.��������+�r�-�.����h�c�������h�n�a���������"�$�#�������������h�b�c���badd_eq_zero_iff_eq_neg�����n���������n���a�b�������"�*���~��n�d�c�b�d�8�����������������)����������~������4���W�y�����PInfo��d
decleq_inv_iff_mul_eq_one����+���-�.��H�J���+���-�.��symm�J�G�+�PInfo��h
ATTR������ATTR�����8
Streq_neg_iff_add_eq_zero;decleq_neg_iff_add_eq_zero����+�r�-�.��c�����+�r�-�.������b���PInfo��h
declinv_eq_iff_mul_eq_one����+���-�.��y�J���+���-�.�����mul_eq_one_iff_inv_eq���PInfo��l
ATTR������ATTR�����8
Strneg_eq_iff_add_eq_zero;declneg_eq_iff_add_eq_zero����+�r�-�.��������+�r�-�.�����add_eq_zero_iff_neg_eq���PInfo��l
decleq_mul_inv_iff_mul_eq����+���-�.�c��"�����f�����+���-�.�����9�	��h�	�����H�����H�H��3������	�	�
�B�_a�B���#�����������������B����	!�	)����	�	���	���������	�	>�	�	_a�B���	!�	)�	)����������B����	!���	��S�B���T�h�����
�	�
�H�	�	�����	d�	h�	�_a�B���	!��	J�	n�	/�	I��	d�	��B�	����	h�
������	h�	��	�	g_a�B���	n�	)�	+�	I�	n��	h�mul_inv_cancel_right�B���U�PInfo��p
ATTR������ATTR�����8
Streq_add_neg_iff_add_eq;decleq_add_neg_iff_add_eq����+�r�-�.�����"���"���&���+�r�-�.�����9�	��&���	������l�����l�l���������	��	��	 ���B���	!�������������B����	!�	�����	��	����	��	>�����	��	>�	�	����B���	!�	��	���s���u���B����	Q��	���w�B���	_���&���
�	��
�l�	��	������	��
�	m���B���	n�	��	n�	��	���	��	��	y�	�����
�	������
�	��	�
���B���	n�	��	��	��	���
�add_neg_cancel_right�B���U�PInfo��p
decleq_inv_mul_iff_mul_eq����+���-�.�����"�����'�$�	����+���-�.�����9�
;�
?h�
;�����	����	�H�L�����
J�
P�	 _a�B���	!�	D���	!�	D���
J�
M���
P�������
P�
f�	�
N_a�B���	!�	D�	)�	H����	P���
P��B���Th�
?���
�
M�
�
L�
H�����
��
��	_a�B���	n�
n�	n�
m��
��
H�	y�
H���
��	������
��	��	�
�_a�B���	n�
m�
U�	���
��inv_mul_cancel_left�B����U�PInfo��t
ATTR������ATTR�����8
Streq_neg_add_iff_add_eq;decleq_neg_add_iff_add_eq����+�r�-�.�����"���"���$�	�����+�r�-�.�����9�
��
����
������	�����	��l�������
��
��	 ���B���	!�	����	!�	����
��
����
��
f�����
��
f�	�
����B���	!�	��	��	�����
s��
��2�B���
����
����
�
��
�
��
��������
����B���	n�
��	n�
����
��	y�
�����	�������	��	����B���	n�
��
��	����neg_add_cancel_left�B����U�PInfo��t
declinv_mul_eq_iff_eq_mul����+���-�.�����"�$����1�����+���-�.�����9�G�Ih�G���	=�	�	=�	�H�4������R�W�
�_a�B���	!��	+�\�	*��R�U�	y�U���W�	>�����W�	>�	�V_a�B���\�	*�	)�	H���\��W��
{���	_h�I�����U���T�	���������	m_a�B���	!�u��	!�t�����	�����
f�������
f�	��_a�B���	!�t�	+��
s����
���
��PInfo��x
ATTR������ATTR�����8
Strneg_add_eq_iff_eq_add;declneg_add_eq_iff_eq_add����+�r�-�.�����"�$�"���1�$���+�r�-�.�����9�����������	=�	��	=�	��l������������
����B���\�	��\�	�������	y�������	>�������	>�	�����B���\�	��	��	����y��������	_���������������	��������	m���B���	!����	!������	�����
f������
f�	�	���B���	!���	���
s���5��
��PInfo��x
declmul_inv_eq_iff_eq_mul����+���-�.�����"�$���'�������+���-�.�����9�?�Ch�?���
�H��
�H�	�L������N�S�
�_a�B���	n�	)���	n�	/���N�P�	y�P���S�	������S�	��	�R_a�B���	n�	)�	*�
l��	���S��	Y���Uh�C�����P���H�M�L���������	 _a�B���	!�p��	!�	/�
l�����M�����
f�������
f�	��_a�B���	!�	)�Y�
l��
s����	���
��PInfo��|
ATTR������ATTR�����8
Stradd_neg_eq_iff_eq_add;decladd_neg_eq_iff_eq_add����+�r�-�.�����"�$�#�����"���+�r�-�.�����9�����������
�l��
�l�	�������������
����B���	n�	����	n�	��������	y�������	��������	��	�����B���	n�	��	��
���	������	����U�������������l���������
�

�	 ���B���	!����	!�	��
����
�����

�
f�����

�
f�	�
���B���	!�	����
���
s��

�
*��
��PInfo��|
declmul_inv_eq_one����+���-�.��"���G���������+���-�.����
D�"�������������
D�
M�a�
B_a�����"�>���������
D�
K�c�
B�
K�*�����
M�"���������
M�
g�
��
J_a����"���(���"������
M��������PInfo��
ATTR������ATTR�����8
Stradd_neg_eq_zero;decladd_neg_eq_zero����+�r�-�.��"�����{�,�����+�r�-�.����
��"���x�{�������
��
��a�
��������"���y���
W��
��
��c�
��
����{���
��
g�����
��
g�
l�
�������"�������
t��
������
��PInfo��
declinv_comm_of_comm����+���-�.�H�I�=�F�	����+���-�.����
����$�D���
=��
��
���
�_a������T�H�
H�4�	�4���T�
���
��	�������$���D�
=��
��
���
�_a������H�T�
H�4�
���
���
��
�������
=����
����D���
���
_a����
��H�T�	��4�
��I�4���
�����?�
=�x��H�
��4���
=�PInfo��
ATTR������ATTR�����8
Strneg_comm_of_comm;declneg_comm_of_comm����+�r�-�.������a���	������+�r�-�.����=���$���"�
����>�?��F����������l�
����	��������Q��I�
(������$�"���
����>�I��e��������l���
����Q��Q��g�G���� ���
������f�"���t���g��������n�l���	�����n�m������3����?�
��t����l�T����t�
��PInfo��
declmul_left_eq_self����+���-�.��"�I�����+���-�.��9����h����R�������$�%�&�{���������������������F������Be_1�	!������e_2�����������B�������������B��������one_mul����c�F���f��mh��������������������F������"�������,���B���e_2��������e_3���3����������B����=������4�B��������\���\���m�PInfo��ATTR�����ATTR������ATTR�����8
Stradd_left_eq_self;decladd_left_eq_self����+�r�-�.��"���0���+�r�-�.��9�E�0���E�������y���$�V�W���O��V�y�������\�����\�F�����X�[zero_add�����m���0���u�������w�����w�F�����t�	�t�"�y������B������������������������B���������!��y�\�m�\���m�PInfo���ATTR�����declmul_right_eq_self����+���-�.��"�I�I�����+���-�.��9����h������������$�%�&�'����������������������������������������c��������mh���������������������������
�����+��[�����������m�PInfo���ATTR�����ATTR������ATTR�����8
Stradd_right_eq_self;decladd_right_eq_self����+�r�-�.��"���I�,���+�r�-�.��9�����������y���$�V�W�X���#�y�������'�����'�������$��&��<������m������u��������A�����A����������#�y�������y�7�������m�PInfo���ATTR�����declsub_left_inj���_inst_1�rab�c��"�$has_subsub�add_group_has_sub����j�2�����r������ifftrans�$�#���#�������2�B������������PInfo���ATTR�����declsub_right_inj������r�������"�$�i��i��2�����r����������O���PInfo��ATTR����declsub_add_sub_cancel������rab�c��$�"�k���m�����r�	�
��������$�i���m�����������_a������l�d�B�f�B���������������������add_sub_assoc���k�����$�m�m�����������_a����������������������sub_add_cancel����[�m�PInfo��declsub_sub_sub_cancel_right������rab�c��$�i�m���k�����r���������$������k���������_a�������������������������neg_sub������$�"�m��k������5��_a�������������������3sub_neg_eq_add���m����5�l�k�����5�R��3_a������l���<���B��5�ksub_add_sub_cancel����[�k�PInfo��declsub_sub_assoc_swap������r�������$�j���i�$�����r���������y�������y�����y�������$�#�����������u���	�u�#���	������j�	���chas_sub���B���e_2��������e_3����d�����B���������h�������	�sub_eq_add_neg������	��O�����	���"��������neg_add_rev���������������[���x���	�x�"�$�������$�y����c�$�W���������������m�PInfo��
declsub_eq_zero������r�����"���d��f���,�������r�����9���eq_of_sub_eq_zero��h�����l�y�$���y�������_a���������B��B�i������������$�y�y������/��_a��������������ysub_self���[�y�PInfo�!�
declsub_ne_zero������r�����"�����,�P�����r���������sub_eq_zero���PInfo�'�
decleq_sub_iff_add_eq������r�������"�����&�����r������eq_add_neg_iff_add_eq����PInfo�)�
declsub_eq_iff_eq_add������r�������"�l�������r������add_neg_eq_iff_eq_add����PInfo�+�
decleq_iff_eq_of_sub_eq_sub������rab�c�d�H��;�"�	n��	!������r�.�/��0��1��2�������"�	!�d���f���B���������	������������a��_a�����"���B���������������o�����c�����]���B�������"�	!����������������
����_a�����"���d���f�����B���������������"����������������"�������������a��_a�����"������������������c������������PInfo�-�
declleft_inverse_sub_add_left������rcfunctionleft_inverse��x����b�����r�7x�add_sub_cancel���PInfo�6�
declleft_inverse_add_left_sub������rc��b�"�����r�>x������PInfo�=�
declleft_inverse_add_right_neg_add������rc�x���x��0�����r�Ax��6�PInfo�@�
declleft_inverse_neg_add_add_right������rc��@�>�����r�Fx��3���PInfo�E�
declsub_sub_cancel���_inst_1add_comm_groupab�������add_comm_groupto_add_group���]���I�W�K�L�sub_sub_self���PInfo�H�declsub_eq_neg_add����I�Wab����^�	�
�)�*�Z�t�v�Z���I�W�Q�R�add_comm�add_comm_monoidto_add_comm_semigroup��Mto_add_comm_monoid���v�PInfo�P�declneg_add'����I�Wab����u�s�\�u���I�W�X�Y�neg_add���PInfo�W�
declneg_sub_neg����I�Wab������v�\���I�W�\�]��������������������I�������s�������������"����s���	�
�z����������u�v������Z���vc�������Be_2��������e_3���3����������B�����=��������B�����r�����������
��Z�����������c���	�
����Z�����������c�����f��m�PInfo�[�decleq_sub_iff_add_eq'����I�Wab�c��"���e�g�X���$�V�W���!����I�W�b�c��d����0�"�$�+��/�����0�<�a�&_a�����"�
�����X�B�����k�l�g�h�C�����Q��0�:�c�&�:eq_sub_iff_add_eq��!����<�"�$�V�W�z����������/�����<�u��o�_a����"���M���Q�"��Q��<�q�~��l����s�PInfo�a�declsub_eq_iff_eq_add'����I�W�b�c��d��"�$�#����+���I�W�b�c��d������"���,�����������a��_a�����"���E���
�M�����������c����sub_eq_iff_eq_add��!������"���o������������p_a����"�
�N����"�
��������������PInfo�h�decladd_sub_cancel'����I�Wab����\�����I�W�m�n�������������������
l��_a����$�#�7��$����sub_eq_neg_add�����������������
l�_a����$�+�����!������N�Z���PInfo�l�decladd_sub_cancel'_right����I�Wab����������I�W�s�t����A�������A���
l�?_a����$�7�$����A�������?����Z����������add_sub_cancel'���8�PInfo�r�decladd_add_neg_cancel'_right����I�Wab����������I�W�x�y�add_sub_cancel'_right���PInfo�w�ATTR����wdeclsub_right_comm����I�Wab�c��$�#���#�����I�W�|�}��~�add_right_comm��l��%�%�PInfo�{�decladd_add_sub_cancel����I�Wab�c��$�+�8�%����I�W�������������$�7�,�%������������_a������M�~�G�}����������x�)��%�����$�������������_a������}�N�G�����}������|���[��PInfo���declsub_add_add_cancel����I�Wab�c��$�+��������I�W�������������$���o����������������_a������M�����������������l�������$��������������_a������k�l�{���B���B���#�������$���������!�����$�z�������=��_a������$��������;����[�;�PInfo���declsub_add_sub_cancel'����I�Wab�c��$�+���#��\���I�W�����������a�$�o�]���`�����a�k��o���]_a������M���E��t���x��a�i�����]�d�!��PInfo���decladd_sub_sub_cancel����I�Wab�c��$�	�������I�W�������������$�+�
�������������_a������E�������������������sub_add���������$��������������
_a������M��������M������g����[���PInfo���declsub_sub_sub_cancel_left����I�Wab�c��$�#�]�`�L���I�W�������������$���%�%�L����������`_a������E�u�x�F����������������`�)�!�����$�+�]�%�L����������_a������������C�G����������J�!�]�%����$�o�%�]�L������/��h�%_a������M�u�G������-���]�%���/�$�L�L�����/�H��+�%�]_a������#�G�u�����/�L����[�L�PInfo���declsub_eq_sub_iff_sub_eq_sub����I�W�b�c��d�d��"���t�����F���I�W�b�c��d�����9�l�ph�l���	!�����X���B���}��	!�}�	��	��	��	��{�}����������������_a�����������X�����B�����������������eq_add_of_sub_eq���{�����������������������\������	!����	��	��{����a������e_1�0��������e_2�2���4���#�4�B������4���4���B���������"�����	��	��z�����������B������������������������������������}����������������e_2��������e_3���3�@�@�d�@���B����=�@��@�B����|������������������^����������e_2��������e_3����@���B�)����)������������{����S����~����������E��?����J����������������;���F�����3���{��������?��c�	!�	��	���������{����|�������w�����c�����f����mh�p���	!�~����	!�}������������������_a��������������������������������������������������������	!����������������������������������������������������������������������;�����r���Q�J����]�������F�T��X���i��������A�c�	!�z�����������c��������m�PInfo���declbit0_zero���_inst_1add_monoid�#bit0�����+������<�+�PInfo���ATTR�����declbit1_zero������_inst_2has_one��bit1���������������7
this����<�G�?�?�B�B���M���H�B�B�����M�R���I_a������	�
�)��Z�)�*��\���`���Z�`�`��M�?�j��?���R���B�B�����R�w���P_a������]�`�`�I�`��R�B�p�B�S��BAnnotshow�PInfo����ATTR�����declinv_involutiveu_1α_inst_1�functioninvolutive����������(�PInfo���ATTR������ATTR�����8
Strneg_involutive;declneg_involutive�������3���4�6�����3�@�PInfo���EndFile