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����initdatanatbasic���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}traversedeclfin_zero_elim_proof_1xfinhas_zerozeronatnathas_zerofalse�natnot_lt_zero�val�is_lt�PInfo�decl�u_1C�a��falseelim��PInfo�VMR�VMC��
CNatM0�doc�`fin 0` is emptydecl�equations_eqn_1��eq���eqrefl$�PInfo�ATTR_refl_lemma���EqnL�SEqnL�declfin_zero_elim'_mainu�x�-�fincases_on�x_valx_is_lthas_ltltnathas_ltid_rhs�mk
AnnotinnaccessiblefalseelimE	�PInfo�VMR�VMC�� �decl�equations_eqn_1��-nhn=�3@��3UGVJ�-��=�Vid_deltaVZ�PInfo�ATTR����EqnL�decl��0�-X�PInfo�VMR�VMC���decl�equations_eqn_1��-��=W��3U]�-�equations_eqn_1�PInfo�ATTR����EqnL�decl�_sunfold�0Q�PInfo�declfinetanah;
eq3@3
3��x�|�3�~�;
??}@�
�a_vala_is_lt<?�;���eqrefl@�
��3�PInfo�prt�ATTRsimp���decl�ext_iff�axbiff}����x��iffintro��congr_arg~�~�fineq_of_veq3�PInfo�prt�decl�injective_valnfunctioninjective	x
�_xx_x���PInfo�decl�eq_iff_veq��axb���veq_of_eq3��PInfo�decl�mkinj_iffnabha;3hb�?���?�3�?3����������finmkinj�?3h�eqrec	���<}@�
���
�;����@��??�PInfo�"prt�nspace�ATTR����decl�fin_to_natnhas_coe	x�has_coemk	x��PInfo�&	prt�VMR�VMC�&	c�decl�equations_eqn_1�}�-��2���-�6�PInfo�&	ATTR����EqnL�SEqnL�ATTRinstance���class����decl�mk_valmnh��y@33����=rfl	�A�PInfo�(ATTR����ATTR����decl�coe_mkmnh�=�coe	�coe_to_lift	�coe_base	��5�@3����=�H�Z�PInfo�*ATTR����ATTR����decl�coe_eq_val�ax��Yz��x�H�d�PInfo�,ATTR����decl�val_onen�
has_addaddnathas_addbit0�nhas_oneonenathas_one�t�yfinhas_one�p�w�w��H���PInfo�.ATTR����ATTR����decl�val_twon�
�pbit1�v�n�w�q���has_add���t���}�y�x��H���PInfo�/ATTR����ATTR����decl�coe_zeron��M�~�P���S���5�~���has_zero�	�H���PInfo�0ATTR����ATTR����decl�coe_onen��M�{�P�{�S�{�5�y���w��H���PInfo�1ATTR����ATTR����decl�coe_twon��M���P���S���5�����x��H���PInfo�
2ATTR����
ATTR����
decl�decidable_linear_orderndecidable_linear_orderx�decidable_linear_orderliftx��decidable_linear_ordered_semiringto_decidable_linear_ordernatdecidable_linear_ordered_semiring	�PInfo�4	prt�VMR�_lambda_1VMR�VMC�4	�VMC�	4	����decidable_linear_orderliftdecl�equations_eqn_1�}������������PInfo�4	ATTR����EqnL�SEqnL�ATTR����class����decl�exists_iff�p�x�Exists�i�.��i�<3h��3@?���������h��existselim~� ~4���!����"�?�_x~_a?���'�a����!��<�
�"��
@valis_lt<��hpi�����!��<��"�%�@	�+�$Existsintro	�.3�-;3�
�"�8�
�?h����
��~�ihi�	�2�� ����fst���"�W���snd�W�[�PInfo�7decl�forall_iff�p���i�.ih������4����l�oh�lihi�3�h�o_x~_a���=���)�*� �!�$��PInfo�3;decl�zero_le�a��has_lele�o�wfinhas_le��������?��natzero_le
���PInfo�>>decl�lt_iff_val_lt_val�axb��8~�Bhas_lt3;����Gx�H�iffrfl���PInfo�F@decl�le_iff_val_le_val��Gx�H����~��3���Dhas_le����Gx�H������PInfo�LBdecl�succ_val�jx�
natsuccfinsucc��z��Ox��O��
��3��3���j_valj_is_lt��eqmpr�
��?��?�������trueid}������eqtrans����������������a�\e_1����e_2��congr	
������3�������?�����������e_1}�������3
���@����natsucc_lt_succ?�succequations_eqn_1?�������natsuccinj_eqpropext����eq_self_iff_true	trivial�PInfo�NDATTR����Ndecl�succinj��Gx�H�p}������}�3��Gx�H��n�X�?�G��n}�����b3}�?3a_vala_is_lt<��n������o?���H��n}���
���
�
?3�z}���?�b_valb_is_lt��n}�������������'�(���(3natsuccinj
�'����������'���'�������PInfo�mGprt�mnspace�ldecl�succ_inj�axb���X���wx�x���X�h�X�succinj?3h���}���3������������������3_a����a�b?�e�f����������PInfo�vJATTR����vdecl�injective_succn������axb���3�PInfo�~Mdecl�succ_ne_zeronkxne������������xa}���������~���������?k_valk_is_lt����a�b������!natsucc_ne_zero3�mp��o������
����finext_iff����PInfo��Pdecl�pred_val�j��h��������finpred3�pred
�o3�w��������5��>���>�����o?�w�J����6��<
�o��wj_valj_is_lt<�I�����V@�V�`������6�@�o��w3�<
�k�n�������v�����v��<3�}����q�}����e_1����3
��p��}�pred_main_proof_1�3�predequations_eqn_1�3�u�}�:�}�C����G�}�M�PInfo��SATTR�����decl�succ_pred�i��h�5�U���9��������5�F���G���O�a�b�Ri_vali_is_lt�_���h�fcases_on����<�o��w�����o�
�w@�������
�����6�@�o��w3��3��;�fzero�k������@����������!�y�z�6�
����absurd}�����������������;���������������!������@
��Annot��l
Annot�
�nAnnot�3�t�
�vAnnot���G����PInfo��VATTR�����decl�pred_succ�ixh���7�V���x�������~���������P�bi_vali_is_lt����������i��PInfo��ZATTR�����decl�pred_inj�a��b��ha���G�G��3hb�K�N���P?�P3}�`?3������������V���X��V���`�����k�j��}��6��q�3}���?a_vala_is_lt<�k��������������<�������o�'�w@�������'�}
�6��@�o���w3����}�����3����������������������!�}�'�6�'�����
�}�����
������������������������������������������o�w�������}�6��@�o���w�?3��}�����b_valb_is_lt<����������������������<�o�w�����o�w@�����	�}�6�@�o��w���
���3}���#3�����o
�w�����@����6����!�}�	�6�	������B�}��D�I���N�I��Q���I���������
�����!�������
����>�)�e�j���q�������q�����q���3�z��a������e_1��b������e_2������������3������������?�m�z���m�
��g���l�z�C�m��fineq_iff_veq��g�l���������<
��e�����e��pred_succ���3�����<���j3���j��3�p�z���p������z�C�p������e�j�C��madd_semigroupto_has_addadd_right_cancel_semigroupto_add_semigroupordered_cancel_comm_monoidto_add_right_cancel_semigroupordered_semiringto_ordered_cancel_comm_monoid�ordered_semiring��w��3�w�zadd_right_inj���w�3�C�|��iff_self�z�M��PInfo��]ATTR�����decl�lastn����@�~natlt_succ_self�PInfo��dVMR��VMC��d��doc��The greatest value of `fin (n+1)`decl��equations_eqn_1��}�����#������'�PInfo��dATTR�����EqnL��SEqnL��decl�cast_lt�mixh{3������x���.����PInfo��gVMR��VMC��g�������doc��`cast_lt i h` embeds `i` into a `fin` where `h` proves it belongs into.decl��equations_eqn_1�����x���.�Y��?3�4�����x���.���=�PInfo��gATTR�����EqnL��SEqnL��decl�cast_le_proof_1���h��a~9preorderto_has_ltpartial_orderto_preorderordered_comm_monoidto_partial_orderordered_cancel_comm_monoidto_ordered_comm_monoid���3������K��~lt_of_lt_of_le�V�?3?�PInfo��jdecl��������K��~~������K��~�93?��?3�PInfo��jVMR��VMC��j���������doc��`cast_le h i` embeds `i` into a larger `fin` type.decl��equations_eqn_1������K��~��?3�y������K��~�~���PInfo��jATTR�����EqnL��SEqnL��decl�cast_proof_1���eq������to_has_le�V3�������le_of_eq�V3�PInfo��mdecl����������m��������~3��3�PInfo��mVMR��VMC��m�������doc��`cast eq i` embeds `i` into a equal `fin` type.decl��equations_eqn_1�������}�m��3�����������m���PInfo��mATTR�����EqnL��SEqnL��decl�cast_add�m���=����~���le_add_right�PInfo��pVMR��VMC��p���natadd��doc��`cast_add m i` embeds `i : fin n` in `fin (n+m)`.decl��equations_eqn_1���}���������������PInfo��pATTR�����EqnL��SEqnL��decl�cast_succ��x������w�PInfo��sVMR��VMC��s���doc��`cast_succ i` embeds `i : fin n` in `fin (n+1)`.decl��equations_eqn_1�}�������������PInfo��sATTR�����EqnL��SEqnL��decl�succ_above�p��i��G��������ite;��@�Ddecidable_lt��@�G��3���PInfo��vVMR��VMC��
v�����natdecidable_lt	�succ_main��doc��`succ_above p i` embeds `fin n` into `fin (n + 1)` with a hole around `p`.decl��equations_eqn_1��������}�G��3������������G���PInfo��vATTR�����EqnL��SEqnL��decl�pred_above_proof_1�p��i��h8�G���>�X
�I?������������a�
�3?natle_of_lt_succ�?�I3�PInfo��zdecl��_proof_2���������hi�Q�not8�J���I3�C3������������%��,
this8�`���V?3
ne_of_gt��N�latticesemilattice_infto_partial_order��latticeto_semilattice_inf��lattice_of_decidable_linear_order����?�lt_of_le_of_lt��F��?�zero_le��AnnotcheckpointAnnothavelt_of_le_of_ne�`�<�`�>�`�@�`���V?3le_of_not_gt�`decidable_linear_orderto_linear_order�`�^?3��symm�`3?�PInfo�zdecl�������������%������������%dite�+�Bdecidable_lt�I3���+�9��V3���?3��,�\��?3	�PInfo��zVMR��VMC��z���������	������doc��`pred_above p i h` embeds `i : fin (n+1)` into `fin n` by ignoring `p`.decl��equations_eqn_1�����������%�Y��?3�������������%�D���PInfo�zATTR����EqnL�SEqnL��decl�sub_nat_proof_1�mi��h�J
��;has_subsub�Dhas_sub
�H33?��������������������������;�������C����natsub_lt_right_iff_lt_add��?3�C����iff_true_intro�����M�PInfo��decl�����������������������?3�PInfo��VMR�VMC������natsubdoc�`sub_nat i h` subtracts `m` from `i`, generalizes `fin.pred`.decl�equations_eqn_1���������Y�?3�����������D���PInfo�)�ATTR����)EqnL�)SEqnL�decl�add_nat_proof_1�mi�9�M�O��to_partial_order���m��add_monoidto_add_semigroupadd_comm_monoidto_add_monoid��to_add_comm_monoid����	3��,�-�add_lt_add_right���33�PInfo�+�decl�*��,�-�����,�-�@���o��+3�PInfo�*�VMR�*VMC�*��-�,���doc�*`add_nat i h` adds `m` on `i`, generalizes `fin.succ`.decl�*equations_eqn_1��,�-�}���*3�	5��,�-�����	=�PInfo�6�ATTR����6EqnL�6SEqnL�*decl�nat_add_proof_1nmix�		�	z�	�9�:�;xadd_lt_add_left��z3�PInfo�8�decl�7�9�:�;x���9�:�;x�	-�=z�83�PInfo�7�VMR�7VMC�7��;�:�9��doc�7`nat_add i h` adds `n` on `i`decl�7equations_eqn_1�9�:�;x�	9�73�	c�9�:�;x�	C�	j�PInfo�>�ATTR����>EqnL�>SEqnL�7decl�le_last�i�����&��@��������	u���PInfo�?�decl�cast_val���k�h�3����?3�����B��C�	��H�	��PInfo�A�ATTR����AATTR����Adecl�cast_succ_val�kx�����z��Ex�H�	��PInfo�D�ATTR����DATTR����Ddecl�cast_lt_val���kxh�.���=�����Gx�H�.�H�	��PInfo�F�ATTR����FATTR����Fdecl�cast_le_val���kxh�J3����?�����Jx�K�	��H�	��PInfo�I�ATTR����IATTR����Idecl�cast_add_val���kx�
��3��3z����Mx�H�	��PInfo�L�ATTR����LATTR����Ldecl�last_valn�
�~�'�O�H�	��PInfo�N�ATTR����NATTR����Ndecl�cast_succ_cast_lt�i��h;�������q�>��Q���R�	���>�	��H�?�	��PInfo�P�ATTR����Pdecl�cast_lt_cast_succnaxh|�	����T�Ux�V|��U~�V�������a_vala_is_lt��V���9��k�����PInfo�S�ATTR����Sdecl�sub_nat_val���i��h������������Z���[���H�
�PInfo�Y�ATTR����YATTR����Ydecl�add_nat_val���i��h���
�o��3�	:��3�o��3����]���^���H�
�PInfo�\�ATTR����\ATTR����\decl�cast_succ_inj�axb�����	������`x�a����
'�������
'�����
'��������
%����
%��?�	��?����C�
%�
;���>�	�����
8��D3�
:��
H���C����3�C�
2������M�PInfo�_�ATTR����_decl�cast_succ_ne_last�ax�3�	��	u��cx���
g�������
g�����
g�&���
o�&}���	��	u�
pnedef���	��	ua���f��e_1������3�&�
u���
u�z�
��	��	z�
��C�
u�
������	��	u��	�z�
G�	z�N�C�
�iff_false_intro�
�ne_of_lt�Vz�	T�C�
p��not_false_iff�M�PInfo�b�decl�clampnm���l�mfinof_natmin���PInfo�k�VMR�kVMC�k
��m�l��min�of_natdecl�kequations_eqn_1�l�m�%�k�
��l�m�+�
��PInfo�t�ATTR����tEqnL�tSEqnL�kdecl�clamp_valnm��	��
��
��v�wnatmod_eq_of_lt�
����mpr;�
������
�natlt_succ_iff�
�min_le_right���PInfo�u�ATTR����udecl�injective_cast_len₁n₂h�K�~���������Ka₁~a₂�a�Y�~�?3�
���������g�~����3��?3a₁_vala₁_is_lt�	���p�~�
����?�����������~�'��
�(?3���@���?�a₂_vala₂_is_lt<�'�����~���'���'��!}��@�����03����2�5
���3����~�����'�2�@�5Annotshow�PInfo�~�decl�injective_cast_succn��������injective_cast_le�~���w�PInfo���decl�succ_above_ne�p��i��Q�������������eeq��dite;�	�����	��h�meqmp;�3�W?���w�u�tchas_lt����e_2������e_3����9�����3���?:�t�t�:�t�v�t���v�W�	�3�t��`��je_1�z���3
��?��eqsymm�`��?�s�`���w���t�v�`���e?�`��?�\�`�\�je_1����������e_2��������������3�������������?����if_pos�w���`���e??��`?�s�`���?3?�����������?3??���
G�3�C�X�t�tα
_inst_1preordera�
�83�L3lt_irrefl3�V�t���&�m�s�&�w���!�&���
��w���z�u���t�����*���W�e�*���e���e?���`�e?���eif_neg�w���`���e??�����N�3�C�+��n��<���"�t�C�%not_true�PInfo���decl�succ_above_descend�p��i��h�%}�J��?3��������������%��I���J���a3}�j������??3p_valp_is_lt<�V���k?�l�������������?3}��������?������i_vali_is_lt<����������������<������@�����
�����������
��������3��3���������������������!}������@
��Annot��
���������������������
���������������������;
���8�������������������.����9������3����������&���������������
���
�����������
�����
�������
����
������e_1}�4��63
����
���������
���
�
�

���
�
��������e_1�
"������@e_2����o�
=�w���
=��
D�3��
B���
>�o�w���
D?������������
��������������
���:�k�����
h_1�����
����;
���8����������������������
��9�2�4@�4?���2�
��'��
���&�
��6�2�
����2�
��
�3����
��
{���������
������
���
{�
��������
��
���
��
������
��}�6��3
��
��
������
���;�
|�������
�c��decidable�
��
����
��
������2e_1}�
:��@3
�	�
���dif_pos�
��
����
��
����:����
��
����
���������e_1��h�
�3α�t��e_4}3e?���e_5}�eqdrec��������������}������'��
����
����
��'��?��������}�
�����������?�%3������'?��.�
�������
����
��
��������3�?�'��
��
��
��
����
��
������
�e_1�
��
��3���	�
����
��
��a�����
�e_1�
��
����	3���	�
����
����
��
����
���
t���
��������
������
������
��
��
����P�������
t�C�����G�M�����
���
{�
��
���
����
����
����
���;�
|�
��
����
����
��
dif_neg�
��
����
��
����
����
��
�����_�����
����
����o�
���
������
���9�����������
t��������������������������
������������
�
t���M������������������!����@
��Annot���
���"� ��&����)�&����
{�������>�
{�1��
{��;�
|��
�1���
��1������;�
��
��I3�
��B��&�;�
��B�
��B�
����Q�
����
��P�
��P�7�����8�_��5�]�
��4�\�
��4���P�\�������
���
����@�����}�
>���
L�
O���
L��r�3��
O���o�o�w���r?����������3�P�
e�����1�������P�7�7�:�7�k�;�>�_h1�;���
�4��;
�2�8�
���4�B�
����4�B�
��
�����9���8�V?����8���'����&���6����������3���
��������
���2�����2�����B������F�I���������������
��6���N��(3���������
����;���F�'�
����
�������������
���
:���A��3�����F�
������
��������'�:�'�
�����F���^��������
������
���
:�����(3������F����"���
����
:�������3������F�������
���"���I�:�I�����?�������\������I�I�\����I�����B���2�B�E�I�I�W�C���?�w�t�\��??�:?���I�������;���N�'��������N�������
��������'��
���N���N�I���������������&�������
�����6�N�������G�N�����I�W�k�������'��h2������
'��;
��������
�;���8�6���������������
:����9�	���k����	���������&���B�����	����?�
'���
�����������������
:��@���
<��
>3
�
=�����������
:���������:���6�����������V��
'��V�����������6�����)�
K3
�
A�������
�6���V�V�:�V�����V������?�������<�
'����F���H�
G��������������V�V�:�elim�?�s���V���&��V���
y�V���s�&�
������&��G������l_a�����&�N�����&���m�p�C�l�p�#������s�7�����m�s��_a�����
���������mneequations_eqn_1�6����3le_antisymm�U�V���s���������������H��R�U������e�linear_order���V���&�����
'��V������!���.��9���
�6���V�V�:�������������������c�V������V�-����������V�V�:�C�����w���������:��PInfo���ATTR�����decl�pred_above_succ_above�p��i�h�e�Y���j�����������e����Y�����m�p�J��?����J����J�a?�*��?3������:�\��\�e_1�h������e_2��������������3�������������?��8���J���`e_1�u��������e_2�����3��������������
������3��������������
��k������m�'3�?�a?����������h�e�l�����m3�w������������?�������������?�������
?���?����3��33��J3��*�6�D�?�8�q���8�	�h₀�m�������?����`�����`�l������t�������������������t�����������������e_1�p��3
�
�������`���j�������������������3��������������
}�
����2��3����
����
�7������
�7�'3�?�?���������������
�73����
���.���?������������;?�������
?�
`?��
`�3��??�����������t�t����������������������t�t������t����3�������6��?���V��?���|?��&�|�i�	�?��������j��;�?�s��������j���t���j������v�?��3������?���������j���t���
��|��ifftrans�|;���v���lt_iff_val_lt_val�V��?�s��A���;�s����iffrefl���������w�������t���v�v�:�v�C�w�����wtrueintro�z����|�	��������������
e�?����h�
��|α��(�(8������������(�(8���������
��3e_3}�(8�����������
?�(�(�&8���������'�
���(�(�&8������������'�e_4}�(�&���
�'�����(�
�
������
��(�/��}�(������������������2�'��
��>?��(�&�.�
3�(�I��}�(�&�4�?�A�?�>��.�
��3�?�������funext	�|x�|�x�|�����|?��|�S�?��������������
��|����������t�t���C�r���G�t�M��� �������e���e�?�t���������������`�e�?���t�t����������6�e?�~�e?�����	��t���t��&���i�t���t���t�9�����j���t�t����������������������e���t�t���k8�����e?����e?��h₁�������8�j���k�t����k�t������9���������������&���q�������������;
��
���������������������������?���������9��3�������������������9�=��7�;���6���
��������5�����:��falserec�=lt_trans�V���������!���s;��t��;�Z�a��__a��;�#���#�<�j���b�Z�I�?�s8�����t��b�s�|_a����8����������|�b�C�|�b����t����&���:���������?���B���D�����������5�����P�����������������������������������_a�����
��2���
���?���?���P�PInfo���ATTR�����decl�succ_rec_main_meta_aux_aux_param_0Cn�x��H0n������Hsnix�?����Vnix�����������������x������x�������finelim0���������������
��i_vali_is_lt<��������<����@���������'�������������o�p�lt_of_succ_lt_succ����+
��RecFn�����'���+�PInfo���VMR��VMC��������������Belim0_main��decl��_aux_param_0������������������x��brec_on�����_F��below
����x�
�������x��L����x����

����x��L����x��233�����L����x�2�������n��������^��������T���i_vali_is_lt<�����<��
=�@����������	����������"�(��	���pprodfst

����x�z��frec
n
punit
nih��pprod

�

����x����	

�����������3�PInfo���VMR��VMC����������������decl��equations_eqn_1_aux_param_0������������i��?��)?3�����������������)���)�����PInfo��ATTR����EqnL�decl��equations_eqn_2_aux_param_0������������n_x;�������@�����?3������������������������������PInfo��ATTR����EqnL�decl��equations_eqn_3_aux_param_0������������nih��������@��������?���?3��(3� 3�(�����������������������"�PInfo��ATTR����EqnL�decl�succ_recu_1�����x�����?����������� 3�PInfo��VMR�VMC����������decl�equations_eqn_1� ���?����������� ���+?3��+�����?����������equations_eqn_1+3�PInfo�"�ATTR����"EqnL�"decl�equations_eqn_2� ���?�������������H��J�?3���������?����������equations_eqn_2+3�PInfo�&�ATTR����&EqnL�&decl�equations_eqn_3� ���?�������������H��J��?����)�w3�(���?����������equations_eqn_3+3�PInfo�*�ATTR����*EqnL�*decl�_sunfold� �@���?������������x��*������*��Q��������*����������*������� �"�����&���-�0�J���'���+�PInfo�-�ATTRelab_strategy���decl�succ_rec_onu_1nixC�?H0��Hs��3�?�1�2x�3�?�4���5���J3�?�PInfo�/�VMR�/VMC�/��5�4�3�2�1��decl�/equations_eqn_1�0�1�2x�3�?�4���5���H���/�0�?3���1�2x�3�?�4���5����0�����PInfo�7�ATTR����7EqnL�7SEqnL�/ATTR�.���/decl�succ_rec_on_zerou_1C�?H0��Hs��n�H?����������?34�:�?�;���<���=rfl�9�����PInfo�8�ATTR����8ATTR����8decl�succ_rec_on_succu_1C�?H0��Hs��nix�H�����������?33��_x_xx��?3�A�?�B���C���D�Ex���E��H�����������?�$��3�F�Gx�N�?i_vali_is_lt�������������������PInfo�?�ATTR����?decl�cases_main_aux_param_0�C�����H0��Hsi~3�i�?��M�3�N�4�O�6�Q����Q��i_vali_is_lt�~��R�S<�w�
@���S������x����R�S��w��
����(���U�PInfo�K�VMR�KVMC�K	��Q�O�N�M�decl�Kequations_eqn_1_aux_param_0��M�3�N�4�O�6h������?@��K�V�?3�j3��M�3�N�4�O�6�W�g���k���k�r�PInfo�U�ATTR����UEqnL�Udecl�Kequations_eqn_2_aux_param_0��M�3�N�4�O�6ih�&�������m��?3��3�+��M�3�N�4�O�6�[�\�&�����������PInfo�Y�ATTR����YEqnL�Ydecl�casesu_1��M����:��M���N�4�O�6�K�^?3�PInfo�]�VMR�]VMC�]��O�N�M��Kdecl�]equations_eqn_1�^��M���N�4�O�6�W�g�H�k�]�^�?3�j3��M���N�4�O�6�Kequations_eqn_12?3�PInfo�`�ATTR����`EqnL�`decl�]equations_eqn_2�^��M���N�4�O�6�[�\�&�H������?3������M���N�4�O�6�Kequations_eqn_22?3�PInfo�d�ATTR����dEqnL�ddecl�]_sunfold�^����M���N�4�O�6�Q�����>�R�S�~���G�S�J���M��R�S�R���W�Y�PInfo�g�ATTR�.���]decl�cases_zerou_1nC��H0�4Hs�6�H3���?3��j�k���l�4�m�6�������PInfo�h�ATTR����hATTR����hdecl�cases_succu_1nC��H0�4Hs�6i��H?�c���c.�p�q���r�4�s�6�t���t��H��o���
4i_vali_is_lt� ������#�����?��PInfo�n�ATTR����ndecl�forall_fin_succ�P������i��.and��i�����x�'��(�/H�(andintro�U�6�Ui~�_x�/_a�*�6�6�}dcases_on3�N�{�����*�C�E�y�`�left�Cright�{���!i�j_x������jfincases��O3�PInfo�w�decl�exists_fin_succ�P�'�����i��.or�+��i��-����'��f�l_x�f_a���G���G4�,dcases_on�J���J�7�����J�w�h?�g�������w�Jh�7�!�h��n����������S�_x�j_a��h����������
��orinl����i�hi��orinr�����2���h�lorelim�6�O��~�5�th�6�2�J�w�N_x��_a��������u��~������j���j�����h_1��!���������N�2�������PInfo���decl�tail����q�(�6��������(�<�PInfo���VMR��VMC���i�������doc��The tail of an `n+1` tuple, i.e., its last `n` entriesdecl��equations_eqn_1���������(�3�6���3�<��������(�3�6���PInfo���ATTR�����EqnL��SEqnL��decl�cons������x�+p�6i�J�7��������+���6j�Jfincases3�_x�`�3�PInfo���VMR��VMC�������������Kdoc��Adding an element at the beginning of an `n`-tuple, to get an `n+1`-tupledecl��equations_eqn_1���������+���6�������?3���������+���6������PInfo���ATTR�����EqnL��SEqnL��decl�tail_cons������x�+p�6���E��?�w���������+���6���"�������"�����"����\�E�\�Me_1��i�����������������e_2����������_
�����'���������B��E�3congr_arg99�B���B�����E?� �[9���i�`��c� �����c���.�c���?���J�7�e�����J�_�����`��e_1�����j���L���������
����{�3�������m��?3��?�w�m��3������c����d�g����nu��3���E�C�.���j9�E�M�PInfo���ATTR�����decl�cons_succ���������+���6i�����?3�c.��������+���6�����������������������..���\��\��oe_1�����3����z?���
���e_2�������_3
�'�?�����������3��33
������������?��.�[u�`�����`������j��?3�c.congr_fun?�`�_������?3�c��..�3�.�C�����j3�.�M�PInfo���ATTR�����decl�cons_zero���������+���6���C��N��������+���6���:�������:�����:�7���\�C�\�{e_1�������������e_2���
������������Q��T�3���Q���Q�����T?�8��w�N�8��N��J�w�����N�h:?�j�#�C�C�F���*�C�M�PInfo���!ATTR�����decl�cons_update���������+���6���y������j�����?functionupdate3���a�b�findecidable_eq�
3���j�����j����������a�j��?3����������+���6���������j���j������j�j�k�y�������������������i��5���������?3�������������������������N�?��h����������
�����������������'�?3�����{�������������������z����3��������������������_a�������
3���
����������9��������������?3���������������������������2����?3���z�.�A��������������������������\���\�Me_1�T���'������������e_2����������
���2�����k��n�3���k���k�����n?�����
�����������a���;a��b�����������������3��������update_noteq3���������
����������s��A��������������������
p�����&�������
p�
y�������
����C�y�L���
����o�x���L�succ_ne_zero�
?�
���3�������C�Z���*����M���&��	j'������C�����.���A�����D�����3_a�������?��'��
���������A���������������?���������'���������
����?���2�����C��������3��3�������-���������;�:����_a�����������C��C�E�H�����9�cons_succ��
��-�k�������;h'�]���E��H������������e�j���_a�������'�?3�����������
�������.�����
��3���������������������������������
����q���A�����@���e����j�������j�����j�������\���\��e_1�����
�
�����
���������'e_2���2�������z������������3��������������?�g���update_same3��a���A�����i�������������C�����*����M���&�]�f�E���H���l���@�D��������������.�������2���_a�D���s������������������������C�������%��������*����*�����������������������2�����C_a�D���s����D�����$���*�,���*���/���0�C�������*�C���&}�*�C�������Z�_�s�Z_a�������/�q�����Z�_�
y�*�C�����_�&��������_�x�s�^_a�����&}�/�q���y���_�w�C�^�w�v�'������%���������%����$_a�D���D���q�G���%���S�'��
��#�D���PInfo���%doc��Updating a tuple and adding an element at the beginning commute.ATTR�����decl�update_cons_zero���������+���6z�C��a�`����`���`����`���j�����g������������+���6���C���`���`������j�`�k�u�n���k�n������������3�n��3h����������������?��3��3?������������������
�_a�������3��������?3�	?�3�������������
�������
�����
�	33���\��\��e_1���;������������ae_2������������������������I��L�3���I���I�����L?�
3����������3���3�����3?�C�8���*�3�M���&��������������\���\�e_1���;?���������e_2���B����H�
����������3��������������?��������������
��������s��A�����3�������������
p�����&�z���
p�
y�����
����C���
����
���3�����#���	j'��s����3�������������������x3_a�x�����!�?�<��?����������������x�3��
3���������������� �@�5��_a�5�����;����� ��� � � ������S�
������ � ������ � 1� ��_a�5��� �� � 8��� �� (�?��#����PInfo���4doc��Adding an element at the beginning of a tuple and then updating it amounts to adding it directly.decl�cons_self_tail������q�(�����G4�3�9����������(���G���G4� ^j�G�k�h�N���I�N��4��N�3.h� j��������3�g���?3�����{� ��g� {����� �� ���_a�`�����3��?�n����?3�$���� ��7��� ��g��� �������� ������ �� �� {� {���\�{�\��e_1���L�������Me_2�^���b�����b�� ��3���b���b����� �?� �� {���?� {� � {� {�#�{� {�C� ����*�{� {�M���&� j	j'��R��� ����� ��
?�
��� �� ���3_a������?���������?�?��� ����� ��
����
3��3��� �� �� ��������
� ������ ��!�u�1� �_a�1�������� �������!� ����!"��� ��!����?���!� �� �� ������!�!7�@��!_a����!� ���������!"�!�!"���!� ��S��� ��!�#�� ��PInfo���@doc��Concatenating the first element of a tuple with its tail gives back the original tupleATTR�����decl�tail_update_zero���������(���6�����J�w���J���`���N� t��������(���6������`�!l� tj������`� }�_���_��3�g� �������!������!��!w3�c�!����\�`�\����e_1���������{�����3��e_2����������������!���!��3���!����!������!�?�!�!��������
�!�����?�n3�
�!����!��!~�!�����_�!}���`�����c�g�
��a�c�g���s�!�A����k���n���!������!��
p���!��&�`�c�g�
p�
y�`�c�g�
��!��C�d�����x�
������
���3�!��!��!��~� ���� ��!�?3�C�!����*�`�!��M�PInfo��Kdoc�Updating the first element of a tuple does not change the tail.ATTR����decl�tail_update_succ���������(��~���5���M�!x�!{�:����~���������� ��������(��~���5�������!��""�".j��k�g3���3���!�� ����!��o3��� �3h�";���������������?3��� �?3�����"R�"U?�"Z?�����"\�"c��_a������{�z3���
�{���z�?3���"m���?3����"s�"z���"\?���"c�������"c�����"c�"_33���\�"^�\�{�"pe_1���3��������������?�
e_2�������A�
��������G�
��'�����"���"��3���"����"������"�?�"`3�����?�"`����"r�?3���"��"U�"�������"T?�f�"R3��"b3���?�"b���!??3?3_inst_1decidable_eq�f����#������e_2�������wa'��v���.���
����������e_4�����
��2�3���
:��3���@�������
=�
��#���������
>�
=���
L����#3���
>�#���'��3�#��3��3���@�	�A�?��#(����#���#�#3�#�#'���@�#'��
�?3����� ��!?�"���?33�#��"R3?�������5��?3�!?�C�"����*�"^3�M��&�";�"]�����"e�����"\�"P�!"�!"���\�"O�\�"ke_1���3��?�����������?�e_2���"��
����"��
��
�����#���#��3���#����#������#�?�"V�!"��"��"V�"��!"�"������"R�
������"R���s�#�A������"j�"p���#������#��
p���#��&�y���"R�
p�����"R�
��#��C}����"R�
��#��ne����fininjective_succ�?�
���3��"[�!"����"[�"��!?�#Z����#^��?�
����?���s�#�A������3����#������#��
p���$	�&��?�
p�
y�?�
��$�C�$�
��$�
���3�!?�C�#y���*�"O�!"�M�PInfo�	�Odoc�	Updating a nonzero element and taking the tail commute.ATTR����	decl�find_main_meta_auxnp��_inst_1decidable_pred�option~� �!���"�$<��� �$@3�!�����"�$:���$=� �!������"�$:���$I_x�$>�$=�J
�$ARecFn�3i~3�9�I?natlt_succ_of_lt�?�fa~�$`optioncases_on~�$V�$f��&3�$m�$=�Gh�$noptionsome�J�&?�,�&�$n�$L�Ji~�$u�$`�PInfo��^VMR�_lambda_1VMR�VMC�0
�^�)_fresh%�
q��1_fresh%�
q�����VMC�!�^�"�!� �0�	��	������decl��$A� �!���"�$<�fbrec_on�$C3� _F�fbelow�$C�!�����"�$:~� �!���"�$<�9�$�3�$B� �!���"�$<�9�$��$=�?�!�$F�"�$H�9�$����$N� �!�$R�"�$T�9�$����$I�%�$��$=�`�	�$Cnatadd?���
����
����$��$C�$��$��$��$��$��$��$��&�?�9�V��$\����)�3�$��$i��$��$��3�$v�$v�$U�,�$��$t�`�&��,�&�$��$L�`�/��$��$�3?3�PInfo��^VMR�VMC�!�^�"�!� �0�	��	������decl�equations_eqn_1p���_x�$:}�$J��$M�?�%�@�%��$J��$J�%
�PInfo�>�^ATTR����>EqnL�>decl�_proof_1n�&x{���B�&x�$\z�	T�PInfo�A�^decl�_proof_2�B�)x�%�B�)x�%�PInfo�C�^decl�_proof_3�%�%�PInfo�D�^decl�equations_eqn_2�Bp�'_x�$:��}�$r�%�>�$k�%3�&~3�$[�A?�)~�$[�C?���$n�$p�$r�$t�G�$m�$L�G�/~�$u�$[�D?�B�G�'�H�%#��$r�%�$r�%'�PInfo�F�^ATTR����FEqnL�Fdecl�find�$A�%�PInfo�I�^VMR�IVMC�I�^�doc�I `find p` returns the first index `n` where `p n` is satisfied, and `none` if it is never
satisfied.decl�Iequations_eqn_1�?�%�@�%�%�I�$M�equations_eqn_1�PInfo�K�^ATTR����KEqnL�Kdecl�Iequations_eqn_2�B�G�'�H�%#�%$�%T�>�$k�%T3�%/�%6�%@�%G�equations_eqn_2�PInfo�O�^ATTR����OEqnL�Odecl�I_sunfold�$A� �!���"�$<�$Q� �!�$R�"�$T�$I�$V�%a�$b�$e�$k�%m�$}�$��PInfo�R�^decl�find_specnp��_inst_1�$<i~hihas_memmem��$�optionhas_mem��%T?3�)�4���T�U���V�$<�W~�X�%��fbrec_on�T�%���T_F�fbelow�%��U�$��V�$��W��X�%}��$=��%���%T�3�)�4�T�U���V�$<�W~�X�%��^�%�����T�U���V�$<�W~�X�%��^�%�� ���U�$F�V�$H�W��X�%}��$=��%���%T��3�)�4�^�%����!�-no_confusion_type� ��%U��)��$t3optionno_confusion� ��%��%��T�U�$R�V�$T�W�T�X�%}��$=��%���%T��3�)�4�^�%���!� ���hi�%}�j�$=�j�%��j3�%T�k��)�j�� ��c�%��-rec��%�$=��$=������&�?�%��%��$t�j�%��$L�j�/��$t���9����%B��%T��&���%��%*��)���%��%1�_x�$=�h}�$=��%T�
i��
�9����$\�����)���&�-cases_on���e�$=���f}�$=���%T�'�g���'�9�����$\
�������)����&8�'�
�f}�&*�%T��g����9���'�$\���'�'�)���
�&Q�$L�����c�%}���$=���%�����%����%�&+�$=������&�'�
�&e�&\�$t���&e�$L���/���$t���&0�%B���$L���&A�c�&`�&o�k�'�&����&~�&Ahl�&eqsubst��_x���A�&����}�$=���$t���&��&�����&��optionsome_inj���&���s�%}���&��%���������&��'�&��&��&��$L���&��&�chas_mem���&��������
e_2�
����$=����$=�(e_3}�$=�
B���$=�
O���%}�
O�&����&��3�y���&������&�?�&����
`��&��&����&��&��&��&��&��i�&�&�%�������&��&��&��&��&��&��&��9�&��&��&��&��&��s�&`�&w�&-�&���'�&0�%*���)����&0�%1���&z��&+�&>_a�&+���%}���&b�%����
�%����%�$=���&����&�&��&b�&q�&~�$L���/���&��9�����%B���%T���&�����'!�%*���)���'�'!�%1���'�''���'	�&x?j���f�&?�$t�����&A�'�&/�&r�����&A�'M���
_a�����&������&A�'L�����'L�
�}�&b�&q�'L�&q�
���'L�
�&����'L�
�s�'6�'�''�$t����'�'(�g�����'!�$\�������)���'�'w�s�'���&��%��.�%�$=�.�$=���&��/�.�$t���9�����%B���%T���&�.���'��%*���)�.���'��%1���&��'����'6�'l��	�%��$������$��
���$���%��$��'��$��'��'��'��$���'y�'|�%T��g���9���
�$\���
�
�)���'��G�&�'��?3�?3�?3�PInfo�S�fdoc�SIf `find p = some i`, then `p i` holdsdecl�is_some_find_iffnp��_inst_1�$<�coe_sort	boolcoe_sort_bool�$is_some~�%a�)~.�P�w�x���y�$<�%��w�( 3�w_F�%��("�x�$��y�$��w�x���y�$<�~�(%3���w�x���y�$<�~�('��(�(��%���i��7?�x�$F�y�$H�~�(%���!��(�(�%U3�)4����7iff_of_false�(;�(?h�(;boolno_confusion�(6�%U?�)�7booltt_x�(?_a�(=���u������(=�(T�������finelim0�w�x�$R�y�$T�~�(%���!��(�(�?��%T�(l3�)�(m4���(m��(m�7��(t�(xh�(t�u�`a�`}�%��%��%������`�(����s�(�(�`�%T�V?�)�`�7�(��s�(�_ahas_coe_to_sortS�(�(}�(��(�(�j�%���(��(��(��C�(��(�optionis_some_iff_exists�`�(�i�`hi�(����find_spec����)����_x�(x_a�������(���u�����(��������(��(��(�(����%T�(���)�(������(��������
����(����z�(�(��'��%T�(���)�(��2w_valw_is_lt<������@�(��!�(�(���%T���'�)������(�_x_1�'h}�'��'�i�.���'��$\�
|�����)�.���(��&(�����$=����}�$=�
��%T�2���
��2�9���$\�����)�
����)�(�(�6�%��
:�%�$=�
:�&����2�&����)"�$=�6�$t�6�)"�$L�6�/�
:�$t��9��	�%B�	��}�)�%T���������9�4�2�$\���2�2�)�����)K�$L���k���&�2���)U�(�(�
�%��
��%�)�)'���)V�)X�$=�
�$t�
�)U�$L�
�/�
��))�)
�%B��$L�
�hl�)V���(�)�)8�$L�
:�(�)�)*���(��)v�)y_inst_1���(a�(���(e_2}�(��(�(�?3�(?�(�)u�)xa�)'���&�e_1}�&���&��(3�(�
B�)t�)*���)#�)%�)'�)*�),optionis_some_some�6�)"���&�)V�)w�(�)�),���){�)��)��)��)��),�9�)#�)%�)'�)*�),�s�(�(�
:�%T�x�
:��)2�$\�
��	�	�)�
:�)�@��9���$\�����(�)��)s��)�)����
:�)��)�
:�2�)�_a�)�(��(�(�@�%T�	���@�	�)��)�@�)��	�9�
A�
=�$\���
=�
=�(�)��(��)��)s�
��)����
:��
:�)�ihin<��	�hi�	@������$=�
>��}�$=�o�%T�
L���o�
L�9�|�z�$\
�z�z�z�)�o�
=�*)��}�$=�z�%T�z���*2�z�9�o�w�*6�$\
�*6�*6�*6�)�*2�
L�*C�$L�*2���&�z�&�*6�'��("�$������$��
���$��'��("�$��*Q�$��'��*R�*\�$��
L�������9�o�w�*e�$\
�*e�*e�*e�)�*d�*6�*r���?3�2�
:�*@���Y�U������h�����
np�'_x�%#���t��;���I��?�b����}�%��&�����%��$\�����)���*��$L����&��&�����������$:�����������4��;������?�������)@�)A������)K�)����)K�)S���&��)U3�	��2����3�j�����)�$t�
����(�)�)8�$t�
:�������*������(��*��(�(L���)��*��(L�)��)�)hboolcoe_sort_tt�M�'}�G�'�'}3?3�PInfo�v�xdoc�v`find p` does not return `none` if and only if `p i` holds at some index `i`.decl�find_eq_none_iffnp��_inst_1�$<�}�$>�(�$L~i~�&4���������$<���+D�+A�&�Ox~4�����+D�+L�s��~�+B_a�����}�$��%��$L�����&�7�+W���+D�+K�����+K�+Q�C�+K�+Qnot_exists~�+I���+L�+A�&�(�(�%a��(�����+L�+v�s�P_a�(����+W�&������7�+W�y���+L�+t�+c�+t�P�C�+t�P�is_some_find_iff3��(�&(~_x�$>��+S�+U�&�(�((�(����+=�+?�+?�&�(�(�+?�������+������+�����������+����C�+����F�$>�+?�+������+��
p���
��+��*��+��(boolff�)��+��+�optionis_some_none~��coe_sort_ff�
��C�+��������Mval~����+S�$t��+U�&�(�((�+��������+������+�������+�eq_false_intro�+�_h�+��%���$t��$L��+����+��%�
��+����*��+��*����)��+��(L�)���+�]�C�+������M�PInfo����doc��`find p` returns `none` if and only if `p i` never holds.decl�find_minnp��_inst_1�$<i~hi�%�j�hj8����3�&� 7���������$<��~���%�������,&��� 7�%����������$<��~���%�������,&��� 7�
��_F�%��,6���$����$�������%������8����3��� 7���������$<��~���%�������,&��� 7���,9�
�����������$<��~���%�������,&��� 7���,@����$F���$H������%������8�����3��� 7���,9���!�%��%U�
�)�z�%���%��,U�,W������$R���$T���T���%�������z3��� 7���,9�w���������8�*��������'?j_valj_is_lt<����8�/���.@�.�
����@�03���hi�%}���'��%����'�%T�����)���A���,��%����%�)�)`�����&�����,��'��'��,��$L���/���)b�)D�%B�2�)A�&�����)D�%*�2�)�����)D�%1�2_x_1�)h}�)�)��&(�@���$=�@��}�$=��%T�i���)��)���}�,��)����@�)��)��$L�@�k�	�&���,�hl�,���
B�&�
=i�
Bhj8�
O���
N@�
N�'����%}�}�$=�}�%��}�$t�}�&�z��8�
B���
A@�
A��
�,����&��%��
O�&�
L�$t�
O�,��s�*L���*2�&�*D�s�*L_a����}�$=�*6�%T�*6���,��*6�9�o���w���$\
�������)�,��z�-�$L�,����*L�,��C�*L�,��find_eq_none_iff�z�*E�*H?@�z���
���&��$t�
B�,��-2�}�
B�,���&��
B�,���s�%}�
B�&��%��
B��%��
>�%�*�&�����,��	�,��&��-3�$L�
B�/�
>�,��9�
N�
L�%B�
L�$L�
>�-D�-3�o�&��
B�&����
O���}e_2}�*8���$=�-���$=�*ge_3}�$=�o�w���$=�o�w���%}�-u�-v���-{�3��-u���-v�����-{?�-B����
B��-[�-3���-H�-J�&��-3�-N�s�-D�-Y�%T�
=�&�
>�
=�-S�%*�
L�)�
>��-S�%1�
L�-\��*�-����
>�
=�-S�$\
�
L�
L�
L�)�
>��-�_a�*���,��	�%��o�%�*�,����
=�,���,��&��,��$L�
O�/�o�,��*!�%B�z�*�&�o�
L�*!�%*�z�)�o�
=�*!�%1�z�-��-����-��-Z���-����&�,��%��
B�-N�-5�-]�-D�-N�-��-N�9�-H�-J�&��-3�-N�-�k�@���,��$t������-D�-Y�$t�
>���-D�-2�)��%B�
=��
O�-R3�-T3���
O��8�}���|@�|���'���%}�-b�$=�-b�%��-b�$t�-b�*:��%B�*6����,��.���,��* ?�-�?�,��.=�'��,6�$��*6���$��
���$��'��,6�$��.B�$��'��.C�.M�$����-�-�?@�*6���X��
�*8�.3�*6�*@�
�8�,����*6�.c�Annot����	�}�&��,��.�,��	}�
O�.�	�&��
O�.�	�
�-��.�-��.��)�G�)�)�3�
���?3����?3�
���?3�PInfo����doc�� If `find p` returns `some i`, then `p j` does not hold for `j < i`, i.e., `i` is minimal among
the indices where `p` holds.decl�find_min'�p��_inst_1�$<i~h�%�j�hj�������?��������$<��~���%��������e��g����?hijgt��L��N�linear_orderto_partial_order��.�?�find_min�
��)��N�?3�PInfo����decl�nat_find_mem_find�p��_inst_1�$<h��i�hin���%���natfind�����n���n��q�)exists_prop_decidable�n�/���h�n?�q�V;�/'?���/*?��/����� ��� �$�)�/� �/-�/���� ��#natfind_spec�/�/%�%���������$<���/_a���/�u�//�����//�%}��%��%����/�����	���	���)�/�	�/V�/����	���V;�/c����/f���/��������)�/��/h�/�
������/@�/X�/a�&��)����h_1�/.�������/���
3�����/��/��%}��&�%���
�/���&���%�+�)�/�%�/��/����%�
�*�3�/�3�V;�/��
���/��
��/�����$���$�'�+�)�/�$�/��/�'���$��+�3�/�?�/@�/��/��/��&��/h_1_w�/�h_1_h�/��!�%}���&*�%�����/��/��6;?����/���(��V;�/�����/���(�/����<�����/����0�)�/�/��/��/�����/��'�/��3�/���6��'���/��'��3�/@�/��/��/��&G�
�)���z_x�&*hf�&,�&-��)���2�&(�����'���(��'����)�.���%}���)�%���@���/����<�2���0"�2�*��)�/�0"�0'�/�2���0"���0%�3�0)�
�6;�
�����07��@�2����V;�0B�����0E���09�/����<����0G�@�	�)�/�0G�0M�/����0G�2�0K�3�0O��6;��2���0]�2�*��'���/@�0)�02�0A��}�'�'(�'�)����$L���]�%}�.�'��%��.�0�/����<�����0����09�)�/�0��0��/�����0����0��3�0���6;������0����0!�
�?�V;�0������0����0C�/@�0��0��0��$L�.�s�0�0����.�&�A�s�0�_a�����)@�)A���)���A�)S���0��0��C�0��0��-!�����0�0��?f�����0�$t�.�
��)@�$t���0��0q���0q�&����0q�����<���>���@�������0q�find_min'�����0��0q�`;�03�'�����0����09�0Y���0n�'natfind_min'�0)�02�0A�
|�6;�1
�����1
���09��3�(������0!�1
�1�S�����
�e_1�
��
���3��1fineta���1�(������0��0�G�&*�0�PInfo����decl�mem_find_iff�p��_inst_1�$<i~��%��*4j���7������3������$<�~��%��1Vhi�%��5�������.��(��?�)��7_x��0����/�3�(�1V�B���1`�(�*���1`�/S3�/�hpi��hj�����������
�_x�&hfp�&�/��&)�	�&*�
�0�%}���'�%����
�
�&F�0�&Y�]�%}���&+�%�����&x�s�0�&x�����&��s�1�_a�����0~���1��1��C�1��1��-!�'��0�������
�0�'G�
��0x�'l�'k�
���
�&����
�����<���>���@�������
�0����'�0z�
��~�(����'�0z�'���)����'��1��PInfo���decl�find_eq_some_iff�p��_inst_1�$<i~��+T�+��1V��
����$<�~�mem_find_iff?3�%��PInfo���decl�mem_find_of_unique�p��_inst_1�$<hi~j������~�p?3i�hi�7�/S�/�������$<��2����7�
��2�*�~������1~?�1����/��5�~�2j�hj������N��<��>��@����
?� �3�PInfo���EndFile