"`P4%zmodp'algebra(mathcomp@()Notations$Init#Coq@%Logic$Init#Coq@*Logic_Type$Init#Coq@)Datatypes$Init#Coq@&Specif$Init#Coq@%Peano$Init#Coq@"Wf$Init#Coq@'Tactics$Init#Coq@%Tauto$Init#Coq@'Prelude$Init#Coq@)Notations$Init#Coq@0&v!D]hwnv %Logic$Init#Coq@0\͉!Ig)Datatypes$Init#Coq@0.i bYN Z*Logic_Type$Init#Coq@0 1jc6&Specif$Init#Coq@0;RWMi\N'Decimal$Init#Coq@0C涳N*ua#Nat$Init#Coq@0eʤģPSR蠠%Peano$Init#Coq@0 jha|ؠ"Wf$Init#Coq@0q+W,J+'Tactics$Init#Coq@0/9m+ a%Tauto$Init#Coq@0̂"&/rk0JqTttֱ$Bool#Coq@0j 2cZ`FW+ssrmatching#Coq@0L1T=>)ssreflect#ssr#Coq@0 zv)ssreflect(mathcomp@0tn|kN0 D/O&ssrfun#ssr#Coq@01 ZP"};o{,ssrnotations)ssreflect(mathcomp@0hPB &ssrfun)ssreflect(mathcomp@0âNO=(V'ssrbool#ssr#Coq@0X% 'ssrbool)ssreflect(mathcomp@0o: n߂Q&eqtype)ssreflect(mathcomp@0Wn"2&=zH0;&ssrnat)ssreflect(mathcomp@0ͧMy}yWߘ#seq)ssreflect(mathcomp@0=~(sV,Aڠ#div)ssreflect(mathcomp@0W~ě o+ N&choice)ssreflect(mathcomp@02*{;"W$^6'fintype)ssreflect(mathcomp@0ǒ3fp$path)ssreflect(mathcomp@0*%)bhcFrY%tuple)ssreflect(mathcomp@0ýޑР&finfun)ssreflect(mathcomp@0ƜNtD砠%bigop)ssreflect(mathcomp@0#z xW :G؂b&finset)ssreflect(mathcomp@0 @$$~,B|XŠ%prime)ssreflect(mathcomp@0.wFbN_(fingroup(mathcomp@0c"65rk(binomial)ssreflect(mathcomp@0io  } &ssralg'algebra(mathcomp@0ⴆg {PK(morphism(fingroup(mathcomp@0ď \n.v($perm(fingroup(mathcomp@0R 嫁_]U,automorphism(fingroup(mathcomp@0$D^ V+b`Š(quotient(fingroup(mathcomp@0鰷 x<G@&action(fingroup(mathcomp@0wԦ-M:AB j3!&finalg'algebra(mathcomp@02!3 o'<2kѺ`-sq'{]Р%zmodp'algebra(mathcomp@A$inZp @"p')Datatypes$Init#Coq@@#nat@!i'fintype)ssreflect+@@'ordinala@A!BB#div@$modn$ †A @(ltn_pmod5 &ssrnat%@<n0Sn2 AA@A@@+Zp_zmodType @hfS@$type$]@A \@(class_of=B@A&choiceg&Choice@%classG0r@2ordinal_choiceType l׀#@3 &)@( +k97 7 97 7 : 97 ;'Ht`'Tp@@@A>;"VJ@A@@T.Zp_finZmodType @&finalg-'FinRing@T-/@A\@S/@Ad@M% D@u/0Cl@0ordinal_finMixinJހtu@ܛ& +k97 97 7 7 : 97 ;'xHڠt`$T@@@\A*OU:@A@@3Zp_baseFinGroupType @(fingroup(FinGroup@)base_type ܟ@AXV@*groupMixin0IH&Finite@@/ordinal_finType#LE@)'% x+k97 7 7 7 97 ;'Р`b|%`"l-H@@@AT=@A@@/Zp_finGroupType @PNN@Ku@A@a,D<򩚠FD&Theory@%addNr@(zmodTypeF܀@)̀ @us# X+k7 7 7 7 :'dX+@)p@@@A͠]@A@@6(Zp_mul1z @@F22 @ 4@i.g9@@@@M'Zp_mulC @@GII@@@@Z(Zp_mulz1 @@H@(right_id5)@@@@,@-A1GKX@ABC@@q'Zp_mulA @@Iѩm6@@ @@~+Zp_mul_addr @@Jީ)@2right_distributivey,H!@@@@+Zp_mul_addl @@K𩚠;@1left_distributive?@@6@@(Zp_mulVz @@L@@'is_true#œo@.H|@@@@(Zp_mulzV @@2M" @@@@@e@AB@@Ӡ-Zp_intro_unit @@EN53ζ'@̰( &7̠Dʠ1@@@@A1FdJ@AB@@*Zp_inv_out @@eOUS@RW@$negbT<Q;@@@@ (Zp_mulrn @@|Plj!nn[@$sort$\M[b`@&natmul8z e ]Rq@kV@@@>9!ؠHoA@A@AB@@6(Zp_mulgC @@Q2@(KMH@$mulg ;@@@ DA@@AB@@U*Zp_abelian @@R@'abelian?n2@{+k/Z&finset@'setTfor6B8@%phant)`@A@@@BA*sRk @A@@'Zp_expg @@S|~RЩO@%expgn!iDs@@@OAY@A@@)Zp1_expgz @@Tlqې@@@@fAI@AB@@(Zp_cycle @@*UW@&set_of514@+arg_finTypeXs&@$baseIq䀐qb@ Xt@%cycle!e@@@A*ˠ@A@:dޠR4A*Z@ABAs@A*ɔ@ A@ A@ABCD@@)order_Zp1 @@qVa_a@%order!})@@@㳠L&eqtypeXA&@AA*נ@ A@AB A'@@A1@-@,@ABCD@@$$ord1 @@W&ssrfun#ssr#Coq@@,all_equal_to+'fintype)ssreflect(mathcomp@@a@ص&ssralg'algebra(mathcomp@@$zero'}n@T/0C@@@AB."@@@*'ssrbool#ssr#Coq@A'mc̠e&ssrfun#ssr#Coq@@A@@}'lshift0 @@X!m)Datatypes$Init#Coq@@#nat@)Datatypes$Init#Coq@@#nat@%Logic$Init#Coq@@"eq @y@&ssrnat)ssreflect(mathcomp@@$addn+,}1@BAB'fintype)ssreflect(mathcomp@@&lshiftABAB&A&ssrnat)ssreflect(mathcomp@@A+,}ABBˀCBAB@@@A1DHnml@@A@@'rshift1 @@Y)Datatypes$Init#Coq@@#nat@@@%eqfunF`@@BڐAA@&rshiftD&A@$lift ـBAAB5A@@@ A'hyx@A@@|&split1 @@Zp)Datatypes$Init#Coq@@#nat@ݩ[WB0A)Datatypes$Init#Coq@@#sum@|B@%split  BAB531B&Option@%apply3qgЩ@#Nat$Init#Coq@@$pred `<#B)Datatypes$Init#Coq@@#sum@@@?@$\MA63JB(@BŐGD[BA.Ր$WTkB퀐1n@&unliftƀ{BBA@@@A ůM)Datatypes$Init#Coq@@AA ˱:S @A ̱yT @ABA'[_^S@A'\_T@AAV@A1GKY@A>9!ؠHpA@A @Ab@ABCDE@@x(big_ord1 @@[!RKdN@@#idxA"op%bigop)ssreflect(mathcomp@&Monoid@#law9-@BA!F'fintype)ssreflect(mathcomp@@'ordinala@GΩD%bigop)ssreflect(mathcomp@%BigOp@ gАD'fintype)ssreflect(mathcomp@&Finite@$sort XnC"@*index_enumZ5( 0@3.@'bigbody0D@AEK>A9]@(operatoriEC)Datatypes$Init#Coq@@$boolZ'@AB8A@'}n@@K@@A@A@A @AA@A4SOAedc@@ABA4WT@A4[d @AA4`w@A5[@A4[c@:dޠR@A4`ؠx@ABCDE@@F-big_ord1_cond @@\ΔM j@@͐A̩ˀBA!PX)Datatypes$Init#Coq@@$boolZ'@Զm؀EŀАEDש)'AF0.AFDCǩBР)Datatypes$Init#Coq@@$boolZ'@@@@@CBod`AA|q D@@M @}@A@A@AN@AA@Ah@ABA@A@AA@A7Zt@ABuA@A@A@A7D@ABCDE@@ꠠ-Zp_nontrivial @@ \] L JG@%eq_op& D@.ordinal_eqType >B B@@@@@ ,Zp_ringMixin @ r p[Y'ComRing@)RingMixin>V9  @.i @.i  @$  $@K ) @Q- ,@  $Ring@#kZ@;3AB +k7 97 97 97 97 97 97 97 7# '$ސ+HD̠9`Ax0X8p@@@@@ q+Zp_ringType @  ѩ<@k;Y@AyD@j@A= U@|9 }@  盠 +k997 7 97 7 : 997 ;'x"P h/\@@@ gA>>d|@A@@ .Zp_finRingType @  WUv@F@A @q@A@;? @^9+w T@ - + +k997 997 7 7 : 997 ;'^H &hdX@@O@@ 렠.Zp_comRingType @ M K@C@A󩜠@7@A=@ ^ \ +k997 97 7 7 : 997 ;' ThJ\@JP@@@ Am[@A@@ 1Zp_finComRingType @  @(y@A+ @@A3#@ rl @Y H} 5u>@  tѐH hXd@@@@ ^0Zp_unitRingMixin @  +ComUnitRing@%Mixin#0 fj Z   V  i D@${ n I@3_ s N@t x@  ਜ਼(UnitRing@V@V@};1G@(ringTypeVa +k97 97 97 97 + 7 7#'997!997%'  蠒h Ƞ4x2`?PyW@@@@@ à/Zp_unitRingType @ % #D@2u@A˩L@ @A @yɤ @ ; 9 +k997 7 7 7 : 997 ;' 1|hx*T'H@@@ A  8@A@@ 2Zp_finUnitRingType @ _ ]~@;G@A @@A@39 @^K R@ ~ |QHX yhd@@@@ ;2Zp_comUnitRingType @  @ 5"n@AC@ 4;@AKxK@  s |hx!H*T@@@ +Ak&: @A@@ o5Zp_finComUnitRingType @  ϩ  @ l+Y@Az @ kgu@A$@ e# \@X1 @  Ð HX hd@@ @@ &Zp_nat @@ ^     ΐF}@!뀐 @#one'pt   @@@ @@AB@@ Ϡ'natr_Zp @@ A_ 1 / Щ ư "i @@@t@@@ABC@@ 䠠*natr_negZp @@ V` F D  ۰ϰ5. Ҡ@#opp'p   $@@@@ -unit_Zp_mulgC @@ pa ` ^ ] R@'unit_ofm@ @ Zd א b@5unit_baseFinGroupTypef靀 @@@`\RK A@AA @@A@ @>=z nA@ABCD@@ 3,unit_Zp_expg @@ b  !u6+  - W | xN@#val&D@3;G.A  G @&in_mem&0Mw  @#memڕ@M2uCd@,unitRingTypeJ@,predPredType>h`%@+has_quality.=j _@$unit'}4 @,unit_subType;t>   Z ̩ @$expn+ xVUPI  Đ@@@̢ A@AA@A*p* e@AB@A@A@*@ m@ABCD@@ (Zp_trunc @!p  @$pred `<  @ )Datatypes$Init#Coq@@#nat@ 8+k7 7$' dX@@@@@ ޠ"Zp @0 > ۷  ҩ& " % ' @E$ܸ * @#leq+ 9% * < ? A  # @$oneg m@:group_set_of_baseGroupTypeڼ9 @h v\I T+k77!= R,'G 7 997 7%'7 97 7 7$''+kG7 997 7%'(AA@X j4 7#Ƞy@ 6 ABHRdL`ݐ=Ԁ@@@@]@AB@@ S(units_Zp @ 𠩚 @,unit_finType/j퀐T\_^@ © T+kG 7 7 7 7%'fh\ @"t@@@`A @ @AB@@ 'Zp_cast @@ c @    ɐ@@@@@ *val_Zp_nat @@ d %p_gt1      ᐩ 㐩 赩  B ʐ   @@@ @A@@ *Zp_nat_mod @@.e$4A  @@ @@ Π'char_Zp @@@f .@F Ű   ΐ j@@@ @ @AB@@ 蠠'unitZpE @@Zg:H I@ G*  F ۰MJ1BIW   M@@@mA˦ L@Ap@n@ABl@sA@AtA>>%{ S@ A ,@ A+)1 @ABCD@@,Zp_group_set @@hp~ { @)group_set.ꀠ ) @U sb$@@@@8(Zp_group @ @*group_type+n@A@.W=@$ @+k7 7 :')hX@@@@@b'card_Zp @@i¶@ t]ɩ'CardDef@$card׼  &SetDef@+pred_of_set#*:̀X@@@ @A@@&mem_Zp @@jt@ 쐩F  ҩ@/$t @@@ '@A @ @ @ @ABCD@@.units_Zp_group @  o@+clone_group8Y  @1unit_finGroupType;m4p_ |@*setT_groupjB d @%group!mAG@?B@ . @(group_of!QB! h 5@(arg_sortڀ , +k7 7 7 7 7!L 7 7 7 7! 7 7 7 7&'ްlt(L2B `hAx@0X@@@@@-card_units_Zp @@xkXf@i' ? NT%primee@'totient&s5]@@@@+0units_Zp_abelian @@l}  g@@@@@9(Fp_Zcast @@m$p_pr '@%A:9a4@$pdivMEm@@@@@\'Fp_cast @@n#!S@@@@@j'card_Fp @@oʶ1/aͩ , +@2sort_of_simpl_pred/_ 2@/pred_of_argType-@@@NA @PA w@RA @ABC@@*val_Fp_nat @@p[Y ېݐU䵩  BƐ@@@@*Fp_nat_mod @@'q|z  @@@@Ơ'char_Fp @@8r& $~+u-@-nat_pred_pred! @$char'{I, mf@@@ d@ @AB@@蠠)char_Fp_0 @@Zs:H߰x Ӱ94,搩 @@@@'unitFpE @@ptP^ö`\cl^A@@@|@Ay@x@@ABC@@-Fp_fieldMixin @@uqjh%Field@gY4Ā ,TheCanonical@#get4`К@+predArgTypeC_V{}V8+!sm@#put4`@Avܩ F(Equality@ B H@&eqType;/U@@@@*k3J @A@*lQ @@ @AB@@:@*jI @A=@*lP @=B mA@ABCA@ k@A*HA@A@AB*MA"@A"@A cA&@ eA%@hA*@jA)@ABCDEF@@/Fp_idomainMixin @|@,IdomainMixin!Dyv@ <@.IntegralDomain@%axiomU2@ # +k7 "G7 7 7 7 7 997 7777%'$Pz`x&X4lD@@@@@栠.Fp_idomainType @8F@@S@AH@7o@Atp@i6y@Q_ +k7 7 997 7 7 7 7 7 : 7 7 997 ;'ࠒ`Xx]@P/ld@@@A d@A@@)1Fp_finIdomainType @{@&'>@A @%Z@A@٣@g">@ +k7 7 997 7 7 997 7 7 : 7 7 997 ;'ࠒܐx PX@"y\d@@@@o,Fp_fieldType @ϩR@i2 a@A?Z@h 5}@AGCG@ +k7 7 997 7 7 7 : 7 7 997 ;'ࠒ=XPޠ@P`Yld@@@fAf$m3@A@@/Fp_finFieldType @ VT@;L@A} @z"h@A@3 @_#4S@)ࠒ[xPX)@ \d@@R@@/Fp_decFieldType @@N;9.DecidableField@,0@A© @-ڀ(DecField@6R@k _@bp +k7 7 997 7 7 7 7 7 997 ;'ࠒP!hӠxXq@%\@d@@@Aƭ5zu@A@@:@@@ ӳ2@ ӳ2[ @A@A Գq@ Գq\ @A@K '@M  v@ABC@̢ L@*k3J)ssreflect#ssr#Coq@@A @*lQ @ [@@AB@ @*jI@A @*lP@Z@ABC@A*ɔ @A!A*ˠ @%A*p* @AB(A+)1 @,A>=z x@0A>>%{ |@ABCDZ@X@@AB@e]P&finalg'algebra(mathcomp@A @A>@BC @ @ADE @@A@㳠L&eqtype)ssreflect(mathcomp@A*Z 1@AB A*נ 4@A 9@AA;@BC @  BDF ~ } y@ v@ @ABC  D   @ @AB)@*'ssrbool#ssr#Coq@Ac@AC.@* Ag@AD@@AV@@A@@A)@BCDEFG@@A x@B o lC h@ g@A c@B V@CZ@B@A eA*sRk@E@D@AB kAi@ mAg@@ABCDEF@@r@AB tA @ vA @AC@@ >@AB @CD @ A@A A}@B @ A @A @ @ @ABCD |@ A@ A@AB@@ACA*Z'ssrbool#ssr#Coq@@A@AA@BA+h2@@`\RKB@ABCDEFGH@@HU@%bigop)ssreflect(mathcomp@&Monoid@&addmACHU &Theory@._N@A@AHy@@&addmCAHy@._N@A@ O@@&mulmAC O@0GV>@A@ P@@&mulmCA P@0GVb@A@AB|$@"@)mulm_addl|$@=3p@A@CD|*@'@)mulm_addr|*@=3v@A@1A@0@'iteropE1A'@H7@A@A:Ya@5@%add0m:Ya,@ hA@A@B:Yf?@:@%addm0:Yf?1@ l@A@:YfP@A@%addmA:YfP8@ l@A@A:YfR@F@%addmC:YfR=@ l@A@:s@L@%mul0m:sC@ "@A@:s@R@%mul1m:sI@ "@A@ABCD:s@W@%mulm0:sΑN@ "@A@:s@`@%mulm1:sϑW@ "@A@A:s@e@%mulmA:sߑ\@ "+@A@B:s@j@%mulmC:sa@ "-@A@C:}ď@o@%simpm:}ďf@ ,@A@=[Y@u@'mulmACA=[Yl@# @A@ADEF@$Bool#Coq@0j 2cZ`FW A @ ?@0.i bYN Z'Decimal$Init#Coq@0C涳N*ua 0\͉!Ig*Logic_Type$Init#Coq@0 1jc6#Nat@0eʤģPSR蠠)Notations$Init#Coq@0&v!D]hwnv %Peano$Init#Coq@0 jha|ؠ'Prelude$Init#Coq@0JqTttֱ&Specif$Init#Coq@0;RWMi\N'Tactics$Init#Coq@0/9m+ a%Tauto$Init#Coq@0̂"&/r"Wf$Init#Coq@0q+W,J+&action(fingroup(mathcomp@0wԦ-M:AB j3!,automorphism(fingroup(mathcomp@0$D^ V+b`Š H0#z xW :G؂b(binomial)ssreflect(mathcomp@0io  } &choice)ssreflect(mathcomp@02*{;"W$^6#div)ssreflect(mathcomp@0W~ě o+ N@0Wn"2&=zH0;@02!3 o'<&finfun)ssreflect(mathcomp@0ƜNtD砠(fingroup(mathcomp@0c"65rk&finset)ssreflect(mathcomp@0 @$$~,B|XŠ0ǒ3fp(morphism(fingroup(mathcomp@0ď \n.v($path)ssreflect(mathcomp@0*%)bhcFrY$perm(fingroup(mathcomp@0R 嫁_]U%prime)ssreflect(mathcomp@0.wFbN_(quotient(fingroup(mathcomp@0鰷 x<G@#seq)ssreflect(mathcomp@0=~(sV,Aڠ80ⴆg {PK@0X% 'ssrbool)ssreflect(mathcomp@0o: n߂QGFE@0 zv)ssreflect(mathcomp@0tn|kN0 D/Op01 ZP"};o{&ssrfun)ssreflect(mathcomp@0âNO=(V+ssrmatching#Coq@0L1T=>0ͧMy}yWߘ,ssrnotations)ssreflect(mathcomp@0hPB %tuple)ssreflect(mathcomp@0ýޑA"_39.z"<-"_49.z"-><2 Q@@@@#_18K@G A@@@@@@@@@@@#_192M접[@W @#_20'`o@c@_ B)nat_scope@]`@2 Q@@A@#_22{@!^A@@@@@@yB@A@@@@#_232M접@'!^#_24'`o@@1!^B7@@@2 Q@@A@#_26@!2sA@@@@@@B@A@@@@#_272M접@62s#_28'`o@@@2sBl@@Ǡ@*2 Q@@@@#_29@5 5@@@@@#_302M접@C @#_31'`o@@K A@@72 Q@@@@#_32 @B ]@@@@@#_332M접@P @#_34'`o@#@X A@@>2 Q@@@@#_355@I.!@2B@A@@@@#_362M접I@].!@#_37'`o@Q@e.!B@@I:@J2 Q@@@@#_38g@U. 0@dB@A@@@@@#_392M접|@j. 0@#_40'`o@@r. 0C!@@@}nq@N2 Q@@@@#_41@Y.g@B@A@@@@@#_422M접@n.g@#_43'`o@@v.gCX@@@@b2 Q@@@@#_44@m.H%@ҐB@A@@@@#_452M접@.HA#_46'`o@@.HB@@預@A2 Q@@A@#_48@L$]A@@@@@@B@A@@@@#_492M접@a$]#_50'`o@&@k$]A@@O2 Q@@A@#_528@Z$_TA@@@@@@6B@A@@@@#_532M접M@o$_T#_54'`o@W@y$_TA@N@i2 Q@@A@#_56i@t.h^ A@@@@@@gB@A@@@@@@#_572M접@.h^ #_58'`o@@.h^ A'@@2 Q@@A@#_60@.h^ A@@@@@@B@A@@@@@#_612M접@.h^ #_62'`o@@.h^ AY@@2 Q@@@@#_63@3 2@@@@@#_642M접@3 @#_65'`o@@3 A@@2 Q@@C@#_66@/0CZ@@@@@#_672M접@/0C@#_68'`o@ @/0CA@@#_69(шZX@_2 Q@@C@#_70$@j)@@@@@#_712M접2@x)@#_72'`o@:@)A@1@#_73(шZF@)̠@C2 Q@@C@#_74T@N,D<@@@@@#_752M접b@\,D<@#_76'`o@j@d,D+k/@#_80'`o@@F+k/A7@@#_81(шZ@R+k/H@ 2 Q@@A@#_83@$ A@@@@@@B@A@@@@#_842M접@-$ #_85'`o@@7$ Ap@@'2 Q@@A@#_87@2.i A@@@@@@㐐B@A@@@@@#_882M접@H.i #_89'`o@@R.i A@@L2 Q@@A@#_91@W$A@@@@@@B@A@@@@#_922M접,@l$ސ#_93'`o@6@v$A@-@f2 Q@@A@#_95H@q.iA@@@@@@FB@A@@@@@@#_962M접_@.i#_97'`o@i@.iA@`@2 Q@@A@#_99{@KA@@@@@@yB@A@@@@@@$_1002M접@K$_101'`o@@KA9@@2 Q@@A@$_103@KA@@@@@@B@A@@@@@@$_1042M접@K$_105'`o@@KAl@@Ϡ2 Q@@A@$_107@${A@@@@@@ߐB@AC@A@@@@$_1082M접@${$_109'`o@@${C@@@𠐑@2 Q@@A@$_111 @$A@@@@@@B@AC@A@@@@$_1122M접;@$$_113'`o@E@$C@@@>/@@2 Q@@A@$_115_@&3_A@@@@@@]B@AD@AY@A@@@@$_1162M접@F3_$_117'`o@@P3_D&@@@@tw!@C2 Q@@A@$_119@NtA@@@@@@B@AEC@A@@@@$_1202M접@it$_121'`o@@stCi@@@Š@k2 Q@@A@$_123@v$A@@@@@@䐐B@A@@@@@$_1242M접@$$_125'`o@@$C@@񠐒@z2 Q@@A@$_128!@$A@@@@@@B@A@@@@@$_1292M접7@$$_130'`o@A@$A@8@2 Q@@A@$_132S@>A@@@@@@@@@@$_1332M접b@>ѐ$_134'`o@l@>A @c@2 Q@@A@$_136~@.hsA@@@@@@|B@A@@@@@$_1372M접@.hs$_138'`o@@.hsC;@>@@2 Q@@A@$_140@+'u A@@@@@@B@A@@@@$_1412M접@+'u $_142'`o@@+'u Bu@@Р@Š2 Q@@A@$_144@$A@@@@@@@@@@$_1452M접@$ِ$_146'`o@@$A@@2 Q@@A@$_148@/^A@@@@@@@@@@$_1492M접(@/^$_150'`o@2@/^A@)@$_152@@ A@@@@@A@>@AA@@@$_153S@ A@P@AA@@@$_154e@a %B@b@AA@@@@2 Q@@A@$_156|@ ŲA@@@@@@@@@@$_1572M접$_158'`o@@@@2 Q@@A@$_160@!f6A@@@@@@@@@@@$_1612M접$_162'`o@BQS@Π@?2 Q@@A@$_164@J29. A@@@@@@[B@A@@@@$_1652M접$_166'`o@A@a@ 2 Q@@A@$_168@2OA@@@@@@B@A@@@@$_1692M접$_170'`o@B@@.|@@2 Q@@A@$_172)@K<{ #A@@@@@@MB@AJC@A@@@@@$_1732M접$_174'`o@$D*type_scope@@.function_scope@@@cA@2 Q@@A@$_176h@OfA@@@@@@B@AC@A@@@@@@$_1772M접$_178'`o@%E@@@?A@@@AA@O2 Q@@A@$_183@Z-A@@@@@@@@@@$_1842M접@i-$_185'`o@@s-A`@@T2 Q@@@@$_186@_9+@@@@@$_1872M접@m9@$_188'`o@@u9A@@2 Q@@C@$_189@&9+wS@@@@@$_1902M접 @49+w@$_191'`o@@<9+wA@ @$_192(шZ@H9+w>@2 Q@@C@$_193-@3I@@@@@$_1942M접;@*3I@$_195'`o@C@23IA@:@$_196(шZO@>3I4@2 Q@@C@$_197]@  H}@@@@@$_1982M접k@ H}@$_199'`o@s@" H}A @j@$_200(шZ@. H}$@2 Q@@C@$_201@(ә㠠@@@@@$_2022M접@(ә@$_203'`o@@(әA @@@$_204(шZ@)(ә@2 Q@@@@$_205@yɤ@@@@@$_2062M접@yɤ@$_207'`o@@yɤA p@@2 Q@@C@$_208@K;@@@@@$_2092M접@K@$_210'`o@@KA @@$_211(шZ@K@2 Q@@C@$_212@ Zdk@@@@@$_2132M접#@ Zd@$_214'`o@+@ ZdA @"@$_215(шZ7@ Zd@2 Q@@C@$_216E@1@@@@@$_2172M접S@1@$_218'`o@[@1A @R@$_219(шZg@1@2 Q@@C@$_220u@5Íˠ@@@@@$_2212M접@5Í@$_222'`o@@5ÍA (@@$_223(шZ@5Í@2 Q@@A@$_225@.\A@@@@@@@@@@@$_2262M접@.\$_227'`o@@.\B \ ^@@2 Q@@A@$_229@$rgA@@@@@@ԐB@A@@@@$_2302M접@$rgԐ$_231'`o@@$rgB @@@2 Q@@A@$_233 @lA@@@@@@ B@A@@@@$_2342M접 @l$_235'`o@ *@lB Ǡ@@ " @Ѡ2 Q@@A@$_238 @@%ZA@@@@@@ >B@A@@@@@$_2392M접 V@%Z$_240'`o@ `@%ZA @ W@Π2 Q@@A@$_242 r@5,A@@@@@@ pB@A@@@@@$_2432M접 @5,༐$_244'`o@ @5,C /+group_scope 4@ 0 @2 Q@@@@$_246 @$ܸA@@@@@@@@@@$_2472M접AA@A$_248'`o@A `@@$_249@HBB@BA@@%'Z_ _@H  @@#'Z_@@@AB@@@$_250%c?@*type_scopeڠ @@@[BZ@@@@@@@4!@'''Z_' p$_251@HBB@BA@@%'F_ _@H  @@#'F_@@@AB@@@$_252%c?@*type_scope  @@@FEHC%prime)ssreflect(mathcomp@@$pdivME>@@@@@@@@=!c@'''F_' p2 Q@@@@$_256!j@& sb@@@@@$_2572M접!x@4 sbA$_258'`o@!@< sbA @!w@Π2 Q@@@@$_259!@?B㠠@@@@@$_2602M접!@?B )SetDefSig@ '0$_261'`o@!@?BA L@!@Ƞ2 Q@@A@$_263!@.hA@@@@@@B@A@@@@$_2642M접!@.h$_265'`o@!@.hB }@@!ؠ@2 Q@@A@$_267!@ \*A@@@@@@䑐B@A@@@@@$_2682M접" @ \*$_269'`o@"@ \*C @ @""@2 Q@@A@$_271"1@#'A@@@@@@B@A@@@@@$_2722M접"G@%#'$_273'`o@"Q@/#'C @ @"KJ"Q@-2 Q@@A@$_275"l@8|A@@@@@@ZB@A@@@@$_2762M접"@M|$_277'`o@"@W|B (@@"@H2 Q@@A@$_279"@S9OA@@@@@@C@A@@@@@$_2802M접"@i9O$_281'`o@"@s9OC ^ `@@""@M2 Q@@A@$_283"@XWA@@@@@@@@@@$_2842M접"@gW$_285'`o@"@qWA @"@^2 Q@@C@$_286#@i$2+@@@@@$_2872M접#@w$2@$_288'`o@#@$2A @#@$_289(шZ#)@$2@d2 Q@@A@$_291#7@owA@@@@@@%B@A@@@@$_2922M접#L@w吐$_293'`o@#V@wB @@#NM@n2 Q@@A@$_295#l@y1~A@@@@@@ZB@A@@@@@$_2962M접#@1~$_297'`o@#@1~C)@@@#V@2 Q@@C@$_298#@9B^:@@@@@$_2992M접#@9B^A$_300'`o@#@9B^AY@#@$_301(шZ#@9B^+,*@@$+n@e2 Q@@A@$_303#@p3YA@@@@@@ʑB@A@@@@$_3042M접#@3Y$_305'`o@#@3YB@@#󠐑@u2 Q@@A@$_307$@&A@@@@@@@@@@$_3082M접$ @&ݐ$_309'`o@$*@&A@$!@2 Q@@A@$_319$<@;UA@@@@@@*B@A@@@@$_3202M접$Q@;U$_321'`o@$[@;UB@@$S R@2 Q@@A@$_323$q@6SM@A@@@@@@_B@A@@@@$_3242M접$@6SM@$_325'`o@$@6SM@B-@@$ @ˠ2 Q@@A@$_327$@viA@@@@@@B@A@@@@$_3282M접$@vi$_329'`o@$@viBb@@$ @֠2 Q@@A@$_331$@iA@@@@@@ɑB@A@@@@@$_3322M접$@i$_333'`o@$@iC@@$ $@2 Q@@A@$_335%@qWA@@@@@@B@A@@@@@$_3362M접%,@qW$_337'`o@%6@qWCӠ@@%0!/%6@2 Q@@A@$_339%Q@%|7A@@@@@@?B@A@@@@$_3402M접%f@:|7$_341'`o@%p@D|7B @@%h!g@-2 Q@@A@$_343%@8 ,A@@@@@@tB@A@@@@$_3442M접%@M ,$_345'`o@%@W ,BB@@%!@L2 Q@@A@$_347%@W9A@@@@@@B@A@@@@@$_3482M접%@m9$_349'`o@%@w9Cx@{@%ՠ!Ԡ%@f2 Q@@A@$_352%@q Ѡ-;6橚@%subnK,}ŀ͠&$O<<Q>3-@%modnn%ܠ]J8ٷ9! %@$ltnW+jmΩ1C&ssrfun@,left_inverse:Aeee|STU}{om!ypķ!zt,zBk Ӑ,,8.Sl02>Wpom+>/lBenDDD7L JS?J~J^LyLSLFVU f t  ]Ǡa ff"hשjԠ}={7ݩpڠyܠ1/y©y㠩/&$-ȩ@'modnDmr'oթӰZZRذF&@%addnA,X`ZXkC@+associative(! B  r٠jɩ79驷*' 2-ַ5 7ʠ4@%addnC,X`àDC@+commutative1/5/;;ԐPNB@R@&Zp_mul.g@#Zp1 #;;:8c@$muln+M[:3:p " P &(& @'modnMml'/-][TMT18'b k/1kI@%mul1n,r DC+@'left_id D{L|'%UV@J\YMPxISOTt@%mulnC,rqBC'ȵN|wL~|y~pPL@'Zp_mulC.i db(@(Zp_mul1z$ noC@(right_id5Y}{zxRwtrq੷ߩݰpZqifd_eevx1ĠΠ'&7ʠԠөZҷ=?ҠܠY| נ۠ਗ਼@'modnMmr' 琩-+VGGXAY0[X7"@%mulnA,roVdUCUVȐki][oo POMx x!'%%.$ 'bi $Pԩ&0s*40Pwu(3!DM9EDBIBLFJOOL@&modnDm5ۀV%%ndȩǩ]Ǡ9E@&mulnDr#CA42"Ux橷 wuz'^..{1/4kl7e> &@(Zp_mulVz${ JMvtge0_top_assumption_PȐ!HT@'f_equal=!ewABB@@@@D!oo!m!i[_J<aHE>{v4C+_rev_concl_@kK@DNHK{#yx1 @(ssr_have+Ǜf ]]@)coprimen1 B ũt"xGQ wz VT͐IHΩ@,coprime_modr;ơ&ֶCQ+Ԡ/,/ ͐!*.Րא[gCC8E,搩'@$andb=͠qjY Ӡ[.]P@,coprime_mulr;ƪ4b5_!a!b =?r(@#andЖw@q)sw DJ2zA1JBBB@@@@D5&:mIo60]@&elimTF% `>@$andPRlOMKInn._view_subject_Z@$negbA1__top_assumption_}G!B2! S__^&T'<+9é4YYd]_ItC4Mh`+&SetDef@+pred_of_set#*:̀,.:3Y@%cycle!e,* @%iffLR)zѸQLE@;6 1 , ˠ ? 3$@&set_of514 @$setP#QZ#ѐsҩаj`@&in_mem&02- 6&}xsz u p  )  yj 署n@)Zp1_expgz+'u Y  3 -3շ  D-ڰ H=ީ?AA9C+<@&in_set4T- K 1 /ҷ 4 b!@(arg_sortڀZİ_ _@$gval Qb @+cycle_group,^i   Q X ?=@&groupX0kiY & `  b  c K/I@$set1#Q;ǩ B    ^>9!=@'mem_gen">     * Y ! *  &@%set11$ߘ        'CardDef@$card׼<   r ˩  j Ω    | i@%order!}񩚠o@&orderE1pw   "VB ĩ   )I=     0@(Zp_cycle$ـ  Щ ΰ :nZ T(Equality@x H@&eqTypeŏd s@2sort_of_simpl_pred/_ z@/pred_of_argType-   ^M~$S|\ jYT@&cardsT3Yq`   6    8 k  '@(card_ord 8   A "ͩ 4ک ! I   /⩷  'Ȑ$flex 1 1g@$zero'}nb𐩜 OA & ?۷! C ) C h C l# D+, L J r U s@@A@A@@@@D { Y & #_i_ A <   y ; C6+ x gG g6    :  S N w y+  T } 1  @ @@@D\   z@%Falsee@ @$Truey@A +  @)False_induُ xj_S k { j C )/ qfZ   q4 ɷ ʩ  ̷  ͩ   ʠ  {  Π   @&lshift   B Щ萩 ߠ   g s   W  ͩ F     ֩   @   @&rshiftD& @$lift ـ ͩ     C @%eqfunF`   + A6   !j #Nat (@$pred `< t   3 >  ;@&option >v@ 2 !u 8@+unlift_spec Դh@   . ) U@#sum@ L  L@%split    &Option@%apply3qgЩ ^Hs!B%A ( @EAA F b    ð - ʩ  ˩5 m .^' 7  p  ֩3@,big_ord_recl k  (  Ð ܩ ڰ Z   U *       Ka M   \ ! +I@(big_ord0) \  >I J.   k@  <4 t   > @%mulm1:s&Theory@ "   J  SM j u@@ !P 1  3 թ   ٩ V SWy Y &a ̷ > oT Ϸ A   rt    d ae{g 4}   ܷ N k  :f    6 = v  @ u r#% E q@*big_mkcond1)   |  3 L J ((  5 U& @(big_ord1<{ #     6   ꐑ        G p p 7 ِ$Ring@(zmodType!뀐 @+Zp_ringType9+w i@#one'pt    r    ; &"  y O   C .* c8*! l  o ^ 8"   e   ˩ V ͷ  Ω    ܩ   I  _    x        s }G v I   z [   °  ɩ   ˩    f f {  h ө Ѱ       ְ  0  t Ȑ $    w  氩 U ک {   ] [ ǩ   b   7i`  i@&Zp_nat.\  " %   Z 搩 +A?25 BTX@#opp'pS *)'R  頩 LE    TGӷ :e1C  ]7IHMKv  xyP{WW@(modn_mod$0E@'unit_ofm@ @2Zp_finUnitRingType Zdvw!v e ਗ਼(UnitRing@";G.\ #V@42uC@,unitRingTypeJ /@+has_quality.=j e@$unit'}4@,unit_subType.v@$mulg ;@5unit_baseFinGroupTypef靀;Ʃ ǩŰ@#mul'p. 'ComRing@(ringTypeVꀐ+ComUnitRing@+comRingTypeeO@5Zp_finComUnitRingType5Í@$uval:Jgjlߩ,x@#,t ਗ਼@;1G w<7.%ҩ "*lL ֩.0!UY@%mulrC(UgР5C ȩqĩz][ѷs]_R`C- "@$expn+; 6ONwNyEhǩ*\PQb `@bYp } ө,+s*1g 3{|xo ͩBǐ @G}  -za9MT11UKƩkfmbi~DFotHqz=Ϡ<w~7CĩU~@%expgS!i)̩ʰ &*--.ht۰ Yd%ՠ|{2А CF  ptթ@%expnS,b}-  4""6ɠ 9;Π ؠҠ ܠD DǠH6!pM( gQ@73.Y:<@(Zp_trunc$ܸ'& = {eH ~hFq -(]Ȑ"H0 Qѩ NyZ\ kZC@ [ @FA3j`ln2U#j u  s@ ZUG1- |yKd=C@  0mhZ1j%p_gt1f foYrq F8/spq שsqt =$$ĩɰҩ7:@'Zp_cast.h۠<ŐP r@'ord_injOO |sQnN &VƩ_ 4!E$&  m ?\ G^]}@*val_Zp_nat \*dG-!]JlK"MY+x c11pZ]4_;;c&&fB@[ ې88  }R:5''  !! [vd3 N +@*Zp_nat_mod#'2p2pn. ,)&D:uѩ Q <UUXW.D:gupb{+@2uŀ0@$type;Y@A@/Zp_unitRingTypeK@ ?2s @%class39&@%mixin3Mi   Y3! 3/:(#֐ 1mհoܩ  ݩ c Bd c ^>9p@'qualifE$yr' Z41!   ĠfP ;ɩ ˠ  ѠMJ7˷8 ٠Ϡ}eF\\  I" ۠ V ͠g**Q, ĩ @)group_set.ꀠ  SЩ y G C E X P K @$oneg m @:group_set_of_baseGroupTypeڼ9 3$X :B, z  n i k ~/ p1&! Oڐ  V  X`J &    (  + .E@ n> S@&groupP0k &h _@*setT_groupjB   m@)one_group ީ @ͩ )~ I h F At=Ͷ   rfS{_Pܰ H  j f a  C@ u 3@ߐڠ$ e      $ J     0 "6 ؐӐ ߷& dN31ܷ gQ6/Z%_Hyp_֩1/Z\]4_;;  E °U    $ʩ ]@&cards13YN z}{(=8꩷[Y Š jik/ 착      A ۠ Em       K        ; 'l'+ )ʷ G  + ذn 4p /r )w\TSLLUzM 尩 ^3 C > 99F @'in_setTd阀%p_gt0@(eq_trans!y @ @,unit_finType/j퀐u h   e `S@(units_Zp?B۩%prime@'totient&s5- n.  4 -(  ( #"; |<~  E >   : 5L#N*713 , .3     #O  6><g @'finType)Q}h ΰ  @-simplPredTypeǂ @)SimplPred' t Ga 䰩ΐL °"x8 Ҡ*V  % ө   Dfv@(card_sub %5    X @/unit_subFinTypeU;Щa a<c@Щ ۰B 7D 2B@@-pred_of_simplLhNO,yΩ-S֩#SSU iP Ω Q L  ~ Yש <j \ig9@)sum1_card5Ӏs+ Q ;v?zeK@+addn_monoid&N Ca 4O 3 6 (   Q  #  6  x snV 0\E23\Vې#!LN;|Q-K: W0 © ĩ|ũߠǷNȩ a:  ©effS@*index_iotaZZL!dprrNl꩚,@+nat_of_bool1B%\^ W Y-^+s u g,?k,gt w  à&   @m3@5totient_count_coprime ˀm 7 (é<ReMOr˩ ͩ I # : ԩϩ?OKC۩i|  {Wb @)big_mkord2rVcp8̩ ͰҶ    ^ O۰鐩됩 䐩 C n,!   d9# <&/3 + /-80 4k@(prop_in16   E@1unit_finGroupType;m4p   B1G  @+centralisesZyW:M@)inPhantoma^H @+centralisedZj'6@'introTF k%Щ=  쐩   ܰ א  Ҡ rv % /BJd(*%/{|)SubsetDef@&subset 0 ! !3@+centraliserZx9@¢sP0TJ cjVk 71 P,&_Hyp1_w  [(y=6 h @-unit_Zp_mulgC%Znӷ$p_pr@AĐ#seq@$head'Od@$list]@B A٩*ਜ਼   ,<ة@&primes!L@,primes_prime73-܀,$'TRө,m-/  ֐@$pdivME橚}@(Fp_Zcast;UhF   ΩIJ!L(TXϠP+̷,Sh>@)prime_gt1"$f8_;9dEG 5/.m>AI SBаc̐ h c A V9&)S[P@'Fp_cast6SM@8>fd[bӠboͩ<  >h=ࠩd> ypMwB s uͩ^UTMf?q]w·/ĩذ 4 + &ް}wsש5 I @7 ;'N6'@*val_Fp_natiɰЩ:Id(&ש٠*ǩY@%eq_op& v@ Է q#  oة E3tB B+(ҩ*@-nat_pred_pred!A@$char'{I,l©@(in_simpl3ә>$@1expose_simpl_pred "g8E+! #JID`=<;cΐf2Y?:9:p @*Fp_nat_modqW*C+E" 2LQrXTUw<U=W}xqpqo-s#Hbnlhi򐑷E@&charf06b[@'char_Fp|7V̷~| C OsY]JS(Ͱ )  _   ^ j k!@'pdiv_idՠG((Jz ӷyLN[@; { *@'unitZpE9OˠqaBnCfod_ GG,TheCanonical@#get4`Кp@+predArgTypeC X@M2u@R @#put4`@A, r@%;/#nzx5:2-.ܩsک!72F#򐩚 @ I) VNI);QL`4  (֩# ia\]֩PfauI zrmnکةawrZg6g$7&( ǰ'* **-.@rZ0@$dvdn$&upwih<S | PuQ@-prime_coprime)S ~$&}Y q(w?'m@8~7 } sr@'gtnNdvd$ °K©P갚@*nat_eqType4XPe[ 5g7@$lt0n+eꀐ<ީl]ݶmvw!l@+ltn_xor_geq%J@RԐ= BvA琩%#S Z ې*2B 4BAAAA@@@@@@@DD HF/}8: (K=@$ltnP+jfn$lt1pE-ӷI1, ȩvw: UUV>(Dk@*pdiv_prime.݀e.deM8 TK =>p[Vz2_b4{ 1;jeA itݐ ^QNén̠.Fǵ17N2& w C@F  RC%Field@(mixin_ofY4Āѩ!s#YlMqL-g