Repository URL to install this package:
|
Version:
2.5.0 ▾
|
]q (cpygments.token
_TokenType
qX Commentq
q
qq}q(X subtypesqcbuiltins
set
q]q (hhX Preprocq
q
qq
}q(hh]q
qRqX parentqhubhhX Multiqq
qq}q(hh]q
qRqhhubhhX Hashbangqq
qq}q(hh]q
q!Rq"hhubhhX Singleq#q$
q%q&}q'(hh]q(
q)Rq*hhubhhX
SingleLineq+q,
q-q.}q/(hh]q0
q1Rq2hhubhhX Docq3q4
q5q6}q7(hh]q8
q9Rq:hhubhhX Directiveq;q<
q=q>}q?(hh]q@
qARqBhhubhhX MultilineqCqD
qEqF}qG(hh]qH
qIRqJhhubhhX
SinglelineqKqL
qMqN}qO(hh]qP
qQRqRhhubhhX PreprocFileqSqT
qUqV}qW(hh]qX
qYRqZhhubhhX Specialq[q\
q]q^}q_(hh]q`
qaRqbhhube
qcRqdhh)
qeqf}qg(hh]qh(hX Escapeqi
qj
qkql}qm(hh]qn
qoRqphhfubhX Operatorqq
qr
qsqt}qu(hh]qv(hhqX DBSqwqx
qyqz}q{(hh]q|
q}Rq~hhtubhhqX Wordqq
qq}q(hh]q
q
Rqhhtube
qRqhhfhhhwhzubhX Nameq
q
qq}q(hh]q(hhX Tagqq
qq}q(hh]q
qRqhhubhhX Entityqq
qq}q(hh]qhhhhwq
qq}q (hh]q¡
q¢Rq£hhuba
q¤Rq¥hhhwhubhhX Exceptionq¦q§
q¨q©}qª(hh]q«
q¬RqhhubhhX Decoratorq®q¯
q°q±}q²(hh]q³
q´RqµhhubhhX Classq¶q·
q¸q¹}qº(hh]q»(hhh¶hwq¼
q½q¾}q¿(hh]qqÁRqÂhh¹ubhhh¶X StartqÇqąqŁqÆ}qÇ(hh]qȅqÉRqÊhh¹ube
qËRqÌhhhÃhÆhwh¾ubhhX Variableq͆q΅qρqÐ}qÑ(hh]qÒ(hhhÍX AnonymousqӇqԅqՁqÖ}q×(hh]qqÙRqÚhhÐubhhhÍh¶qۅq܁qÝ}qÞ(hh]q߅qàRqáhhÐubhhhÍX Magicqâqã
qäqå}qæ(hh]qç
qèRqéhhÐubhhhÍX Globalqêqë
qìqí}qî(hh]qï
qðRqñhhÐubhhhÍX Instanceqòqó
qôqõ}qö(hh]q÷
qøRqùhhÐube
qúRqûhhh¶hÝhêhíhòhõhâhåhÓhÖubhhX Attributeqüqý
qþqÿ}r (hh]r hhhüh͇r
r r }r (hh]r
r Rr hhÿuba
r Rr
hhhÍj ubhhX Namespacer r
r
r }r (hh]r
r Rr hhubhhX Propertyr r
r r }r (hh]r
r Rr hhubhhX Symbolr r
r r }r (hh]r
r! Rr" hhubhhX Classesr# r$
r% r& }r' (hh]r(
r) Rr* hhubhhX Pseudor+ r,
r- r. }r/ (hh]r0
r1 Rr2 hhubhhX Labelr3 r4
r5 r6 }r7 (hh]r8
r9 Rr: hhubhhhqr;
r< r= }r> (hh]r?
r@ RrA hhubhhX BuiltinrB rC
rD rE }rF (hh]rG (hhjB j+ rH
rI rJ }rK (hh]rL
rM RrN hjE ubhhjB X TyperO rP
rQ rR }rS (hh]rT
rU RrV hjE ube
rW RrX hhj+ jJ jO jR ubhhX FieldrY rZ
r[ r\ }r] (hh]r^
r_ Rr` hhubhhX Otherra rb
rc rd }re (hh]rf hhja X Memberrg rh
ri rj }rk (hh]rl
rm Rrn hjd uba
ro Rrp hhjg jj ubhhX Functionrq rr
rs rt }ru (hh]rv hhjq hârw
rx ry }rz (hh]r{
r| Rr} hjt uba
r~ Rr hhhâjy ubhhjO r
r r }r (hh]r
r
Rr hhubhhX Constantr r
r r }r (hh]r
r Rr hhube
r Rr hhfhühÿjB jE h¶h¹j j h®h±hhh¦h©jq jt j j j3 j6 j j ja jd hhhÍhÐjY j\ j j j+ j. hqj= j# j& jO j ubhX Literalr
r
r r }r (hh]r (hj ja r
r r }r (hh]r
r Rr hj ubhj X Charr r
r r¡ }r¢ (hh]r£
r¤ Rr¥ hj ubhj X Dater¦ r§
r¨ r© }rª (hh]r«
r¬ Rr hj ubhj X Scalarr® r¯
r° r± }r² (hh]r³ hj j® X Plainr´ rµ
r¶ r· }r¸ (hh]r¹
rº Rr» hj± uba
r¼ Rr½ hj j´ j· ubhj X Stringr¾ r¿
rÀ rÁ }r (hh]rà (hj j¾ X InterpolrÄ rÅ
rÆ rÇ }rÈ (hh]rÉ
rÊ RrË hjÁ ubhj j¾ X DelimeterrÌ rÍ
rÎ rÏ }rÐ (hh]rÑ
rÒ RrÓ hjÁ ubhj j¾ j rÔ
rÕ rÖ }r× (hh]rØ
rÙ RrÚ hjÁ ubhj j¾ j rÛ
rÜ rÝ }rÞ (hh]rß
rà Rrá hjÁ ubhj j¾ h#râ
rã rä }rå (hh]ræ
rç Rrè hjÁ ubhj j¾ ja ré
rê rë }rì (hh]rí
rî Rrï hjÁ ubhj j¾ X Backtickrð rñ
rò ró }rô (hh]rõ
rö Rr÷ hjÁ ubhj j¾ hirø
rù rú }rû (hh]rü
rý Rrþ hjÁ ubhj j¾ X Regexrÿ r
r r }r (hh]r
r Rr hjÁ ubhj j¾ X Momentr r
r r
}r (hh]r
r
Rr hjÁ ubhj j¾ X Booleanr r
r r }r (hh]r
r Rr hjÁ ubhj j¾ X Characterr r
r r }r (hh]r
r Rr hjÁ ubhj j¾ X Delimiterr r
r! r" }r# (hh]r$
r% Rr& hjÁ ubhj j¾ h3r'
r( r) }r* (hh]r+
r, Rr- hjÁ ubhj j¾ hr.
r/ r0 }r1 (hh]r2
r3 Rr4 hjÁ ubhj j¾ X Affixr5 r6
r7 r8 }r9 (hh]r:
r; Rr< hjÁ ubhj j¾ X Heredocr= r>
r? r@ }rA (hh]rB
rC RrD hjÁ ubhj j¾ X DoublerE rF
rG rH }rI (hh]rJ
rK RrL hjÁ ubhj j¾ X InterprM rN
rO rP }rQ (hh]rR
rS RrT hjÁ ubhj j¾ X AtomrU rV
rW rX }rY (hh]rZ
r[ Rr\ hjÁ ube
r] Rr^ hj j5 j8 jð jó j jÖ j j" h3j) jE jH hijú j= j@ jÄ jÇ ja jë jÿ j h#jä j jÝ j j j j
jM jP j j jÌ jÏ jU jX hj0 ubhj X Numberr_ r`
ra rb }rc (hh]rd (hj j_ X Floatre rf
rg rh }ri (hh]rj
rk Rrl hjb ubhj j_ X Decrm rn
ro rp }rq (hh]rr
rs Rrt hjb ubhj j_ X Radixru rv
rw rx }ry (hh]rz
r{ Rr| hjb ubhj j_ X Octr} r~
r r }r (hh]r
r Rr hjb ubhj j_ X Binr
r
r r }r (hh]r
r Rr hjb ubhj j_ hür
r r }r (hh]r
r Rr hjb ubhj j_ X Hexr r
r r }r (hh]r
r Rr hjb ubhj j_ X Integerr r
r r }r (hh]r¡ h(j j_ j X Longr¢ tr£
r¤ r¥ }r¦ (hh]r§
r¨ Rr© hj uba
rª Rr« hjb j¢ j¥ ubhj j_ X Decimalr¬ r
r® r¯ }r° (hh]r±
r² Rr³ hjb ube
r´ Rrµ hj j
j je jh j j j j j} j ju jx hüj j¬ j¯ jm jp ube
r¶ Rr· hhfj¾ jÁ j_ jb j¦ j© j® j± ja j j j¡ ubhX Genericr¸
r¹
rº r» }r¼ (hh]r½ (hj¸ X Errorr¾ r¿
rÀ rÁ }r (hh]rÃ
rÄ RrÅ hj» ubhj¸ X
SubheadingrÆ rÇ
rÈ rÉ }rÊ (hh]rË
rÌ RrÍ hj» ubhj¸ X TracebackrÎ rÏ
rÐ rÑ }rÒ (hh]rÓ
rÔ RrÕ hj» ubhj¸ X OutputrÖ r×
rØ rÙ }rÚ (hh]rÛ
rÜ RrÝ hj» ubhj¸ X PromptrÞ rß
rà rá }râ (hh]rã
rä Rrå hj» ubhj¸ X Deletedræ rç
rè ré }rê (hh]rë
rì Rrí hj» ubhj¸ X Insertedrî rï
rð rñ }rò (hh]ró
rô Rrõ hj» ubhj¸ X Headingrö r÷
rø rù }rú (hh]rû
rü Rrý hj» ubhj¸ X Strongrþ rÿ
r r }r (hh]r
r Rr hj» ubhj¸ X Emphr r
r r }r
(hh]r
r Rr
hj» ube
r Rr hhfjæ jé j j j¾ jÁ jö jù jî jñ jÖ jÙ jÞ já jþ j jÆ jÉ jÎ jÑ ubhj¾
r
r r }r (hh]r
r Rr hhfubhX Keywordr
r
r r }r (hh]r (hj hr
r r }r (hh]r!
r" Rr# hj ubhj j r$
r% r& }r' (hh]r(
r) Rr* hj ubhj jO r+
r, r- }r. (hh]r/
r0 Rr1 hj ubhj X PreProcr2 r3
r4 r5 }r6 (hh]r7
r8 Rr9 hj ubhj X Controlr: r;
r< r= }r> (hh]r?
r@ RrA hj ubhj j rB
rC rD }rE (hh]rF
rG RrH hj ubhj j rI
rJ rK }rL (hh]rM
rN RrO hj ubhj j+ rP
rQ rR }rS (hh]rT
rU RrV hj ubhj X DeclarationrW rX
rY rZ }r[ (hh]r\
r] Rr^ hj ubhj X Reservedr_ r`
ra rb }rc (hh]rd
re Rrf hj ube
rg Rrh hhfj jD jW jZ j jK j+ jR j_ jb jO j- j: j= j j& j2 j5 hj ubhja
ri
rj rk }rl (hh]rm
rn Rro hhfubhX Textrp
rq
rr rs }rt (hh]ru (hjp X Rootrv rw
rx ry }rz (hh]r{
r| Rr} hjs ubhjp j r~
r r }r (hh]r
r Rr hjs ubhjp X Ragr
r
r r }r (hh]r
r Rr hjs ubhjp X
Whitespacer r
r r }r (hh]r
r Rr hjs ubhjp X Beerr r
r r }r (hh]r
r Rr hjs ubhjp X Punctuationr r
r r }r¡ (hh]r¢
r£ Rr¤ hjs ube
r¥ Rr¦ hhfj j j j j j jv jy j j j
j ubhhj
r§
r¨ r© }rª (hh]r« hj X Indicatorr¬ r
r® r¯ }r° (hh]r±
r² Rr³ hj© uba
r´ Rrµ hhfj¬ j¯ ube
r¶ Rr· jp js hihlj¾ j ja jk j j hhj j j j© hqhthhj¸ j» X Tokenr¸ hfj¾ jÁ j_ jb ubhhhChFh
h
hShVh#h&h[h^h;h>h+h.h3h6hhhKhNubX (*r¹ rº hX4 from Isabelle2013-2 src/HOL/Power.thy; BSD license r» r¼ hX *)r½ r¾ js X
r¿ rÀ hX (*rÁ r hX Title: HOL/Power.thy
Author: Lawrence C Paulson, Cambridge University Computer Laboratory
Copyright 1997 University of Cambridge
rà rÄ hX *)rÅ rÆ js X
rÇ rÈ jù X headerrÉ rÊ js X rË rÌ hX {*rÍ rÎ hX Exponentiation rÏ rÐ hX *}rÑ rÒ js X
rÓ rÔ j X theoryrÕ rÖ js jË r× hX PowerrØ rÙ js X
rÚ rÛ jR X importsrÜ rÝ js jË rÞ hX Numrß rà js jÚ rá j X beginrâ rã js X
rä rå jÉ X
subsectionræ rç js jË rè hX {*ré rê hX Powers for Arbitrary Monoids rë rì hX *}rí rî js X
rï rð j X classrñ rò js jË ró hX powerrô rõ js jË rö htX =r÷ rø js jË rù hX onerú rû js jË rü htX +rý rþ js jË rÿ hX timesr r js jÚ r j X beginr r js X
r r j X primrecr r js jË r hX powerr
r js jË r htX ::r
r js jË r jÁ X "r r jÁ X 'a r r jÝ X
\<Rightarrow>r r jÁ X nat r r jÝ X
\<Rightarrow>r r jÁ X 'ar r jÁ j r js jË r htX (r r jR X infixrr r! js jË r" jÁ j r# jÁ X ^r$ r% jÁ j r& js jË r' hX 80r( r) htX )r* r+ js jË r, jR X wherer- r. js X
r/ r0 hX power_0r1 r2 htX :r3 r4 js jË r5 jÁ j r6 jÁ X a ^ 0 = 1r7 r8 jÁ j r9 js X
r: r; htX |r< r= js jË r> hX power_Sucr? r@ htj3 rA js jË rB jÁ j rC jÁ X a ^ Suc n = a * a ^ nrD rE jÁ j rF js X
rG rH j X notationrI rJ js jË rK htj rL hX latexrM rN js jË rO jR X outputrP rQ htj* rR js X
rS rT hX powerrU rV js jË rW htj rX jÁ j rY jÁ X (_rZ r[ jÁ X \r\ r] jÁ X <^bsup>_r^ r_ jÁ j\ r` jÁ X <^esup>)ra rb jÁ j rc js jË rd htX [re rf hX 1000rg rh htX ]ri rj js jË rk hX 1000rl rm htj* rn js X
ro rp j X notationrq rr js jË rs htj rt hX HTMLru rv js jË rw jR X outputrx ry htj* rz js X
r{ r| hX powerr} r~ js jË r htj r jÁ j r jÁ X (_r r jÁ j\ r jÁ X <^bsup>_r
r jÁ j\ r jÁ X <^esup>)r r jÁ j r js jË r htje r hX 1000r r htji r js jË r hX 1000r r htj* r js X
r r j X textr r js jË r hX {*r r hX Special syntax for squares. r r hX *}r r js X
r r j X abbreviationr¡ r¢ js jË r£ htj r¤ hX xsymbolsr¥ r¦ htj* r§ js X
r¨ r© hX power2rª r« js jË r¬ htX ::r r® js jË r¯ jÁ j r° jÁ X 'a r± r² jÝ X
\<Rightarrow>r³ r´ jÁ X 'arµ r¶ jÁ j r· js X r¸ r¹ htj rº jÁ j r» jÁ X (_r¼ r½ jÁ j\ r¾ jÁ X <^sup>2)r¿ rÀ jÁ j rÁ js jË r htje rà hX 1000rÄ rÅ htji rÆ js jË rÇ hX 999rÈ rÉ htj* rÊ js jË rË jR X whererÌ rÍ js X
rÎ rÏ jÁ j rÐ jÁ X xrÑ rÒ jÁ j\ rÓ jÁ X <^sup>2 rÔ rÕ jÝ X \<equiv>rÖ r× jÁ X x ^ 2rØ rÙ jÁ j rÚ js X
rÛ rÜ j X notationrÝ rÞ js jË rß htj rà hX latexrá râ js jË rã jR X outputrä rå htj* ræ js X
rç rè hX power2ré rê js X rë rì htj rí jÁ j rî jÁ X (_rï rð jÁ j\ rñ jÁ X <^sup>2)rò ró jÁ j rô js jË rõ htje rö hX 1000r÷ rø htji rù js jË rú hX 999rû rü htj* rý js X
rþ rÿ j X notationr r js jË r htj r hX HTMLr r js jË r jR X outputr r htj* r js X
r
r hX power2r r
js X r r htj r jÁ j r jÁ X (_r r jÁ j\ r jÁ X <^sup>2)r r jÁ j r js jË r htje r hX 1000r r htji r js jË r hX 999r r htj* r js X
r! r" j X endr# r$ js X
r% r& j X contextr' r( js jË r) hX monoid_multr* r+ js jÚ r, j X beginr- r. js X
r/ r0 jK X subclassr1 r2 js jË r3 hX powerr4 r5 js jË r6 hX .r7 r8 js X
r9 r: jK X lemmar; r< js jË r= hX power_oner> r? js jË r@ htje rA hX simprB rC htji rD htj3 rE js X
rF rG jÁ j rH jÁ X 1 ^ n = 1rI rJ jÁ j rK js X
rL rM j X byrN rO js jË rP htj rQ hX inductrR rS js jË rT hX nrU rV htj* rW js jË rX hX simp_allrY rZ js X
r[ r\ jK X lemmar] r^ js jË r_ hX power_one_rightr` ra js jË rb htje rc hX simprd re htji rf htj3 rg js X
rh ri jÁ j rj jÁ X a ^ 1 = ark rl jÁ j rm js X
rn ro j X byrp rq js jË rr hX simprs rt js X
ru rv jK X lemmarw rx js jË ry hX power_commutesrz r{ htj3 r| js X
r} r~ jÁ j r jÁ X a ^ n * a = a * a ^ nr r jÁ j r js X
r r j X byr
r js jË r htj r hX inductr r js jË r hjU r htj* r js jË r htj r hX simp_allr r js jË r hX addr r htj3 r js jË r hX
mult_assocr r htj* r js X
r r jK X lemmar r js jË r hX
power_Suc2r r htj3 r¡ js X
r¢ r£ jÁ j r¤ jÁ X a ^ Suc n = a ^ n * ar¥ r¦ jÁ j r§ js X
r¨ r© j X byrª r« js jË r¬ htj r hX simpr® r¯ js jË r° hX addr± r² htj3 r³ js jË r´ hX power_commutesrµ r¶ htj* r· js X
r¸ r¹ jK X lemmarº r» js jË r¼ hX power_addr½ r¾ htj3 r¿ js X
rÀ rÁ jÁ j r jÁ X a ^ (m + n) = a ^ m * a ^ nrà rÄ jÁ j rÅ js X
rÆ rÇ j X byrÈ rÉ js jË rÊ htj rË hX inductrÌ rÍ js jË rÎ hX mrÏ rÐ htj* rÑ js jË rÒ htj rÓ hX simp_allrÔ rÕ js jË rÖ hX addr× rØ htj3 rÙ js jË rÚ hX
algebra_simpsrÛ rÜ htj* rÝ js X
rÞ rß jK X lemmarà rá js jË râ hX
power_multrã rä htj3 rå js X
ræ rç jÁ j rè jÁ X a ^ (m * n) = (a ^ m) ^ nré rê jÁ j rë js X
rì rí j X byrî rï js jË rð htj rñ hX inductrò ró js jË rô hjU rõ htj* rö js jË r÷ htj rø hX simp_allrù rú js jË rû hX addrü rý htj3 rþ js jË rÿ hX power_addr r htj* r js X
r r jK X lemmar r js jË r hX power2_eq_squarer r htj3 r
js jË r jÁ j r jÁ X ar
r jÁ j\ r jÁ X <^sup>2 = a * ar r jÁ j r js X
r r j X byr r js jË r htj r hX simpr r js jË r hX addr r htj3 r js jË r hX numeral_2_eq_2r r! htj* r" js X
r# r$ jK X lemmar% r& js jË r' hX power3_eq_cuber( r) htj3 r* js jË r+ jÁ j r, jÁ X a ^ 3 = a * a * ar- r. jÁ j r/ js X
r0 r1 j X byr2 r3 js jË r4 htj r5 hX simpr6 r7 js jË r8 hX addr9 r: htj3 r; js jË r< hX numeral_3_eq_3r= r> js jË r? hX
mult_assocr@ rA htj* rB js X
rC rD jK X lemmarE rF js jË rG hX
power_even_eqrH rI htj3 rJ js X
rK rL jÁ j rM jÁ X a ^ (2 * n) = (a ^ n)rN rO jÁ j\ rP jÁ X <^sup>2rQ rR jÁ j rS js X
rT rU j X byrV rW js jË rX htj rY hX substrZ r[ js jË r\ hX mult_commuter] r^ htj* r_ js jË r` htj ra hX simprb rc js jË rd hX addre rf htj3 rg js jË rh hX
power_multri rj htj* rk js X
rl rm jK X lemmarn ro js jË rp hX power_odd_eqrq rr htj3 rs js X
rt ru jÁ j rv jÁ X a ^ Suc (2*n) = a * (a ^ n)rw rx jÁ j\ ry jÁ X <^sup>2rz r{ jÁ j r| js X
r} r~ j X byr r js jË r htj r hX simpr r js jË r
hX addr r htj3 r js jË r hX
power_even_eqr r htj* r js X
r r jK X lemmar r js jË r hX power_numeral_evenr r htj3 r js X
r r jÁ j r jÁ X= z ^ numeral (Num.Bit0 w) = (let w = z ^ (numeral w) in w * w)r r jÁ j r js X
r r j X unfoldingr r js jË r hX numeral_Bit0r r¡ js jË r¢ hX power_addr£ r¤ js jË r¥ hX Let_defr¦ r§ js jË r¨ hX ..r© rª js X
r« r¬ jK X lemmar r® js jË r¯ hX power_numeral_oddr° r± htj3 r² js X
r³ r´ jÁ j rµ jÁ XA z ^ numeral (Num.Bit1 w) = (let w = z ^ (numeral w) in z * w * w)r¶ r· jÁ j r¸ js X
r¹ rº j X unfoldingr» r¼ js jË r½ hX numeral_Bit1r¾ r¿ js jË rÀ hX One_nat_defrÁ r js jË rà hX
add_Suc_rightrÄ rÅ js jË rÆ hX add_0_rightrÇ rÈ js X
rÉ rÊ j X unfoldingrË rÌ js jË rÍ hX power_SucrÎ rÏ js jË rÐ hX power_addrÑ rÒ js jË rÓ hX Let_defrÔ rÕ js jË rÖ hX
mult_assocr× rØ js jË rÙ hX ..rÚ rÛ js X
rÜ rÝ jK X lemmarÞ rß js jË rà hX funpow_times_powerrá râ htj3 rã js X
rä rå jÁ j ræ jÁ X" (times x ^^ f x) = times (x ^ f x)rç rè jÁ j ré js jÚ rê j X proofrë rì js jË rí htj rî hX inductrï rð js jË rñ jÁ j rò jÁ X f xró rô jÁ j rõ js jË rö hX arbitraryr÷ rø htj3 rù js jË rú hX frû rü htj* rý js X
rþ rÿ j X caser r js jË r hX 0r r js jË r j X thenr r js jË r j X showr r
js jË r htX ?r r
j X caser r js jË r j X byr r js jË r htj r hX simpr r js jË r hX addr r htj3 r js jË r hX
fun_eq_iffr r htj* r js jÚ r j X nextr r! js X
r" r# j X caser$ r% js jË r& htj r' hX Sucr( r) js jË r* hjU r+ htj* r, js X
r- r. j X defr/ r0 js jË r1 hX gr2 r3 js jË r4 j X \<equiv>r5 r6 js jË r7 jÁ j r8 jÝ X \<lambda>r9 r: jÁ X
x. f x - 1r; r< jÁ j r= js X
r> r? j X withr@ rA js jË rB hX SucrC rD js jË rE j X haverF rG js jË rH jÁ j rI jÁ X n = g xrJ rK jÁ j rL js jË rM j X byrN rO js jË rP hX simprQ rR js X
rS rT j X withrU rV js jË rW hX SucrX rY js jË rZ j X haver[ r\ js jË r] jÁ j r^ jÁ X times x ^^ g x = times (x ^ g x)r_ r` jÁ j ra js jË rb j X byrc rd js jË re hX simprf rg js X
rh ri j X moreoverrj rk js jË rl j X fromrm rn js jË ro hX Sucrp rq js jË rr hX g_defrs rt js jË ru j X haverv rw js jË rx jÁ j ry jÁ X
f x = g x + 1rz r{ jÁ j r| js jË r} j X byr~ r js jË r hX simpr r js X
r r j X
ultimatelyr
r js jË r j X showr r js jË r htj r j X caser r js jË r j X byr r js jË r htj r hX simpr r js jË r hX addr r htj3 r js jË r hX power_addr r js jË r hX
funpow_addr r js jË r hX
fun_eq_iffr r¡ js jË r¢ hX
mult_assocr£ r¤ htj* r¥ js jÚ r¦ j X qedr§ r¨ js X
r© rª j X endr« r¬ js X
r r® j X contextr¯ r° js jË r± hX comm_monoid_multr² r³ js jÚ r´ j X beginrµ r¶ js X
r· r¸ jK X lemmar¹ rº js jË r» hX power_mult_distribr¼ r½ htj3 r¾ js X
r¿ rÀ jÁ j rÁ jÁ X (a * b) ^ n = (a ^ n) * (b ^ n)r rà jÁ j rÄ js X
rÅ rÆ j X byrÇ rÈ js jË rÉ htj rÊ hX inductrË rÌ js jË rÍ hjU rÎ htj* rÏ js jË rÐ htj rÑ hX simp_allrÒ rÓ js jË rÔ hX addrÕ rÖ htj3 r× js jË rØ hX mult_acrÙ rÚ htj* rÛ js X
rÜ rÝ j X endrÞ rß js X
rà rá j X contextrâ rã js jË rä hX semiring_numeralrå ræ js jÚ rç j X beginrè ré js X
rê rë jK X lemmarì rí js jË rî hX numeral_sqrrï rð htj3 rñ js jË rò jÁ j ró jÁ X+ numeral (Num.sqr k) = numeral k * numeral krô rõ jÁ j rö js X
r÷ rø j X byrù rú js jË rû htj rü hX simprý rþ js jË rÿ hX onlyr r htj3 r js jË r hX
sqr_conv_multr r js jË r hX numeral_multr r htj* r js X
r
r jK X lemmar r
js jË r hX numeral_powr r htj3 r js jË r jÁ j r jÁ X- numeral (Num.pow k l) = numeral k ^ numeral lr r jÁ j r js X
r r j X byr r js jË r htj r hX inductr r js jË r hX lr r! htX ,r" r# js jË r$ hX simp_allr% r& js jË r' hX onlyr( r) htj3 r* js jË r+ hX numeral_class.numeral.simpsr, r- js jË r. hX pow.simpsr/ r0 js X
r1 r2 hX numeral_sqrr3 r4 js jË r5 hX numeral_multr6 r7 js jË r8 hX power_addr9 r: js jË r; hX power_one_rightr< r= htj* r> js X
r? r@ jK X lemmarA rB js jË rC hX
power_numeralrD rE js jË rF htje rG hX simprH rI htji rJ htj3 rK js jË rL jÁ j rM jÁ X- numeral k ^ numeral l = numeral (Num.pow k l)rN rO jÁ j rP js X
rQ rR j X byrS rT js jË rU htj rV hX rulerW rX js jË rY hX numeral_powrZ r[ js jË r\ htje r] hX symmetricr^ r_ htji r` htj* ra js X
rb rc j X endrd re js X
rf rg j X contextrh ri js jË rj hX
semiring_1rk rl js jÚ rm j X beginrn ro js X
rp rq jK X lemmarr rs js jË rt hX of_nat_powerru rv htj3 rw js X
rx ry jÁ j rz jÁ X of_nat (m ^ n) = of_nat m ^ nr{ r| jÁ j r} js X
r~ r j X byr r js jË r htj r hX inductr r
js jË r hjU r htj* r js jË r htj r hX simp_allr r js jË r hX addr r htj3 r js jË r hX of_nat_multr r htj* r js X
r r jK X lemmar r js jË r hX power_zero_numeralr r js jË r htje r hX simpr r htji r htj3 r¡ js jË r¢ jÁ j r£ jÁ X (0::'a) ^ numeral k = 0r¤ r¥ jÁ j r¦ js X
r§ r¨ j X byr© rª js jË r« htj r¬ hX simpr r® js jË r¯ hX addr° r± htj3 r² js jË r³ hX numeral_eq_Sucr´ rµ htj* r¶ js X
r· r¸ jK X lemmar¹ rº js jË r» hX zero_power2r¼ r½ htj3 r¾ js jË r¿ jÁ j rÀ jÁ j rÁ jÁ j\ r jÁ X <^sup>2 = 0rà rÄ jÁ j rÅ js jË rÆ hX (*rÇ rÈ hX delete? rÉ rÊ hX *)rË rÌ js X
rÍ rÎ j X byrÏ rÐ js jË rÑ htj rÒ hX rulerÓ rÔ js jË rÕ hX power_zero_numeralrÖ r× htj* rØ js X
rÙ rÚ jK X lemmarÛ rÜ js jË rÝ hX
one_power2rÞ rß htj3 rà js jË rá jÁ j râ jÁ X 1rã rä jÁ j\ rå jÁ X <^sup>2 = 1ræ rç jÁ j rè js jË ré hX (*rê rë hX delete? rì rí hX *)rî rï js X
rð rñ j X byrò ró js jË rô htj rõ hX rulerö r÷ js jË rø hX power_onerù rú htj* rû js X
rü rý j X endrþ rÿ js X
r r j X contextr r js jË r hX comm_semiring_1r r js jÚ r j X beginr r js X
r
r j X textr r
js jË r hX {*r r hX The divides relation r r hX *}r r js X
r r jK X lemmar r js jË r hX le_imp_power_dvdr r htj3 r js X
r r jR X assumesr r js jË r! jÁ j r" jÁ X m r# r$ jÝ X \<le>r% r& jÁ X nr' r( jÁ j r) js jË r* jR X showsr+ r, js jË r- jÁ j r. jÁ X a ^ m dvd a ^ nr/ r0 jÁ j r1 js jÚ r2 j X proofr3 r4 js X
r5 r6 j X haver7 r8 js jË r9 jÁ j r: jÁ X a ^ n = a ^ (m + (n - m))r; r< jÁ j r= js X
r> r? j X usingr@ rA js jË rB jë X `rC rD jë X m rE rF jÝ X \<le>rG rH jë X nrI rJ jë jC rK js jË rL j X byrM rN js jË rO hX simprP rQ js X
rR rS j X alsorT rU js jË rV j X haverW rX js jË rY jÁ j rZ jÝ X \<dots>r[ r\ jÁ X = a ^ m * a ^ (n - m)r] r^ jÁ j r_ js X
r` ra j X byrb rc js jË rd htj re hX rulerf rg js jË rh hX power_addri rj htj* rk js X
rl rm j X finallyrn ro js jË rp j X showrq rr js jË rs jÁ j rt jÁ X a ^ n = a ^ m * a ^ (n - m)ru rv jÁ j rw js jË rx hj7 ry js jÚ rz j X qedr{ r| js X
r} r~ jK X lemmar r js jË r hX power_le_dvdr r htj3 r js X
r
r jÁ j r jÁ X a ^ n dvd b r r jÝ X \<Longrightarrow>r r jÁ X m r r jÝ X \<le>r r jÁ X n r r jÝ X \<Longrightarrow>r r jÁ X a ^ m dvd br r jÁ j r js X
r r j X byr r js jË r htj r hX ruler r js jË r hX dvd_transr r¡ js jË r¢ htje r£ e(hX OFr¤ r¥ js jË r¦ hX le_imp_power_dvdr§ r¨ htji r© htj* rª js X
r« r¬ jK X lemmar r® js jË r¯ hX dvd_power_samer° r± htj3 r² js X
r³ r´ jÁ j rµ jÁ X x dvd y r¶ r· jÝ X \<Longrightarrow>r¸ r¹ jÁ X x ^ n dvd y ^ nrº r» jÁ j r¼ js X
r½ r¾ j X byr¿ rÀ js jË rÁ htj r hX inductrà rÄ js jË rÅ hjU rÆ htj* rÇ js jË rÈ htj rÉ hX autorÊ rË js jË rÌ hX simprÍ rÎ js jË rÏ hX addrÐ rÑ htj3 rÒ js jË rÓ hX
mult_dvd_monorÔ rÕ htj* rÖ js X
r× rØ jK X lemmarÙ rÚ js jË rÛ hX dvd_power_lerÜ rÝ htj3 rÞ js X
rß rà jÁ j rá jÁ X x dvd y râ rã jÝ X \<Longrightarrow>rä rå jÁ X m ræ rç jÝ X \<ge>rè ré jÁ X n rê rë jÝ X \<Longrightarrow>rì rí jÁ X x ^ n dvd y ^ mrî rï jÁ j rð js X
rñ rò j X byró rô js jË rõ htj rö hX ruler÷ rø js jË rù hX power_le_dvdrú rû js jË rü htje rý hX OFrþ rÿ js jË r
hX dvd_power_samer
r
htji r
htj* r
js X
r
r
jK X lemmar
r
js jË r
hX dvd_powerr
r
js jË r
htje r
hX simpr
r
htji r
htj3 r
js X
r
r
jR X assumesr
r
js jË r
jÁ j r
jÁ X
n > (0::nat) r
r
jÝ X \<or>r
r
jÁ X x = 1r
r
jÁ j r
js X
r
r
jR X showsr!
r"
js jË r#
jÁ j r$
jÁ X
x dvd (x ^ n)r%
r&
jÁ j r'
js jÚ r(
j X usingr)
r*
js jË r+
hX assmsr,
r-
js jË r.
j X proofr/
r0
js X
r1
r2
j X assumer3
r4
js jË r5
jÁ j r6
jÁ X 0 < nr7
r8
jÁ j r9
js X
r:
r;
j X thenr<
r=
js jË r>
j X haver?
r@
js jË rA
jÁ j rB
jÁ X x ^ n = x ^ Suc (n - 1)rC
rD
jÁ j rE
js jË rF
j X byrG
rH
js jË rI
hX simprJ
rK
js X
rL
rM
j X thenrN
rO
js jË rP
j X showrQ
rR
js jË rS
jÁ j rT
jÁ X
x dvd (x ^ n)rU
rV
jÁ j rW
js jË rX
j X byrY
rZ
js jË r[
hX simpr\
r]
js jÚ r^
j X nextr_
r`
js X
ra
rb
j X assumerc
rd
js jË re
jÁ j rf
jÁ X x = 1rg
rh
jÁ j ri
js X
rj
rk
j X thenrl
rm
js jË rn
j X showro
rp
js jË rq
jÁ j rr
jÁ X
x dvd (x ^ n)rs
rt
jÁ j ru
js jË rv
j X byrw
rx
js jË ry
hX simprz
r{
js jÚ r|
j X qedr}
r~
js X
r
r
j X endr
r
js X
r
r
j X contextr
r
js jË r
hX ring_1r
r
js jÚ r
j X beginr
r
js X
r
r
jK X lemmar
r
js jË r
hX power_minusr
r
htj3 r
js X
r
r
jÁ j r
jÁ X (- a) ^ n = (- 1) ^ n * a ^ nr
r
jÁ j r
js jÚ r
j X proofr
r
js jË r
htj r
hX inductr
r¡
js jË r¢
hjU r£
htj* r¤
js X
r¥
r¦
j X caser§
r¨
js jË r©
hj rª
js jË r«
j X showr¬
r
js jË r®
htj r¯
j X caser°
r±
js jË r²
j X byr³
r´
js jË rµ
hX simpr¶
r·
js jÚ r¸
j X nextr¹
rº
js X
r»
r¼
j X caser½
r¾
js jË r¿
htj rÀ
hX SucrÁ
rÂ
js jË rÃ
hjU rÄ
htj* rÅ
js jË rÆ
j X thenrÇ
rÈ
js jË rÉ
j X showrÊ
rË
js jË rÌ
htj rÍ
j X caserÎ
rÏ
js X
rÐ
rÑ
j X byrÒ
rÓ
js jË rÔ
htj rÕ
hX simprÖ
r×
js jË rØ
hX delrÙ
rÚ
htj3 rÛ
js jË rÜ
hX power_SucrÝ
rÞ
js jË rß
hX addrà
rá
htj3 râ
js jË rã
hX
power_Suc2rä
rå
js jË ræ
hX
mult_assocrç
rè
htj* ré
js jÚ rê
j X qedrë
rì
js X
rí
rî
jK X lemmarï
rð
js jË rñ
hX power_minus_Bit0rò
ró
htj3 rô
js X
rõ
rö
jÁ j r÷
jÁ X7 (- x) ^ numeral (Num.Bit0 k) = x ^ numeral (Num.Bit0 k)rø
rù
jÁ j rú
js X
rû
rü
j X byrý
rþ
js jË rÿ
htj r hX inductr r js jË r hX kr r htj" r js jË r hX simp_allr r js jË r
hX onlyr r htj3 r
js jË r hX numeral_class.numeral.simpsr r js jË r hX power_addr r js X
r r hX power_one_rightr r js jË r hX mult_minus_leftr r js jË r hX mult_minus_rightr r js jË r hX minus_minusr r htj* r! js X
r" r# jK X lemmar$ r% js jË r& hX power_minus_Bit1r' r( htj3 r) js X
r* r+ jÁ j r, jÁ X; (- x) ^ numeral (Num.Bit1 k) = - (x ^ numeral (Num.Bit1 k))r- r. jÁ j r/ js X
r0 r1 j X byr2 r3 js jË r4 htj r5 hX simpr6 r7 js jË r8 hX onlyr9 r: htj3 r; js jË r< hX eval_nat_numeralr= r> htj r? hX 3r@ rA htj* rB js jË rC hX power_SucrD rE js jË rF hX power_minus_Bit0rG rH js jË rI hX mult_minus_leftrJ rK htj* rL js X
rM rN jK X lemmarO rP js jË rQ hX power_neg_numeral_Bit0rR rS js jË rT htje rU hX simprV rW htji rX htj3 rY js X
rZ r[ jÁ j r\ jÁ XG neg_numeral k ^ numeral (Num.Bit0 l) = numeral (Num.pow k (Num.Bit0 l))r] r^ jÁ j r_ js X
r` ra j X byrb rc js jË rd htj re hX simprf rg js jË rh hX onlyri rj htj3 rk js jË rl hX neg_numeral_defrm rn js jË ro hX power_minus_Bit0rp rq js jË rr hX
power_numeralrs rt htj* ru js X
rv rw jK X lemmarx ry js jË rz hX power_neg_numeral_Bit1r{ r| js jË r} htje r~ hX simpr r htji r htj3 r js X
r r jÁ j r
jÁ XK neg_numeral k ^ numeral (Num.Bit1 l) = neg_numeral (Num.pow k (Num.Bit1 l))r r jÁ j r js X
r r j X byr r js jË r htj r hX simpr r js jË r hX onlyr r htj3 r js jË r hX neg_numeral_defr r js jË r hX power_minus_Bit1r r js jË r hX
power_numeralr r js jË r hX pow.simpsr r htj* r¡ js X
r¢ r£ jK X lemmar¤ r¥ js jË r¦ hX power2_minusr§ r¨ js jË r© htje rª hX simpr« r¬ htji r htj3 r® js X
r¯ r° jÁ j r± jÁ X (- a)r² r³ jÁ j\ r´ jÁ X <^sup>2 = arµ r¶ jÁ j\ r· jÁ X <^sup>2r¸ r¹ jÁ j rº js X
r» r¼ j X byr½ r¾ js jË r¿ htj rÀ hX rulerÁ r js jË rà hX power_minus_Bit0rÄ rÅ htj* rÆ js X
rÇ rÈ jK X lemmarÉ rÊ js jË rË hX power_minus1_evenrÌ rÍ js jË rÎ htje rÏ hX simprÐ rÑ htji rÒ htj3 rÓ js X
rÔ rÕ jÁ j rÖ jÁ X -1 ^ (2*n) = 1r× rØ jÁ j rÙ js jÚ rÚ j X proofrÛ rÜ js jË rÝ htj rÞ hX inductrß rà js jË rá hjU râ htj* rã js X
rä rå j X caseræ rç js jË rè hj ré js jË rê j X showrë rì js jË rí htj rî j X caserï rð js jË rñ j X byrò ró js jË rô hX simprõ rö js jÚ r÷ j X nextrø rù js X
rú rû j X caserü rý js jË rþ htj rÿ hX Sucr r js jË r hjU r htj* r js jË r j X thenr r js jË r j X showr r
js jË r htj r j X caser
r js jË r j X byr r js jË r htj r hX simpr r js jË r hX addr r htj3 r js jË r hX power_addr r js jË r hX power2_eq_squarer r htj* r js jÚ r! j X qedr" r# js X
r$ r% jK X lemmar& r' js jË r( hX power_minus1_oddr) r* htj3 r+ js X
r, r- jÁ j r. jÁ X -1 ^ Suc (2*n) = -1r/ r0 jÁ j r1 js X
r2 r3 j X byr4 r5 js jË r6 hX simpr7 r8 js X
r9 r: jK X lemmar; r< js jË r= hX power_minus_evenr> r? js jË r@ htje rA hX simprB rC htji rD htj3 rE js X
rF rG jÁ j rH jÁ X (-a) ^ (2*n) = a ^ (2*n)rI rJ jÁ j rK js X
rL rM j X byrN rO js jË rP htj rQ hX simprR rS js jË rT hX addrU rV htj3 rW js jË rX hX power_minusrY rZ js jË r[ htje r\ hX ofr] r^ js jË r_ hj
r` htji ra htj* rb js X
rc rd j X endre rf js X
rg rh j X contextri rj js jË rk hX ring_1_no_zero_divisorsrl rm js jÚ rn j X beginro rp js X
rq rr jK X lemmars rt js jË ru hX field_power_not_zerorv rw htj3 rx js X
ry rz jÁ j r{ jÁ X a r| r} jÝ X \<noteq>r~ r jÁ X 0 r r jÝ X \<Longrightarrow>r r jÁ X a ^ n r r
jÝ X \<noteq>r r jÁ X 0r r jÁ j r js X
r r j X byr r js jË r htj r hX inductr r js jË r hjU r htj* r js jË r hX autor r js X
r r jK X lemmar r js jË r hX zero_eq_power2r r js jË r htje r¡ hX simpr¢ r£ htji r¤ htj3 r¥ js X
r¦ r§ jÁ j r¨ jÁ j
r© jÁ j\ rª jÁ X <^sup>2 = 0 r« r¬ jÝ X \<longleftrightarrow>r r® jÁ X a = 0r¯ r° jÁ j r± js X
r² r³ j X unfoldingr´ rµ js jË r¶ hX power2_eq_squarer· r¸ js jË r¹ j X byrº r» js jË r¼ hX simpr½ r¾ js X
r¿ rÀ jK X lemmarÁ r js jË rà hX power2_eq_1_iffrÄ rÅ htj3 rÆ js X
rÇ rÈ jÁ j rÉ jÁ j
rÊ jÁ j\ rË jÁ X <^sup>2 = 1 rÌ rÍ jÝ X \<longleftrightarrow>rÎ rÏ jÁ X a = 1 rÐ rÑ jÝ X \<or>rÒ rÓ jÁ X a = - 1rÔ rÕ jÁ j rÖ js X
r× rØ j X unfoldingrÙ rÚ js jË rÛ hX power2_eq_squarerÜ rÝ js jË rÞ j X byrß rà js jË rá htj râ hX rulerã rä js jË rå hX square_eq_1_iffræ rç htj* rè js X
ré rê j X endrë rì js X
rí rî j X contextrï rð js jË rñ hX idomrò ró js jÚ rô j X beginrõ rö js X
r÷ rø jK X lemmarù rú js jË rû hX
power2_eq_iffrü rý htj3 rþ js jË rÿ jÁ j r
jÁ jÑ r
jÁ j\ r
jÁ X <^sup>2 = yr
r
jÁ j\ r
jÁ X <^sup>2 r
r
jÝ X \<longleftrightarrow>r
r
jÁ X x = y r
r
jÝ X \<or>r
r
jÁ X x = - yr
r
jÁ j r
js X
r
r
j X unfoldingr
r
js jË r
hX power2_eq_squarer
r
js jË r
j X byr
r
js jË r
htj r
hX ruler
r
js jË r
hX
square_eq_iffr
r!
htj* r"
js X
r#
r$
j X endr%
r&
js X
r'
r(
j X contextr)
r*
js jË r+
hX
division_ringr,
r-
js jÚ r.
j X beginr/
r0
js X
r1
r2
j X textr3
r4
js jË r5
hX {*r6
r7
hX9 FIXME reorient or rename to @{text nonzero_inverse_powerr8
r9
hX }r:
r;
hjË r<
hX *}r=
r>
js jÚ r?
jK X lemmar@
rA
js jË rB
hX nonzero_power_inverserC
rD
htj3 rE
js X
rF
rG
jÁ j rH
jÁ X a rI
rJ
jÝ X \<noteq>rK
rL
jÁ X 0 rM
rN
jÝ X \<Longrightarrow>rO
rP
jÁ X" inverse (a ^ n) = (inverse a) ^ nrQ
rR
jÁ j rS
js X
rT
rU
j X byrV
rW
js jË rX
htj rY
hX inductrZ
r[
js jË r\
hjU r]
htj* r^
js X
r_
r`
htj ra
hX simp_allrb
rc
js jË rd
hX addre
rf
htj3 rg
js jË rh
hX nonzero_inverse_mult_distribri
rj
js jË rk
hX power_commutesrl
rm
js jË rn
hX field_power_not_zeroro
rp
htj* rq
js X
rr
rs
j X endrt
ru
js X
rv
rw
j X contextrx
ry
js jË rz
hX fieldr{
r|
js jÚ r}
j X beginr~
r
js X
r
r
jK X lemmar
r
js jË r
hX nonzero_power_divider
r
htj3 r
js X
r
r
jÁ j r
jÁ X b r
r
jÝ X \<noteq>r
r
jÁ X 0 r
r
jÝ X \<Longrightarrow>r
r
jÁ X (a / b) ^ n = a ^ n / b ^ nr
r
jÁ j r
js X
r
r
j X byr
r
js jË r
htj r
hX simpr
r
js jË r
hX addr
r
htj3 r¡
js jË r¢
hX divide_inverser£
r¤
js jË r¥
hX power_mult_distribr¦
r§
js jË r¨
hX nonzero_power_inverser©
rª
htj* r«
js X
r¬
r
j X endr®
r¯
js X
r°
r±
jÉ X
subsectionr²
r³
js jË r´
hX {*rµ
r¶
hX! Exponentiation on ordered types r·
r¸
hX *}r¹
rº
js X
r»
r¼
j X contextr½
r¾
js jË r¿
hX linordered_ringrÀ
rÁ
js jË rÂ
hX (*rÃ
rÄ
hX TODO: move rÅ
rÆ
hX *)rÇ
rÈ
js jÚ rÉ
j X beginrÊ
rË
js X
rÌ
rÍ
jK X lemmarÎ
rÏ
js jË rÐ
hX sum_squares_ge_zerorÑ
rÒ
htj3 rÓ
js X
rÔ
rÕ
jÁ j rÖ
jÁ X 0 r×
rØ
jÝ X \<le>rÙ
rÚ
jÁ X x * x + y * yrÛ
rÜ
jÁ j rÝ
js X
rÞ
rß
j X byrà
rá
js jË râ
htj rã
hX introrä
rå
js jË ræ
hX add_nonneg_nonnegrç
rè
js jË ré
hX zero_le_squarerê
rë
htj* rì
js X
rí
rî
jK X lemmarï
rð
js jË rñ
hX not_sum_squares_lt_zerorò
ró
htj3 rô
js X
rõ
rö
jÁ j r÷
jÝ X \<not>rø
rù
jÁ X x * x + y * y < 0rú
rû
jÁ j rü
js X
rý
rþ
j X byrÿ
r js jË r htj r hX simpr r js jË r hX addr r htj3 r js jË r hX not_lessr
r js jË r hX sum_squares_ge_zeror
r htj* r js X
r r j X endr r js X
r r j X contextr r js jË r hX linordered_semidomr r js jÚ r j X beginr r js X
r r jK X lemmar r! js jË r" hX zero_less_powerr# r$ js jË r% htje r& hX simpr' r( htji r) htj3 r* js X
r+ r, jÁ j r- jÁ X 0 < a r. r/ jÝ X \<Longrightarrow>r0 r1 jÁ X
0 < a ^ nr2 r3 jÁ j r4 js X
r5 r6 j X byr7 r8 js jË r9 htj r: hX inductr; r< js jË r= hjU r> htj* r? js jË r@ htj rA hX simp_allrB rC js jË rD hX addrE rF htj3 rG js jË rH hX mult_pos_posrI rJ htj* rK js X
rL rM jK X lemmarN rO js jË rP hX
zero_le_powerrQ rR js jË rS htje rT hX simprU rV htji rW htj3 rX js X
rY rZ jÁ j r[ jÁ X 0 r\ r] jÝ X \<le>r^ r_ jÁ X a r` ra jÝ X \<Longrightarrow>rb rc jÁ X 0 rd re jÝ X \<le>rf rg jÁ X a ^ nrh ri jÁ j rj js X
rk rl j X byrm rn js jË ro htj rp hX inductrq rr js jË rs hjU rt htj* ru js jË rv htj rw hX simp_allrx ry js jË rz hX addr{ r| htj3 r} js jË r~ hX mult_nonneg_nonnegr r htj* r js X
r r jK X lemmar r
js jË r hX
power_monor r htj3 r js X
r r jÁ j r jÁ X a r r jÝ X \<le>r r jÁ X b r r jÝ X \<Longrightarrow>r r jÁ X 0 r r jÝ X \<le>r r jÁ X a r r jÝ X \<Longrightarrow>r r jÁ X a ^ n r r jÝ X \<le>r r jÁ X b ^ nr¡ r¢ jÁ j r£ js X
r¤ r¥ j X byr¦ r§ js jË r¨ htj r© hX inductrª r« js jË r¬ hjU r htj* r® js jË r¯ htj r° hX autor± r² js jË r³ hX intror´ rµ htj3 r¶ js jË r· hX mult_monor¸ r¹ js jË rº hX order_transr» r¼ js jË r½ htje r¾ hX ofr¿ rÀ js jË rÁ hj r js jË rà hj
rÄ js jË rÅ hX brÆ rÇ htji rÈ htj* rÉ js X
rÊ rË jK X lemmarÌ rÍ js jË rÎ hX one_le_powerrÏ rÐ js jË rÑ htje rÒ hX simprÓ rÔ htji rÕ htj3 rÖ js jË r× jÁ j rØ jÁ X 1 rÙ rÚ jÝ X \<le>rÛ rÜ jÁ X a rÝ rÞ jÝ X \<Longrightarrow>rß rà jÁ X 1 rá râ jÝ X \<le>rã rä jÁ X a ^ nrå ræ jÁ j rç js X
rè ré j X usingrê rë js jË rì hX
power_monorí rî js jË rï htje rð hX ofrñ rò js jË ró hjã rô js jË rõ hj
rö js jË r÷ hjU rø htji rù js jË rú j X byrû rü js jË rý hX simprþ rÿ js X
r r jK X lemmar r js jË r hX power_le_oner r htj3 r js jË r jÁ j r jÝ X \<lbrakk>r
r jÁ X 0 r r
jÝ X \<le>r r jÁ X a; a r r jÝ X \<le>r r jÁ X 1r r jÝ X \<rbrakk>r r jÁ jË r jÝ X \<Longrightarrow>r r jÁ X a ^ n r r jÝ X \<le>r r jÁ X 1r r jÁ j r! js X
r" r# j X usingr$ r% js jË r& hX
power_monor' r( js jË r) htje r* hX ofr+ r, js jË r- hj
r. js jË r/ hjã r0 js jË r1 hjU r2 htji r3 js jË r4 j X byr5 r6 js jË r7 hX simpr8 r9 js X
r: r; jK X lemmar< r= js jË r> hX power_gt1_lemmar? r@ htj3 rA js X
rB rC jR X assumesrD rE js jË rF hX gt1rG rH htj3 rI js jË rJ jÁ j rK jÁ X 1 < arL rM jÁ j rN js X
rO rP jR X showsrQ rR js jË rS jÁ j rT jÁ X
1 < a * a ^ nrU rV jÁ j rW js jÚ rX j X proofrY rZ js jË r[ htX -r\ r] js X
r^ r_ j X fromr` ra js jË rb hX gt1rc rd js jË re j X haverf rg js jË rh jÁ j ri jÁ X 0 rj rk jÝ X \<le>rl rm jÁ X arn ro jÁ j rp js X
rq rr j X byrs rt js jË ru htj rv hX factrw rx js jË ry hX order_transrz r{ js jË r| htje r} hX OFr~ r js jË r hX zero_le_oner r js jË r hX less_imp_ler r
htji r htj* r js X
r r j X haver r js jË r e(jÁ j r jÁ X
1 * 1 < a * 1r r jÁ j r js jË r j X usingr r js jË r hX gt1r r js jË r j X byr r js jË r hX simpr r js X
r r j X alsor r js jË r¡ j X haver¢ r£ js jË r¤ jÁ j r¥ jÝ X \<dots>r¦ r§ jÁ jË r¨ jÝ X \<le>r© rª jÁ X
a * a ^ nr« r¬ jÁ j r js jË r® j X usingr¯ r° js jË r± hX gt1r² r³ js X
r´ rµ j X byr¶ r· js jË r¸ htj r¹ hX simprº r» js jË r¼ hX onlyr½ r¾ htj3 r¿ js jË rÀ hX mult_monorÁ r js jË rà jë jC rÄ jë X 0 rÅ rÆ jÝ X \<le>rÇ rÈ jë X arÉ rÊ jë jC rË js jË rÌ hX one_le_powerrÍ rÎ js jË rÏ hX order_less_imp_lerÐ rÑ js X
rÒ rÓ hX zero_le_onerÔ rÕ js jË rÖ hX
order_reflr× rØ htj* rÙ js X
rÚ rÛ j X finallyrÜ rÝ js jË rÞ j X showrß rà js jË rá htj râ hX thesisrã rä js jË rå j X byræ rç js jË rè hX simpré rê js jÚ rë j X qedrì rí js X
rî rï jK X lemmarð rñ js jË rò hX power_gt1ró rô htj3 rõ js X
rö r÷ jÁ j rø jÁ X 1 < a rù rú jÝ X \<Longrightarrow>rû rü jÁ X 1 < a ^ Suc nrý rþ jÁ j rÿ js X
r r j X byr r js jË r htj r hX simpr r js jË r hX addr r
htj3 r js jË r hX power_gt1_lemmar
r htj* r js X
r r jK X lemmar r js jË r hX one_less_powerr r js jË r htje r hX simpr r htji r htj3 r js X
r r jÁ j r jÁ X 1 < a r r! jÝ X \<Longrightarrow>r" r# jÁ X 0 < n r$ r% jÝ X \<Longrightarrow>r& r' jÁ X
1 < a ^ nr( r) jÁ j r* js X
r+ r, j X byr- r. js jË r/ htj r0 hX casesr1 r2 js jË r3 hjU r4 htj* r5 js jË r6 htj r7 hX simp_allr8 r9 js jË r: hX addr; r< htj3 r= js jË r> hX power_gt1_lemmar? r@ htj* rA js X
rB rC jK X lemmarD rE js jË rF hX power_le_imp_le_exprG rH htj3 rI js X
rJ rK jR X assumesrL rM js jË rN hX gt1rO rP htj3 rQ js jË rR jÁ j rS jÁ X 1 < arT rU jÁ j rV js X
rW rX jR X showsrY rZ js jË r[ jÁ j r\ jÁ X a ^ m r] r^ jÝ X \<le>r_ r` jÁ X a ^ n ra rb jÝ X \<Longrightarrow>rc rd jÁ X m re rf jÝ X \<le>rg rh jÁ X nri rj jÁ j rk js jÚ rl j X proofrm rn js jË ro htj rp hX inductrq rr js jË rs hjÏ rt js jË ru hX arbitraryrv rw htj3 rx js jË ry hjU rz htj* r{ js X
r| r} j X caser~ r js jË r hj r js X
r r j X showr r
js jË r htj r j X caser r js jË r j X byr r js jË r hX simpr r js jÚ r j X nextr r js X
r r j X caser r js jË r htj r hX Sucr r js jË r hjÏ r htj* r js X
r r j X showr r¡ js jË r¢ htj r£ j X caser¤ r¥ js X
r¦ r§ j X proofr¨ r© js jË rª htj r« hX casesr¬ r js jË r® hjU r¯ htj* r° js X
r± r² j X caser³ r´ js jË rµ hj r¶ js X
r· r¸ j X withr¹ rº js jË r» hX Suc.premsr¼ r½ js jË r¾ hX Suc.hypsr¿ rÀ js jË rÁ j X haver rà js jË rÄ jÁ j rÅ jÁ X
a * a ^ m rÆ rÇ jÝ X \<le>rÈ rÉ jÁ X 1rÊ rË jÁ j rÌ js jË rÍ j X byrÎ rÏ js jË rÐ hX simprÑ rÒ js X
rÓ rÔ j X withrÕ rÖ js jË r× hX gt1rØ rÙ js jË rÚ j X showrÛ rÜ js jË rÝ htj rÞ hX thesisrß rà js X
rá râ j X byrã rä js jË rå htj ræ hX forcerç rè js jË ré hX simprê rë js jË rì hX onlyrí rî htj3 rï js jË rð hX power_gt1_lemmarñ rò js X
ró rô hX not_lessrõ rö js jË r÷ htje rø hX symmetricrù rú htji rû htj* rü js X
rý rþ j X nextrÿ r js X
r r j X caser r js jË r htj r hX Sucr r js jË r hjU r
htj* r js X
r r
j X withr r js jË r hX Suc.premsr r js jË r hX Suc.hypsr r js jË r j X showr r js jË r htj r hX thesisr r js X
r r j X byr r js jË r! htj r" hX forcer# r$ js jË r% hX destr& r' htj3 r( js jË r) hX mult_left_le_imp_ler* r+ js X
r, r- hX simpr. r/ js jË r0 hX addr1 r2 htj3 r3 js jË r4 hX
less_transr5 r6 js jË r7 htje r8 hX OFr9 r: js jË r; hX
zero_less_oner< r= js jË r> hX gt1r? r@ htji rA htj* rB js X
rC rD j X qedrE rF js jÚ rG j X qedrH rI js X
rJ rK j X textrL rM hX {*rN rO hX: Surely we can strengthen this? It holds for @{text "0<a<1"rP rQ hj:
rR hX too.rS rT hX *}rU rV js jÚ rW jK X lemmarX rY js jË rZ hX power_inject_expr[ r\ js jË r] htje r^ hX simpr_ r` htji ra htj3 rb js X
rc rd jÁ j re jÁ X 1 < a rf rg jÝ X \<Longrightarrow>rh ri jÁ X a ^ m = a ^ n rj rk jÝ X \<longleftrightarrow>rl rm jÁ X m = nrn ro jÁ j rp js X
rq rr j X byrs rt js jË ru htj rv hX forcerw rx js jË ry hX simprz r{ js jË r| hX addr} r~ htj3 r js jË r hX
order_antisymr r js jË r hX power_le_imp_le_expr r
htj* r js X
r r j X textr r hX {*r r hX+ Can relax the first premise to @{term "0<a"r r hj:
r hX$ in the case of the
natural numbers.r r hX *}r r js jÚ r jK X lemmar r js jË r hX power_less_imp_less_expr r htj3 r js X
r r jÁ j r jÁ X 1 < a r r jÝ X \<Longrightarrow>r r¡ jÁ X a ^ m < a ^ n r¢ r£ jÝ X \<Longrightarrow>r¤ r¥ jÁ X m < nr¦ r§ jÁ j r¨ js X
r© rª j X byr« r¬ js jË r htj r® hX simpr¯ r° js jË r± hX addr² r³ htj3 r´ js jË rµ hX
order_less_ler¶ r· js jË r¸ htje r¹ hX ofrº r» js jË r¼ hjÏ r½ js jË r¾ hjU r¿ htji rÀ js jË rÁ hX less_ler rà js jË rÄ htje rÅ hX ofrÆ rÇ js jË rÈ jÁ j rÉ jÁ X a^mrÊ rË jÁ j rÌ js jË rÍ jÁ j rÎ jÁ X a^nrÏ rÐ jÁ j rÑ htji rÒ js X
rÓ rÔ hX power_le_imp_le_exprÕ rÖ htj* r× js X
rØ rÙ jK X lemmarÚ rÛ js jË rÜ hX power_strict_monorÝ rÞ js jË rß htje rà hX rule_formatrá râ htji rã htj3 rä js X
rå ræ jÁ j rç jÁ X a < b rè ré jÝ X \<Longrightarrow>rê rë jÁ X 0 rì rí jÝ X \<le>rî rï jÁ X a rð rñ jÝ X \<Longrightarrow>rò ró jÁ X 0 < n rô rõ jÝ X \<longrightarrow>rö r÷ jÁ X a ^ n < b ^ nrø rù jÁ j rú js X
rû rü j X byrý rþ js jË rÿ htj r hX inductr r js jË r hjU r htj* r js X
r r htj r hX autor r
js jË r hX simpr r
js jË r hX addr r htj3 r js jË r hX mult_strict_monor r js jË r hX
le_less_transr r js jË r htje r hX ofr r js jË r hj r js jË r hj
r js jË r hjÆ r! htji r" htj* r# js X
r$ r% j X textr& r' hX {*r( r) hX( Lemma for @{text power_strict_decreasingr* r+ hj:
r, hX *}r- r. js jÚ r/ jK X lemmar0 r1 js jË r2 hX power_Suc_lessr3 r4 htj3 r5 js X
r6 r7 jÁ j r8 jÁ X 0 < a r9 r: jÝ X \<Longrightarrow>r; r< jÁ X a < 1 r= r> jÝ X \<Longrightarrow>r? r@ jÁ X a * a ^ n < a ^ nrA rB jÁ j rC js X
rD rE j X byrF rG js jË rH htj rI hX inductrJ rK js jË rL hjU rM htj* rN js X
rO rP htj rQ hX autorR rS js jË rT hX simprU rV js jË rW hX addrX rY htj3 rZ js jË r[ hX mult_strict_left_monor\ r] htj* r^ js X
r_ r` jK X lemmara rb js jË rc hX power_strict_decreasingrd re js jË rf htje rg hX rule_formatrh ri htji rj htj3 rk js X
rl rm jÁ j rn jÁ X n < N ro rp jÝ X \<Longrightarrow>rq rr jÁ X 0 < a rs rt jÝ X \<Longrightarrow>ru rv jÁ X a < 1 rw rx jÝ X \<longrightarrow>ry rz jÁ X a ^ N < a ^ nr{ r| jÁ j r} js jÚ r~ j X proofr r js jË r htj r hX inductr r js jË r
hX Nr r htj* r js X
r r j X caser r js jË r hj r js jË r j X thenr r js jË r j X showr r js jË r htj r j X caser r js jË r j X byr r js jË r hX simpr r js jÚ r j X nextr r¡ js X
r¢ r£ j X caser¤ r¥ js jË r¦ htj r§ hX Sucr¨ r© js jË rª hj r« htj* r¬ js jË r j X thenr® r¯ js jË r° j X showr± r² js jË r³ htj r´ j X caserµ r¶ js X
r· r¸ jR X applyr¹ rº js jË r» htj r¼ hX autor½ r¾ js jË r¿ hX simprÀ rÁ js jË r hX addrà rÄ htj3 rÅ js jË rÆ hX power_Suc_lessrÇ rÈ js jË rÉ hX less_Suc_eqrÊ rË htj* rÌ js X
rÍ rÎ jR X applyrÏ rÐ js jË rÑ htj rÒ hX subgoal_tacrÓ rÔ js jË rÕ jÁ j rÖ jÁ X a * a^N < 1 * a^nr× rØ jÁ j rÙ htj* rÚ js X
rÛ rÜ jR X applyrÝ rÞ js jË rß hX simprà rá js X
râ rã jR X applyrä rå js jË ræ htj rç hX rulerè ré js jË rê hX mult_strict_monorë rì htj* rí js jË rî jR X applyrï rð js jË rñ hX autorò ró js X
rô rõ j X donerö r÷ js jÚ rø j X qedrù rú js X
rû rü j X textrý rþ hX {*rÿ r hX6 Proof resembles that of @{text power_strict_decreasingr r hj:
r hX *}r r js jÚ r jK X lemmar r js jË r hX power_decreasingr
r js jË r htje r
hX rule_formatr r htji r htj3 r js X
r r jÁ j r jÁ X n r r jÝ X \<le>r r jÁ X N r r jÝ X \<Longrightarrow>r r jÁ X 0 r r jÝ X \<le>r r jÁ X a r! r" jÝ X \<Longrightarrow>r# r$ jÁ X a r% r& jÝ X \<le>r' r( jÁ X 1 r) r* jÝ X \<longrightarrow>r+ r, jÁ X a ^ N r- r. jÝ X \<le>r/ r0 jÁ X a ^ nr1 r2 jÁ j r3 js jÚ r4 j X proofr5 r6 js jË r7 htj r8 hX inductr9 r: js jË r; hj r< htj* r= js X
r> r? j X caser@ rA js jË rB hj rC js jË rD j X thenrE rF js jË rG j X showrH rI js jË rJ htj rK j X caserL rM js jË rN j X byrO rP js jË rQ hX simprR rS js jÚ rT j X nextrU rV js X
rW rX j X caserY rZ js jË r[ htj r\ hX Sucr] r^ js jË r_ hj r` htj* ra js jË rb j X thenrc rd js jË re j X showrf rg js jË rh htj ri j X caserj rk js X
rl rm jR X applyrn ro js jË rp htj rq hX autorr rs js jË rt hX simpru rv js jË rw hX addrx ry htj3 rz js jË r{ hX le_Suc_eqr| r} htj* r~ js X
r r jR X applyr r js jË r htj r hX subgoal_tacr
r js jË r jÁ j r jÁ X a * a^N r r jÝ X \<le>r r jÁ X 1 * a^nr r jÁ j r htj" r js jË r hX simpr r htj* r js X
r r jR X applyr r js jË r htj r hX ruler r js jË r hX mult_monor r htj* r js jË r¡ jR X applyr¢ r£ js jË r¤ hX autor¥ r¦ js X
r§ r¨ j X doner© rª js jÚ r« j X qedr¬ r js X
r® r¯ jK X lemmar° r± js jË r² hX power_Suc_less_oner³ r´ htj3 rµ js X
r¶ r· jÁ j r¸ jÁ X 0 < a r¹ rº jÝ X \<Longrightarrow>r» r¼ jÁ X a < 1 r½ r¾ jÝ X \<Longrightarrow>r¿ rÀ jÁ X a ^ Suc n < 1rÁ r jÁ j rà js X
rÄ rÅ j X usingrÆ rÇ js jË rÈ hX power_strict_decreasingrÉ rÊ js jË rË htje rÌ hX ofrÍ rÎ js jË rÏ hj rÐ js jË rÑ jÁ j rÒ jÁ X Suc nrÓ rÔ jÁ j rÕ js jË rÖ hj
r× htji rØ js jË rÙ j X byrÚ rÛ js jË rÜ hX simprÝ rÞ js X
rß rà j X textrá râ hX {*rã rä hX<