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�o�Uinittacticextdataoptiondefs��^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_assocdecltacticinteractivework_on_goalainteractiveparsenatanatreflectleanparsersmall_nat�~itactictacticunit�	�
id_rhs
 monadto_has_bindinteraction_monadmonadtactic_statelistexprbooltt}get_goalsgoals	earlier_goals�take	later_goals�drophas_addaddnathas_addhas_oneonenathas_one}set_goalsoptionto_list�nth&_x:A_x#new_goals;has_appendappendlisthas_appendKA/
�PInfo-	VMR_lambda_1VMRVMC�/-	s_fresh
���_fresh
���_fresh
���_fresh
��

�_fresh
��		�nth_mainoptionto_list_maintacticset_goals		)	
"	tacticget_goals	
�append_main�� 
'	
VMC -	��
�	�	�take_main�natadd�drop_main��PInfo_nest_1_1_nest_1_1tactictactic_script_mut_7
indlαC�psumn�7�e_1�77idxpsuminlunitstar�base_0&e_2indexfirst/laterbAidxpsuminrmclosedboolih{7n�work_0A/&7e_3&{�nil_1/e_4hduntlb~{ih_hd~n7ih_tl�{7�{�cons_1/&�a�b��7��^�a^��^�cn��^��7�b&{�}���^b{��^��n�c{��^�g�t�������~A�^�g�t����������b�{�}�/&7�rec	���~A{7�^�g�t������7�^�g�t��������n��{&7���~A/&n7�{�decl�rec_on��^�g�a����//npA���~���}��7�n��A/&7�A{�~���n����n7��{7�{�
/&�~A�^�g�a����������+�/&7~A�PInfo�7
ATTRreducibility���auxrec�prt�decl�cases_on��^�g�a�������~���}���/&7���������7�-�^�g�a������M����R��������b�{�}��#{7�A/&77��n�b�{��7��"7A/&~A�PInfo�7
ATTR����auxrec�prt�decl�no_confusion_type��^�aPev1�7v2b/&e�^�a�e��������A�a��e/7�A��~�a��eA7�~�a_eqeq�7~~������}�/����~��~���}����a��]e�A�������b�#{�}�index_eq���/first_eq��
�/later_eq��b{�/closed_eq��}�/�����mn��^����A/��~���}��&/����A��������a��e~&��~�����n�}�A�����hd_eq����/7tl_eq���^/7���PInfo�7
ATTR����prt�decl�no_confusion��^�a�e������h12��u/7��~A/&7�^�a�e��������eqrec�A&a�h1a���~/���~A7h11���&&���a�����7�~/���������eqrefl�7�����n�}����//�����//���b{//���//�K�?A�?��/�?b��{&�?}7�A��������77���77��?�]n&�?�^77�PInfo�7
ATTR����no_conf�prt�decl�inj�^��7����nq7r��/&7�^��7����no_confusion/n��p/&��7�����PInfo�7
decl�inj_arrowl�^��7���Pe����A/&77�^��7����e����inj~A/&�PInfo�7
decl�inj_eq�^��7������&7�^�a_17propext����iffintro����h����/&7a_2���/�Ae_1��~7congr_arg��&7p�&7�PInfo�7
decl�inj�^��7���}��~���}����D��~A�Hand���A������/�����&��~7�^��7���}��~���}������n������~��������#�A����^�A����Aandintro���K������������b��{�#����~/���)&��%�(7�PInfo�7
decl�inj_arrowl�^��7���}��~���}���Pe�����~��H�~��N�~��(A7�^��7���}��~���}����%e��Nandelim_left���#����H������inj���#����~A/&�[�H�aandelim_right�]�b�n�[����s�H�a�v�s����}�PInfo�#7
decl�inj_eq�^��7���}��~���}��������������&�����n~7��A�^��7���}index_1first_1~later_1�closed_1}������������h���d����~A/&7a��anddcases_on�����1������n��#������~A/&a_left��a_right����������/���&���H�a�5�b���Ln��K���#������~Aa_right_left�Ha_right_right���J����%�(�7�)����n������K���#������a_right_right_left�%a_right_right_right���#���e_1��7��e_2��7�b{�b{e_3��b{7�}�}e_4��7congr}bn�����~��#�A&7��{�}bn��~A����$�}bn����������'{�}bn���#���/���#~���/�K�7����PInfo�+7
decl�inj�^������{true�^��}trueintro�PInfo�?7
decl�inj_arrowl�^��}Pe���~77�^��}�Ee����inj/&�PInfo�C7
decl�inj_eq�^���}�~�^���}�~���}�~h�}��7�1�~�?��7�PInfo�G7
decl�inj�^����������{���|�A/&��7�����A&���/7�^���������������~{���~A/��&7�������A&����l�A���~/7�PInfo�I7
decl�inj_arrowl�^�������������Pe�����~/���&7�^��������������Le����[�����inj��~A/&�s�������PInfo�J7
decl�inj_eq�^�������������������/7��&�^����hd_1��tl_1������������h����~A/&7�1��������1������~A�/&a_left��a_right����l���e_1���s7�����^e_2�N7��"�"���~�,A&7���!n��"��~A�,/�A7~/�PInfo�N7
decl�below��^�g�a����^�g�a���rec	/�a�u�T�/punit	��A���}��Tpprod		�Y	�&�_�_���n�|��T��T�b�c�/7�b�c�&�_7�PInfo�V7
ATTR����Vprt�Vdecl�ibelow�^��a�d���a�����^����a���W/�a��[���/�~��A���}��������d�~�~��p�|�����������q7�����u�~7�PInfo�Z7
ATTR����Zprt�Zdecl�brec_on��^�g�a��F�a��[f�below�~A7~&7/&7�^�g�a���\��pprodfst����A/&7�WA�a����c~7���~7�Approdmk	Anp~�_o��punitstar����~���}��c�
����{7����b�c� &����{&�_���b		���_������/{�A�_{�����������c���n7��c�����{7����b�c�/��n/�b�e��&�_������#7���!�_���.&7�PInfo�[7
ATTR����[auxrec�[prt�[decl�binduction_on�^����a��F�a��[f�ibelow~A7�����^����a���f�F�[���?A/&7�WA�a��������?�~7�A����~��������~���}����
�?��{7���������?��{&�~����p�~���w���~�
�������������Vn7�����?��{7��������fn/�����g&�~�&�����7����~����&7�PInfo�e7
ATTR����eauxrec�eprt�edecl�sizeof�^α_insthas_sizeof�ax��^�j���a��&�ax���&.4sizeof/&��/�|�}ih...����nathas_sizeofA����/��}boolhas_sizeof74������ihih.��7�PInfo�i7
ATTR����iprt�idecl�has_sizeof_inst�^�j���a����^�j���ahas_sizeofmk��i&7�PInfo�v7
ATTRinstance���vclass�k�v��prt�vdecl�sizeof_spec�^�j���7����nr����&7�^�j���7�W���PInfo�z7
ATTR_refl_lemma���zEqnL�zprt�zdecl�sizeof_spec�^�j����&����}����~An�~/&7...����/��~A&����v~A{7���^�j����&����}�W��PInfo�|7
ATTR�{���|EqnL�|prt�|decl�sizeof_spec�^�j������7{��4�^�j���W�8�PInfo�}7
ATTR�{���}EqnL�}prt�}decl�sizeof_spec�^�j����������/&{�/7.�����p�/&n7�����J{�^�j�������W�F�PInfo�~7
ATTR�{���~EqnL�~prt�~gind�����decl�tactictactic_script�^^�^��PInfo��7
decl_nest_1_1listtactictactic_script�_�^��PInfo��7
decl_nest_1_1tactictactic_scriptbase�^�_nest_1_1tactictactic_script7�^p�PInfo��7
ATTRpattern����decl_nest_1_1tactictactic_scriptwork�^��7�_nest_1_1listtactictactic_script&�}�bA�^��PInfo��7
ATTR������decl_nest_1_1listtactictactic_scriptnil�^�h�^�{�PInfo��7
ATTR������decl_nest_1_1listtactictactic_scriptcons�^��b��h7�i�^��PInfo��7
ATTR������decl��sizeof�^α_inst_inst����c�^�����6n�PInfo��7
prt��decl��has_sizeof_inst�^�������c�^�������c��7�PInfo��7
ATTR�y����class�k����prt��decl��sizeof�^������v�^�����7�PInfo��7
prt��decl��has_sizeof_inst�^�������v�^�������v��7�PInfo��7
ATTR�y����class�k����prt��decl��sizeof_spec�^�����7����&7��&��^�����7�W���PInfo��7
ATTR�{����EqnL��prt��decl��sizeof_spec�^������&��h/�}����~A��~/&7.����h~��~A7�%�^������&����}�W���PInfo��7
ATTR�{����EqnL��prt��decl��sizeof_spec�^����������74�^�����W���PInfo��7
ATTR�{����EqnL��prt��decl��sizeof_spec�^������c��i����/&��/7.�����b/��/&7������/&�^������c��i�W���PInfo��7
ATTR�{����EqnL��prt��decl��inj�^��7����b&��7�������PInfo��7
decl��inj_arrowl�^��7������^��7���Pe�����inj~A/&�PInfo��7
decl��inj_eq�^��7�������^�a_17������������h���/&7a_2���/�Ae_1�����b�&7���&7�PInfo��7
decl��inj�^��7��i�}��~��h��}����b������~A�6/&7���������h��&���d�PInfo��7
decl��inj_arrowl�^��7��i�}��~��3�}��@Pe���F��H����h�K�~�K7�^��7��i�}��~��3�}��@��e��Y�^�_�����h���A����inj���#����~A/&�q�k�t�l�x�[�i���{�k�}�s�i�����PInfo��7
decl��inj_eq�^��7��i�}��~��3�}���@���������h�~7���^��7��i�}index_1first_1~later_1�3closed_1}���@�����@��h�@�n����~A/&7�1�����G�1�H���b�#���#������~A/&a_left��a_right�������h�#�/�����k���l���b�K���K���#������~Aa_right_left�Ha_right_right���V������h���#��(�������(���b���������K���#������a_right_right_left��a_right_right_right����e_1�������e_2���h���h�e_3���h�7�}�}e_4���b�������~�	�#�A&7��h��}�b�&�	�	
~A�/��	�}�b�0�	�		���:����h�&�}�b�<���#�	��/���#~���/�K�7����PInfo��7
decl��inj�^����r���	^�~���PInfo��7
decl��inj_arrowl�^��	`���^��	`Pe�����inj/&�PInfo��7
decl��inj_eq�^���	`�~�^���	`�~���	`�~h�	`�	e7�1�~�?�v���PInfo��7
decl��inj�^��u��v����������hA��A/&�	�7�����b~A&����/7���PInfo��7
decl��inj_arrowl�^��u��v��������	�Pe����� ~/����h�~/&7�^��u��v��������	���e��	��[���b��A�	���inj��~A/&�s�	��	��	��PInfo��7
decl��inj_eq�^��u��v���������	������j/7�	&�^��u��vhd_1��tl_1�����	��	����	��	�h�	��	�~A/&7�1�	����	��	��1�	����3���~A�	�/&a_left�	�a_right�	�A&��	���4e_1���b�7�����fe_2�T7���������~�	�A&7���b������h��~A�	�/�A7~/�PInfo��7
decl��rec��^C��uemp�77��mp��/��	~�}~���/&7x��/�^���
���
���
(�����Aidxapsumcases_on�cax�restaeidxpunitcases_onux_u�lex��idxx�resty�X�A�
)��~��3�}x�
I�A/&7�d��j���x��x�
I�
[n�PInfo��7
decl��cases_on��^C�
x�cmp�&&��/mp��A����}����/&7���^���
���c���
l���
v�
N�A&��~��3�}x�
I~A/&7�
[�
`n&�PInfo��7
decl��rec��^C��remp��mp������x�
)A��~&7x���
)�^���
����
����
������
/idxa�
9idxx��
;�
Iidx�
:ux_u�zex��
A�A�
[��~��3�}x�7�
[&��j���x�
Ix�~/&{�PInfo��7
decl��cases_on��^C�
�x�vmp7��&mp�����	~A�
�7���^�	�
��
�v��
���
��
�7��j���x�
Ix��r{&�PInfo�7
gind������������decl}tactic_script�_�b�PInfo�7
decl�sizeof�^������7���PInfo�7
prt�decl�has_sizeof_inst�^�������
��^�������
��7�PInfo�7
ATTR�y���class�k���prt�decl�primitivepack�^��
��v�^listrec�
�x_ignore�
��v�	^��
���
�x_unpacked�i��&�PInfo�7
decl�primitiveunpack�^��r�
��^��recx_ignore�r�
�listnil�
���
���vx_packed�
�&�cons�
�/&�PInfo�7
ATTR����primitivepackATTR����primitiveunpackdecl�primitivepacklistnilspec�^�	]�primitivepack�	�	^�^�?�r��PInfo�(7
decl�primitiveunpack_nest_1_1listtactictactic_scriptnilspec�^���
��primitiveunpack�	^�	�^�?�
��#�PInfo�27
decl�primitivepacklistconsspec�^��
���
����i�&�
�7��&7�+�^��
���
��?�i�/�PInfo�97
decl�primitiveunpack_nest_1_1listtactictactic_scriptconsspec�^��
���v����!&�2�-�?�^��
���v�?��A�PInfo�A7
decl�primitivepack_unpack�^x_packed�r���v�7�!7�^�D�r��rec7�D�v�*�+�Ceqmpr�N�O�P�����N����a�v�H�ie_1����7a�	~�J��e_2�	�7��	����	��	�A&7���	��J�	���~A�	�/�`��eqtrans�v�`�O��
�����
���e_1���7���
�A�	~&7�A�_���27�(7�����	y�	yx_packed_hd�cx_packed_tl�ix_packed_x�g�/�!/�^�	���!A�	�&7���	�����H�	~�H��e_1�k�J�	��J��e_2�B7�������~��A&7�����J����~A��/�������	~��������7�������
��&���������
�~e_1���
��7���
���	�&7�������AA&7�9A&����j��	�e_1�	�7��	����e_2���������#~�A&7��������f~A�/&&�?�j&��7�����?�	~���+�PInfo�C7
decl�primitiveunpack_pack�^x_unpacked�
����
��P�O�^�Y�
��rec�
��Y�
��>�?�3�^�6�P�����6�����H�
��H�e_1���J���J��e_2�����������~�MA&7���J����~A�M/�D�����
��D�_����v��ie_1�i���	~��&7���������������?�
����zx_unpacked_hd�
�x_unpacked_tl�x_unpacked_ih�������^����������7���������H���H��e_1���J���J�
��e_2���
��7��
��#������~��A&7�����J����~A��/����������������7��������������	~���e_1�k�s��&7�!������7����������e_1����7������e_2�������
��~��A&7��������
���~A��/&&�?��&��7�����?�������PInfo�X7
decl�primitivesizeof_pack�^����x_unpacked�
�����&7�3���listhas_sizeof��&7�^�����h�
��=��h�����������
��
/&�^���
�+���
�
��natsucc�kzero�
'�H�He_1���J�Je_2�������~��A&7�:�J��~A��/�
 �
'����&�����	~e_2�	�7���3&7���/7�
�
���&�
"�
'�W�
'�
Zx_unpacked_hd�x_unpacked_tl��x_unpacked_ih����A/�������
���
A/�^����~A�~�
��&7�����
���
~A�
q��natadd�
~�
'��&listsizeof���
x7�
��
@�
s�
����
s�
m�
��
n7�
�����~��3��	�e_2��7���A&7���/A�
r�
���~&7�J�Je_1���J�Je_2���
+�
~~�
~A&7�:�J~A�
~/�����	���~A&�
��W�
����
��
��
{�
~�
�
�~A&�
��W�
��W�
��PInfo�g7
decl�primitivepackinj�^��
���
�iff�*�+7�3�>7�^��
�a_1�
����
��
�a_2�
�eqmp������&����7��&7�H���H��e_1����7�J���J��e_2����7�������~��A&7�����J����~A��/�
�&�primitiveunpack_pack/&�
�7�7�^�
����
��
���
������	~e_1�
E�
F��&7�!��
��
��
��
��?���
��:a_2�
��^�g�
��
��g�
��
��H���H�	~e_1�
E�J�3�J�	�e_2�
���A���B~�BA&7�
��J�A��~A�B/�
��
�������e_1�
������3&7��&7�
��
��?���
��p�PInfo�}7
decl�base�^��
��^���7�PInfo��7
ATTR������decl�pack_1_2�
��^x_to_pack�
��7�PInfo��7
decl�unpack_1_2��^x_to_unpack�r�Q�PInfo��7
ATTR����pack_1_2ATTR����unpack_1_2decl�pack_unpack_1_2�^x_packed�r�N�pack_1_27�unpack_1_27�^���r�^�T�N���R�C7�	x���PInfo��7
inverse������decl�unpack_pack_1_2�^x_unpacked�
��6�����^���
��^�:�6�a�8�7�y���PInfo��7
inverse������decl�sizeof_pack_1_2�^����x_unpacked�
����
��&�
�^�������
��^�����i��&7�3�
���
���
	���
@�����g&7�
���W����	�PInfo��7
ATTR_simpsizeof����decl�pack_1_2inj�^��
���
��
��*��7���
��^��
�a_1�
������
�a_2���
�����/��/&����7�
����&�unpack_pack_1_2/&��7��7�^�����������������	~e_1�
E�,������������9���a_2�
��^�g�����g�����\����������e_1�
��b���&7�����o���'�PInfo��7
decl�work�^��7���}���^��7���}��A/&��A7�PInfo��7
ATTR������decl��sizeof_spec�^�����7���
�&7��&��^�����7�W�
has_sizeofsizeof&7�PInfo��7
EqnL��prt��decl��sizeof_spec�^������&����}���
���~/&7.��
z7�%�^������&����}�^���
�����~7�`���
~�
~�
~�
/�L~A&�
��
'�y�
@�l�y�
�����i�w�
���u�W�u��
���~A7�%�
'�
Z�`�y�W�y��
�PInfo��7
EqnL��prt��decl�rec��^����
�e���77�E����/����}~�U�/&7����
)�^C���������������rec�A/�
O��~��3�}���������7�������A/7�
���7�pack_unpack_1_2�7�PInfo��7
decl�cases_on��^�������
����&&�C/����A����}��U�/&7���^C�����
�����������cases_on�A/&�
}��~��3�}���r��7���PInfo��7
decl��inj�^��7�����D7�E���^��7����inj_arrow/&7�����iffmp����iffrefl���PInfo��7
decl��inj_arrowl�^��7�����^��7��Pe�����inj~A/&�PInfo��7
decl��inj_eq�^��7������^�a_17����������h��/&7a_2���/�Ae_1������&7�C�&7�PInfo��7
decl��inj�^��7���}��~����}������U���~A�J/&7���������&���^��7���}��~����}��T��inj_arrow�������~A/�i&7�Z�������g������tA���� �����
����#��(�����/�-������&��}�(��������#����}�����#�7��(�(��(�PInfo��7
decl��inj_arrowl�^��7���}��~����}��TPe���F��H����
��K�~�K7�^��7���}��~����}��T��e����^�_�������A����inj���#����~A/&�q���t�����[�����{�����s������	�PInfo��7
decl��inj_eq�^��7���}��~����}���T�������~7���^��7���}index_1first_1~later_1��closed_1}���T�����T��h�T������~A/&7�1�����Y�1�Z�����U�#�����~A/&a_left��a_right�������/���������������U�K���#���1��~Aa_right_left�Ha_right_right��������}�(������
����U�����K���#�E����a_right_right_left�}a_right_right_right����e_1�������e_2���
����
��e_3���
��7�}�}e_4���
���U����~�^�#�A&7��\�}�
��&�`�d~A�/��i�}�
��0�_�c���:����k�}�
��<���#�^��/���#~���/�K�7���	�PInfo��7
gind������pack_1_2�unpack_1_2prt�recnspace�decl}tactic_scriptto_string_main��
�string��������t_1a�b��H_1��an7H_2heq��/��&7��na_1�����jm������&��np��7�
����&�������&/eqsymm��/��eq_of_heq��/��a_indexa_first��a_later��{a_closed}�������~�����A/&7����~A/&�����h����������/������id_y�������	��G��stringhas_append���
Strwork_on_goal to_stringnathas_to_string�
Str { stringintercalate
Str, �
��~�map����
��RecFn��
Str }�/����/��������������xmpsumno_confusion����7����������Ea_hd��a_tl����F�I���������&7�����E�?anheqrefl��
�PInfo��;	VMR��VMC��z;	���	ocharof_nat_c_1_��_c_2 ��_c_3stringemptystringstr_c_4}������map_main,�������intercalate{����natreprl��a��g��n��k��r��w�����������������stringappend�	�	�	decl}tactic_scriptto_string�����PInfo�;	VMR�VMC�;	��decl}has_to_stringhas_to_string���mhas_to_stringmk��s��}tactic_scriptto_string�PInfo�?prt�VMR�VMC�?�����ATTR�y���class�
���decl}tactic_script_unit_has_to_string�l�
��w�o�vs�v
Str[chain tactic]�PInfo�Bprt�VMR�VMC�LB��vc��_c_1a��_c_2i��_c_3t��_c_4]�� ��n��h��[������������������ATTR�y���classhas_to_string���decl}abstract_if_successα^tac�7g&�^�����&}infer_typetype}/}is_propis_lemma}itecoe_sort}coe_sort_boolbooldecidable_eqA����A}mk_meta_var7m~~�a~9�has_orelseorelsealternativeto_has_orelsetacticalternative��}instantiate_mvars7val:guard�����list_meta_vars��decidable_eqabexprhas_decidable_eq7����_xname}new_aux_decl_namec��#gs:;�
���_x:��}add_aux_decl&�As}unify�#Ftransparencysemireducible��_x;&��7A����_xreturn�7�PInfo�E	VMR�_lambda_1VMR�VMC�GfE	��_fresh�5�_fresh�0�_fresh�.tacticinstantiate_mvars	`exprlist_meta_varsexprhas_decidable_eq�4	
interaction_monadfailed	YFnew_aux_decl_name	R	�	K�	#D
tacticadd_aux_decl	*2tacticunify7	8=
�BI
P
W	
^VMC�QE	����^tacticinfer_type	KFis_prop	D�&_main	=tacticmk_meta_var	7		0�]�Ginteraction_monad_orelse	$)

.
5
<	
BIdecl}chain_single_mainα^tac�prod&��g^�h�	��
9�;����_x/�
/��&a/���
A�� ��"
�g^�h�	��RecFn}chain_many_mainA/l�����
~��prodmk~��7�decl�m�%�g^�h�	��cases_on����"����
a_hda_tl�?�s�����������
�RecFn�fA/7_p�_a�,prodcases_on����u�
�����fst�snd���������
���C�7�������a_tl_hda_tl_tl��
�g^�h�	���@RecFn}chain_iter_main�~��/��7���decl�}�}�g^�h�	���?��M7�@������a_hda_tl�I�����,��}abstract_if_success�,�R~A7_p�,_a�[�W������
����`�x��y���� ��"new_goals	w���listlength�&7decidableto_bool��������	current_goalsKK��reverse�7�9��;_x�z�z�&���K7l'�z���C�
�C/�~~A��&�VMR�fVMR�m_lambda_1VMR�m_lambda_2VMR�mVMR�}_lambda_1VMR�}_lambda_2VMR�}VMC�f5���h�g^�	/	
(�	
	�m	
	!	&	
-VMC����_fresh��_fresh��f	VMC��sVMC�ma��h�g^listcases_on�������d�}VMC����_fresh�q�_fresh�p�_fresh�a�	�m	
VMC��=��_fresh�f�_fresh�e�_fresh�c���f�	7�	
0
�length_main	�V�4decidableto_bool��	�reverse��
��
��5	
VMC�}�����h�g^���}���ddecl}chain_single��g^�h�	�f7�VMR��VMC���h�g^�fdoc��`chain_many tac` recursively tries `tac` on all goals, working depth-first on generated subgoals,
until it no longer succeeds on any goal. `chain_many` automatically makes auxiliary definitions.decl}chain_many�%�g^�h�	�m7�VMR��VMC���h�g^�mdoc��`chain_many tac` recursively tries `tac` on all goals, working depth-first on generated subgoals,
until it no longer succeeds on any goal. `chain_many` automatically makes auxiliary definitions.decl}chain_iter�}�g^�h�	�}7�VMR��VMC���h�g^�}doc��`chain_many tac` recursively tries `tac` on all goals, working depth-first on generated subgoals,
until it no longer succeeds on any goal. `chain_many` automatically makes auxiliary definitions.decl}chain_coreα^_inst_1�l�
�tactics�~����^��������� �"}chain_many&}first&results�9�when��listempty����}fail��stringhas_to_format
Str`chain` tactic made no progress_x���� �������/7�PInfo��t	VMR��_lambda_1VMR��VMC��t	αVMC���t	�������^�	Ffirst_main�m	�s��s��e��r��g��o��r��p�� ��o��n�� ��e��d��a��m�� ��c��i��t��c��a��t�� ��`��n��i��a��h��c��`�����������������������������������stringhas_to_format?fail�empty_main�a���when	����decl_tracechaindecl}trace_output�^_inst_1�_inst_2has_to_format7t��/�^������<�����=��/}targettgtAA7rA��~}decl_namename����}traceformathas_to_format_to_has_to_tactic_format�Mformathas_to_formatG�Mformathas_append�Vto_fmt���%
Str`chain` successfully applied a tactic during elaboration of �W��namehas_to_format�Y
Str:_x�M�}ppexprhas_to_tactic_format/tgt�M9��S�V�V�Y
Strprevious target: �W�M�Q�Y
Str_x9��S�V�V�Y
Strtactic result: �W��A�z_xoption�#}try_core�Dtgt���h��_a��optioncases_on�����M�����Mcoe���Mcoe_to_lift���Mcoe_base���Mstring_to_format
Strno goalsval���mtgt�M9�K�S�V�V�Y
Strnew target: �v�z_xapplicativeto_has_pure�to_applicative����PInfo��}	VMR��VMC����}	��������^tactictarget	��	��tacticdecl_name	
��
:�������to_fmt	���� ��f��o�� ��n��o��i��t��a��r��o��b��a��l��e�� ��g��n��i��r��u��d�� ��c��i��t��c��a��t�� ��a�� ��d��e��i��l��p��p��a�� ��y��l��l��u��f��s��s��e��c��c��u��s�� ��`��n��i��a��h��c��`��������������������������������������������������������������������formatcompose������Ftrace	�P����tacticpp	�V��������
���� ��:��t��e��g��r��a��t�� ��s��u��o��i��v��e��r��p����������������������������������	������������ ��:��t��l��u��s��e��r�� ��c��i��t��c��a��t��������������������������������	� ����tactictry_core	�%��	�'�Ts��l��a��o��g�� ��o��n������������formatof_string�Z���	�[������������ ��:��t��e��g��r��a��t�� ��w��e��n�����������������������������	����������������
��
��	
��	decl}chain�^������<tactics����^������<����	����}is_trace_enabled_fornamemk_string
Strchainnameanonymous�����}chain_core/&� �=�=}trace_output/&7���PInfo��	VMR�VMC�3�	��������^nameanonymousn��i��a��h��c���������namemk_stringtacticis_trace_enabled_for�a	 &�������EndFile