(ڠ@#modBA@&PrologB@'ProgramB@%TautoB@#InvB@(EqualityB@&ProPreB@0Logic_TypeSyntaxB@*Logic_TypeB@'PreludeB@"WfB@%PeanoB@,SpecifSyntaxB@&SpecifB@+LogicSyntaxB@%LogicB@/DatatypesSyntaxB@)DatatypesB@$CoreB@"IOB@S@.zmod_repr_non_@B(zmod_expAB )zmod_0notAB 'zmoddecB*zmoddivminB+zmod_nx_0_nB1zmod_minus_compatB/zmod_opp_compatB!1zmoda0_exp_compatB%'modzmodB)'zmodmodB-/zmod_sqr_compatB10zmod_mult_compatB50zmod_plus_compatB9&zeqmodB=*zmod_transBA(zmod_symBE)zmod_reflBI+zmodpq_modpBM$ZModBQ+mod_repr_eqBU-mod_repr_non_@BY'mod_expAB](mod_0notABa&moddecBe)moddivminBi*mod_nx_0_nBm0mod_minus_compatBq.mod_opp_compatBu0moda0_exp_compatBy.mod_sqr_compatB}/mod_mult_compatB/mod_plus_compatB%eqmodB)mod_transB'mod_symB(mod_reflB*modpq_modpB#ModB@@!_@B&ZArith@&ZArithBA AB&lemmas@&lemmasBABB$natZ@$natZBACB#exp@#expBAà%DB'divides@'dividesBA3(CONSTANT@@@@C,fast_integer@!Z@@!aC !bC)Datatypes@#nat@@!nD%Logic@"ex@@%C&!qD@"eq@@2DD5@%Zplus@CD>@%Zmult@D*zarith_aux@*inject_nat@BABQJBSGBD=A$univ@)prop_univBA@@@@@@o@@@@Cn@m@@!aC !bCl@k@@!pC !qCDp@o@@%C& Dy@k@@.ED@j@DD@i@Dh@g@D%Peano@$mult@CBA!HD࣓@&ex_ind@]C^ED8aFD36D-D(D#4DLlCmTDGpDADD;D6@&Cw!xC+@DУb@AClD_HDZGDUDP/@DYCD )auxiliary@(eq_ind_r@DdD_q+C!zBD~DxDr[]/DID)DzDu*D~)CD/D[D#oBD-DD7(wCƥ&DDC{{D?D2D?@+Zmult_assoc@I:DDDI@(inj_mult@BBݲBڥղBܥҲBD@@D@D AA@@@@@v@@@@Cu@t@@!aCn@m@@!nDУm@l@@ACkDx@j@@&CD@i@D@g@Df@e@BA?@AD𣓰@&eq_ind@I CJ!zD/P*D),DTCU D7X2D:@A]!D6#!D@)Zplus_n_O@+D9D4.-D@)Zmult_n_O@ BupBmhD@1@CCBAA@@@@@B@@@@C@@@!aC !bC@@@!nCD@@@ C!D @@@+DD0@@CD8@@D@@BAD࣓-@&ex_ind@OCP/D-SED(+D"D'DA\C](8D@$Zopp@AD𣓰@@D^9DXDSeNC!zDq$DkVDe"D jDDsNDuDo*CD6fD𣓰@@D|$Dr9C$DEDGwD7@AC/DPDRND D@@{DBD@@I%D@/Zplus_inverse_r@>D@2Zmult_plus_distr_r@YlD_FD@-Zplus_assoc_r@eN~BBBBD*@?@@DAA@@@@@W@@@@C@@@!aC !bC!cC@@@!nCD@@@%C&D @@@0EDF@@DDN@@D@@BACD/OCP*D(S#D"DDC@D࣓T@&ex_ind@eCf@D>iGD9FD4D/9)DSsCtNDLwDFI D{C|VDTBB@DgCbD`ID[%DUDP&JCCAC@CDtDnHBD𣓰@@D{#DuDpIkC!zDCDvDJDD9|DƣD'DC˥DβCϥDңDDDУ@A۲CܥDߣDDXDDFDD`DDDJD+ECADDnDTD7OCKD"D@A DgD@-Zplus_assoc_l@oHbDb%D'@D@iZҠBBBB BDe@z@@BD @D ؐAA@@@@@S@@@@CR@Q@@!xC !yCDE@7@@BAC]@\@@!nD𣓰w@v@,CC.!zD@@"D$D@@*+BC>BE;B8@B-(D 5AA@@@@@@@@@C@@@!aC !bC!cC!dC@@@!nCD@@@*C+D@@@5FD@@ED@@D@@BA;CD/TCU*D(XD"DDDCM@D࣓@&ex_ind@kClAD?oHD:GD5D0*DTyCzODM}DGJDIDKFD C[DYTDSNBSB#@DnCiDgDaJ+DdDfI-DaD\nVCCACq@CDDzBDУ@ACDDL(DDK(DD[}DrD𣓰x@w@ӣDfDDgCڥ!zDD"D!DDDDSDCDDDXD0D,DģD)C%D D6DmDC /D D,DBD&C9DDDU$8DNDIJCED"DDaDDb4iD^,DBYC/UD2DqDh6DLC9_D <0D{DJDtBD oCEkDHDD$VD@AQD'D@@nD$LD rD DD@+@ D@)Zplus_sym@#iDuD@2@ DBD' //0B~yBvBsBpBmhBDc@x@R5B@BD 94G@D D`c>9AA@@@@@S@@@@CR@Q@@!aC !bC!cC!dCZ@Y@@!nCDY@X@@*C+WDd@V@@5FD@U@ED@T@DS@R@BACD/TCU*D(XD"DDDC@D࣓@&ex_ind@kClAD?oHD:GD5D0*DTyCzODM}D?JDIDCFD C[DYTDSNBB#@DnCiDgDYJ+DdD^I-DaD\nVCC9AC@CDDzEBD𣓰@@DODD{PhCå!zDɲCʥDͣDMDDLD@]CYDңDD&DDDD1D2Dx/DDVIJC4qD7DDC:D=DDDfCDDGDDFD R.DODDCTD'WD!D#Db\>D_D!ȲCbD5eD/D1D+.LDmD/D1CrDEuD?.DAD;D=@0^DDADC7òCDWDQ@DS"lDDOϣDQ7 DDUգDW=CգDkDeTDgRDaDcDeFhD𣓰@A@DnDx!mDD|D~ DDzCDDDuDǣDD'D#ʣD D Cϥ DңDDCץDڣDףDDDyãD-DDSײC&DͣD7߲C,DDDDDۣD@ADjDCnDW@)Zmult_sym@rDDzD@F@ DXDbnDn@@asD/@-Zmult_assoc_r@iDD9@@DDvDޣDzDD~ϣDDN@-Zmult_assoc_l@kDE D 3DZ@2Zmult_plus_distr_l@w=DyD}D>`  B\WB^TB`QBbNBKFBD @@0 @BD %@D D6AAA@@@@@ *װ@@@@C@@@!aC !bC@@@!nCD @ 3@CBA:D  +@ \@D   B0+B2(B% B@DD @@D""!AA@@@@@ ~ '@@@@C &@!Z@@!aC @ @@!n @C BD@"gt@A@A@BD @ @D3@AB@B-!mB!@DD @#Exp@GE&CD/((D Z@)False_ind@BD/C*7@BS&BD@D7D#F14AD"Lt@<_n_n@JKCe`@CDXDn@BWV.CDSNMD L@CzMrC~yBo@DbDNH\_D.oCIADGDoD[UxkD'V9Ch@C0D࣓ @&ex_ind@C D @ @@ID @ @D @ @D @ @DXDDDUCCե C( @BD𣓰 @ @D*D%D Ds[C쥐!zDƣDW£D~>DУ @ @@ACQDOD£DKԣDFDAmDQڣDLDNۣD-D6DT1C+DgDaDl@A!Da%@(C O@(positive@@"y'D6@BD `@%timesA@D h@,anti_convert@C !y))C%DR@CD3%DqJD :@@x*OJ</Bb\BYTBJ@BD>85@Ba4BR@DE?(AA@@@@@  @@@@C @ @@!aC !bC @ @@!nCD @ @CBA D࣓ @&ex_ind@.C/ D @ @@9ED @ @DD @ @D @ @0.D7D @z@D;:C\ C. F@DУ @ @@AkCl=D;oDGD8D"FD5D0BYD)\D𣓰 "@ !@DJMDDD?IiC!zD]D?qDY!DS>DDWD@C F@(positive@@CCDwD.DkvC%DDqD{ADu@D&D>D{$C5DDDQ,PDJɣDE0C̥ADD D𣓰 Z@ @?C٥ND)D@AHD6D D@@dODd/D M@@kXxD @(Zopp_one@ڣDģD ƣD}DᠲBBBB@AA@@@@@  @@@@C @ @@!aC !bC!cC!dC @ @@!nCD @ &@EDA -CDCB 5@D  &@ S@GFD @$Zopp@D DУ 9@ v@('&BTOBVLBXIBZFBC>B;@B/@D>D @&Zminus@,AD-B:AA@@@@@  ;@@@@C )@ (@@!nC D@!Z@@!xDУ 3@ 2@@AC 1D >@ 0@@D c@ %@D $@ #@CBD s@ >@5@ADAD%@A?D"D BOJBGAD @ @#AA@@@@@  @@@@C @ @@!aC !bC @ @@!nDУ @#and@@ABD @"ex@@*C+!qD @"eq@@7DD @ @CD @ @D @ @BA@D/DCE)D&HD @&absolu@D @@E0D%Peano@$mult@1!BDOdCeIDFhD DD@DmADgDbt]C!zDCDD_DYlGDTFoD D\DD g@e@eC̥ DCDģD|D7ףDsD;ۣD6DyDAD}C8DزC٥DܣDDDD68DU@AD𣓰 }@ @X4DУ@ACڣDDDʣDϣD=DDkCD DˣDݣD @(abs_mult@{D @'abs_inj@D9D @ @TD @ @_D @@lD @ @DDD CƣDEֲCFCD𣓰 @&or_ind@D @#Zle@D @#Zlt@ DNrCsHDEvD>D8n+C ]ADCVDSHDMͣDG:DDDD&)PCDbD[FDD@D:޲CDnDgDZTD DDoDqDCD-bDD{  DDDDȲCD=Dt?D@ADk@/Zplus_inverse_l@D-@ V@,0D0.DD#2D "%4DJD@+inj_abs_pos@PDF@&Zle_ge@XDD88CJDDwADУX@)Zle_reg_r@FIXDHxDD @ _@ϲCDDNDvD DzDVDD& D٣DC%yD(DpDfݣDC D2DzDpD>) D:DvD>D@DDDD DDJUGD D|sDDD@)Zopp_Zopp@{D"@+inj_abs_neg@ɣDjdqCeDoDj*CkDD6DDtCuɣDD@ +DУ@)Zlt_reg_l@3 @D𣓰@&or_ind@DEKD@D;6D#D-D'C 8AD6@ADeF$HD5DdcCDD@B COBD@)False_ind@@%False@@DDiD8@&divdec@?DZ@@BBBtAA@@@@@H@@@@C6@5@@!nCD@@AD@B@ACD@@m@!Z@@AD @By@(positive@@CB@Dg@)False_ind@m@r@@DУ$Core@#LET@D@:@CHDD@@B@!C ACDD[BD:aC! D82DУ1@)le_not_lt@lD@&div_leA@ou-D࣓@'and_ind@BDqle8@D@(D@@D@@}vBDQL@D|<VCCCB@DECD{ZD)@r@aBB@DcAA@@@@@@@@@C@@@!aC@@@!nCDY@n@BD@B8@(positive@@CA!HC$!mDУ9@'nat_ind@C1,D(Dr@@E*DD@@2CCF"AC"IHD𣓰R@&eq_ind@`Dx@:@KKCh!zDXDGD3%KFD @@_D= ba87UaDx@j@@Ai]BBzBw@B_DzDRLjvDAA@@@@@.@@@@C@@@!nC@!Z@@!xCD@@@D@@@AAD D@@B(CD@/@ C4@D࣓@'and_ind@D,'D.D#D@@@C LACD= D2EUBD!BD/ CF@D3@@GD@.@D@ @[BDDD (b@DQ"e9D𣓰"@@2C!zBB@D/HD*l@BB@Dk I@UCBB@D?:D9ECCB @D|DDDP@)False_ind@oDУ@@,DUXDУ@&div_le@6 D࣓@%ltzlt@hCDr@"eq@@@(relation@@@A @CEDУ@@CFDD֣DtC"ee%@АA壥@$True@@£@A+D@+Zlt_le_weak@ΣDD DDC% D%Peano@"lt@D DbD@&inj_le@<@AD"Le@&le_O_n@ D$@8@ˣD@*Zminus_n_O@D;@@:-B_ZBWQBN@D@M@6aA@@@@@/@@@@C@@@!pC8@7@@!xC !yCD@"lt@"@ACCD;@@@D@U@.@AD D&@%@D@CDD(DEACD@@ FBD࣓p@&ex_ind@\C]oD|@n@@gGD@m@D@k@DDHAD|,8C} C"HqD @@D"%DD\IBC!zBDyDto#Dv%DlJgDBCDD|D!qD࣓@'and_ind@DDN@DIDD\.FDDJDL&B@BDDa;D\DK@Dq3CMCCDJ SDCDDxBDsDL`ECDţD DDMmFD𣓰@&or_ind@D@6@DۣD $C GDPDDN"CVHD5@)False_ind@D#ODУ@*Zlt_not_le@ܣDУ @0Zsimpl_le_plus_l@DP# D9D'C<D>ƣDףDQDFDCIDKD+ գDB@@!D࣓I@,Zle_lt_trans@$DKD--DУU@)Zle_reg_l@5 UD𣓰@@pDDu@B@ a@@CIC~DDBDDS D࣓@*Zle_mult_l@[D@&inj_lt@aD@(Zlt_le_S@r&/D@ @4rrD@)Zmult_one@zDF|D@@DOD CD TC-BDbD\DWOIDiCDlDfDaSD PգDfCإEBDzDte_DRCDD}hD eDD}DC^BD|vDSCD}DDOD֣DduD@,Zle_lt_or_eq@CDDD"DDD࣓ @)Zle_trans@D0DD(@CD 9D D JD$@+Zlt_n_Sm_le@D # D/A@BA@@@@@@퐠j@@@@Ci@h@@!aC !bC!pC!qCDf@e@@ C! Do@a@@)ED@`@DD@_@DCBAD࣓@&ex_ind@ICJ6D)MFD$'DD #D;VCWCD6Z D03D*-!C_C @DУN@AkClXDKoHDFGDA(8DCF;D𣓰@@~DLDNYQFC!zDeD_NNDYdD@@kcXWBBBBBD6@@tjDskj@D yoAA@@@@@"@@@@C!@ @@!aC !nDУ@@@AC D@@@!CDE@@DL@@BA3@AD𣓰:@@< C=!zD'C"D!$DGCH D/K*D2@AP D." D/@@)D0*)D8@@1Bd_Bf\D@@>>=AA@@@@@)@@@@C@@@!aC !bC!nCD@@@CD@@@&DD@@CD@@BAD࣓@&ex_ind@CCD(D&GED!$DD8NCO3D1R,D+  CU C7@DУI@AaCbFDDeFD?GD:$4D @@ DkClKDIoBp#B@D\wCxWDU{IDP#DJ"DCC\AC:@CDgDaHiBD𣓰+@*@Dn!DhCcC!zDCDnD}JDx3rDD#D~YCDCDDDEDУ@AŲCƥDɣDDRD@DBDXDFDDD٣D)?Cܥ=DDfDND5ICGD D@A DaDD@m@hE[D$D@@UŠBBBBBD@2@ե@BD ڥ@D ͐AA@@@@@R@@@@C@@@!xC !yCD@@@BAC!nD𣓰@@'CC)!zD@{@DD"@@%&B>9B@6B3@BD(D 0AA@@@@@@@@@C@@@!aC !bC!cC!dC!nCD@@@%C& D @@@0FDF@@EDN@@BACD(HCI#D!LDDDC@D࣓L@&ex_ind@]C^8D6aHD1GD,&DIiCjDDBmD<?D>D@;DuCvPDNyIDHCB|B!@DcC^D\DVJ)DYD[I+DVaPCCAC@CDsDmBDУ@ACDD{L&D~DK&D{UuDjxD𣓰@@D`D_uCĥ!zDʣDDDoDDԣDMDtC٥DܣDDRDD*DD'C%D D4DgDC/DD,D@D&C9DDϣDQ$8DLDC ED DۣD]DD4eD\DBWCUDDmݣDf DLC#_D&0DwDJDr,DmC/kD2DD$VD@A;D 'D @5@nDLD rDDD_@|@Df@Q@ hDtD)@@D0D&$$%BgbBi_Bk\BmYBoVBD@@@*7@BD .+<@D DNQ30AA@@@@@>@@@@C@@@!aC !bC!cC!dC!nCD@@@%C&D@@@0FD@@ED@@BA%CD(HCI#D!LDDDC5@D࣓@&ex_ind@]C^8D6aHD1GD,&DIiCjDDBmD4?D>D8;DuCvPDNyIDHCB|9B!@DcC^D\DNJ)DYDSI+DVaPCCwACU@CDsDmBD𣓰E@D@DyKDsJ`C!zDCDDM|DDL8D5D ţD>DeCʥDͲCΥDѣDDLDIDУ@AܲCݥDDDKDD[DDD aDDD£DDpD4DXḌD<D>WCUDƣDDDڣDܣDD/D0ݣDrDDTCmDDDA:D%DD}DdC,}D/DDFDP.D7DDC<D?DDD `\>DGDCJD"MDDDLDUDD CZD2]D,.D.D(D*-$^DgD.D0+ClDDoD>@D@"lDuD<D>+ D{DBDD1CѣDXDRTDTFDN(DPDR<,UD𣓰@y@D[2De!mDDiDk DDg>CD{DuDwiDqKD{Dux'D#DyPD CDD{DCD£DףDeDDyãD'̣DDSײCѥ"DͣD1߲Cץ(DڣDD}DDۣD@ADbDnD@8@iDDyDT@}@DDamD@@rDf@7@D}Do@@DDDУDңDԣDͣDD@6@fDBD 0D@5@q9Ds٣DwD;yZB@;BB8BD5BF2BH/BD@|@@BD @D D*  AA@@@@@ @@@@C @ @@!aC !bC!nCDM@@CBAiD Z@@D   B+&B-#B/ B@DD@@@D""!AA@@@@@V@@@@CU@T@@!aC !bC!nCDM@L@@CBDX@J@@&DD~@I@CD@H@BAD࣓t@&ex_ind@CCD(D&GED!$DD8NCO3D1R D+.D%Dg@f@Dn@@6-CeC$@D𣓰@@sDL.DFQACx!zDh~CcDaLD[GDVD1D,FUD𣓰@&or_ind@D@@@AxD@@ DCDD"D~hD&DD]DXpC$NADOvCFDC¥DţDHDFDDУ@AѲCҥDգDSDNDWDRD@A7/D^@@D@@UCS9DDK@$Zopp@?D0CD-DDգD}ѣDܣD DDCD?DߣDDӣD& DCMCDw@@D|@,Zopp_Zmult_r@'D=)D@V@0D@@DP@S@ BHCBJ@BL=BD @ 3@'@D @@7/D)AA@@@@@ jð@@@@C@@@!aC !bC@@@!nCD@@@ C!D@@@+DD@@CD@@D@@BAGD࣓@&ex_ind@OCP/D-SED(+D"D'DA\ C]:Cd@D𣓰&@%@kD?D9D4F/Cr!zD]xCyXDV|:DPGDKDFFADУl@ACiDgDa D[DV@`DgDaTUDt@A1YYBBBBD!@ @xih@D!@ @xAA@@@@@!/ @@@@C @!Z@@!aC !nCD O@#Zgt@A@ACD!@!3@CB@C-!mC"AD𣓰 @@^C{!zDRD;fDNDHS:DDLD@C"@@@CCDk}D+D_jC$DsDeDoCȥMD)D@AGD6D"@@aND/D" @@WuD!V@@ͣDD DyD {ԠBBBB@AA@@@@@#0"}@@@@C"|@"{@@!aC !bC!cC!dC!nCD#@#*@EDA!CDCB!@D #@#W@GFD"@@DDУ#@#@'&%BNIBPFBRCBT@BV=B:@B.@D=D"@@*?D+@8AA@@@@@#"񰠠@@@@C"@!Z@@!nC !xDУ"@"@@AC D"@"@@"D#@"@CBD#@"@3@ADAD@A=DBA;BC8D$c@#@!AA@@@@@$#J@@@@C#I@#H@@!aC !bC!nDУ#A@@@ABD#I@#H@@#C$ >D#T@#F@@.DD#z@#E@CD#@#D@BA@D#@(ZDivides@ D#N@p@"BDD @D:XCY5D3\ED.1D(+"CF"D࣓#@&ex_ind@m,Cn"C"@D𣓰"@"@|DM"DGRBC!zDD+D>JFDD]2D_D#@@;CDX?\D&DnCD*Dr%DtID0DxMC)DjQD~DxU{rD<@A D𣓰#@"I@?&DУ@A²CåDDlD@AODQD#@"D@X/D$!@!F@:D$(@@TGD#@!B@m[_D_Ds_D sahCDCңDDCCDBCޣDGDBʣDR DC D DӣDDDCDݣDD D"D D&sC'D*%D'Dd.D$y@@D$:@ c@(D_(DDD BFABH>BJ;D$x@D@D%@%+@#AA@@@@@%p$@@@@C$@$@@!aC !bC!nD࣓$@'and_ind@BD%@%\@CBA@D$@M@ D$@@DBDD @D  D$@)@@)D$@(@0C2$>CB+@D7E!3$G@D𣓰$@&or_ind@D:@D50D D)D$C $]AD2@ADXF"BD2DWVCD@@B C$tBD%@)False_ind@% @%@@DqDbrD%\@'zdivdec@<|D&~@&@BBBoAA@@@@@&/%l@@@@C%k@!Z@@!nCD%2@@AD@B%@(positive@@C$CD&@&@+@AB$@D%@)False_ind@%@@@D&@&)A@D%l@@CD࣓%@@AD%{@@1D࣓%@)Zlt_trans@9PD%@A@@A%@@@@@BD%@@.gMCD@@C%.ADУ`@_@SSCT%9BD_YD𣓰%@$G@.)C/P4@АAl%@O@@q@A.DУ'G@&@hBB@D&@W@A@@@@@'&9@@@@C&8@&7@@!aC !nCD'v@&@BD@B&U@(positive@@CA!HC&P@&O@@!mDУ&[@'nat_ind@C1D-D&@@E#/DD'@'@7CC'"AC"IHD𣓰&t@&eq_ind@`D&@&\@PPCh!zD]DGD3%PFD '@'X@dD= gf87ZfD&@&@@AnbBBB|@Bd_DDRLo{DAA@@@@@'&ٰ@@@@C&@!Z@@!nC !xCD&@.@@D&@@@AAD B&>CD(0@'@ C&J@D࣓&@'and_ind@D% D'D&@@@C &`ACD4 E&gBD' @)False_ind@DУ(`@'@@D&@@@FDУY@ADVQ"DX$D'@'@TD𣓰&P@&O@C!zDmeeD'@@&D'!@@v-D࣓'(@@}N4D'/@@U~DW=DУ(@(0@^D{BBB@D'n@@AA@@@@@@