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��initdatalistbasiccategorytraversableequivdatavector2��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}traversedecld_arrayinhabitedunnatαafin�_inst_1iinhabitedd_array���inhabitedmkd_arraymk
_x
default
	�PInfo�
	prt�VMR�VMC�
	���d_arraymkdecl�equations_eqn_1����eq��
 ���eqrefl)�PInfo�
	ATTR_refl_lemma���EqnL�SEqnL�ATTRinstance���class����declarrayinhabitedu_1nα�_inst_1inhabited6array
��5�7d_arrayinhabited
_x
��PInfo�	prt�VMR�_lambda_1VMR�VMC�	�_fresh)�X�VMC�	�����decl�equations_eqn_1���5�7�;��
D��5�7�	;M�PInfo�	ATTR����EqnL�SEqnL�ATTR����class����decl�to_list_of_hequ_1n₁n₂α5a₁9a₂:hneqhaheq�8^
8\^�
list\arrayto_list\^na\
���5�Y�:�_�ieq_of_heqlrvnn'e_0[eqrec
�α5α'5e_1�5a8o
a'f
e_2`8\c`kan	a
lq�5�5���5
�5��^�8�`�a�
`ko�o
k^�^�b
���`�\��
�
����^��heqrefl
�n�a
�
oa\\eqrefl5\^
�PInfo�decl�rev_list_reverse_aux�nαaarrayihhas_lelenathas_le^tlist^��
\listreverse_core\�iterate_auxa�aa�^_x�
_xa_y�
olistcons�Annotinfix_fn
listnil\�rev_iterate_auxa��^�#
�������������natbrec_on���o����
���������?o��C
����
��
Annot�
�'��-��D�?o�P

�_F�below������?��
���������i���m
����
�I�Annot�
�'��-��n�i��z
��
���?����I��r��g���
��
����
����������������
�����
�Annot�
�'���-����������

natcases_on�������g����������
������������������
�����
�Annot�
�'���-����������
��
��������������������
���������Annot�
�'��\�-����������
\^��
�zero����g����������������������������
�����
�����Annot�
�'���-��������(
�id_rhs������has_zerozeronathas_zero��^�Hrfl����H���
�succ������S�?������natadd
�le_of_ltpartial_orderto_preorderordered_cancel_comm_monoidto_partial_orderordered_semiringto_ordered_cancel_comm_monoidnatordered_semiring�[������d_arrayread������finmk���[\��[�l�{pprodfst����������!������������!�����
�����
���Annot�
�'���-�����!����
�[�recnpunitnih��pprod������������������������������
�����
�Annot�
�'���-����������
���[����������l�{
^

�PInfo� decl�rev_list_reverse�������
�reverse�rev_list
�to_list
�����rev_list_reverse_aux

�iterate_proof_1
�'�PInfo�	%ATTRsimp���	decl�to_list_reverse�������������eqmpr�1����idZ�1�9���_a��=��

�
�^
�^
�E�F�N��<�1�eqsymm����rev_list_reverse
�5�9����;�=�9�j�B�7_a��=�E�F�F�N�N�E�N�X�9�listreverse_reverse�����PInfo�(ATTR����decl�memdef�nαva�
iffhas_memmem
�^
arrayhas_mem^
Exists^i���^arrayread\^
��� �!��iffrfl���PInfo�2nspace�decl�mem_rev_list_aux���� �!��ih�\�����j�andhas_ltlt�has_ltfinvalo
�a��oa^\��\�listhas_mem\^�
�#�(��� �!����� �!���.�/���=�.�/�>������0���������
������ao��o���oa�������\_x��
_x�_y�i��Annot��'o�._F�g�.�/�h�����C�0�C�������
������o�����?���o�Fa�P�T�/���.�/���<�g�.�/��s�����0�/��������
��.�����.�I�s���s�
�s���s�I��.��/�.�B��9�/
�:�.�;�����Annot��'�s���.�/��.�<�g�.�/���������0����������
����������������������������.�����������0����������^����������.�������������.�����������s�9��
�:���;�����Annot�
�'��
�/��s�<�g�.�/�������0������
����������?�������0�����������C����������s�.���.�
�.���.�s�����������I�9��
�:���;���pAnnot��C�'�.�"intro����_x��_a���0�������C��Existsdcases_on���0�����b�C�k�?�_���������������������C\�w��h��anddcases_on�������C��������������C�����������������������Co��h_left�h_right�����������
���?�����!�������������C���absurd������^�C�7natnot_lt_zero�;falseelim���.�/�U�.�<�~�W�?�����0������has_addadd
Annotinnaccessible
nathas_addAnnot�O^has_oneone�Y
nathas_oneAnnot�O�������]
�c��	IH�������^�`ordered_comm_monoidto_partial_orderordered_cancel_comm_monoidto_ordered_comm_monoid�f
�������.�/��������0�������	
���������[�����������.�/���������0�������:
��������������������[�����������}���_�0�����b�]\�c�k�t�v�d
��_x��_a���0�������]a�c������0����������]o�c�&�)���\���������a���B�h_1������:�]��c�������]�������������������������������9��
�:���;�
�����Annot��]��c��'��h_1_left��h_1_right�����������
���?�������������������]��c���orelim��preorderto_has_lt�y����^�[�/��'lt_or_eq_of_le�x�/�natle_of_succ_le_succ�/�ji�1listmem_cons_of_mem����q����������u���Y�I��������F����9�E
�:���;�
���Annot��K�i�K����'���"mp���E�0�E���������s�������������������������^�I�z�I����d��@intro�E�v\�Dintro������\�I�����������\��je�4�5�}�^�X�[�I�_�a��dor�����H�I�I��}�T�9�E��I�iterate_aux_main_proof_1���I��d�;�=����eqtrans�<���}��������chas_mem���a���v��e_2��V�v�
�v�
e_3��
congr�
�<������oa��\
congr_arg���v���<a\��^�{���������������iterate_auxequations_eqn_2���F������I��dpropext����listmem_cons_iff��������orinl�����5�����H\�;�=�����E��_a�E�=�n���q����������u���s�I�"�'�X��\�symm�E\��fineq_of_veq��\���5������;�=��D�A���_a���=�"�'a�"�X���eqmp�������a������e_1����v�V�v��e_2��������<���a�b\
�����v���<a\�b^����%readequations_eqn_1������\��������m��ordcases_on�e���s���v\^�����9����\����\^������������0�������o�����U�����\��^����������p�������t�������v���v���w���v���v���x�������<������oa��\
�����v���<a\��^����������������������������\^��
�����
��������e��������u��a\�����	���a�������natlt_succ_self�	�\�����m'��_a���0�����o�������0��������������'�����0��������������������B��h_1�&����+����������=�A�����0����������������h_1_left�=h_1_right�����������
���?�h�0�E���k���s���t���_^������^������^��natle_succ_of_le�S�d�I�"mpr�"����������������(a�za��\�,

^
�PInfo�-5decl�mem_rev_list���� �!�������D��
�M����� �!��iffsymm����ifftrans����a��������\\����exists_congr����j��������������
this������and_iff_right����finis_lt\Annotshow�mem_rev_list_aux^
^�'^�PInfo��EATTR�����decl�mem_to_list���� �!�������H����� �!���5�������F�����;�=���	�A�D��_a�D�=����^���^
�\^�	�\^��\^
���	�	�X�����\�D�����`^
��������listmem_reverse
���mem_rev_list^
�PInfo��LATTR�����decl�rev_list_foldr_aux�wnαβ��bf�
�
^a�	ih�>�a�foldroa^\��
���d_arrayiterate_aux���a
_x��\\�������	B�����	D���	�������	B�����	D���	�����>�=�������	E��	G��ao�p\�z�~�	S��n�\���moo��_F�g�����,�	E��	G��o���I��I�I�Ha_x�	�
_x�I_y�B��.Annot��'��	S�I�	��a���	�������������-���g�������	E�.�	G���.�I�s��������	S�����.������s�s�����������g�������	E���	G����������.�(�,�	S������.��������	E���	G�����.�����s��
��	S�������s������
��
������g������	��	��	���	�����?�	E���	G�����s�.���I���C���
rfl�����
�����V���	��W�?�	��.�g�s�v
�	��	��[�l��
�	��[�l��congr_arg""�����
#�
(�
���������	E���	G�����������������	S�����������������[�����������������	E���	G���������������	S�������������������[�����
J�
l���l
a\^
�PInfo��Vdecl�rev_list_foldr����������	B�����	D���	�	E^�	G\^
�a\arrayfoldla\^
�������	B�����	D���	�rev_list_foldr_auxa\^
a�'a�PInfo��[decl�to_list_foldl���nαβ�	Bbf��^^a�	�
��foldl^\
�a\�
�functionswap&^\a^��aa�������	B�����
����	�5�
��
��
��\�
��
��;�=�
��
��A��
�_a��=�	E\�
�\a
^�oa�
�oa\^�
�\a��\��oo
�
��
���X�
��
��\��
��
��`a\�5�
��
��
�x\y\^
�
��
��;�=�
���^�
�_a^�=�
��
��a�oa��
���X�
��listfoldl_reverse^\
�
��5��
��
���
��;�=��D�%�_a^�=�
��	Ga\��a��a\^�*��1�X��B�rev_list_foldra\^
��^�B�PInfo��edecl�rev_list_length_aux�nαa�ih�[�length^�\�\\�
_x�u
_x\_y�
a�oAnnot��'^������������natrec�����a[�ra�o�oo�z\����
��o���?��Annot��'a���\�5[�r\�$��(�true�;�=��������[�C�C������e_1���e_2��y�<[a]
�z��<a\[^���C�������(�Ca����ze_1���zu�?
�r����(�s+��������a�C��i�>�C�nat_zero_eq_zero�(�(aa���o��e_1����fi�C���na�H�r�����m���	����r�Be_2$���	�����s�s���B������e_3����

����������e_5�eqdrec+�����.��������������������s�a\���I��������a�o^��+������������������A��$��������������I�,�'��6^��o����[��,�(�4^���
��������^�,�)�4��W��������.�o�o����^o�fo
a\���s�I^^���a\^�#��/���hdatl��?����C���(�(����(�{equations_eqn_1a��^�����(�7lengthequations_eqn_1\��C���
����eq_self_iff_true�Ctriviali_ni_ih�����
�Wo�5[�ro��a���S
������;�=��������[��
���������������������������
���
����������{�q���a�u�
����������?���j���H
�r�����������a��
���equations_eqn_2o����chas_adda�	e_2��v�ve_3�����oa�
$\
���va\�
$^�[��
�������f�������f���
�������������PInfo��odecl�rev_list_length�����a�[�r�
�����
��rev_list_length_aux

�(�PInfo�sATTR����decl�to_list_length�����a�[�
^�
�������5�
p[�
^�
�;�=�
p�
w�C_a��=[�r
�I^[�
|^�X�
p��d�5�
w�
a�;�=�
w�
a��
u_a�=[�
|�p^[^�X�
w�
_listlength_reverse��5�
a[

�;�=�
a�
���
__a�=[�
|�N^�
��X�
a
�rev_list_length
�f
�PInfo�vATTR����decl�to_list_nth_le_aux�nαa�iih��^jjh��t�zh'��\���-����a��
�ktl�
��r�
�[����Ilistnth_le�I\
���s�I��u�s����
����\^
o���u�oa�������
��������
�������z� �
���
��=������r� ����r�s�-�.�H�B�I�R
��!�"�
��r��
��
��.�e�
���\
�g���v���.���
����-�������.��\^
�s���.�u���s�I\�_F�g���-��B� ���I�r�.�-�������s��
��!�"�
��r��
��
�����
���\
�����������
�����\^
�.�����u���.�s����s��B� �9�:�?^��!�"�G�[�����R�������� �����r������!�"�
��r��
��
������
���\
�����I�����%�g���1��� �����r���-���%����_x�$
_x��_y�
�V���Annot�
��!�"�
��r�V
��
����]�
���\
���������u���V�����
��V�-������������&��
�'���(�����Annot�\^
�������V���u������\�������� ������a��!�"�
�����[�����]���
���%�g��������� �����r���-������������&��
�'���(�
�Annot�
��!�"�
��r��
��
�����
��	\
�� �	���u���������
����-������������&�
�'���(�
�	��Annot�\^
�����������u������^����
����-����������V�&�F
�'���(�����Annot�\^���
�������V�u������a����� �����r���-���F����]�\��!�"�
��r��o�[������C�D�
�`�%�g��������� ���V�r���-������������&��
�'���(�����Annot�
��!�"�
��r��
��
�������
���\
���	�����u�	��������
����-������������&��
�'���(�
����	Annot�\^
�����������u��������?�������
����
zero_addnatadd_monoid�����U��� �������Wa��!�"���[���S\�����%�A�S^�?�C�D�R�Y\��i����^���\�]\^���
�`����������� ��������
��!�"�
��r��
��
������
��\
��!��	�u����������-�	��	�	�����&�,
�'�	�(�
���Annot�\^
������������������������� ������9
��!�"�
��r�
��
��	�"�
��T\
��#�T��u�[��	���-�����1�	�&�h
�'��(�
�T��[Annot�\^
���&���������G������
ktl�
����������a\�hjk�r��
�������K�����o�s
��_a_a[�.��_a����������������/�0[�Z���1���r��2���T���u�T�.�s���U�V��T�^�_���.��
�b
�0[������1����P�%�"�#�s�I���?���
�����C�����	��_a_a[�����C_a��$eqdcases_on�����Ct_1�3[�����CH_1]H_2heq[�����Ca\��
�(�
������)�'�u��������C���
o\
��
�������2�3[�����C�4����9��[�����C
�+�*�f�*���
������*���u�6�����V�C��9�:^�3�����4������9�����������f���?���L��^�6^��
�
��[��
�	��n_1�0[�Z�T���1���W���?�U�����b�5���U�V��
�7nth_le_main_proof_1��T����
�b�;�=�������T���[e_1����v%�v&e_2������<�a�\
����v��<a\�^�����7nth_leequations_eqn_3.�T����
�b�b���T�b�I
���5[������
����;�=��������[�������������add_semigroupto_has_addadd_comm_semigroupto_add_semigroup�*add_comm_semigroup��
������
�����������add_comm����
add_left_comm��
�������f��
���������
Annot��\
a^
\^
\^
�PInfo��decl�to_list_nth_le�����ih�
�h'���s�	
�\�
�\�
�^
��a\^�ua
�����L�M�
��N�U�to_list_nth_le_auxa\^
a�rev_iterate_proof_1a�(ktl�
������9������[���\���
���T
��o�u�a\�A�PInfo�K�decl�to_list_nth_le'���a�ih'����^�
}���
�^�S����
���U��V�W��fincases_on\�V�u�W����a���X���
�a�
�\����\i_vali_is_lt�
�a�W�����uo�����to_list_nth_le*�oa������PInfo�T�ATTR����Tdecl�to_list_nth�����iv
���option^listnth^�S^�'��\h���V�_�a�����^�_
�5�������Uh�U�\���;�=������<��_a�<�=�����\��\�X
��\����
a�c�������^
����X�����
����listnth_eq_some^�S������h���A����d�1����^
�h���1�7����^o�c�<�o���oa��\^h�1e�6�Ao�
�o��oa\�_o����a��c�V��
��
��k�
���c�a�����������oa
eqsubst_x�U���P��to_list_length�oa�\o�S�A�B�|��\�|^�h���0���h����;���d���>�R^�i��j��L�A�B�_o���U���h�d����
�����o�`�
��t�d�����j����
�s��t�a�t��z����^�PInfo�]�decl�write_to_list�����iv
���	arraywrite\^
�update_nth^�S�������p�q
listext_le^�����5[�s���s�����;�=��������]\������\�w\^����\�����T\listupdate_nth_length^�S����
�
������\��jh₁�
����
���a\^
h₂������a����^
�5�>�M�O���oa\^
�M��o�P��\^
�>�@�&���U����'��chas_lt�v�ve_2���e_3�����oa�>\
���>^��

�
��7��y�&�3�;�=�4�]�L�*_ao�=�����g����oa\^
������h��a\^���t�X�4�[���&
�Y_a������0�d�����s���g��^�U�;���h�;��P^^�f^����w���g
�0�;���q�d����
�������oa\������oa�
�\�U�
��
������
���P\\�f\����w����^�������������
�B���C���?�����I����I���o�u�Ia�U�U�
	��I����U�I�Paa�fa���I�w�I���\�
�����������I�oa�\�����g���o��o�0
��o�[���%o�0
�[dite[�.
�decidable_eq�.
�ij���o�y�z�
����{���
	��h₃��s����s���s���s��.�s�I���.��^���s���.�s���.�s�I���u�.^�z���o���{�����
����������I�5����I���I���I��s�I����s���^���I�
����s�I����
��^�c�d�j��;�=�o�s���l_a��=�,�7�4�:�B�C�4�{�:�B�X�o�
��Z��l��:�s�l�rfl�]�lAnnot���5�s�c�d��;�=�s���A�I�q_a�I�=�{�:�B��{�:�X�s�arrayread_write�s�I����5���V�����;�=�����A�U�b_a�U�=�{�:��,���X����listnth_update_nth_of_lt*�I��^�[�5���^�r�I�[���;�=�����������s���P�^�^�f�^���s�w�s�I��
����iff_true_intro�������U��^
����not��5��������q^�������
�h^��;�=���A��_a��=���������\������ �&�X��listnth_update_nth_ne*�\�o^�h�5��������;�=��>�A���_a��=� �!��\�&�G�%�X��<�rread_write_of_ne��oa��\finne_of_vne�a���5�>��=�=�;�=�>�d��_a��=�G�%�
����)�k�X�>�=�|�>�����c����
����j�to_list_nth*��o^�<�`���{���L��<����=�PInfo�o�decl�mem_to_list_enum�nαa�iv
����prod^�
������prodmk^�enum^�S�������������
�5�����;�=����������������a�<���<e_1�=b�<���<e_2�����<�<��a��\
���<���<�<a\��^����������n���
�
�����c��������
a�������������\������\�X������\
���
���listmem_iff_nth������p������e_1Z�������<
�����funextx�<x��������������Existsu\x\xa���>^���:�c�:���������"�$a\���^����
����o�c�<�>�A���4�"�$��\�����a��a����a���a��a�U^
�F�"��functormap��applicativeto_functor��monadto_applicative��optionmonad\��������^���������Se_1�����o�v������v�����e_2�������������I�<���a��\
�����v���<a\��^���p�wenum_nth\�X�����������
���a��c���e���g\���m�o���^optionmap_eq_some*\���o�m����a\�<����a�<e_1eq+��o�<�z2����<�<
�#��]�E��/\��\�<��\�\��\�D��\���\�8���B�:�D�����8�:��a�<���<e_1��b�<���<e_2������a��\
����^�Q�B�
�Q�B�~oa\�[���
$�S�W�Z��prodmkinj_iffa^
�
����andleft_comm�B�7�:���7�7�X�7���C�
���Candcomm�B�:�
�$��\�8�1�4exists_and_distrib_left1\����\�C�������X���$�;���
�$��\�;��a�.��\�Bexists_eq_left1\�M�
�����������
�o�c�\�>�A��^�����������X���
����iff_self�����PInfo���decl�to_list_to_array�nαa����
n�to_array����������heq_of_heq_of_eq4������Av�
�
�I���p_x����^�
}�a�
}^�w^
��^eqdrec_on�
nme�
~���Tv�T\�T�������Y��������_x\�����Y��
�p������
���a��
��

�w
heqrfl�
n���
n
�
n�����������
}���
}d_arrayext
A��_x_a�������u�V�qa�a���������p������o���a��o�woa\��o�^valis_lt���?�����p������o����������oa\�*�PInfo�ԺATTR�����decl�to_array_to_list���l�
���
^�������A���F�w�B�Enh1�
��
|��
|
��
h2���s
����^\��\^
�PInfo���ATTR�����decl�push_back_rev_list_aux�nαva��ih���h'��a��z������o�zarraypush_backoa^\_x�o��
����^��
���������������������������k���l�=������|��������j�����������i�s��o������y
�~�po�z
�~
��_F�g������/���	���H�������I�H�s�I��������	�
�	��	���	�
�	������/����������[�����.���g��������������������������������s��������������
��
�
��������������������g����������������&���������������s�������������
��	
�
�������������s�����������
��^
���^��^�������������g������$������������)����+���!�s�����������-��
���3
����?���(��(�����s�����������F�'�C
�,�S�L���S�����U�����������
���?�����^��
����b���5�j���&�q�����u��^
�q�������u��^������
��^����^
���_x����^����^���;�=�j�����j�����s�����{�����������!e_1�&�v���v�e_2������U�<��Ua��\
���U�v�U�<a\��^�e�����������~^
���i��������������^���inj_eq����s���{�����|���;�|�5�&dite6[^���!^����h₂������	��d_arraydata6�������u��\�%push_back_idx\��^���������z�&���y��^��
ne_of_lt�y^�����;�=����A����_a���=����]���!\����������	����������u��a��a��\����
���+�X���
dif_neg6����������������
��������+�����������������H�����s�����������J��
���!
���Y^�����������������H�����������������g�����s�����������i��
�'������%������
�v���a�����b��������
^
^
�PInfo���decl�push_back_rev_list������������E��b
�s^
�
�������������5���E��b��b^�D�b��_x���%push_back_match_1\^
_x��_x^_y����b�'�b�'
���^���^�D�����^�����;�=�������D���e_1��v�z�v�e_2�@���i�<�ja�j\
���i�v�i�<a\�j^�������D����b���D����������%iterate�b
�D�������"�arrayfoldl�b
�D����
�
�
��\Annot��+������:���b
����^e_1���\�z++���a�z
���a�����%push_backequations_eqn_1^
�%rev_listequations_eqn_1�b
���%foldlequations_eqn_1�b
�D�����8�equations_eqn_1�b
�D�������equations_eqn_1�b���D������������
��^e_1�V���z���e_2��y+�i�i��a��\
�I����i�Ha\��^��
��������^���D���������%^
�D���������.^
�D���9���`^
�f^
�D���8�o^
�D�����x^���D�����;���5�E������^��^
���
��	����\�v�u\\��\�'��������^
����^^���b^�������������^�����E����	�;�=�
��A
��_a
�=���������\^���^��	����a�
�`a�!a�'�������\����+����*�4\����\������
�x��u�4\�'\�������9�D�X�
dif_pos0������
�����I�D�D�����push_back_rev_list_aux*^
^�����PInfo��ATTR����decl�push_back_to_list������������E��b
��has_appendappend�D�7has_append
�����������������5�|�E�F���{�;�=�|���	�r_a�D�=�����^�s\^
�t��v^�	�<�������X�|���	%���r�`�b
���5�����x���z�;�=�����	_a�D�=���^���^�����������X�����	+�5���E�F�����;�=�����	��_a�D�=�������\^���������X�����push_back_rev_list^
�5���E�����;�=�����	��_a�D�=�����<���������X����listreverse_cons
�����D���PInfo�&�ATTR����&decl�read_foreach_aux�nαf��
a��ih��b��j�������^�����E���ai�Cv�a'��I��f
�
\^
o���2�3�4��5���2�3�4��5���6�7���8���9�����=�6�7�,�8��9�����3^�6�8������.�I�:���;���<�����������
��
\^
�s�9\�6_F�g�6�7���8��s�I�9�/��3^������������s�:���;���<�����������
��
\^
�.���7���I�8�[�9�/��3\�6�7��8�b�9����^�=�g�6�7����8������9�E��k^�Z���V����V��V�V��V�����:���;�V�<�����������
��
\^
������\���6�7�1����=�g�6�7��V�8����V�9�F�������^�b�������������������:���;���<��������	��
��
\^
������
�Z����^
�o��o��oa�7�������/��=�g�6�7����8���9���������^�]�������������V�:���;���<�����������
��
\^
�����V������9�$������V���������������:���;���<��������
��
�\�������aj_valj_is_lt�
��V�����������?�C�[����G�����:�F�;���<��������
��
�Ca��]
�V�Y�[���Y�9�����Y�C�`�A�b�6�7�U������W�=�������V�9������?���C�[�S�Sa\��V�]oj_valj_is_lt�
���������]�{�?�]�����a�I��
��������;���;ji���������b���%��������o�s�u���o�����q����������^
���������B����Z������findecidable_eq��������e���5�����J����������:���;���<��	������	
��
��������.���������q����������\^�����������������������������;�=���������_a���=��5������ �����:��;���<���	����
�	
����������7����� �q��� ��� �7a\��� (�5��� (��5� ��� "� (� .�X�����5���������;�=��� E��������e_1���v�	�v�e_2�����T�<�Ua�U\
���T�v�T�<a\�U^��������������������������� o���E�	���������������;��� }�A����_a��� 0�� .� =� {�R�������������5� }�������;�=� }� �� �� {_a���=��5� � (� .� ��X� }�����6�7����8���9�������^������T��T�T��T��	�:� ��;�T�<����[������
�[
\^
����	�Y�������������6�7���8����9� �������[^��[�����[��������� ���:� ��;���<����������
��
\^
�T� ����� ������ ��!��a���.��orresolve_right�-\�]��9\�natle_of_lt_succ\�nesymm/�\mt[�\Z�������:������� p\a^
\^
^
�PInfo�1�decl�read_foreach��2�3i�4��	C�5�������foreach\^

��
�2�3�S�4�!y�5���read_foreach_aux\^i�uv\^\�A
��
�PInfo�R�ATTR����Rdecl�read_map�nαif�a�������map\^
�!��Y�Z�[�\��]���read_foreach\^
_x�u
�PInfo�X�decl�read_map₂�nαif��	Ca₁��a₂�	�V�^�map₂a\
^
�^^�^^�b�c�d�e�!��f���g�	�!�a\^i�^��
�PInfo�a�ATTR����adeclequivd_array_equiv_fin_match_1_aux_param_0n�m_ad_array;eq;�!�
d_arraymk;
id_arrayread;
�n�o�!��p�!��cases_on;
�p�!��!��!�^
�!�^�u����!�^
datai�?�!��"�"�!�
�"rfl;�!��"�PInfo�l�decl�lequations_eqn_1_aux_param_0�n�o�!�f�z	��!��!��!��!��"�l�~
�"�"�!��" �n�o�!���"��""id_delta�""�"'�PInfo�}�ATTR����}EqnL�}decl�jd_array_equiv_fin_proof_1u_1�n�o�5_x�q��j�"9
�t@
�!��w@
�n�o�"8���";�l@
�PInfo���decl��_proof_2���n�o�"8f�"H�"
�"D�"A�"U�n�o�"8���"rfl@�"
�"U�PInfo���decl�����n�o�"8equivAB�";�"�n�o�"8equivmkAB�";�"�"B�"?�u	���������PInfo���VMR��_lambda_1VMR��VMC����y�_fresh)��"�VMC����o�nd_arrayread��decl��equations_eqn_1���n�o�"8H�"c�����"w�n�o�"8S�"c�"}�PInfo���ATTR�����EqnL��SEqnL��decl�jarray_equiv_finu_1nα5�"a8�����5�"|��PInfo���VMR��VMC���������decl��equations_eqn_1������5H�"������"�����5S�"��"��PInfo���ATTR�����EqnL��SEqnL��decl�jvector_equiv_fin_proof_1u_1α5nf�
Hx��\vectornth��
vectorof_fnG
��5�����"�funextG��^�"�vectornth_of_fnG
�PInfo���decl������5����HJvectorG�"���5����JJ�"��"��"��"�vectorof_fn_nthG�����PInfo���VMR��VMC�������vectornth_main��of_fn_maindecl��equations_eqn_1����5��H�"������"���5��S�"��"��PInfo���ATTR�����EqnL��SEqnL��decl�jvector_equiv_arrayu_1α5n��I��N�"�8��5����transOON�"��"��"��"���symmNO�"��"��"��PInfo���VMR��VMC���������equivsymm����transdecl��equations_eqn_1����5��H�"������"���5��S�"��"��PInfo���ATTR�����EqnL��SEqnL��declarraytraversableu_1ntraversable���"���equivtraversableQflipQS55�"�α5�"���5�"�vectortraversableQ�PInfo���#	prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC���#	aVMC���$&���_fresh:�����VMC���#	��������equivtraversabledecl��equations_eqn_1������#�����#����#�#�PInfo���#	ATTR�����EqnL��SEqnL��ATTR�����class������decl��is_lawful_traversableu_1��is_lawful_traversable���"��#��equivis_lawful_traversableU�#�#�#�#��is_lawful_traversableU�PInfo���&	prt��VMR��_lambda_1VMR��_lambda_2VMR��VMC���&	��VMC���'0α�_fresh:�����VMC��
�&	������������is_lawful_traversabledecl��equations_eqn_1������#%�����#.����#%�#2�PInfo���&	ATTR�����EqnL��SEqnL��ATTR�����class������EndFile