Offset 1, 9 lines modified | Offset 1, 9 lines modified | ||
1 | ·8859f2697b06e5628489757fece72111·9207580·debug·optional·coq-dbgsym_8.18.0+dfsg-1_armhf.deb | 1 | ·8859f2697b06e5628489757fece72111·9207580·debug·optional·coq-dbgsym_8.18.0+dfsg-1_armhf.deb |
2 | · | 2 | ·3f8a29e28d8d0a3968c55d28fc9f5865·78420108·math·optional·coq_8.18.0+dfsg-1_armhf.deb |
3 | ·953cafa9482a36b6954abde788522d2e·662136·debug·optional·coqide-dbgsym_8.18.0+dfsg-1_armhf.deb | 3 | ·953cafa9482a36b6954abde788522d2e·662136·debug·optional·coqide-dbgsym_8.18.0+dfsg-1_armhf.deb |
4 | ·dcece7f397b334f52f8aeae5576e9d47·1844872·math·optional·coqide_8.18.0+dfsg-1_armhf.deb | 4 | ·dcece7f397b334f52f8aeae5576e9d47·1844872·math·optional·coqide_8.18.0+dfsg-1_armhf.deb |
5 | ·36ac60bc66bb9bd3d5055a21cc5b247c·1920900·debug·optional·libcoq-core-ocaml-dbgsym_8.18.0+dfsg-1_armhf.deb | 5 | ·36ac60bc66bb9bd3d5055a21cc5b247c·1920900·debug·optional·libcoq-core-ocaml-dbgsym_8.18.0+dfsg-1_armhf.deb |
6 | · | 6 | ·13a7fb2399b0adf66775d8e6b2805059·44801616·ocaml·optional·libcoq-core-ocaml-dev_8.18.0+dfsg-1_armhf.deb |
7 | ·de024d6c5e2a1dcf6e82ce9cad235541·22942176·ocaml·optional·libcoq-core-ocaml_8.18.0+dfsg-1_armhf.deb | 7 | ·de024d6c5e2a1dcf6e82ce9cad235541·22942176·ocaml·optional·libcoq-core-ocaml_8.18.0+dfsg-1_armhf.deb |
8 | · | 8 | ·2f7f8c7644de65a64c6e7db87d2af69c·23235572·math·optional·libcoq-stdlib_8.18.0+dfsg-1_armhf.deb |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2023-12-21·13:34:31.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2023-12-21·13:34:31.000000·debian-binary |
2 | -rw-r--r--···0········0········0·····228 | 2 | -rw-r--r--···0········0········0·····2284·2023-12-21·13:34:31.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·784163 | 3 | -rw-r--r--···0········0········0·78417632·2023-12-21·13:34:31.000000·data.tar.xz |
Offset 7, 15 lines modified | Offset 7, 15 lines modified | ||
7 | -rwxr-xr-x···0·root·········(0)·root·········(0)···760860·2023-12-21·13:34:31.000000·./usr/bin/coq-tex | 7 | -rwxr-xr-x···0·root·········(0)·root·········(0)···760860·2023-12-21·13:34:31.000000·./usr/bin/coq-tex |
8 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1969872·2023-12-21·13:34:31.000000·./usr/bin/coq_makefile | 8 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1969872·2023-12-21·13:34:31.000000·./usr/bin/coq_makefile |
9 | -rwxr-xr-x···0·root·········(0)·root·········(0)·15091412·2023-12-21·13:34:31.000000·./usr/bin/coqc | 9 | -rwxr-xr-x···0·root·········(0)·root·········(0)·15091412·2023-12-21·13:34:31.000000·./usr/bin/coqc |
10 | -rwxr-xr-x···0·root·········(0)·root·········(0)·41620865·2023-12-21·13:34:31.000000·./usr/bin/coqc.byte | 10 | -rwxr-xr-x···0·root·········(0)·root·········(0)·41620865·2023-12-21·13:34:31.000000·./usr/bin/coqc.byte |
11 | -rwxr-xr-x···0·root·········(0)·root·········(0)··5472080·2023-12-21·13:34:31.000000·./usr/bin/coqchk | 11 | -rwxr-xr-x···0·root·········(0)·root·········(0)··5472080·2023-12-21·13:34:31.000000·./usr/bin/coqchk |
12 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2167288·2023-12-21·13:34:31.000000·./usr/bin/coqdep | 12 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2167288·2023-12-21·13:34:31.000000·./usr/bin/coqdep |
13 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1995004·2023-12-21·13:34:31.000000·./usr/bin/coqdoc | 13 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1995004·2023-12-21·13:34:31.000000·./usr/bin/coqdoc |
14 | -rwxr-xr-x···0·root·········(0)·root·········(0)·421641 | 14 | -rwxr-xr-x···0·root·········(0)·root·········(0)·42164116·2023-12-21·13:34:31.000000·./usr/bin/coqidetop.byte |
15 | -rwxr-xr-x···0·root·········(0)·root·········(0)·15287940·2023-12-21·13:34:31.000000·./usr/bin/coqidetop.opt | 15 | -rwxr-xr-x···0·root·········(0)·root·········(0)·15287940·2023-12-21·13:34:31.000000·./usr/bin/coqidetop.opt |
16 | -rwxr-xr-x···0·root·········(0)·root·········(0)··5632048·2023-12-21·13:34:31.000000·./usr/bin/coqnative | 16 | -rwxr-xr-x···0·root·········(0)·root·········(0)··5632048·2023-12-21·13:34:31.000000·./usr/bin/coqnative |
17 | -rwxr-xr-x···0·root·········(0)·root·········(0)···988276·2023-12-21·13:34:31.000000·./usr/bin/coqpp | 17 | -rwxr-xr-x···0·root·········(0)·root·········(0)···988276·2023-12-21·13:34:31.000000·./usr/bin/coqpp |
18 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1239392·2023-12-21·13:34:31.000000·./usr/bin/coqtimelog2html | 18 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1239392·2023-12-21·13:34:31.000000·./usr/bin/coqtimelog2html |
19 | -rwxr-xr-x···0·root·········(0)·root·········(0)·15091512·2023-12-21·13:34:31.000000·./usr/bin/coqtop | 19 | -rwxr-xr-x···0·root·········(0)·root·········(0)·15091512·2023-12-21·13:34:31.000000·./usr/bin/coqtop |
20 | -rwxr-xr-x···0·root·········(0)·root·········(0)·59905510·2023-12-21·13:34:31.000000·./usr/bin/coqtop.byte | 20 | -rwxr-xr-x···0·root·········(0)·root·········(0)·59905510·2023-12-21·13:34:31.000000·./usr/bin/coqtop.byte |
21 | -rwxr-xr-x···0·root·········(0)·root·········(0)·15091512·2023-12-21·13:34:31.000000·./usr/bin/coqtop.opt | 21 | -rwxr-xr-x···0·root·········(0)·root·········(0)·15091512·2023-12-21·13:34:31.000000·./usr/bin/coqtop.opt |
Offset 2385527, 249731 lines modified | Offset 2385527, 249732 lines modified | ||
02466760:·0546·9505·4694·4040·4084·95a6·be00·0000··.F..F.@@@....... | 02466760:·0546·9505·4694·4040·4084·95a6·be00·0000··.F..F.@@@....... | ||
02466770:·5200·0000·0600·0000·2100·0000·17a0·302e··R.......!.....0. | 02466770:·5200·0000·0600·0000·2100·0000·17a0·302e··R.......!.....0. | ||
02466780:·2f5f·6275·696c·642f·6465·6661·756c·74a0··/_build/default. | 02466780:·2f5f·6275·696c·642f·6465·6661·756c·74a0··/_build/default. | ||
02466790:·352e·2f5f·6275·696c·642f·6465·6661·756c··5./_build/defaul | 02466790:·352e·2f5f·6275·696c·642f·6465·6661·756c··5./_build/defaul | ||
024667a0:·742f·636c·6962·a009·252e·2f5f·6275·696c··t/clib..%./_buil | 024667a0:·742f·636c·6962·a009·252e·2f5f·6275·696c··t/clib..%./_buil | ||
024667b0:·642f·6465·6661·756c·742f·636c·6962·2f2e··d/default/clib/. | 024667b0:·642f·6465·6661·756c·742f·636c·6962·2f2e··d/default/clib/. | ||
024667c0:·636c·6962·2e6f·626a·732f·6279·7465·4000··clib.objs/byte@. | 024667c0:·636c·6962·2e6f·626a·732f·6279·7465·4000··clib.objs/byte@. | ||
024667d0:·087d·0084·95a6·be00·003b·8 | 024667d0:·087d·0084·95a6·be00·003b·8f00·000a·b700··.}.......;...... | ||
024667e0:·002c·d | 024667e0:·002c·d800·002c·3ea0·0800·002c·0001·0608··.,...,>....,.... | ||
024667f0:·2848·6173·6863·6f6e·73b0·c026·5f6e·6f6e··(Hashcons..&_non | 024667f0:·2848·6173·6863·6f6e·73b0·c026·5f6e·6f6e··(Hashcons..&_non | ||
02466800:·655f·4040·00ff·0402·4141·223f·3f41·40d0··e_@@....AA"??A@. | 02466800:·655f·4040·00ff·0402·4141·223f·3f41·40d0··e_@@....AA"??A@. | ||
02466810:·4040·4040·40b0·4040·4040·40a0·0800·002c··@@@@@.@@@@@...., | 02466810:·4040·4040·40b0·4040·4040·40a0·0800·002c··@@@@@.@@@@@...., | ||
02466820:·0001·05f0·0409·0408·4104·0541·4004·0404··........A..A@... | 02466820:·0001·05f0·0409·0408·4104·0541·4004·0404··........A..A@... | Diff chunk too large, falling back to line-by-line diff (12169 lines added, 12169 lines removed) | |
02466830:·0340·40a0·0800·002c·0001·05e0·040b·040a··.@@....,........ | 02466830:·0340·40a0·0800·002c·0001·05e0·040b·040a··.@@....,........ | ||
02466840:·4122·3f3f·41c3·c3b4·b0c3·b4b4·aba | 02466840:·4122·3f3f·41c3·c3b4·b0c3·b4b4·abab·a7b1··A"??A........... | ||
02466850:·b2b2·b2b2·b2b2·b2b2·b2b2·b2b | 02466850:·b2b2·b2b2·b2b2·b2b2·b2b2·b2b2·b1b1·b1b1··................ | ||
02466860:·b1b1·b1b1·b1b1·b1b1·b1b1·b140 | 02466860:·b1b1·b1b1·b1b1·b1b1·b1b1·b1b1·40a3·2561··............@.%a | ||
02466870:·7261 | 02466870:·7272·6179·4808·0000·3800·a0c0·9040·0205··rrayH...8....@.. | ||
02466880:·e1 | 02466880:·f5e1·0040·4d40·4140·4140·a000·7f40·a040··...@M@A@A@...@.@ | ||
02466890:·4040·043 | 02466890:·4040·4004·3a40·4040·9204·08a3·2462·6f6f··@@@.:@@@....$boo | ||
024668a0:·4508 | 024668a0:·6c45·0800·0038·0040·40a1·a0e0·a325·6661··lE...8.@@....%fa | ||
024668b0:·7365 | 024668b0:·6c73·655e·9040·4004·4440·9204·03a0·e0a3··lse^.@@.D@...... | ||
024668c0:·7472 | 024668c0:·2474·7275·655f·9040·4004·4a40·9204·0340··$true_.@@.J@...@ | ||
024668d0:·4 | 024668d0:·4041·4040·4040·4004·4b40·4140·9204·10a3··@A@@@@@.K@A@.... | ||
024668e0:·6368 | 024668e0:·2463·6861·7242·0800·0038·0040·4040·4140··$charB...8.@@@A@ | ||
024668f0:·4040·4004 | 024668f0:·4040·4040·044f·4041·4092·0403·a323·6578··@@@@.O@A@....#ex | ||
02466900:·4708 | 02466900:·6e47·0800·0038·0040·4041·4140·4040·4040··nG...8.@@AA@@@@@ | ||
02466910:· | 02466910:·0453·4040·4092·0403·a335·6578·7465·6e73··.S@@@....5extens | ||
02466920:·6f6e | 02466920:·696f·6e5f·636f·6e73·7472·7563·746f·7250··ion_constructorP | ||
02466930:·0000 | 02466930:·0800·0038·0040·4040·4140·4040·4040·0457··...8.@@@A@@@@@.W | ||
02466940:·4040·9204 | 02466940:·4040·4092·0403·a325·666c·6f61·7444·0800··@@@....%floatD.. | ||
02466950:· | 02466950:·0038·0040·4040·4140·4040·4040·045b·4040··.8.@@@A@@@@@.[@@ | ||
02466960:·9204 | 02466960:·4092·0403·a32a·666c·6f61·7461·7272·6179··@....*floatarray | ||
02466970:· | 02466970:·5108·0000·3800·4040·4041·4040·4040·4004··Q...8.@@@A@@@@@. | ||
02466980:·4040 | 02466980:·5f40·4040·9204·03a3·2369·6e74·4108·0000··_@@@....#intA... | ||
02466990:· | 02466990:·3800·4040·4041·4040·4040·4004·6340·4140··8.@@@A@@@@@.c@A@ | ||
024669a0:·0403 | 024669a0:·9204·03a3·2569·6e74·3332·4c08·0000·3800··....%int32L...8. | ||
024669b0:·4040·4 | 024669b0:·4040·4041·4040·4040·4004·6740·4040·9204··@@@A@@@@@.g@@@.. | ||
024669c0:·a325 | 024669c0:·03a3·2569·6e74·3634·4d08·0000·3800·4040··..%int64M...8.@@ | ||
024669d0:·4 | 024669d0:·4041·4040·4040·4004·6b40·4040·9204·03a3··@A@@@@@.k@@@.... | ||
024669e0:·6c61 | 024669e0:·266c·617a·795f·744e·0800·0038·00a0·c004··&lazy_tN...8.... | ||
024669f0:·0205 | 024669f0:·3a02·05f5·e100·404f·4041·4041·40a0·5940··:.....@O@A@A@.Y@ | ||
02466a00:· | 02466a00:·a040·4040·4004·7340·4040·9204·07a3·246c··.@@@@.s@@@....$l | ||
02466a10:·7374 | 02466a10:·6973·7449·0800·0038·00a0·c004·4202·05f5··istI...8....B... | ||
02466a20:·0040 | 02466a20:·e100·4050·4041·a1a0·e0a3·225b·5d61·9040··..@P@A...."[]a.@ | ||
02466a30:·04 | 02466a30:·4004·7f40·9204·03a0·e0a3·223a·3a62·90a0··@..@......"::b.. | ||
02466a40:·0ea0 | 02466a40:·040e·a0c0·b390·0416·a004·1340·9040·0205··...........@.@.. | ||
02466a50:·e1 | 02466a50:·f5e1·0040·5140·4004·8c40·9204·0a40·4041··...@Q@@..@...@@A | ||
02466a60:·a059· | 02466a60:·40a0·5940·a040·4040·4004·8f40·4040·9204··@.Y@.@@@@..@@@.. | ||
02466a70:·a329 | 02466a70:·1ba3·296e·6174·6976·6569·6e74·4b08·0000··..)nativeintK... | ||
02466a80:· | 02466a80:·3800·4040·4041·4040·4040·4004·9340·4040··8.@@@A@@@@@..@@@ | ||
02466a90:·0403 | 02466a90:·9204·03a3·266f·7074·696f·6e4a·0800·0038··....&optionJ...8 | ||
02466aa0:·a0c0 | 02466aa0:·00a0·c004·6202·05f5·e100·4053·4041·a1a0··....b.....@S@A.. | ||
02466ab0:·a324 | 02466ab0:·e0a3·244e·6f6e·6563·9040·4004·9f40·9204··..$Nonec.@@..@.. | ||
02466ac0:·a0e0 | 02466ac0:·03a0·e0a3·2453·6f6d·6564·90a0·040e·4040··....$Somed....@@ | ||
02466ad0:·a | 02466ad0:·04a6·4092·0404·4040·4140·a059·40a0·4040··..@...@@A@.Y@.@@ | ||
02466ae0:·40 | 02466ae0:·4040·04a9·4040·4092·0415·a326·7374·7269··@@..@@@....&stri | ||
02466af0:·674f | 02466af0:·6e67·4f08·0000·3800·4040·4041·4040·4040··ngO...8.@@@A@@@@ | ||
02466b00:·04a | 02466b00:·4004·ad40·4040·9204·03a3·2475·6e69·7446··@..@@@....$unitF | ||
02466b10:·0000 | 02466b10:·0800·0038·0040·40a1·a0e0·a322·2829·6090··...8.@@...."()`. | ||
02466b20:·4004 | 02466b20:·4040·04b7·4092·0403·4040·4140·4040·4040··@@..@...@@A@@@@@ | ||
02466b30:·b | 02466b30:·04b8·4041·4092·040a·a32e·4173·7365·7274··..@A@.....Assert | ||
02466b40:·6661 | 02466b40:·5f66·6169·6c75·7265·5c08·0000·2000·9004··_failure\...·... | ||
02466b50:·4090 | 02466b50:·6d40·90a0·c092·a0c0·b390·041b·4090·4002··m@..........@.@. | ||
02466b60:·f5e1 | 02466b60:·05f5·e100·404a·a0c0·b390·046a·4090·4002··....@J.....j@.@. | ||
02466b70:·f5e1 | 02466b70:·05f5·e100·4040·a004·0540·0205·f5e1·0040··....@@...@.....@ | ||
02466b80:·4040 | 02466b80:·5640·4041·04cc·a0b0·a03d·6f63·616d·6c2e··V@@A.....=ocaml. | ||
02466b90:·6172 | 02466b90:·7761·726e·5f6f·6e5f·6c69·7465·7261·6c5f··warn_on_literal_ | ||
02466ba0:·6174 | 02466ba0:·7061·7474·6572·6e04·d004·9904·d040·9204··pattern......@.. | ||
02466bb0:·a330 | 02466bb0:·17a3·3044·6976·6973·696f·6e5f·6279·5f7a··..0Division_by_z | ||
02466bc0:·726f | 02466bc0:·6572·6f59·0800·0020·0004·1840·9040·4041··eroY...·...@.@@A | ||
02466bd0:·d | 02466bd0:·04d5·a0b0·a004·0904·d804·a104·d840·9204··.............@.. | ||
02466be0:·a32b | 02466be0:·07a3·2b45·6e64·5f6f·665f·6669·6c65·5808··..+End_of_fileX. | ||
02466bf0:·00 | 02466bf0:·0000·2000·0420·4090·4040·4104·dda0·b0a0··..·..·@.@@A..... | ||
02466c00:·1104 | 02466c00:·0411·04e0·04a9·04e0·4092·0407·a327·4661··........@....'Fa | ||
02466c10:·6c75 | 02466c10:·696c·7572·6555·0800·0020·0004·2840·90a0··ilureU...·..(@.. | ||
02466c20:·2440 | 02466c20:·0424·4040·4104·e6a0·b0a0·041a·04e9·04b2··.$@@A........... | ||
02466c30:·e | 02466c30:·04e9·4092·0408·a330·496e·7661·6c69·645f··..@....0Invalid_ | ||
02466c40:·7267 | 02466c40:·6172·6775·6d65·6e74·5408·0000·2000·0431··argumentT...·..1 | ||
02466c50:·90a0 | 02466c50:·4090·a004·2d40·4041·04ef·a0b0·a004·2304··@...-@@A......#. | ||
02466c60:·04 | 02466c60:·f204·bb04·f240·9204·08a3·2d4d·6174·6368··.....@....-Match | ||
02466c70:·6661 | 02466c70:·5f66·6169·6c75·7265·5208·0000·2000·043a··_failureR...·..: | ||
02466c80:·90a0 | 02466c80:·4090·a0c0·92a0·0439·a004·35a0·0436·4002··@......9..5..6@. | ||
02466c90:·f5e1 | 02466c90:·05f5·e100·405c·4040·4104·fda0·b0a0·0431··....@\@@A......1 | ||
02466ca0:· | 02466ca0:·0501·0004·c905·0100·4092·040d·a329·4e6f··........@....)No | ||
02466cb0:· | 02466cb0:·745f·666f·756e·6456·0800·0020·0004·4840··t_foundV...·..H@ | ||
02466cc0:· | 02466cc0:·9040·4041·0501·05a0·b0a0·0439·0501·0804··.@@A.......9.... | ||
02466cd0:·0 | 02466cd0:·d105·0108·4092·0407·a32d·4f75·745f·6f66··....@....-Out_of | ||
02466ce0:·6d6 | 02466ce0:·5f6d·656d·6f72·7953·0800·0020·0004·5040··_memoryS...·..P@ | ||
02466cf0:·4 | 02466cf0:·9040·4041·0501·0da0·b0a0·0441·0501·1004··.@@A.......A.... | ||
02466d00:·0 | 02466d00:·d905·0110·4092·0407·a32e·5374·6163·6b5f··....@.....Stack_ | ||
02466d10:·72 | 02466d10:·6f76·6572·666c·6f77·5a08·0000·2000·0458··overflowZ...·..X | ||
02466d20:·40 | 02466d20:·4090·4040·4105·0115·a0b0·a004·4905·0118··@.@@A.......I... | ||
02466d30:·011 | 02466d30:·04e1·0501·1840·9204·07a3·2e53·7973·5f62··.....@.....Sys_b | ||
02466d40:·6 | 02466d40:·6c6f·636b·6564·5f69·6f5b·0800·0020·0004··locked_io[...·.. | ||
02466d50:·4040·4105 | 02466d50:·6040·9040·4041·0501·1da0·b0a0·0451·0501··`@.@@A.......Q.. | ||
02466d60:·0501 | 02466d60:·2004·e905·0120·4092·0407·a329·5379·735f···....·@....)Sys_ | ||
02466d70:·6 | 02466d70:·6572·726f·7257·0800·0020·0004·6840·90a0··errorW...·..h@.. | ||
02466d80:·404 | 02466d80:·0464·4040·4105·0126·a0b0·a004·5a05·0129··.d@@A..&....Z..) | ||
02466d90:·0 | 02466d90:·04f2·0501·2940·9204·08a3·3a55·6e64·6566··....)@....:Undef | ||
02466da0:·645f | 02466da0:·696e·6564·5f72·6563·7572·7369·7665·5f6d··ined_recursive_m | ||
02466db0:·6 | 02466db0:·6f64·756c·655d·0800·0020·0004·7140·90a0··odule]...·..q@.. | ||
02466dc0:· | 02466dc0:·c092·a004·70a0·046c·a004·6d40·0205·f5e1··....p..l..m@.... | ||
02466dd0:·4040·4105 | 02466dd0:·0040·6340·4041·0501·34a0·b0a0·0468·0501··.@c@@A..4....h.. | ||
02466de0:·000 | 02466de0:·3705·0100·0501·3740·9204·0da3·2562·7974··7.....7@....%byt | ||
02466df0:· | 02466df0:·6573·4308·0000·3800·4040·4041·4040·4040··esC...8.@@@A@@@@ | ||
02466e00:· | 02466e00:·4005·013b·4040·4092·0403·9092·2653·7464··@..;@@@.....&Std | ||
02466e10:· | 02466e10:·6c69·6292·2349·6e74·9226·4f70·7469·6f6e··lib.#Int.&Option | ||
02466e20:·6 | 02466e20:·b12e·4861·7368·636f·6e73·6564·5479·7065··..HashconsedType | ||
02466e30:· | 02466e30:·0101·1043·c090·91a0·c1b1·2174·0101·0b41··...C......!t...A | ||
02466e40:· | 02466e40:·0800·0038·0040·4040·4140·4040·4040·b0c0··...8.@@@A@@@@@.. | ||
02466e50:· | 02466e50:·3063·6c69·622f·6861·7368·636f·6e73·2e6d··0clib/hashcons.m | ||
02466e60:· | 02466e60:·6c5b·0105·3101·0535·c004·025b·0105·3101··l[..1..5...[..1. | ||
02466e70:·0 | 02466e70:·053b·4040·4040·a105·0153·4041·40a0·c1b1··.;@@@@...S@A@... | ||
02466e80:· | 02466e80:·2175·0101·0c42·0800·0038·0040·4040·4140··!u...B...8.@@@A@ | ||
02466e90:· | 02466e90:·4040·4040·b0c0·040a·5c01·053c·0105·40c0··@@@@....\..<..@. | ||
02466ea0:· | 02466ea0:·040b·5c01·053c·0105·4640·4040·40a1·0501··..\..<..F@@@@... | ||
02466eb0:· | 02466eb0:·5c41·4140·a0b0·a028·6861·7368·636f·6e73··\AA@...(hashcons | ||
02466ec0:· | 02466ec0:·0101·0dd0·c0c1·40c0·b390·0411·4090·4002··......@.....@.@. | ||
02466ed0:· | 02466ed0:·05f5·e100·4001·05a5·c0c1·40c0·b390·0421··....@.....@....! | ||
02466ee0:·400 | 02466ee0:·4090·4002·05f5·e100·4001·05a6·c0b3·9004··@.@.....@....... | ||
02466ef0:· | 02466ef0:·2540·9040·0205·f5e1·0040·0105·a740·0205··%@.@.....@...@.. | ||
02466f00:· | 02466f00:·f5e1·0040·0105·a840·0205·f5e1·0040·0105··...@...@.....@.. | ||
02466f10:· | 02466f10:·a940·b0c0·0423·5d01·0547·0105·4bc0·0424··.@...#]..G..K..$ | ||
02466f20:· | 02466f20:·5d01·0547·0105·6640·40a1·0501·7542·40a0··]..G..f@@...uB@. | ||
02466f30:· | 02466f30:·b0a0·2265·7101·010e·d0c0·c140·c0b3·9004··.."eq......@.... | ||
Max diff block lines reached; 32776433/34456966 bytes (95.12%) of diff not shown. |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2023-12-21·13:34:31.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2023-12-21·13:34:31.000000·debian-binary |
2 | -rw-r--r--···0········0········0····637 | 2 | -rw-r--r--···0········0········0····63724·2023-12-21·13:34:31.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·4473 | 3 | -rw-r--r--···0········0········0·44737700·2023-12-21·13:34:31.000000·data.tar.xz |
Offset 72, 15 lines modified | Offset 72, 15 lines modified | ||
72 | -rw-r--r--···0·root·········(0)·root·········(0)·····1924·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSet.ml | 72 | -rw-r--r--···0·root·········(0)·root·········(0)·····1924·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSet.ml |
73 | -rw-r--r--···0·root·········(0)·root·········(0)·····1181·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSet.mli | 73 | -rw-r--r--···0·root·········(0)·root·········(0)·····1181·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSet.mli |
74 | -rw-r--r--···0·root·········(0)·root·········(0)·····8506·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSig.cmi | 74 | -rw-r--r--···0·root·········(0)·root·········(0)·····8506·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSig.cmi |
75 | -rw-r--r--···0·root·········(0)·root·········(0)····40563·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSig.cmti | 75 | -rw-r--r--···0·root·········(0)·root·········(0)····40563·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSig.cmti |
76 | -rw-r--r--···0·root·········(0)·root·········(0)·····3238·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSig.mli | 76 | -rw-r--r--···0·root·········(0)·root·········(0)·····3238·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cSig.mli |
77 | -rw-r--r--···0·root·········(0)·root·········(0)····60927·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.cmi | 77 | -rw-r--r--···0·root·········(0)·root·········(0)····60927·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.cmi |
78 | -rw-r--r--···0·root·········(0)·root·········(0)···156380·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.cmt | 78 | -rw-r--r--···0·root·········(0)·root·········(0)···156380·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.cmt |
79 | -rw-r--r--···0·root·········(0)·root·········(0)···14225 | 79 | -rw-r--r--···0·root·········(0)·root·········(0)···142250·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.cmti |
80 | -rw-r--r--···0·root·········(0)·root·········(0)······780·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.cmx | 80 | -rw-r--r--···0·root·········(0)·root·········(0)······780·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.cmx |
81 | -rw-r--r--···0·root·········(0)·root·········(0)·····4410·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.ml | 81 | -rw-r--r--···0·root·········(0)·root·········(0)·····4410·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.ml |
82 | -rw-r--r--···0·root·········(0)·root·········(0)·····2719·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.mli | 82 | -rw-r--r--···0·root·········(0)·root·········(0)·····2719·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cString.mli |
83 | -rw-r--r--···0·root·········(0)·root·········(0)·····1609·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cThread.cmi | 83 | -rw-r--r--···0·root·········(0)·root·········(0)·····1609·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cThread.cmi |
84 | -rw-r--r--···0·root·········(0)·root·········(0)····45321·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cThread.cmt | 84 | -rw-r--r--···0·root·········(0)·root·········(0)····45321·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cThread.cmt |
85 | -rw-r--r--···0·root·········(0)·root·········(0)·····8820·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cThread.cmti | 85 | -rw-r--r--···0·root·········(0)·root·········(0)·····8820·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cThread.cmti |
86 | -rw-r--r--···0·root·········(0)·root·········(0)······880·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cThread.cmx | 86 | -rw-r--r--···0·root·········(0)·root·········(0)······880·2023-12-21·13:34:31.000000·./usr/lib/ocaml/coq-core/clib/cThread.cmx |
Offset 3803, 5089 lines modified | Offset 3803, 5089 lines modified | ||
0000eda0:·3093·d511·bb9f·97d6·117a·9dba·3706·ab07··0........z..7... | 0000eda0:·3093·d511·bb9f·97d6·117a·9dba·3706·ab07··0........z..7... | ||
0000edb0:·43a0·a024·434d·6170·9030·05f5·8d26·bae2··C..$CMap.0...&.. | 0000edb0:·43a0·a024·434d·6170·9030·05f5·8d26·bae2··C..$CMap.0...&.. | ||
0000edc0:·0e8d·eb13·88f7·042c·240e·a0a0·2543·4c69··.......,$...%CLi | 0000edc0:·0e8d·eb13·88f7·042c·240e·a0a0·2543·4c69··.......,$...%CLi | ||
0000edd0:·7374·9030·9b21·401c·3948·cbca·29a4·ed09··st.0.!@.9H..)... | 0000edd0:·7374·9030·9b21·401c·3948·cbca·29a4·ed09··st.0.!@.9H..)... | ||
0000ede0:·f861·7f59·4084·95a6·be00·0000·0600·0000··.a.Y@........... | 0000ede0:·f861·7f59·4084·95a6·be00·0000·0600·0000··.a.Y@........... | ||
0000edf0:·0300·0000·0800·0000·08a0·41a0·9040·4043··..........A..@@C | 0000edf0:·0300·0000·0800·0000·08a0·41a0·9040·4043··..........A..@@C | ||
0000ee00:·616d·6c31·3939·3954·3033·3184·95a6·be00··aml1999T031..... | 0000ee00:·616d·6c31·3939·3954·3033·3184·95a6·be00··aml1999T031..... | ||
0000ee10:·013d· | 0000ee10:·013d·8b00·0039·c600·00e3·fc00·00e0·9408··.=...9.......... | ||
0000ee20:·0000·3c00·2743·5374·7269·6e67·92b0·a0b0··..<.'CString.... | 0000ee20:·0000·3c00·2743·5374·7269·6e67·92b0·a0b0··..<.'CString.... | ||
0000ee30:·98d0·b121·5301·0158·41a0·0402·b0c0·3063··...!S..XA.....0c | 0000ee30:·98d0·b121·5301·0158·41a0·0402·b0c0·3063··...!S..XA.....0c | ||
0000ee40:·6c69·622f·6353·7472·696e·672e·6d6c·694c··lib/cString.mliL | 0000ee40:·6c69·622f·6353·7472·696e·672e·6d6c·694c··lib/cString.mliL | ||
0000ee50:·0102·d901·02e5·c004·024c·0102·d901·02e6··.........L...... | 0000ee50:·0102·d901·02e5·c004·024c·0102·d901·02e6··.........L...... | ||
0000ee60:·4090·d094·d0a0·a190·9226·5374·646c·6962··@........&Stdlib | 0000ee60:·4090·d094·d0a0·a190·9226·5374·646c·6962··@........&Stdlib | ||
0000ee70:·2653·7472·696e·67a0·9004·03b0·c004·104c··&String........L | 0000ee70:·2653·7472·696e·67a0·9004·03b0·c004·104c··&String........L | ||
0000ee80:·0102·d901·02f8·c004·114c·0102·d901·02fe··.........L...... | 0000ee80:·0102·d901·02f8·c004·114c·0102·d901·02fe··.........L...... | ||
0000ee90:·40b0·0403·0402·4093·9092·2e53·7464·6c69··@.....@....Stdli | 0000ee90:·40b0·0403·0402·4093·9092·2e53·7464·6c69··@.....@....Stdli | ||
0000eea0:·625f·5f53·7472·696e·6708·0000·3000·a040··b__String...0..@ | 0000eea0:·625f·5f53·7472·696e·6708·0000·3000·a040··b__String...0..@ | Diff chunk too large, falling back to line-by-line diff (1459 lines added, 1459 lines removed) | |
0000eeb0:·4004·0104·0104·0104·0104·0104·0104·0140··@..............@ | 0000eeb0:·4004·0104·0104·0104·0104·0104·0104·0140··@..............@ | ||
0000eec0:·aba | 0000eec0:·aba7·b1b2·b2b2·b2b2·b2b2·b2b2·b2b2·b2b1··................ | ||
0000eed0:·b1b1·b1b1·b1b1·b1b1·b1b1·b1b1·b1b1·b1 | 0000eed0:·b1b1·b1b1·b1b1·b1b1·b1b1·b1b1·b1b1·b140··...............@ | ||
0000eee0:· | 0000eee0:·a325·6172·7261·7948·0800·0038·00a0·c090··.%arrayH...8.... | ||
0000eef0:· | 0000eef0:·4002·05f5·e100·404d·4041·4041·40a0·007f··@.....@M@A@A@... | ||
0000ef00:· | 0000ef00:·40a0·4040·4040·b0c0·265f·6e6f·6e65·5f40··@.@@@@..&_none_@ | ||
0000ef10:·40 | 0000ef10:·4000·ff04·0241·4040·4092·040b·a324·626f··@....A@@@....$bo | ||
0000ef20:·6f6 | 0000ef20:·6f6c·4508·0000·3800·4040·a1a0·e0a3·2566··olE...8.@@....%f | ||
0000ef30:·6 | 0000ef30:·616c·7365·5e90·4040·040d·4092·0403·a0e0··alse^.@@..@..... | ||
0000ef40:· | 0000ef40:·a324·7472·7565·5f90·4040·0413·4092·0403··.$true_.@@..@... | ||
0000ef50:· | 0000ef50:·4040·4140·4040·4040·0414·4041·4092·0410··@@A@@@@@..@A@... | ||
0000ef60:· | 0000ef60:·a324·6368·6172·4208·0000·3800·4040·4041··.$charB...8.@@@A | ||
0000ef70:·4 | 0000ef70:·4040·4040·4004·1840·4140·9204·03a3·2365··@@@@@..@A@....#e | ||
0000ef80:· | 0000ef80:·786e·4708·0000·3800·4040·4141·4040·4040··xnG...8.@@AA@@@@ | ||
0000ef90:·40 | 0000ef90:·4004·1c40·4040·9204·03a3·3565·7874·656e··@..@@@....5exten | ||
0000efa0:· | 0000efa0:·7369·6f6e·5f63·6f6e·7374·7275·6374·6f72··sion_constructor | ||
0000efb0:· | 0000efb0:·5008·0000·3800·4040·4041·4040·4040·4004··P...8.@@@A@@@@@. | ||
0000efc0:·04 | 0000efc0:·2040·4040·9204·03a3·2566·6c6f·6174·4408···@@@....%floatD. | ||
0000efd0:·0 | 0000efd0:·0000·3800·4040·4041·4040·4040·4004·2440··..8.@@@A@@@@@.$@ | ||
0000efe0:·4040· | 0000efe0:·4040·9204·03a3·2a66·6c6f·6174·6172·7261··@@....*floatarra | ||
0000eff0:· | 0000eff0:·7951·0800·0038·0040·4040·4140·4040·4040··yQ...8.@@@A@@@@@ | ||
0000f000:· | 0000f000:·0428·4040·4092·0403·a323·696e·7441·0800··.(@@@....#intA.. | ||
0000f010:·00 | 0000f010:·0038·0040·4040·4140·4040·4040·042c·4041··.8.@@@A@@@@@.,@A | ||
0000f020:·4 | 0000f020:·4092·0403·a325·696e·7433·324c·0800·0038··@....%int32L...8 | ||
0000f030:· | 0000f030:·0040·4040·4140·4040·4040·0430·4040·4092··.@@@A@@@@@.0@@@. | ||
0000f040:· | 0000f040:·0403·a325·696e·7436·344d·0800·0038·0040··...%int64M...8.@ | ||
0000f050:·4040·4 | 0000f050:·4040·4140·4040·4040·0434·4040·4092·0403··@@A@@@@@.4@@@... | ||
0000f060:· | 0000f060:·a326·6c61·7a79·5f74·4e08·0000·3800·a0c0··.&lazy_tN...8... | ||
0000f070:· | 0000f070:·043d·0205·f5e1·0040·4f40·4140·4140·a059··.=.....@O@A@A@.Y | ||
0000f080:· | 0000f080:·40a0·4040·4040·043c·4040·4092·0407·a324··@.@@@@.<@@@....$ | ||
0000f090:· | 0000f090:·6c69·7374·4908·0000·3800·a0c0·0445·0205··listI...8....E.. | ||
0000f0a0:· | 0000f0a0:·f5e1·0040·5040·41a1·a0e0·a322·5b5d·6190··...@P@A...."[]a. | ||
0000f0b0:· | 0000f0b0:·4040·0448·4092·0403·a0e0·a322·3a3a·6290··@@.H@......"::b. | ||
0000f0c0:· | 0000f0c0:·a004·0ea0·c0b3·9004·16a0·0413·4090·4002··............@.@. | ||
0000f0d0:·0 | 0000f0d0:·05f5·e100·4051·4040·0455·4092·040a·4040··....@Q@@.U@...@@ | ||
0000f0e0:·4 | 0000f0e0:·4140·a059·40a0·4040·4040·0458·4040·4092··A@.Y@.@@@@.X@@@. | ||
0000f0f0:· | 0000f0f0:·041b·a329·6e61·7469·7665·696e·744b·0800··...)nativeintK.. | ||
0000f100:·00 | 0000f100:·0038·0040·4040·4140·4040·4040·045c·4040··.8.@@@A@@@@@.\@@ | ||
0000f110:·40 | 0000f110:·4092·0403·a326·6f70·7469·6f6e·4a08·0000··@....&optionJ... | ||
0000f120:· | 0000f120:·3800·a0c0·0465·0205·f5e1·0040·5340·41a1··8....e.....@S@A. | ||
0000f130:·a | 0000f130:·a0e0·a324·4e6f·6e65·6390·4040·0468·4092··...$Nonec.@@.h@. | ||
0000f140:· | 0000f140:·0403·a0e0·a324·536f·6d65·6490·a004·0e40··.....$Somed....@ | ||
0000f150:·40 | 0000f150:·4004·6f40·9204·0440·4041·40a0·5940·a040··@.o@...@@A@.Y@.@ | ||
0000f160:·4040·40 | 0000f160:·4040·4004·7240·4040·9204·15a3·2673·7472··@@@.r@@@....&str | ||
0000f170:· | 0000f170:·696e·674f·0800·0038·0040·4040·4140·4040··ingO...8.@@@A@@@ | ||
0000f180:·4040· | 0000f180:·4040·0476·4040·4092·0403·a324·756e·6974··@@.v@@@....$unit | ||
0000f190:· | 0000f190:·4608·0000·3800·4040·a1a0·e0a3·2228·2960··F...8.@@...."()` | ||
0000f1a0:· | 0000f1a0:·9040·4004·8040·9204·0340·4041·4040·4040··.@@..@...@@A@@@@ | ||
0000f1b0:·40 | 0000f1b0:·4004·8140·4140·9204·0aa3·2e41·7373·6572··@..@A@.....Asser | ||
0000f1c0:·7 | 0000f1c0:·745f·6661·696c·7572·655c·0800·0020·0090··t_failure\...·.. | ||
0000f1d0:· | 0000f1d0:·046d·4090·a0c0·92a0·c0b3·9004·1b40·9040··.m@..........@.@ | ||
0000f1e0:· | 0000f1e0:·0205·f5e1·0040·4aa0·c0b3·9004·6a40·9040··.....@J.....j@.@ | ||
0000f1f0:· | 0000f1f0:·0205·f5e1·0040·40a0·0405·4002·05f5·e100··.....@@...@..... | ||
0000f200:· | 0000f200:·4056·4040·4104·95a0·b0a0·3d6f·6361·6d6c··@V@@A.....=ocaml | ||
0000f210:· | 0000f210:·2e77·6172·6e5f·6f6e·5f6c·6974·6572·616c··.warn_on_literal | ||
0000f220:· | 0000f220:·5f70·6174·7465·726e·0499·049c·0499·4092··_pattern......@. | ||
0000f230:· | 0000f230:·0417·a330·4469·7669·7369·6f6e·5f62·795f··...0Division_by_ | ||
0000f240:· | 0000f240:·7a65·726f·5908·0000·2000·0418·4090·4040··zeroY...·...@.@@ | ||
0000f250:·404 | 0000f250:·4104·9ea0·b0a0·0409·04a1·04a4·04a1·4092··A.............@. | ||
0000f260:· | 0000f260:·0407·a32b·456e·645f·6f66·5f66·696c·6558··...+End_of_fileX | ||
0000f270:· | 0000f270:·0800·0020·0004·2040·9040·4041·04a6·a0b0··...·..·@.@@A.... | ||
0000f280:· | 0000f280:·a004·1104·a904·ac04·a940·9204·07a3·2746··.........@....'F | ||
0000f290:· | 0000f290:·6169·6c75·7265·5508·0000·2000·0428·4090··ailureU...·..(@. | ||
0000f2a0:· | 0000f2a0:·a004·2440·4041·04af·a0b0·a004·1a04·b204··..$@@A.......... | ||
0000f2b0:· | 0000f2b0:·b504·b240·9204·08a3·3049·6e76·616c·6964··...@....0Invalid | ||
0000f2c0:· | 0000f2c0:·5f61·7267·756d·656e·7454·0800·0020·0004··_argumentT...·.. | ||
0000f2d0:· | 0000f2d0:·3140·90a0·042d·4040·4104·b8a0·b0a0·0423··1@...-@@A......# | ||
0000f2e0:· | 0000f2e0:·04bb·04be·04bb·4092·0408·a32d·4d61·7463··......@....-Matc | ||
0000f2f0:·6 | 0000f2f0:·685f·6661·696c·7572·6552·0800·0020·0004··h_failureR...·.. | ||
0000f300:· | 0000f300:·3a40·90a0·c092·a004·39a0·0435·a004·3640··:@......9..5..6@ | ||
0000f310:· | 0000f310:·0205·f5e1·0040·5c40·4041·04c6·a0b0·a004··.....@\@@A...... | ||
0000f320:· | 0000f320:·3104·c904·cc04·c940·9204·0da3·294e·6f74··1......@....)Not | ||
0000f330:· | 0000f330:·5f66·6f75·6e64·5608·0000·2000·0448·4090··_foundV...·..H@. | ||
0000f340:· | 0000f340:·4040·4104·cea0·b0a0·0439·04d1·04d4·04d1··@@A......9...... | ||
0000f350:· | 0000f350:·4092·0407·a32d·4f75·745f·6f66·5f6d·656d··@....-Out_of_mem | ||
0000f360:·6 | 0000f360:·6f72·7953·0800·0020·0004·5040·9040·4041··oryS...·..P@.@@A | ||
0000f370:· | 0000f370:·04d6·a0b0·a004·4104·d904·dc04·d940·9204··......A......@.. | ||
0000f380:·0 | 0000f380:·07a3·2e53·7461·636b·5f6f·7665·7266·6c6f··...Stack_overflo | ||
0000f390:· | 0000f390:·775a·0800·0020·0004·5840·9040·4041·04de··wZ...·..X@.@@A.. | ||
0000f3a0:· | 0000f3a0:·a0b0·a004·4904·e104·e404·e140·9204·07a3··....I......@.... | ||
0000f3b0:· | 0000f3b0:·2e53·7973·5f62·6c6f·636b·6564·5f69·6f5b··.Sys_blocked_io[ | ||
0000f3c0:· | 0000f3c0:·0800·0020·0004·6040·9040·4041·04e6·a0b0··...·..`@.@@A.... | ||
0000f3d0:· | 0000f3d0:·a004·5104·e904·ec04·e940·9204·07a3·2953··..Q......@....)S | ||
0000f3e0:· | 0000f3e0:·7973·5f65·7272·6f72·5708·0000·2000·0468··ys_errorW...·..h | ||
0000f3f0:· | 0000f3f0:·4090·a004·6440·4041·04ef·a0b0·a004·5a04··@...d@@A......Z. | ||
0000f400:· | 0000f400:·f204·f504·f240·9204·08a3·3a55·6e64·6566··.....@....:Undef | ||
0000f410:·6 | 0000f410:·696e·6564·5f72·6563·7572·7369·7665·5f6d··ined_recursive_m | ||
0000f420:·6 | 0000f420:·6f64·756c·655d·0800·0020·0004·7140·90a0··odule]...·..q@.. | ||
0000f430:· | 0000f430:·c092·a004·70a0·046c·a004·6d40·0205·f5e1··....p..l..m@.... | ||
0000f440:· | 0000f440:·0040·6340·4041·04fd·a0b0·a004·6805·0100··.@c@@A......h... | ||
0000f450:·0 | 0000f450:·0501·0305·0100·4092·040d·a325·6279·7465··......@....%byte | ||
0000f460:· | 0000f460:·7343·0800·0038·0040·4040·4140·4040·4040··sC...8.@@@A@@@@@ | ||
0000f470:· | 0000f470:·0501·0440·4040·9204·0305·013c·9226·4f70··...@@@.....<.&Op | ||
0000f480:· | 0000f480:·7469·6f6e·4040·4091·a0c1·a021·7401·010b··tion@@@....!t... | ||
0000f490:· | 0000f490:·0800·0038·0040·4040·4190·c0b3·90a3·2673··...8.@@@A.....&s | ||
0000f4a0:· | 0000f4a0:·7472·696e·674f·4090·4002·05f5·e100·4001··tringO@.@.....@. | ||
0000f4b0:·0 | 0000f4b0:·073c·4040·4040·b0c0·2a73·7472·696e·672e··.<@@@@..*string. | ||
0000f4c0:· | 0000f4c0:·6d6c·6900·5201·0e86·010e·86c0·0402·0052··mli.R..........R | ||
0000f4d0:· | 0000f4d0:·010e·8601·0e95·4040·4040·a12e·5374·646c··......@@@@..Stdl | ||
0000f4e0:· | 0000f4e0:·6962·5f5f·5374·7269·6e67·4041·40a0·b0a0··ib__String@A@... | ||
0000f4f0:· | 0000f4f0:·246d·616b·6501·010c·d0c0·c140·c0b3·90a3··$make......@.... | ||
0000f500:· | 0000f500:·2369·6e74·4140·9040·0205·f5e1·0040·0107··#intA@.@.....@.. | ||
0000f510:· | 0000f510:·3bc0·c140·c0b3·90a3·2463·6861·7242·4090··;..@....$charB@. | ||
0000f520:· | 0000f520:·4002·05f5·e100·4001·073a·c0b3·9004·2140··@.....@..:....!@ | ||
0000f530:· | 0000f530:·9040·0205·f5e1·0040·0107·3940·0205·f5e1··.@.....@..9@.... | ||
0000f540:·3 | 0000f540:·0040·0107·3840·0205·f5e1·0040·0107·3740··.@..8@.....@..7@ | ||
0000f550:· | 0000f550:·b0c0·041f·0055·010e·b401·0eb4·c004·2000··.....U........·. | ||
0000f560:·0eb4· | 0000f560:·5501·0eb4·010e·d440·40a1·041e·4140·a0b0··U......@@...A@.. | ||
0000f570:· | 0000f570:·a024·696e·6974·0101·0dd0·c0c1·40c0·b390··.$init......@... | ||
Max diff block lines reached; 497277/700027 bytes (71.04%) of diff not shown. |
Offset 53, 360 lines modified | Offset 53, 359 lines modified | ||
00000340:·6c69·6290·3079·b0e9·d3b6·f7fe·d07e·b3cc··lib.0y.......~.. | 00000340:·6c69·6290·3079·b0e9·d3b6·f7fe·d07e·b3cc··lib.0y.......~.. | ||
00000350:·2abb·961b·91a0·a038·4361·6d6c·696e·7465··*......8Camlinte | 00000350:·2abb·961b·91a0·a038·4361·6d6c·696e·7465··*......8Camlinte | ||
00000360:·726e·616c·466f·726d·6174·4261·7369·6373··rnalFormatBasics | 00000360:·726e·616c·466f·726d·6174·4261·7369·6373··rnalFormatBasics | ||
00000370:·9030·8f8f·6345·5879·8ee4·08df·3c50·a553··.0..cEXy....<P.S | 00000370:·9030·8f8f·6345·5879·8ee4·08df·3c50·a553··.0..cEXy....<P.S | ||
00000380:·9b15·4084·95a6·be00·0000·0600·0000·0300··..@............. | 00000380:·9b15·4084·95a6·be00·0000·0600·0000·0300··..@............. | ||
00000390:·0000·0800·0000·08a0·41a0·9040·4043·616d··........A..@@Cam | 00000390:·0000·0800·0000·08a0·41a0·9040·4043·616d··........A..@@Cam | ||
000003a0:·6c31·3939·3954·3033·3184·95a6·be00·0015··l1999T031....... | 000003a0:·6c31·3939·3954·3033·3184·95a6·be00·0015··l1999T031....... | ||
000003b0:· | 000003b0:·eb00·0003·9d00·000f·6c00·000e·b408·0000··........l....... | ||
000003c0:·3c00·2b4f·7264·6572·6564·5479·7065·92b0··<.+OrderedType.. | 000003c0:·3c00·2b4f·7264·6572·6564·5479·7065·92b0··<.+OrderedType.. | ||
000003d0:·a0b0·98d0·b121·5301·010d·42a0·0402·b0c0··.....!S...B..... | 000003d0:·a0b0·98d0·b121·5301·010d·42a0·0402·b0c0··.....!S...B..... | ||
000003e0:·3463·6c69·622f·6f72·6465·7265·6454·7970··4clib/orderedTyp | 000003e0:·3463·6c69·622f·6f72·6465·7265·6454·7970··4clib/orderedTyp | ||
000003f0:·652e·6d6c·694b·0102·a401·02b0·c004·024b··e.mliK.........K | 000003f0:·652e·6d6c·694b·0102·a401·02b0·c004·024b··e.mliK.........K | ||
00000400:·0102·a401·02b1·4090·d091·b0a0·b0a1·41a0··......@.......A. | 00000400:·0102·a401·02b1·4090·d091·b0a0·b0a1·41a0··......@.......A. | ||
00000410:·0800·0028·00b1·2174·0101·0b41·a004·02b0··...(..!t...A.... | 00000410:·0800·0028·00b1·2174·0101·0b41·a004·02b0··...(..!t...A.... | ||
00000420:·c004·104d·0102·b801·02bf·c004·114d·0102··...M.........M.. | 00000420:·c004·104d·0102·b801·02bf·c004·114d·0102··...M.........M.. | ||
00000430:·b801·02c0·4040·0800·0038·0040·4040·4140··....@@...8.@@@A@ | 00000430:·b801·02c0·4040·0800·0038·0040·4040·4140··....@@...8.@@@A@ | ||
00000440:·4040·4040·b0c0·0414·4d01·02b8·0102·ba04··@@@@....M....... | 00000440:·4040·4040·b0c0·0414·4d01·02b8·0102·ba04··@@@@....M....... | ||
00000450:·0440·4040·40a1·0421·4040·4041·4004·0340··.@@@@..!@@@A@..@ | 00000450:·0440·4040·40a1·0421·4040·4041·4004·0340··.@@@@..!@@@A@..@ | ||
00000460:·4008·0000·3000·a040·4004·0104·0104·0104··@...0..@@....... | 00000460:·4008·0000·3000·a040·4004·0104·0104·0104··@...0..@@....... | ||
00000470:·0104·0104·0104·0140·aba | 00000470:·0104·0104·0104·0140·aba7·b1b2·b2b2·b2b2··.......@........ | ||
00000480:·b2b2·b2b2·b2b2·b2b | 00000480:·b2b2·b2b2·b2b2·b2b1·b1b1·b1b1·b1b1·b1b1··................ | ||
00000490:·b1b1·b1b1·b1b1·b1 | 00000490:·b1b1·b1b1·b1b1·b140·a325·6172·7261·7948··.......@.%arrayH | ||
000004a0:·4808·0000·3800·a0c0·9040·0205·f5e1·0040··H...8....@.....@ | |||
000004b0:·4d40·4140·4140·a000·7f40·a040·4040·40b0··M@A@A@...@.@@@@. | |||
000004c0:·c026·5f6e·6f6e·655f·4040·00ff·0402·4140··.&_none_@@....A@ | |||
000004d0:·4040·9204·0ba3·2462·6f6f·6c45·0800·0038··@@....$boolE...8 | |||
000004e0:·0040·40a1·a0e0·a325·6661·6c73·655e·9040··.@@....%false^.@ | |||
000004f0:·4004·0d40·9204·03a0·e0a3·2474·7275·655f··@..@......$true_ | |||
00000500:·9040·4004·1340·9204·0340·4041·4040·4040··.@@..@...@@A@@@@ | |||
00000 | 000004a0:·0800·0038·00a0·c090·4002·05f5·e100·404d··...8....@.....@M | ||
000004b0:·4041·4041·40a0·007f·40a0·4040·4040·b0c0··@A@A@...@.@@@@.. | |||
000004c0:·265f·6e6f·6e65·5f40·4000·ff04·0241·4040··&_none_@@....A@@ | |||
000004d0:·4092·040b·a324·626f·6f6c·4508·0000·3800··@....$boolE...8. | |||
000004e0:·4040·a1a0·e0a3·2566·616c·7365·5e90·4040··@@....%false^.@@ | |||
000004f0:·040d·4092·0403·a0e0·a324·7472·7565·5f90··..@......$true_. | |||
00000500:·4040·0413·4092·0403·4040·4140·4040·4040··@@..@...@@A@@@@@ | |||
00000510:·0414·4041·4092·0410·a324·6368·6172·4208··..@A@....$charB. | |||
00000520:·0 | 00000520:·0000·3800·4040·4041·4040·4040·4004·1840··..8.@@@A@@@@@..@ | ||
00000530:·4 | 00000530:·4140·9204·03a3·2365·786e·4708·0000·3800··A@....#exnG...8. | ||
00000540:· | 00000540:·4040·4141·4040·4040·4004·1c40·4040·9204··@@AA@@@@@..@@@.. | ||
00000550:·0403·a335·6578·7465·6e73·696f·6e5f·636f··...5extension_co | |||
000005 | 00000550:·03a3·3565·7874·656e·7369·6f6e·5f63·6f6e··..5extension_con | ||
00000560:·7374·7275·6374·6f72·5008·0000·3800·4040··structorP...8.@@ | |||
00000570:·4041·4040·4040·4004·2040·4040·9204·03a3··@A@@@@@.·@@@.... | |||
00000580:·2566·6c6f·6174·4408·0000·3800·4040·4041··%floatD...8.@@@A | |||
00000590:·4040·4040·4004·2440·4040·9204·03a3·2a66··@@@@@.$@@@....*f | |||
000005a0:·6c6f·6174·6172·7261·7951·0800·0038·0040··loatarrayQ...8.@ | |||
000005 | 000005b0:·4040·4140·4040·4040·0428·4040·4092·0403··@@A@@@@@.(@@@... | ||
000005 | 000005c0:·a323·696e·7441·0800·0038·0040·4040·4140··.#intA...8.@@@A@ | ||
000005 | 000005d0:·4040·4040·042c·4041·4092·0403·a325·696e··@@@@.,@A@....%in | ||
000005a0:·666c·6f61·7461·7272·6179·5108·0000·3800··floatarrayQ...8. | |||
000005b0:·4040·4041·4040·4040·4004·2840·4040·9204··@@@A@@@@@.(@@@.. | |||
000005c0:·03a3·2369·6e74·4108·0000·3800·4040·4041··..#intA...8.@@@A | |||
000005d0:·4040·4040·4004·2c40·4140·9204·03a3·2569··@@@@@.,@A@....%i | |||
000005e0:· | 000005e0:·7433·324c·0800·0038·0040·4040·4140·4040··t32L...8.@@@A@@@ | ||
000005f0:·4040·4 | 000005f0:·4040·0430·4040·4092·0403·a325·696e·7436··@@.0@@@....%int6 | ||
00000600:·3 | 00000600:·344d·0800·0038·0040·4040·4140·4040·4040··4M...8.@@@A@@@@@ | ||
00000610:· | 00000610:·0434·4040·4092·0403·a326·6c61·7a79·5f74··.4@@@....&lazy_t | ||
00000620:· | 00000620:·4e08·0000·3800·a0c0·043d·0205·f5e1·0040··N...8....=.....@ | ||
00000630:·4 | 00000630:·4f40·4140·4140·a059·40a0·4040·4040·043c··O@A@A@.Y@.@@@@.< | ||
00000640:· | 00000640:·4040·4092·0407·a324·6c69·7374·4908·0000··@@@....$listI... | ||
00000650:·0038·00a0·c004·4502·05f5·e100·4050·4041··.8....E.....@P@A | |||
00000660:·a1a0·e0a3·225b·5d61·9040·4004·4840·9204··...."[]a.@@.H@.. | |||
00000670:·03a0·e0a3·223a·3a62·90a0·040e·a0c0·b390··...."::b........ | |||
00000680:·0416·a004·1340·9040·0205·f5e1·0040·5140··.....@.@.....@Q@ | |||
000006 | 00000650:·3800·a0c0·0445·0205·f5e1·0040·5040·41a1··8....E.....@P@A. | ||
00000660:·a0e0·a322·5b5d·6190·4040·0448·4092·0403··..."[]a.@@.H@... | |||
00000670:·a0e0·a322·3a3a·6290·a004·0ea0·c0b3·9004··..."::b......... | |||
00000680:·16a0·0413·4090·4002·05f5·e100·4051·4040··....@.@.....@Q@@ | |||
00000690:·0455·4092·040a·4040·4140·a059·40a0·4040··.U@...@@A@.Y@.@@ | |||
000006a0:·4040· | 000006a0:·4040·0458·4040·4092·041b·a329·6e61·7469··@@.X@@@....)nati | ||
000006b0:· | 000006b0:·7665·696e·744b·0800·0038·0040·4040·4140··veintK...8.@@@A@ | ||
000006c0:·4040·4040· | 000006c0:·4040·4040·045c·4040·4092·0403·a326·6f70··@@@@.\@@@....&op | ||
000006d0:·7 | 000006d0:·7469·6f6e·4a08·0000·3800·a0c0·0465·0205··tionJ...8....e.. | ||
000006e0:·05f5·e100·4053·4041·a1a0·e0a3·244e·6f6e··....@S@A....$Non | |||
000006f0:·6563·9040·4004·6840·9204·03a0·e0a3·2453··ec.@@.h@......$S | |||
00000 | 000006e0:·f5e1·0040·5340·41a1·a0e0·a324·4e6f·6e65··...@S@A....$None | ||
000006f0:·6390·4040·0468·4092·0403·a0e0·a324·536f··c.@@.h@......$So | |||
00000700:·6d65·6490·a004·0e40·4004·6f40·9204·0440··med....@@.o@...@ | |||
00000710:·404 | 00000710:·4041·40a0·5940·a040·4040·4004·7240·4040··@A@.Y@.@@@@.r@@@ | ||
00000720:·9204·15a3·2673·7472·696e·674f·0800·0038··....&stringO...8 | |||
00000720:·4092·0415·a326·7374·7269·6e67·4f08·0000··@....&stringO... | |||
00000730:·3800·4040·4041·4040·4040·4004·7640·4040··8.@@@A@@@@@.v@@@ | |||
00000740:·9204·03a3·2475·6e69·7446·0800·0038·0040··....$unitF...8.@ | |||
00000750:·40a1·a0e0·a322·2829·6090·4040·0480·4092··@...."()`.@@..@. | |||
000007 | 00000730:·0040·4040·4140·4040·4040·0476·4040·4092··.@@@A@@@@@.v@@@. | ||
00000740:·0403·a324·756e·6974·4608·0000·3800·4040··...$unitF...8.@@ | |||
00000750:·a1a0·e0a3·2228·2960·9040·4004·8040·9204··...."()`.@@..@.. | |||
00000760:·0340·4041·4040·4040·4004·8140·4140·9204··.@@A@@@@@..@A@.. | |||
00000770:·0 | 00000770:·0aa3·2e41·7373·6572·745f·6661·696c·7572··...Assert_failur | ||
00000780:·7265·5c08·0000·2000·9004·6d40·90a0·c092··re\...·...m@.... | |||
00000790:·a0c0·b390·041b·4090·4002·05f5·e100·404a··......@.@.....@J | |||
000007 | 00000780:·655c·0800·0020·0090·046d·4090·a0c0·92a0··e\...·...m@..... | ||
00000790:·c0b3·9004·1b40·9040·0205·f5e1·0040·4aa0··.....@.@.....@J. | |||
000007a0:·c0b3·9004·6a40·9040·0205·f5e1·0040·40a0··....j@.@.....@@. | |||
000007b0:·0405·4002·05f5·e100·4056·4040·4104·95a0··..@.....@V@@A... | |||
000007c0:·b0a0·3d6f·6361·6d6c·2e77·6172·6e5f·6f6e··..=ocaml.warn_on | |||
000007d0:·5f6c·6974·6572·616c·5f70·6174·7465·726e··_literal_pattern | |||
000007e0:·0499·049c·0499·4092·0417·a330·4469·7669··......@....0Divi | |||
000007f0:·7369·6f6e·5f62·795f·7a65·726f·5908·0000··sion_by_zeroY... | |||
00000800:·2000·0418·4090·4040·4104·9ea0·b0a0·0409···...@.@@A....... | |||
00000810:·04a1·04a4·04a1·4092·0407·a32b·456e·645f··......@....+End_ | |||
00000820:·6f66·5f66·696c·6558·0800·0020·0004·2040··of_fileX...·..·@ | |||
00000830:·9040·4041·04a6·a0b0·a004·1104·a904·ac04··.@@A............ | |||
00000840:·a940·9204·07a3·2746·6169·6c75·7265·5508··.@....'FailureU. | |||
00000850:·0000·2000·0428·4090·a004·2440·4041·04af··..·..(@...$@@A.. | |||
00000860:·a0b0·a004·1a04·b204·b504·b240·9204·08a3··...........@.... | |||
00000870:·3049·6e76·616c·6964·5f61·7267·756d·656e··0Invalid_argumen | |||
00000880:·7454·0800·0020·0004·3140·90a0·042d·4040··tT...·..1@...-@@ | |||
00000890:·4104·b8a0·b0a0·0423·04bb·04be·04bb·4092··A......#......@. | |||
000008a0:·0408·a32d·4d61·7463·685f·6661·696c·7572··...-Match_failur | |||
000008b0:·6552·0800·0020·0004·3a40·90a0·c092·a004··eR...·..:@...... | |||
000008c0:·39a0·0435·a004·3640·0205·f5e1·0040·5c40··9..5..6@.....@\@ | |||
000008d0:·4041·04c6·a0b0·a004·3104·c904·cc04·c940··@A......1......@ | |||
000008e0:·9204·0da3·294e·6f74·5f66·6f75·6e64·5608··....)Not_foundV. | |||
000008f0:·0000·2000·0448·4090·4040·4104·cea0·b0a0··..·..H@.@@A..... | |||
00000900:·0439·04d1·04d4·04d1·4092·0407·a32d·4f75··.9......@....-Ou | |||
00000910:·745f·6f66·5f6d·656d·6f72·7953·0800·0020··t_of_memoryS...· | |||
00000920:·0004·5040·9040·4041·04d6·a0b0·a004·4104··..P@.@@A......A. | |||
00000930:·d904·dc04·d940·9204·07a3·2e53·7461·636b··.....@.....Stack | |||
00000940:·5f6f·7665·7266·6c6f·775a·0800·0020·0004··_overflowZ...·.. | |||
00000950:·5840·9040·4041·04de·a0b0·a004·4904·e104··X@.@@A......I... | |||
00000960:·e404·e140·9204·07a3·2e53·7973·5f62·6c6f··...@.....Sys_blo | |||
00000970:·636b·6564·5f69·6f5b·0800·0020·0004·6040··cked_io[...·..`@ | |||
00000980:·9040·4041·04e6·a0b0·a004·5104·e904·ec04··.@@A......Q..... | |||
00000990:·e940·9204·07a3·2953·7973·5f65·7272·6f72··.@....)Sys_error | |||
000009a0:·5708·0000·2000·0468·4090·a004·6440·4041··W...·..h@...d@@A | |||
Max diff block lines reached; 11569/47816 bytes (24.19%) of diff not shown. |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2023-12-21·13:34:31.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2023-12-21·13:34:31.000000·debian-binary |
2 | -rw-r--r--···0········0········0····63196·2023-12-21·13:34:31.000000·control.tar.xz | 2 | -rw-r--r--···0········0········0····63196·2023-12-21·13:34:31.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·231718 | 3 | -rw-r--r--···0········0········0·23172184·2023-12-21·13:34:31.000000·data.tar.xz |
Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
1 | Package:·libcoq-stdlib | 1 | Package:·libcoq-stdlib |
2 | Source:·coq | 2 | Source:·coq |
3 | Version:·8.18.0+dfsg-1 | 3 | Version:·8.18.0+dfsg-1 |
4 | Architecture:·armhf | 4 | Architecture:·armhf |
5 | Maintainer:·Debian·OCaml·Maintainers·<debian-ocaml-maint@lists.debian.org> | 5 | Maintainer:·Debian·OCaml·Maintainers·<debian-ocaml-maint@lists.debian.org> |
6 | Installed-Size:·1563 | 6 | Installed-Size:·156370 |
7 | Recommends:·coq | 7 | Recommends:·coq |
8 | Breaks:·coq-doc·(<=·8.0pl1.0-2),·coq-libs·(<<·8.2.pl1),·coq-theories | 8 | Breaks:·coq-doc·(<=·8.0pl1.0-2),·coq-libs·(<<·8.2.pl1),·coq-theories |
9 | Replaces:·coq-libs·(<<·8.2.pl1),·coq-theories | 9 | Replaces:·coq-libs·(<<·8.2.pl1),·coq-theories |
10 | Provides:·coq-theories·(=·8.18.0+dfsg-1),·libcoq-stdlib-7lcj3 | 10 | Provides:·coq-theories·(=·8.18.0+dfsg-1),·libcoq-stdlib-7lcj3 |
11 | Section:·math | 11 | Section:·math |
12 | Priority:·optional | 12 | Priority:·optional |
13 | Homepage:·http://coq.inria.fr/ | 13 | Homepage:·http://coq.inria.fr/ |
Offset 2452, 33 lines modified | Offset 2452, 33 lines modified | ||
2452 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/ | 2452 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/ |
2453 | -rw-r--r--···0·root·········(0)·root·········(0)·····2173·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/README.md.gz | 2453 | -rw-r--r--···0·root·········(0)·root·········(0)·····2173·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/README.md.gz |
2454 | -rw-r--r--···0·root·········(0)·root·········(0)·····4415·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/changelog.Debian.gz | 2454 | -rw-r--r--···0·root·········(0)·root·········(0)·····4415·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/changelog.Debian.gz |
2455 | -rw-r--r--···0·root·········(0)·root·········(0)·····8307·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/copyright | 2455 | -rw-r--r--···0·root·········(0)·root·········(0)·····8307·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/copyright |
2456 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/ | 2456 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/ |
2457 | -rw-r--r--···0·root·········(0)·root·········(0)·····3005·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith.html | 2457 | -rw-r--r--···0·root·········(0)·root·········(0)·····3005·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith.html |
2458 | -rw-r--r--···0·root·········(0)·root·········(0)·····6691·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith_base.html | 2458 | -rw-r--r--···0·root·········(0)·root·········(0)·····6691·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith_base.html |
2459 | -rw-r--r--···0·root·········(0)·root·········(0)···10217 | 2459 | -rw-r--r--···0·root·········(0)·root·········(0)···102177·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith_prebase.html |
2460 | -rw-r--r--···0·root·········(0)·root·········(0)····56279·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Between.html | 2460 | -rw-r--r--···0·root·········(0)·root·········(0)····56279·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Between.html |
2461 | -rw-r--r--···0·root·········(0)·root·········(0)····13646·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Bool_nat.html | 2461 | -rw-r--r--···0·root·········(0)·root·········(0)····13646·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Bool_nat.html |
2462 | -rw-r--r--···0·root·········(0)·root·········(0)····22063·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Cantor.html | 2462 | -rw-r--r--···0·root·········(0)·root·········(0)····22063·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Cantor.html |
2463 | -rw-r--r--···0·root·········(0)·root·········(0)····14226·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare.html | 2463 | -rw-r--r--···0·root·········(0)·root·········(0)····14226·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare.html |
2464 | -rw-r--r--···0·root·········(0)·root·········(0)····64268·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare_dec.html | 2464 | -rw-r--r--···0·root·········(0)·root·········(0)····64268·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare_dec.html |
2465 | -rw-r--r--···0·root·········(0)·root·········(0)····42751·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Div2.html | 2465 | -rw-r--r--···0·root·········(0)·root·········(0)····42751·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Div2.html |
2466 | -rw-r--r--···0·root·········(0)·root·········(0)····2150 | 2466 | -rw-r--r--···0·root·········(0)·root·········(0)····21501·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.EqNat.html |
2467 | -rw-r--r--···0·root·········(0)·root·········(0)····14148·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Euclid.html | 2467 | -rw-r--r--···0·root·········(0)·root·········(0)····14148·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Euclid.html |
2468 | -rw-r--r--···0·root·········(0)·root·········(0)····7637 | 2468 | -rw-r--r--···0·root·········(0)·root·········(0)····76371·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Even.html |
2469 | -rw-r--r--···0·root·········(0)·root·········(0)·····7674·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Factorial.html | 2469 | -rw-r--r--···0·root·········(0)·root·········(0)·····7674·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Factorial.html |
2470 | -rw-r--r--···0·root·········(0)·root·········(0)····2552 | 2470 | -rw-r--r--···0·root·········(0)·root·········(0)····25521·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Gt.html |
2471 | -rw-r--r--···0·root·········(0)·root·········(0)····1806 | 2471 | -rw-r--r--···0·root·········(0)·root·········(0)····18062·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Le.html |
2472 | -rw-r--r--···0·root·········(0)·root·········(0)····24 | 2472 | -rw-r--r--···0·root·········(0)·root·········(0)····24094·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Lt.html |
2473 | -rw-r--r--···0·root·········(0)·root·········(0)····1594 | 2473 | -rw-r--r--···0·root·········(0)·root·········(0)····15941·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Max.html |
2474 | -rw-r--r--···0·root·········(0)·root·········(0)····15168·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Min.html | 2474 | -rw-r--r--···0·root·········(0)·root·········(0)····15168·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Min.html |
2475 | -rw-r--r--···0·root·········(0)·root·········(0)····17 | 2475 | -rw-r--r--···0·root·········(0)·root·········(0)····17399·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Minus.html |
2476 | -rw-r--r--···0·root·········(0)·root·········(0)····308 | 2476 | -rw-r--r--···0·root·········(0)·root·········(0)····30819·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Mult.html |
2477 | -rw-r--r--···0·root·········(0)·root·········(0)···3076 | 2477 | -rw-r--r--···0·root·········(0)·root·········(0)···307638·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.PeanoNat.html |
2478 | -rw-r--r--···0·root·········(0)·root·········(0)·····9262·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Peano_dec.html | 2478 | -rw-r--r--···0·root·········(0)·root·········(0)·····9262·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Peano_dec.html |
2479 | -rw-r--r--···0·root·········(0)·root·········(0)····41517·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Plus.html | 2479 | -rw-r--r--···0·root·········(0)·root·········(0)····41517·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Plus.html |
2480 | -rw-r--r--···0·root·········(0)·root·········(0)····79333·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Wf_nat.html | 2480 | -rw-r--r--···0·root·········(0)·root·········(0)····79333·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Wf_nat.html |
2481 | -rw-r--r--···0·root·········(0)·root·········(0)····40548·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Array.PArray.html | 2481 | -rw-r--r--···0·root·········(0)·root·········(0)····40548·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Array.PArray.html |
2482 | -rw-r--r--···0·root·········(0)·root·········(0)···226068·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bool.html | 2482 | -rw-r--r--···0·root·········(0)·root·········(0)···226068·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bool.html |
2483 | -rw-r--r--···0·root·········(0)·root·········(0)····16136·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolEq.html | 2483 | -rw-r--r--···0·root·········(0)·root·········(0)····16136·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolEq.html |
2484 | -rw-r--r--···0·root·········(0)·root·········(0)····28687·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolOrder.html | 2484 | -rw-r--r--···0·root·········(0)·root·········(0)····28687·2023-12-21·13:34:31.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolOrder.html |
Offset 45, 31 lines modified | Offset 45, 31 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab244"></a><h1·class="section">DO·NOT·REQUIRE·OR·IMPORT!·This·is·a·temporary·file·preparing·deprecation</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>.<br/> |
54 | <br/> | 54 | <br/> |
55 | </div> | 55 | </div> |
56 | <div·class="doc"> | 56 | <div·class="doc"> |
57 | <a·id="lab | 57 | <a·id="lab245"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">arith</span></span>·hint·database</h1> |
58 | <div·class="paragraph">·</div> | 58 | <div·class="paragraph">·</div> |
59 | <a·id="lab | 59 | <a·id="lab246"></a><h2·class="section"><span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">le</span></span></h2> |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
62 | #[<span·class="id"·title="var">global</span>]<br/> | 62 | #[<span·class="id"·title="var">global</span>]<br/> |
63 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Nat.le_trans</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> | 63 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Nat.le_trans</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> |
64 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">Nat.le_antisymm</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> | 64 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">Nat.le_antisymm</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> |
65 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Nat.le_0_l</span>·<span·class="id"·title="var">Nat.nle_succ_0</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> | 65 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Nat.le_0_l</span>·<span·class="id"·title="var">Nat.nle_succ_0</span>:·<span·class="id"·title="var">arith</span>.·#[<span·class="id"·title="var">global</span>]<br/> |
Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
52 | <br/> | 52 | <br/> |
53 | </div> | 53 | </div> |
54 | <div·class="doc"> | 54 | <div·class="doc"> |
55 | Equality·on·natural·numbers· | 55 | Equality·on·natural·numbers· |
56 | <div·class="paragraph">·</div> | 56 | <div·class="paragraph">·</div> |
57 | <a·id="lab1 | 57 | <a·id="lab191"></a><h1·class="section">Propositional·equality</h1> |
58 | </div> | 58 | </div> |
59 | <div·class="code"> | 59 | <div·class="code"> |
60 | <br/> | 60 | <br/> |
61 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="eq_nat"·class="idref"·href="#eq_nat"><span·class="id"·title="definition">eq_nat</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 61 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="eq_nat"·class="idref"·href="#eq_nat"><span·class="id"·title="definition">eq_nat</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> |
62 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Arith.EqNat.html#n:1"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Arith.EqNat.html#m:2"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 62 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Arith.EqNat.html#n:1"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Arith.EqNat.html#m:2"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 69, 15 lines modified | Offset 69, 15 lines modified | ||
69 | <br/> | 69 | <br/> |
70 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Types</span>·<span·class="id"·title="var">m</span>·<span·class="id"·title="var">n</span>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>.<br/> | 70 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Types</span>·<span·class="id"·title="var">m</span>·<span·class="id"·title="var">n</span>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>.<br/> |
71 | <br/> | 71 | <br/> |
72 | </div> | 72 | </div> |
73 | <div·class="doc"> | 73 | <div·class="doc"> |
74 | <a·id="lab | 74 | <a·id="lab209"></a><h1·class="section">Inductive·definition·of·<span·class="inlinecode"><span·class="id"·title="var">even</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">odd</span></span></h1> |
75 | </div> | 75 | </div> |
76 | <div·class="code"> | 76 | <div·class="code"> |
77 | <br/> | 77 | <br/> |
78 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Even·file·is·obsolete.·Use·Nat.Even·or·Nat.Even_alt·instead.")]<br/> | 78 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Even·file·is·obsolete.·Use·Nat.Even·or·Nat.Even_alt·instead.")]<br/> |
79 | <span·class="id"·title="keyword">Notation</span>·<a·id="even"·class="idref"·href="#even"><span·class="id"·title="abbreviation">even</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.Even_alt"><span·class="id"·title="inductive">Nat.Even_alt</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 79 | <span·class="id"·title="keyword">Notation</span>·<a·id="even"·class="idref"·href="#even"><span·class="id"·title="abbreviation">even</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.Even_alt"><span·class="id"·title="inductive">Nat.Even_alt</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
Offset 48, 30 lines modified | Offset 48, 30 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | </div> | 49 | </div> |
50 | <div·class="doc"> | 50 | <div·class="doc"> |
51 | Theorems·about·<span·class="inlinecode"><span·class="id"·title="var">gt</span></span>·in·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>.· | 51 | Theorems·about·<span·class="inlinecode"><span·class="id"·title="var">gt</span></span>·in·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>.· |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | <a·id="lab | 53 | <a·id="lab201"></a><h1·class="section">This·file·is·OBSOLETE,·see·<span·class="inlinecode"><span·class="id"·title="var">Arith_base</span></span>·instead.</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> | 57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> |
58 | <br/> | 58 | <br/> |
59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> |
60 | <br/> | 60 | <br/> |
61 | </div> | 61 | </div> |
62 | <div·class="doc"> | 62 | <div·class="doc"> |
63 | <a·id="lab | 63 | <a·id="lab202"></a><h1·class="section">Order·and·successor</h1> |
64 | </div> | 64 | </div> |
65 | <div·class="code"> | 65 | <div·class="code"> |
66 | <br/> | 66 | <br/> |
67 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Gt·file·is·obsolete.·Use·Nat.lt_0_succ·instead.")]<br/> | 67 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Gt·file·is·obsolete.·Use·Nat.lt_0_succ·instead.")]<br/> |
68 | <span·class="id"·title="keyword">Notation</span>·<a·id="gt_Sn_O"·class="idref"·href="#gt_Sn_O"><span·class="id"·title="abbreviation">gt_Sn_O</span></a>·:=·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#gt_Sn_O_stt"><span·class="id"·title="definition">Arith_prebase.gt_Sn_O_stt</span></a>.<br/> | 68 | <span·class="id"·title="keyword">Notation</span>·<a·id="gt_Sn_O"·class="idref"·href="#gt_Sn_O"><span·class="id"·title="abbreviation">gt_Sn_O</span></a>·:=·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#gt_Sn_O_stt"><span·class="id"·title="definition">Arith_prebase.gt_Sn_O_stt</span></a>.<br/> |
Offset 48, 27 lines modified | Offset 48, 27 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | </div> | 49 | </div> |
50 | <div·class="doc"> | 50 | <div·class="doc"> |
51 | Order·on·natural·numbers.· | 51 | Order·on·natural·numbers.· |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | <a·id="lab | 53 | <a·id="lab228"></a><h1·class="section">This·file·is·OBSOLETE,·see·<span·class="inlinecode"><span·class="id"·title="var">Arith_base</span></span>·instead.</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> | 57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> |
58 | <br/> | 58 | <br/> |
59 | </div> | 59 | </div> |
60 | <div·class="doc"> | 60 | <div·class="doc"> |
61 | <a·id="lab | 61 | <a·id="lab229"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">le</span></span>·is·an·order·on·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span></h1> |
62 | </div> | 62 | </div> |
63 | <div·class="code"> | 63 | <div·class="code"> |
64 | <br/> | 64 | <br/> |
65 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Le·file·is·obsolete.·Use·Nat.le_refl·instead.")]<br/> | 65 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Le·file·is·obsolete.·Use·Nat.le_refl·instead.")]<br/> |
66 | <span·class="id"·title="keyword">Notation</span>·<a·id="le_refl"·class="idref"·href="#le_refl"><span·class="id"·title="abbreviation">le_refl</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.le_refl"><span·class="id"·title="lemma">Nat.le_refl</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 66 | <span·class="id"·title="keyword">Notation</span>·<a·id="le_refl"·class="idref"·href="#le_refl"><span·class="id"·title="abbreviation">le_refl</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.le_refl"><span·class="id"·title="lemma">Nat.le_refl</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
Offset 48, 39 lines modified | Offset 48, 39 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | </div> | 49 | </div> |
50 | <div·class="doc"> | 50 | <div·class="doc"> |
51 | Strict·order·on·natural·numbers.· | 51 | Strict·order·on·natural·numbers.· |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | <a·id="lab | 53 | <a·id="lab234"></a><h1·class="section">This·file·is·OBSOLETE,·see·<span·class="inlinecode"><span·class="id"·title="var">Arith_base</span></span>·instead.</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> | 57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> |
58 | <br/> | 58 | <br/> |
59 | </div> | 59 | </div> |
60 | <div·class="doc"> | 60 | <div·class="doc"> |
61 | <a·id="lab | 61 | <a·id="lab235"></a><h1·class="section">Irreflexivity</h1> |
62 | </div> | 62 | </div> |
63 | <div·class="code"> | 63 | <div·class="code"> |
64 | <br/> | 64 | <br/> |
65 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Lt·file·is·obsolete.·Use·Nat.lt_irrefl·instead.")]<br/> | 65 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Lt·file·is·obsolete.·Use·Nat.lt_irrefl·instead.")]<br/> |
66 | <span·class="id"·title="keyword">Notation</span>·<a·id="lt_irrefl"·class="idref"·href="#lt_irrefl"><span·class="id"·title="abbreviation">lt_irrefl</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.lt_irrefl"><span·class="id"·title="lemma">Nat.lt_irrefl</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).· | 66 | <span·class="id"·title="keyword">Notation</span>·<a·id="lt_irrefl"·class="idref"·href="#lt_irrefl"><span·class="id"·title="abbreviation">lt_irrefl</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.lt_irrefl"><span·class="id"·title="lemma">Nat.lt_irrefl</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).· |
67 | <br/> | 67 | <br/> |
68 | </div> | 68 | </div> |
69 | <div·class="doc"> | 69 | <div·class="doc"> |
70 | <a·id="lab | 70 | <a·id="lab236"></a><h1·class="section">Relationship·between·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span></h1> |
71 | </div> | 71 | </div> |
72 | <div·class="code"> | 72 | <div·class="code"> |
73 | <br/> | 73 | <br/> |
74 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Lt·file·is·obsolete.·Use·the·bidirectional·version·Nat.le_succ_l·instead.")]<br/> | 74 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Lt·file·is·obsolete.·Use·the·bidirectional·version·Nat.le_succ_l·instead.")]<br/> |
75 | <span·class="id"·title="keyword">Notation</span>·<a·id="lt_le_S"·class="idref"·href="#lt_le_S"><span·class="id"·title="abbreviation">lt_le_S</span></a>·:=·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#lt_le_S_stt"><span·class="id"·title="definition">Arith_prebase.lt_le_S_stt</span></a>.<br/> | 75 | <span·class="id"·title="keyword">Notation</span>·<a·id="lt_le_S"·class="idref"·href="#lt_le_S"><span·class="id"·title="abbreviation">lt_le_S</span></a>·:=·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#lt_le_S_stt"><span·class="id"·title="definition">Arith_prebase.lt_le_S_stt</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab200"></a><h1·class="section">THIS·FILE·IS·DEPRECATED.·Use·<span·class="inlinecode"><span·class="id"·title="var">PeanoNat.Nat</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">Arith.Arith_base</span></span>·instead.</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab190"></a><h1·class="section">THIS·FILE·IS·DEPRECATED.·Use·<span·class="inlinecode"><span·class="id"·title="var">PeanoNat.Nat</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">Arith.Arith_base</span></span>·instead.</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>.<br/> |
Offset 48, 43 lines modified | Offset 48, 43 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | </div> | 49 | </div> |
50 | <div·class="doc"> | 50 | <div·class="doc"> |
51 | Properties·of·subtraction·between·natural·numbers.· | 51 | Properties·of·subtraction·between·natural·numbers.· |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | <a·id="lab1 | 53 | <a·id="lab193"></a><h1·class="section">This·file·is·OBSOLETE,·see·<span·class="inlinecode"><span·class="id"·title="var">Arith_base</span></span>·instead.</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> | 57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> |
58 | <br/> | 58 | <br/> |
59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> |
60 | <br/> | 60 | <br/> |
61 | </div> | 61 | </div> |
62 | <div·class="doc"> | 62 | <div·class="doc"> |
63 | <a·id="lab1 | 63 | <a·id="lab194"></a><h1·class="section">0·is·right·neutral</h1> |
64 | </div> | 64 | </div> |
65 | <div·class="code"> | 65 | <div·class="code"> |
66 | <br/> | 66 | <br/> |
67 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Minus·file·is·obsolete.·Use·Nat.sub_0_r·(and·symmetry·of·equality)·instead.")]<br/> | 67 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Minus·file·is·obsolete.·Use·Nat.sub_0_r·(and·symmetry·of·equality)·instead.")]<br/> |
68 | <span·class="id"·title="keyword">Notation</span>·<a·id="minus_n_O"·class="idref"·href="#minus_n_O"><span·class="id"·title="abbreviation">minus_n_O</span></a>·:=·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#minus_n_O_stt"><span·class="id"·title="definition">Arith_prebase.minus_n_O_stt</span></a>.<br/> | 68 | <span·class="id"·title="keyword">Notation</span>·<a·id="minus_n_O"·class="idref"·href="#minus_n_O"><span·class="id"·title="abbreviation">minus_n_O</span></a>·:=·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#minus_n_O_stt"><span·class="id"·title="definition">Arith_prebase.minus_n_O_stt</span></a>.<br/> |
69 | <br/> | 69 | <br/> |
70 | </div> | 70 | </div> |
71 | <div·class="doc"> | 71 | <div·class="doc"> |
72 | <a·id="lab1 | 72 | <a·id="lab195"></a><h1·class="section">Permutation·with·successor</h1> |
73 | </div> | 73 | </div> |
74 | <div·class="code"> | 74 | <div·class="code"> |
75 | <br/> | 75 | <br/> |
76 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Minus·file·is·obsolete.·Use·Nat.sub_succ_l·(and·symmetry·of·equality)·instead.")]<br/> | 76 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Minus·file·is·obsolete.·Use·Nat.sub_succ_l·(and·symmetry·of·equality)·instead.")]<br/> |
77 | <span·class="id"·title="keyword">Notation</span>·<a·id="minus_Sn_m"·class="idref"·href="#minus_Sn_m"><span·class="id"·title="abbreviation">minus_Sn_m</span></a>·:=·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#minus_Sn_m_stt"><span·class="id"·title="definition">Arith_prebase.minus_Sn_m_stt</span></a>.<br/> | 77 | <span·class="id"·title="keyword">Notation</span>·<a·id="minus_Sn_m"·class="idref"·href="#minus_Sn_m"><span·class="id"·title="abbreviation">minus_Sn_m</span></a>·:=·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#minus_Sn_m_stt"><span·class="id"·title="definition">Arith_prebase.minus_Sn_m_stt</span></a>.<br/> |
Offset 45, 76 lines modified | Offset 45, 76 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab247"></a><h1·class="section">Properties·of·multiplication.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | <a·id="lab | 51 | <a·id="lab248"></a><h1·class="section">This·file·is·OBSOLETE,·see·<span·class="inlinecode"><span·class="id"·title="var">Arith_base</span></span>·instead.</h1> |
52 | </div> | 52 | </div> |
53 | <div·class="code"> | 53 | <div·class="code"> |
54 | <br/> | 54 | <br/> |
55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> | 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> |
58 | <br/> | 58 | <br/> |
59 | </div> | 59 | </div> |
60 | <div·class="doc"> | 60 | <div·class="doc"> |
61 | <a·id="lab | 61 | <a·id="lab249"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·is·a·semi-ring</h1> |
62 | <div·class="paragraph">·</div> | 62 | <div·class="paragraph">·</div> |
63 | <a·id="lab | 63 | <a·id="lab250"></a><h2·class="section">Zero·property</h2> |
64 | </div> | 64 | </div> |
65 | <div·class="code"> | 65 | <div·class="code"> |
66 | <br/> | 66 | <br/> |
67 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_0_l·instead.")]<br/> | 67 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_0_l·instead.")]<br/> |
68 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_0_l"·class="idref"·href="#mult_0_l"><span·class="id"·title="abbreviation">mult_0_l</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_0_l"><span·class="id"·title="lemma">Nat.mul_0_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).·#[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_0_r·instead.")]<br/> | 68 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_0_l"·class="idref"·href="#mult_0_l"><span·class="id"·title="abbreviation">mult_0_l</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_0_l"><span·class="id"·title="lemma">Nat.mul_0_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).·#[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_0_r·instead.")]<br/> |
69 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_0_r"·class="idref"·href="#mult_0_r"><span·class="id"·title="abbreviation">mult_0_r</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_0_r"><span·class="id"·title="lemma">Nat.mul_0_r</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).· | 69 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_0_r"·class="idref"·href="#mult_0_r"><span·class="id"·title="abbreviation">mult_0_r</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_0_r"><span·class="id"·title="lemma">Nat.mul_0_r</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).· |
70 | <br/> | 70 | <br/> |
71 | </div> | 71 | </div> |
72 | <div·class="doc"> | 72 | <div·class="doc"> |
73 | <a·id="lab | 73 | <a·id="lab251"></a><h2·class="section">1·is·neutral</h2> |
74 | </div> | 74 | </div> |
75 | <div·class="code"> | 75 | <div·class="code"> |
76 | <br/> | 76 | <br/> |
77 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_1_l·instead.")]<br/> | 77 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_1_l·instead.")]<br/> |
78 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_1_l"·class="idref"·href="#mult_1_l"><span·class="id"·title="abbreviation">mult_1_l</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_1_l"><span·class="id"·title="lemma">Nat.mul_1_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).·#[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_1_r·instead.")]<br/> | 78 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_1_l"·class="idref"·href="#mult_1_l"><span·class="id"·title="abbreviation">mult_1_l</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_1_l"><span·class="id"·title="lemma">Nat.mul_1_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).·#[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_1_r·instead.")]<br/> |
79 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_1_r"·class="idref"·href="#mult_1_r"><span·class="id"·title="abbreviation">mult_1_r</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_1_r"><span·class="id"·title="lemma">Nat.mul_1_r</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).· | 79 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_1_r"·class="idref"·href="#mult_1_r"><span·class="id"·title="abbreviation">mult_1_r</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_1_r"><span·class="id"·title="lemma">Nat.mul_1_r</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).· |
80 | <br/> | 80 | <br/> |
81 | </div> | 81 | </div> |
82 | <div·class="doc"> | 82 | <div·class="doc"> |
83 | <a·id="lab | 83 | <a·id="lab252"></a><h2·class="section">Commutativity</h2> |
84 | </div> | 84 | </div> |
85 | <div·class="code"> | 85 | <div·class="code"> |
86 | <br/> | 86 | <br/> |
87 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_comm·instead.")]<br/> | 87 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_comm·instead.")]<br/> |
88 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_comm"·class="idref"·href="#mult_comm"><span·class="id"·title="abbreviation">mult_comm</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_comm"><span·class="id"·title="lemma">Nat.mul_comm</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).· | 88 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_comm"·class="idref"·href="#mult_comm"><span·class="id"·title="abbreviation">mult_comm</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.mul_comm"><span·class="id"·title="lemma">Nat.mul_comm</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).· |
89 | <br/> | 89 | <br/> |
90 | </div> | 90 | </div> |
91 | <div·class="doc"> | 91 | <div·class="doc"> |
92 | <a·id="lab | 92 | <a·id="lab253"></a><h2·class="section">Distributivity</h2> |
93 | </div> | 93 | </div> |
94 | <div·class="code"> | 94 | <div·class="code"> |
95 | <br/> | 95 | <br/> |
96 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_add_distr_r·instead.")]<br/> | 96 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Mult·file·is·obsolete.·Use·Nat.mul_add_distr_r·instead.")]<br/> |
97 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_plus_distr_r"·class="idref"·href="#mult_plus_distr_r"><span·class="id"·title="abbreviation">mult_plus_distr_r</span></a>·:=<br/> | 97 | <span·class="id"·title="keyword">Notation</span>·<a·id="mult_plus_distr_r"·class="idref"·href="#mult_plus_distr_r"><span·class="id"·title="abbreviation">mult_plus_distr_r</span></a>·:=<br/> |
Offset 145, 15 lines modified | Offset 145, 15 lines modified | ||
145 | <a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>)·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 145 | <a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>)·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
146 | <span·class="id"·title="keyword">forall</span>·<a·id="n:14"·class="idref"·href="#n:14"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.recursion"><span·class="id"·title="definition">recursion</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>))·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.recursion"><span·class="id"·title="definition">recursion</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>)).<br/> | 146 | <span·class="id"·title="keyword">forall</span>·<a·id="n:14"·class="idref"·href="#n:14"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Aeq:11"><span·class="id"·title="variable">Aeq</span></a>·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.recursion"><span·class="id"·title="definition">recursion</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>))·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>·(<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.recursion"><span·class="id"·title="definition">recursion</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:12"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:14"><span·class="id"·title="variable">n</span></a>)).<br/> |
147 | <br/> | 147 | <br/> |
148 | </div> | 148 | </div> |
149 | <div·class="doc"> | 149 | <div·class="doc"> |
150 | <a·id="lab | 150 | <a·id="lab213"></a><h2·class="section">Remaining·constants·not·defined·in·Coq.Init.Nat</h2> |
151 | <div·class="paragraph">·</div> | 151 | <div·class="paragraph">·</div> |
152 | ·NB:·Aliasing·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·is·mandatory,·since·only·a·Definition·can·implement | 152 | ·NB:·Aliasing·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·is·mandatory,·since·only·a·Definition·can·implement |
153 | ····an·interface·Parameter...· | 153 | ····an·interface·Parameter...· |
154 | </div> | 154 | </div> |
155 | <div·class="code"> | 155 | <div·class="code"> |
Offset 48, 30 lines modified | Offset 48, 30 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | </div> | 49 | </div> |
50 | <div·class="doc"> | 50 | <div·class="doc"> |
51 | Properties·of·addition.· | 51 | Properties·of·addition.· |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | <a·id="lab | 53 | <a·id="lab182"></a><h1·class="section">This·file·is·OBSOLETE,·see·<span·class="inlinecode"><span·class="id"·title="var">Arith_base</span></span>·instead.</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> | 57 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Arith_prebase.html#"><span·class="id"·title="library">Arith_prebase</span></a>.<br/> |
58 | <br/> | 58 | <br/> |
59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> |
60 | <br/> | 60 | <br/> |
61 | </div> | 61 | </div> |
62 | <div·class="doc"> | 62 | <div·class="doc"> |
63 | <a·id="lab | 63 | <a·id="lab183"></a><h1·class="section">Neutrality·of·0,·commutativity,·associativity</h1> |
64 | </div> | 64 | </div> |
65 | <div·class="code"> | 65 | <div·class="code"> |
66 | <br/> | 66 | <br/> |
67 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Plus·file·is·obsolete.·Use·Nat.add_0_l·instead.")]<br/> | 67 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.16",<span·class="id"·title="var">note</span>="The·Arith.Plus·file·is·obsolete.·Use·Nat.add_0_l·instead.")]<br/> |
68 | <span·class="id"·title="keyword">Notation</span>·<a·id="plus_0_l"·class="idref"·href="#plus_0_l"><span·class="id"·title="abbreviation">plus_0_l</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.add_0_l"><span·class="id"·title="lemma">Nat.add_0_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 68 | <span·class="id"·title="keyword">Notation</span>·<a·id="plus_0_l"·class="idref"·href="#plus_0_l"><span·class="id"·title="abbreviation">plus_0_l</span></a>·:=·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.add_0_l"><span·class="id"·title="lemma">Nat.add_0_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
Offset 86, 27 lines modified | Offset 86, 27 lines modified | ||
86 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·=>·<a·class="idref"·href="Coq.Init.Logic.html#False"><span·class="id"·title="inductive">False</span></a><br/> | 86 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·=>·<a·class="idref"·href="Coq.Init.Logic.html#False"><span·class="id"·title="inductive">False</span></a><br/> |
87 | <span·class="id"·title="keyword">end</span>.<br/> | 87 | <span·class="id"·title="keyword">end</span>.<br/> |
88 | <br/> | 88 | <br/> |
89 | </div> | 89 | </div> |
90 | <div·class="doc"> | 90 | <div·class="doc"> |
91 | <a·id="lab | 91 | <a·id="lab692"></a><h1·class="section">Decidability</h1> |
92 | </div> | 92 | </div> |
93 | <div·class="code"> | 93 | <div·class="code"> |
94 | <br/> | 94 | <br/> |
95 | <span·class="id"·title="keyword">Lemma</span>·<a·id="bool_dec"·class="idref"·href="#bool_dec"><span·class="id"·title="lemma">bool_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:3"·class="idref"·href="#b1:3"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:4"·class="idref"·href="#b2:4"><span·class="id"·title="binder">b2</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Bool.Bool.html#b1:3"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:4"><span·class="id"·title="variable">b2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Bool.Bool.html#b1:3"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:4"><span·class="id"·title="variable">b2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Lemma</span>·<a·id="bool_dec"·class="idref"·href="#bool_dec"><span·class="id"·title="lemma">bool_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:3"·class="idref"·href="#b1:3"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:4"·class="idref"·href="#b2:4"><span·class="id"·title="binder">b2</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Bool.Bool.html#b1:3"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:4"><span·class="id"·title="variable">b2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Bool.Bool.html#b1:3"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:4"><span·class="id"·title="variable">b2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> |
96 | <br/> | 96 | <br/> |
97 | </div> | 97 | </div> |
98 | <div·class="doc"> | 98 | <div·class="doc"> |
99 | <a·id="lab | 99 | <a·id="lab693"></a><h1·class="section">Discrimination</h1> |
100 | </div> | 100 | </div> |
101 | <div·class="code"> | 101 | <div·class="code"> |
102 | <br/> | 102 | <br/> |
103 | <span·class="id"·title="keyword">Lemma</span>·<a·id="diff_true_false"·class="idref"·href="#diff_true_false"><span·class="id"·title="lemma">diff_true_false</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 103 | <span·class="id"·title="keyword">Lemma</span>·<a·id="diff_true_false"·class="idref"·href="#diff_true_false"><span·class="id"·title="lemma">diff_true_false</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> |
104 | #[<span·class="id"·title="var">global</span>]<br/> | 104 | #[<span·class="id"·title="var">global</span>]<br/> |
Offset 62, 15 lines modified | Offset 62, 15 lines modified | ||
62 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations"><span·class="id"·title="module">BoolNotations</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations"><span·class="id"·title="module">BoolNotations</span></a>.<br/> |
63 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">typeclass_instances</span>·<span·class="id"·title="var">relations</span>.<br/> | 63 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">typeclass_instances</span>·<span·class="id"·title="var">relations</span>.<br/> |
64 | <br/> | 64 | <br/> |
65 | </div> | 65 | </div> |
66 | <div·class="doc"> | 66 | <div·class="doc"> |
67 | <a·id="lab | 67 | <a·id="lab689"></a><h1·class="section">Order·<span·class="inlinecode"><span·class="id"·title="var">le</span></span></h1> |
68 | </div> | 68 | </div> |
69 | <div·class="code"> | 69 | <div·class="code"> |
70 | <br/> | 70 | <br/> |
71 | <span·class="id"·title="keyword">Lemma</span>·<a·id="le_refl"·class="idref"·href="#le_refl"><span·class="id"·title="lemma">le_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:1"·class="idref"·href="#b:1"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:1"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b6c5208a24d231af77d2816ac22122c4"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:1"><span·class="id"·title="variable">b</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Lemma</span>·<a·id="le_refl"·class="idref"·href="#le_refl"><span·class="id"·title="lemma">le_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:1"·class="idref"·href="#b:1"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:1"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b6c5208a24d231af77d2816ac22122c4"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:1"><span·class="id"·title="variable">b</span></a>.<br/> |
72 | · | 72 | · |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab727"></a><h1·class="section">Typeclass-based·setoids.·Definitions·on·<span·class="inlinecode"><span·class="id"·title="var">Equivalence</span></span>.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab712"></a><h1·class="section">Typeclass-based·morphism·definition·and·standard,·minimal·instances</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab717"></a><h1·class="section">Typeclass-based·relations,·tactics·and·standard·instances</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···This·is·the·basic·theory·needed·to·formalize·morphisms·and·setoids. | 51 | ···This·is·the·basic·theory·needed·to·formalize·morphisms·and·setoids. |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab708"></a><h1·class="section">A·typeclass·to·ease·the·handling·of·decidable·properties.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·A·proposition·is·decidable·whenever·it·is·reflected·by·a·boolean.· | 51 | ·A·proposition·is·decidable·whenever·it·is·reflected·by·a·boolean.· |
52 | </div> | 52 | </div> |
53 | <div·class="code"> | 53 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab723"></a><h1·class="section">Decidable·equivalences.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab721"></a><h1·class="section">Typeclass-based·setoids.·Definitions·on·<span·class="inlinecode"><span·class="id"·title="var">Equivalence</span></span>.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab724"></a><h1·class="section">Initialization·code·for·typeclasses,·setting·up·the·default·tactic</h1> |
50 | ···for·instance·search. | 50 | ···for·instance·search. |
51 | <div·class="paragraph">·</div> | 51 | <div·class="paragraph">·</div> |
52 | ···Author:·Matthieu·Sozeau | 52 | ···Author:·Matthieu·Sozeau |
53 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 53 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab715"></a><h1·class="section">Typeclass-based·morphism·definition·and·standard,·minimal·instances</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab726"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·instances·for·propositional·connectives.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab720"></a><h1·class="section">Morphism·instances·for·relations.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 103, 15 lines modified | Offset 103, 15 lines modified | ||
00000660:·226c·6962·7469·746c·6522·3e4c·6962·7261··"libtitle">Libra | 00000660:·226c·6962·7469·746c·6522·3e4c·6962·7261··"libtitle">Libra | ||
00000670:·7279·2043·6f71·2e43·6c61·7373·6573·2e52··ry·Coq.Classes.R | 00000670:·7279·2043·6f71·2e43·6c61·7373·6573·2e52··ry·Coq.Classes.R | ||
00000680:·656c·6174·696f·6e43·6c61·7373·6573·3c2f··elationClasses</ | 00000680:·656c·6174·696f·6e43·6c61·7373·6573·3c2f··elationClasses</ | ||
00000690:·6831·3e0a·0a3c·6469·7620·636c·6173·733d··h1>..<div·class= | 00000690:·6831·3e0a·0a3c·6469·7620·636c·6173·733d··h1>..<div·class= | ||
000006a0:·2263·6f64·6522·3e0a·0a3c·6272·2f3e·0a3c··"code">..<br/>.< | 000006a0:·2263·6f64·6522·3e0a·0a3c·6272·2f3e·0a3c··"code">..<br/>.< | ||
000006b0:·2f64·6976·3e0a·0a3c·6469·7620·636c·6173··/div>..<div·clas | 000006b0:·2f64·6976·3e0a·0a3c·6469·7620·636c·6173··/div>..<div·clas | ||
000006c0:·733d·2264·6f63·223e·0a3c·6120·6964·3d22··s="doc">.<a·id=" | 000006c0:·733d·2264·6f63·223e·0a3c·6120·6964·3d22··s="doc">.<a·id=" | ||
000006d0:·6c61·623 | 000006d0:·6c61·6237·3039·223e·3c2f·613e·3c68·3120··lab709"></a><h1· | ||
000006e0:·636c·6173·733d·2273·6563·7469·6f6e·223e··class="section"> | 000006e0:·636c·6173·733d·2273·6563·7469·6f6e·223e··class="section"> | ||
000006f0:·5479·7065·636c·6173·732d·6261·7365·6420··Typeclass-based· | 000006f0:·5479·7065·636c·6173·732d·6261·7365·6420··Typeclass-based· | ||
00000700:·7265·6c61·7469·6f6e·732c·2074·6163·7469··relations,·tacti | 00000700:·7265·6c61·7469·6f6e·732c·2074·6163·7469··relations,·tacti | ||
00000710:·6373·2061·6e64·2073·7461·6e64·6172·6420··cs·and·standard· | 00000710:·6373·2061·6e64·2073·7461·6e64·6172·6420··cs·and·standard· | ||
00000720:·696e·7374·616e·6365·733c·2f68·313e·0a0a··instances</h1>.. | 00000720:·696e·7374·616e·6365·733c·2f68·313e·0a0a··instances</h1>.. | ||
00000730:·0a3c·6469·7620·636c·6173·733d·2270·6172··.<div·class="par | 00000730:·0a3c·6469·7620·636c·6173·733d·2270·6172··.<div·class="par | ||
00000740:·6167·7261·7068·223e·203c·2f64·6976·3e0a··agraph">·</div>. | 00000740:·6167·7261·7068·223e·203c·2f64·6976·3e0a··agraph">·</div>. |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab714"></a><h1·class="section">Relations·over·pairs</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.SetoidList.html#"><span·class="id"·title="library">SetoidList</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.SetoidList.html#"><span·class="id"·title="library">SetoidList</span></a>.<br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relations.html#"><span·class="id"·title="library">Relations</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relations.html#"><span·class="id"·title="library">Relations</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab707"></a><h1·class="section">Typeclass-based·setoids,·tactics·and·standard·instances.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab725"></a><h1·class="section">Decidable·setoid·equality·theory.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab722"></a><h1·class="section">Tactics·for·typeclass-based·setoids.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ···Author:·Matthieu·Sozeau | 51 | ···Author:·Matthieu·Sozeau |
52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 52 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 47, 15 lines modified | Offset 47, 15 lines modified | ||
47 | <br/> | 47 | <br/> |
48 | <br/> | 48 | <br/> |
49 | </div> | 49 | </div> |
50 | <div·class="doc"> | 50 | <div·class="doc"> |
51 | <a·id="lab5 | 51 | <a·id="lab500"></a><h1·class="section">FMapAVL</h1> |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | ·This·module·implements·maps·using·AVL·trees. | 53 | ·This·module·implements·maps·using·AVL·trees. |
54 | ····It·follows·the·implementation·from·Ocaml's·standard·library. | 54 | ····It·follows·the·implementation·from·Ocaml's·standard·library. |
55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab572"></a><h1·class="section">Finite·maps·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>.·These | 51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>.·These |
52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>·written·using | 52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>·written·using |
53 | ··different·styles:·equivalence·and·boolean·equalities. | 53 | ··different·styles:·equivalence·and·boolean·equalities. |
Offset 47, 15 lines modified | Offset 47, 15 lines modified | ||
47 | <br/> | 47 | <br/> |
48 | <br/> | 48 | <br/> |
49 | </div> | 49 | </div> |
50 | <div·class="doc"> | 50 | <div·class="doc"> |
51 | <a·id="lab | 51 | <a·id="lab591"></a><h1·class="section">FMapFullAVL</h1> |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | ···This·file·contains·some·complements·to·<span·class="inlinecode"><span·class="id"·title="var">FMapAVL</span></span>. | 53 | ···This·file·contains·some·complements·to·<span·class="inlinecode"><span·class="id"·title="var">FMapAVL</span></span>. |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab444"></a><h1·class="section">Finite·map·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·proposes·interfaces·for·finite·maps· | 51 | ·This·file·proposes·interfaces·for·finite·maps· |
52 | </div> | 52 | </div> |
53 | <div·class="code"> | 53 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab450"></a><h1·class="section">Finite·map·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·proposes·an·implementation·of·the·non-dependent·interface | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent·interface |
52 | ·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>·using·lists·of·pairs·ordered·(increasing)·with·respect·to | 52 | ·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.S</span></span>·using·lists·of·pairs·ordered·(increasing)·with·respect·to |
53 | ·left·projection.· | 53 | ·left·projection.· |
54 | </div> | 54 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab590"></a><h1·class="section">FMapPositive·:·an·implementation·of·FMapInterface·for·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·keys.</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#"><span·class="id"·title="library">FMapInterface</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#"><span·class="id"·title="library">FMapInterface</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab462"></a><h1·class="section">Finite·map·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·proposes·an·implementation·of·the·non-dependent·interface | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent·interface |
52 | ·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.WS</span></span>·using·lists·of·pairs,·unordered·but·without·redundancy.· | 52 | ·<span·class="inlinecode"><span·class="id"·title="var">FMapInterface.WS</span></span>·using·lists·of·pairs,·unordered·but·without·redundancy.· |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab442"></a><h1·class="section">FSetAVL·:·Implementation·of·FSetInterface·via·AVL·trees</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·module·implements·finite·sets·using·AVL·trees. | 51 | ·This·module·implements·finite·sets·using·AVL·trees. |
52 | ····It·follows·the·implementation·from·Ocaml's·standard·library, | 52 | ····It·follows·the·implementation·from·Ocaml's·standard·library, |
53 | <div·class="paragraph">·</div> | 53 | <div·class="paragraph">·</div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab497"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·module·implements·bridges·(as·functors)·from·dependent | 51 | ·This·module·implements·bridges·(as·functors)·from·dependent |
52 | ····to/from·non-dependent·set·signature.· | 52 | ····to/from·non-dependent·set·signature.· |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab492"></a><h1·class="section">Compatibility·functors·between·FSetInterface·and·MSetInterface.</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#"><span·class="id"·title="library">FSetFacts</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#"><span·class="id"·title="library">MSetFacts</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#"><span·class="id"·title="library">FSetFacts</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#"><span·class="id"·title="library">MSetFacts</span></a>.<br/> |
54 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 54 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
Offset 71, 15 lines modified | Offset 71, 15 lines modified | ||
71 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun"·class="idref"·href="#WDecide_fun"><span·class="id"·title="module">WDecide_fun</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>·:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 71 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun"·class="idref"·href="#WDecide_fun"><span·class="id"·title="module">WDecide_fun</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>·:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#E"><span·class="id"·title="module">E</span></a>).<br/> |
72 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.F"·class="idref"·href="#WDecide_fun.F"><span·class="id"·title="module">F</span></a>·:=·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun"><span·class="id"·title="module">FSetFacts.WFacts_fun</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#E"><span·class="id"·title="module">E</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 72 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.F"·class="idref"·href="#WDecide_fun.F"><span·class="id"·title="module">F</span></a>·:=·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun"><span·class="id"·title="module">FSetFacts.WFacts_fun</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#E"><span·class="id"·title="module">E</span></a>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#M"><span·class="id"·title="module">M</span></a>.<br/> |
73 | <br/> | 73 | <br/> |
74 | </div> | 74 | </div> |
75 | <div·class="doc"> | 75 | <div·class="doc"> |
76 | <a·id="lab5 | 76 | <a·id="lab556"></a><h1·class="section">Overview</h1> |
77 | ····This·functor·defines·the·tactic·<span·class="inlinecode"><span·class="id"·title="var">fsetdec</span></span>,·which·will | 77 | ····This·functor·defines·the·tactic·<span·class="inlinecode"><span·class="id"·title="var">fsetdec</span></span>,·which·will |
78 | ····solve·any·valid·goal·of·the·form | 78 | ····solve·any·valid·goal·of·the·form |
79 | <pre> | 79 | <pre> |
80 | ····forall·s1·...·sn, | 80 | ····forall·s1·...·sn, |
81 | ····forall·x1·...·xm, | 81 | ····forall·x1·...·xm, |
82 | ····P1·->·...·->·Pk·->·P | 82 | ····P1·->·...·->·Pk·->·P |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab477"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·module·proves·many·properties·of·finite·sets·that | 51 | ·This·module·proves·many·properties·of·finite·sets·that |
52 | ····are·consequences·of·the·axiomatization·in·<span·class="inlinecode"><span·class="id"·title="var">FsetInterface</span></span> | 52 | ····are·consequences·of·the·axiomatization·in·<span·class="inlinecode"><span·class="id"·title="var">FsetInterface</span></span> |
53 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FsetProperties</span></span>·it·uses | 53 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FsetProperties</span></span>·it·uses |
54 | ····sets·operations·instead·of·predicates·over·sets,·i.e. | 54 | ····sets·operations·instead·of·predicates·over·sets,·i.e. |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab473"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>.·These | 51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>.·These |
52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>·written·using | 52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>·written·using |
53 | ··different·styles:·equivalence·and·boolean·equalities. | 53 | ··different·styles:·equivalence·and·boolean·equalities. |
54 | ··Moreover,·we·prove·that·<span·class="inlinecode"><span·class="id"·title="var">E.Eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·are·setoid·equalities. | 54 | ··Moreover,·we·prove·that·<span·class="inlinecode"><span·class="id"·title="var">E.Eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·are·setoid·equalities. |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab547"></a><h1·class="section">Finite·set·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·Set·interfaces,·inspired·by·the·one·of·Ocaml.·When·compared·with | 51 | ·Set·interfaces,·inspired·by·the·one·of·Ocaml.·When·compared·with |
52 | ····Ocaml,·the·main·differences·are: | 52 | ····Ocaml,·the·main·differences·are: |
53 | <ul·class="doclist"> | 53 | <ul·class="doclist"> |
54 | <li>·the·lack·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span>·function,·useless·since·Coq·is·purely·functional | 54 | <li>·the·lack·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span>·function,·useless·since·Coq·is·purely·functional |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab443"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent |
52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>·using·strictly·ordered·list.· | 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>·using·strictly·ordered·list.· |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab478"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·functor·derives·additional·properties·from·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>. | 51 | ·This·functor·derives·additional·properties·from·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.S</span></span>. |
52 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FSetEqProperties</span></span>·it·uses | 52 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FSetEqProperties</span></span>·it·uses |
53 | ····predicates·over·sets·instead·of·sets·operations,·i.e. | 53 | ····predicates·over·sets·instead·of·sets·operations,·i.e. |
54 | ····<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·instead·of·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span>=<span·class="id"·title="var">true</span></span>, | 54 | ····<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·instead·of·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span>=<span·class="id"·title="var">true</span></span>, |
Offset 45, 28 lines modified | Offset 45, 28 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab5 | 49 | <a·id="lab545"></a><h1·class="section">Finite·sets·library·:·conversion·to·old·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span></h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Sets.Ensembles.html#"><span·class="id"·title="library">Ensembles</span></a>·<a·class="idref"·href="Coq.Sets.Finite_sets.html#"><span·class="id"·title="library">Finite_sets</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Sets.Ensembles.html#"><span·class="id"·title="library">Ensembles</span></a>·<a·class="idref"·href="Coq.Sets.Finite_sets.html#"><span·class="id"·title="library">Finite_sets</span></a>.<br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#"><span·class="id"·title="library">FSetProperties</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.Structures.DecidableTypeEx.html#"><span·class="id"·title="library">DecidableTypeEx</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#"><span·class="id"·title="library">FSetProperties</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.Structures.DecidableTypeEx.html#"><span·class="id"·title="library">DecidableTypeEx</span></a>.<br/> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab5 | 58 | <a·id="lab546"></a><h1·class="section">Going·from·<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·with·usual·Leibniz·equality</h1> |
59 | ····to·the·good·old·<span·class="inlinecode"><span·class="id"·title="var">Ensembles</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span>·theory.· | 59 | ····to·the·good·old·<span·class="inlinecode"><span·class="id"·title="var">Ensembles</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span>·theory.· |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
62 | <br/> | 62 | <br/> |
63 | <span·class="id"·title="keyword">Module</span>·<a·id="WS_to_Finite_set"·class="idref"·href="#WS_to_Finite_set"><span·class="id"·title="module">WS_to_Finite_set</span></a>·(<span·class="id"·title="var">U</span>:<a·class="idref"·href="Coq.Structures.DecidableTypeEx.html#UsualDecidableType"><span·class="id"·title="module">UsualDecidableType</span></a>)(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetToFiniteSet.html#U"><span·class="id"·title="module">U</span></a>).<br/> | 63 | <span·class="id"·title="keyword">Module</span>·<a·id="WS_to_Finite_set"·class="idref"·href="#WS_to_Finite_set"><span·class="id"·title="module">WS_to_Finite_set</span></a>·(<span·class="id"·title="var">U</span>:<a·class="idref"·href="Coq.Structures.DecidableTypeEx.html#UsualDecidableType"><span·class="id"·title="module">UsualDecidableType</span></a>)(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetToFiniteSet.html#U"><span·class="id"·title="module">U</span></a>).<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab5 | 49 | <a·id="lab555"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent |
52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.WS</span></span>·using·lists·without·redundancy.· | 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.WS</span></span>·using·lists·without·redundancy.· |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab940"></a><h1·class="section">Properties·of·the·primitive·operators·for·the·Binary64·format</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Notation</span>·<a·id="valid_binary"·class="idref"·href="#valid_binary"><span·class="id"·title="abbreviation">valid_binary</span></a>·:=·(<a·class="idref"·href="Coq.Floats.SpecFloat.html#valid_binary"><span·class="id"·title="definition">valid_binary</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>).<br/> | 57 | <span·class="id"·title="keyword">Notation</span>·<a·id="valid_binary"·class="idref"·href="#valid_binary"><span·class="id"·title="abbreviation">valid_binary</span></a>·:=·(<a·class="idref"·href="Coq.Floats.SpecFloat.html#valid_binary"><span·class="id"·title="definition">valid_binary</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>).<br/> |
Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>·<a·class="idref"·href="Coq.Floats.FloatAxioms.html#"><span·class="id"·title="library">FloatAxioms</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>·<a·class="idref"·href="Coq.Floats.FloatAxioms.html#"><span·class="id"·title="library">FloatAxioms</span></a>.<br/> |
50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Psatz.html#"><span·class="id"·title="library">Psatz</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Psatz.html#"><span·class="id"·title="library">Psatz</span></a>.<br/> |
51 | <br/> | 51 | <br/> |
52 | </div> | 52 | </div> |
53 | <div·class="doc"> | 53 | <div·class="doc"> |
54 | <a·id="lab | 54 | <a·id="lab953"></a><h1·class="section">Support·results·involving·frexp·and·ldexp</h1> |
55 | </div> | 55 | </div> |
56 | <div·class="code"> | 56 | <div·class="code"> |
57 | <br/> | 57 | <br/> |
58 | <span·class="id"·title="keyword">Lemma</span>·<a·id="shift_value"·class="idref"·href="#shift_value"><span·class="id"·title="lemma">shift_value</span></a>·:·<a·class="idref"·href="Coq.Floats.FloatOps.html#shift"><span·class="id"·title="definition">shift</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(2<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>)%<span·class="id"·title="var">Z</span>.<br/> | 58 | <span·class="id"·title="keyword">Lemma</span>·<a·id="shift_value"·class="idref"·href="#shift_value"><span·class="id"·title="lemma">shift_value</span></a>·:·<a·class="idref"·href="Coq.Floats.FloatOps.html#shift"><span·class="id"·title="definition">shift</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(2<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>)%<span·class="id"·title="var">Z</span>.<br/> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab952"></a><h1·class="section">Derived·operations·and·mapping·between·primitive·<span·class="inlinecode"><span·class="id"·title="var">float</span></span>s·and·<span·class="inlinecode"><span·class="id"·title="var">spec_float</span></span>s</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Definition</span>·<a·id="prec"·class="idref"·href="#prec"><span·class="id"·title="definition">prec</span></a>·:=·53%<span·class="id"·title="var">Z</span>.<br/> | 57 | <span·class="id"·title="keyword">Definition</span>·<a·id="prec"·class="idref"·href="#prec"><span·class="id"·title="definition">prec</span></a>·:=·53%<span·class="id"·title="var">Z</span>.<br/> |
58 | <span·class="id"·title="keyword">Definition</span>·<a·id="emax"·class="idref"·href="#emax"><span·class="id"·title="definition">emax</span></a>·:=·1024%<span·class="id"·title="var">Z</span>.<br/> | 58 | <span·class="id"·title="keyword">Definition</span>·<a·id="emax"·class="idref"·href="#emax"><span·class="id"·title="definition">emax</span></a>·:=·1024%<span·class="id"·title="var">Z</span>.<br/> |
Offset 48, 24 lines modified | Offset 48, 24 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.PrimInt63.html#"><span·class="id"·title="library">PrimInt63</span></a>·<a·class="idref"·href="Coq.Floats.FloatClass.html#"><span·class="id"·title="library">FloatClass</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.PrimInt63.html#"><span·class="id"·title="library">PrimInt63</span></a>·<a·class="idref"·href="Coq.Floats.FloatClass.html#"><span·class="id"·title="library">FloatClass</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab941"></a><h1·class="section">Definition·of·the·interface·for·primitive·floating-point·arithmetic</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | This·interface·provides·processor·operators·for·the·Binary64·format·of·the | 55 | This·interface·provides·processor·operators·for·the·Binary64·format·of·the |
56 | IEEE·754-2008·standard.· | 56 | IEEE·754-2008·standard.· |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | <a·id="lab | 58 | <a·id="lab942"></a><h2·class="section">Type·definition·for·the·co-domain·of·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span></h2> |
59 | </div> | 59 | </div> |
60 | <div·class="code"> | 60 | <div·class="code"> |
61 | <span·class="id"·title="keyword">Variant</span>·<a·id="float_comparison"·class="idref"·href="#float_comparison"><span·class="id"·title="inductive">float_comparison</span></a>·:·<span·class="id"·title="keyword">Set</span>·:=·<a·id="FEq"·class="idref"·href="#FEq"><span·class="id"·title="constructor">FEq</span></a>·|·<a·id="FLt"·class="idref"·href="#FLt"><span·class="id"·title="constructor">FLt</span></a>·|·<a·id="FGt"·class="idref"·href="#FGt"><span·class="id"·title="constructor">FGt</span></a>·|·<a·id="FNotComparable"·class="idref"·href="#FNotComparable"><span·class="id"·title="constructor">FNotComparable</span></a>.<br/> | 61 | <span·class="id"·title="keyword">Variant</span>·<a·id="float_comparison"·class="idref"·href="#float_comparison"><span·class="id"·title="inductive">float_comparison</span></a>·:·<span·class="id"·title="keyword">Set</span>·:=·<a·id="FEq"·class="idref"·href="#FEq"><span·class="id"·title="constructor">FEq</span></a>·|·<a·id="FLt"·class="idref"·href="#FLt"><span·class="id"·title="constructor">FLt</span></a>·|·<a·id="FGt"·class="idref"·href="#FGt"><span·class="id"·title="constructor">FGt</span></a>·|·<a·id="FNotComparable"·class="idref"·href="#FNotComparable"><span·class="id"·title="constructor">FNotComparable</span></a>.<br/> |
62 | <br/> | 62 | <br/> |
63 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float_comparison</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">kernel.ind_f_cmp</span>.<br/> | 63 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float_comparison</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">kernel.ind_f_cmp</span>.<br/> |
Offset 48, 24 lines modified | Offset 48, 24 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Floats.FloatClass.html#"><span·class="id"·title="library">FloatClass</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Floats.FloatClass.html#"><span·class="id"·title="library">FloatClass</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab954"></a><h1·class="section">Specification·of·floating-point·arithmetic</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | This·specification·is·mostly·borrowed·from·the·<span·class="inlinecode"><span·class="id"·title="var">IEEE754.Binary</span></span>·module | 55 | This·specification·is·mostly·borrowed·from·the·<span·class="inlinecode"><span·class="id"·title="var">IEEE754.Binary</span></span>·module |
56 | of·the·Flocq·library·(see·<a·href="http://flocq.gforge.inria.fr/">http://flocq.gforge.inria.fr/</a>)· | 56 | of·the·Flocq·library·(see·<a·href="http://flocq.gforge.inria.fr/">http://flocq.gforge.inria.fr/</a>)· |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | <a·id="lab | 58 | <a·id="lab955"></a><h2·class="section">Inductive·specification·of·floating-point·numbers</h2> |
59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> |
60 | Similar·to·<span·class="inlinecode"><span·class="id"·title="var">Flocq.IEEE754.Binary.full_float</span></span>,·but·with·no·NaN·payload.· | 60 | Similar·to·<span·class="inlinecode"><span·class="id"·title="var">Flocq.IEEE754.Binary.full_float</span></span>,·but·with·no·NaN·payload.· |
61 | </div> | 61 | </div> |
62 | <div·class="code"> | 62 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab7 | 49 | <a·id="lab750"></a><h1·class="section">Bytes</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Coq.Init.Ltac</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Coq.Init.Ltac</span></a>.<br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#"><span·class="id"·title="library">Coq.Init.Datatypes</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#"><span·class="id"·title="library">Coq.Init.Datatypes</span></a>.<br/> |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Ltac</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Ltac</span></a>.<br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#"><span·class="id"·title="library">Logic</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#"><span·class="id"·title="library">Logic</span></a>.<br/> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab7 | 58 | <a·id="lab729"></a><h1·class="section">Datatypes·with·zero·and·one·element</h1> |
59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> |
60 | ·<span·class="inlinecode"><span·class="id"·title="var">Empty_set</span></span>·is·a·datatype·with·no·inhabitant· | 60 | ·<span·class="inlinecode"><span·class="id"·title="var">Empty_set</span></span>·is·a·datatype·with·no·inhabitant· |
61 | </div> | 61 | </div> |
62 | <div·class="code"> | 62 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab7 | 49 | <a·id="lab728"></a><h1·class="section">Decimal·numbers</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·These·numbers·coded·in·base·10·will·be·used·for·parsing·and·printing | 51 | ·These·numbers·coded·in·base·10·will·be·used·for·parsing·and·printing |
52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. | 52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. |
53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. | 53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. |
54 | ····We·represent·numbers·in·base·10·as·lists·of·decimal·digits, | 54 | ····We·represent·numbers·in·base·10·as·lists·of·decimal·digits, |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab7 | 49 | <a·id="lab755"></a><h1·class="section">Hexadecimal·numbers</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·These·numbers·coded·in·base·16·will·be·used·for·parsing·and·printing | 51 | ·These·numbers·coded·in·base·16·will·be·used·for·parsing·and·printing |
52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. | 52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. |
53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. | 53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. |
54 | ····We·represent·numbers·in·base·16·as·lists·of·hexadecimal·digits, | 54 | ····We·represent·numbers·in·base·16·as·lists·of·hexadecimal·digits, |
Offset 159, 15 lines modified | Offset 159, 15 lines modified | ||
000009e0:·7222·3e42·3c2f·7370·616e·3e29·203a·203c··r">B</span>)·:·< | 000009e0:·7222·3e42·3c2f·7370·616e·3e29·203a·203c··r">B</span>)·:·< | ||
000009f0:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | 000009f0:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00000a00:·7469·746c·653d·2276·6172·223e·7479·7065··title="var">type | 00000a00:·7469·746c·653d·2276·6172·223e·7479·7065··title="var">type | ||
00000a10:·5f73·636f·7065·3c2f·7370·616e·3e2e·3c62··_scope</span>.<b | 00000a10:·5f73·636f·7065·3c2f·7370·616e·3e2e·3c62··_scope</span>.<b | ||
00000a20:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | 00000a20:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | ||
00000a30:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | 00000a30:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | ||
00000a40:·6f63·223e·0a3c·6120·6964·3d22·6c61·6237··oc">.<a·id="lab7 | 00000a40:·6f63·223e·0a3c·6120·6964·3d22·6c61·6237··oc">.<a·id="lab7 | ||
00000a50:·3 | 00000a50:·3536·223e·3c2f·613e·3c68·3120·636c·6173··56"></a><h1·clas | ||
00000a60:·733d·2273·6563·7469·6f6e·223e·5072·6f70··s="section">Prop | 00000a60:·733d·2273·6563·7469·6f6e·223e·5072·6f70··s="section">Prop | ||
00000a70:·6f73·6974·696f·6e61·6c20·636f·6e6e·6563··ositional·connec | 00000a70:·6f73·6974·696f·6e61·6c20·636f·6e6e·6563··ositional·connec | ||
00000a80:·7469·7665·733c·2f68·313e·0a0a·3c64·6976··tives</h1>..<div | 00000a80:·7469·7665·733c·2f68·313e·0a0a·3c64·6976··tives</h1>..<div | ||
00000a90:·2063·6c61·7373·3d22·7061·7261·6772·6170···class="paragrap | 00000a90:·2063·6c61·7373·3d22·7061·7261·6772·6170···class="paragrap | ||
00000aa0:·6822·3e20·3c2f·6469·763e·0a0a·203c·7370··h">·</div>..·<sp | 00000aa0:·6822·3e20·3c2f·6469·763e·0a0a·203c·7370··h">·</div>..·<sp | ||
00000ab0:·616e·2063·6c61·7373·3d22·696e·6c69·6e65··an·class="inline | 00000ab0:·616e·2063·6c61·7373·3d22·696e·6c69·6e65··an·class="inline | ||
00000ac0:·636f·6465·223e·3c73·7061·6e20·636c·6173··code"><span·clas | 00000ac0:·636f·6465·223e·3c73·7061·6e20·636c·6173··code"><span·clas |
Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
50 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Init.Number.html#"><span·class="id"·title="library">Number</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Init.Number.html#"><span·class="id"·title="library">Number</span></a>.<br/> |
51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> |
52 | <br/> | 52 | <br/> |
53 | </div> | 53 | </div> |
54 | <div·class="doc"> | 54 | <div·class="doc"> |
55 | <a·id="lab7 | 55 | <a·id="lab736"></a><h1·class="section">Peano·natural·numbers,·definitions·of·operations</h1> |
56 | <div·class="paragraph">·</div> | 56 | <div·class="paragraph">·</div> |
57 | ·This·file·is·meant·to·be·used·as·a·whole·module, | 57 | ·This·file·is·meant·to·be·used·as·a·whole·module, |
58 | ····without·importing·it,·leading·to·qualified·definitions | 58 | ····without·importing·it,·leading·to·qualified·definitions |
59 | ····(e.g.·Nat.pred)· | 59 | ····(e.g.·Nat.pred)· |
60 | </div> | 60 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab7 | 49 | <a·id="lab751"></a><h1·class="section">Decimal·or·Hexadecimal·numbers</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>.<br/> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#"><span·class="id"·title="library">Logic</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#"><span·class="id"·title="library">Logic</span></a>.<br/> |
52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Specif.html#"><span·class="id"·title="library">Specif</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Specif.html#"><span·class="id"·title="library">Specif</span></a>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab7 | 56 | <a·id="lab753"></a><h1·class="section">Useful·tactics</h1> |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | ·Ex·falso·quodlibet·:·a·tactic·for·proving·False·instead·of·the·current·goal. | 58 | ·Ex·falso·quodlibet·:·a·tactic·for·proving·False·instead·of·the·current·goal. |
59 | ····This·is·just·a·nicer·name·for·tactics·such·as·<span·class="inlinecode"><span·class="id"·title="tactic">cut</span></span>·<span·class="inlinecode"><span·class="id"·title="var">False</span></span>.· | 59 | ····This·is·just·a·nicer·name·for·tactics·such·as·<span·class="inlinecode"><span·class="id"·title="tactic">cut</span></span>·<span·class="inlinecode"><span·class="id"·title="var">False</span></span>.· |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab7 | 49 | <a·id="lab735"></a><h1·class="section">The·tauto·and·intuition·tactics</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#"><span·class="id"·title="library">Notations</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#"><span·class="id"·title="library">Notations</span></a>.<br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Ltac</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Ltac.html#"><span·class="id"·title="library">Ltac</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab7 | 49 | <a·id="lab752"></a><h1·class="section">This·module·proves·the·validity·of</h1> |
50 | <ul·class="doclist"> | 50 | <ul·class="doclist"> |
51 | <li>·well-founded·recursion·(also·known·as·course·of·values) | 51 | <li>·well-founded·recursion·(also·known·as·course·of·values) |
52 | </li> | 52 | </li> |
53 | <li>·well-founded·induction | 53 | <li>·well-founded·induction |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab1 | 56 | <a·id="lab1198"></a><h1·class="section">Basics:·definition·of·polymorphic·lists·and·some·operations</h1> |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | ·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">list</span></span>·is·now·in·<span·class="inlinecode"><span·class="id"·title="var">Init</span>/<span·class="id"·title="var">Datatypes</span></span>, | 58 | ·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">list</span></span>·is·now·in·<span·class="inlinecode"><span·class="id"·title="var">Init</span>/<span·class="id"·title="var">Datatypes</span></span>, |
59 | ····as·well·as·the·definitions·of·<span·class="inlinecode"><span·class="id"·title="var">length</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">app</span></span>· | 59 | ····as·well·as·the·definitions·of·<span·class="inlinecode"><span·class="id"·title="var">length</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">app</span></span>· |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Lists.List.html#"><span·class="id"·title="library">List</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Lists.List.html#"><span·class="id"·title="library">List</span></a>.<br/> |
50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Sorting.Sorted.html#"><span·class="id"·title="library">Sorted</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Sorting.Sorted.html#"><span·class="id"·title="library">Sorted</span></a>.<br/> |
51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>.<br/> |
52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
53 | </div> | 53 | </div> |
54 | <div·class="doc"> | 54 | <div·class="doc"> |
55 | <a·id="lab1 | 55 | <a·id="lab1197"></a><h1·class="section">Logical·relations·over·lists·with·respect·to·a·setoid·equality</h1> |
56 | ······or·ordering.· | 56 | ······or·ordering.· |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | ·This·can·be·seen·as·a·complement·of·predicate·<span·class="inlinecode"><span·class="id"·title="var">lelistA</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">sort</span></span> | 58 | ·This·can·be·seen·as·a·complement·of·predicate·<span·class="inlinecode"><span·class="id"·title="var">lelistA</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">sort</span></span> |
59 | ····found·in·<span·class="inlinecode"><span·class="id"·title="var">Sorting</span></span>.· | 59 | ····found·in·<span·class="inlinecode"><span·class="id"·title="var">Sorting</span></span>.· |
60 | </div> | 60 | </div> |
Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Logic.Eqdep_dec.html#"><span·class="id"·title="library">Eqdep_dec</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Logic.Eqdep_dec.html#"><span·class="id"·title="library">Eqdep_dec</span></a>.<br/> |
50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.Streams.html#"><span·class="id"·title="library">Streams</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.Streams.html#"><span·class="id"·title="library">Streams</span></a>.<br/> |
51 | <br/> | 51 | <br/> |
52 | </div> | 52 | </div> |
53 | <div·class="doc"> | 53 | <div·class="doc"> |
54 | <a·id="lab1 | 54 | <a·id="lab1229"></a><h1·class="section">Memoization</h1> |
55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> |
56 | ·Successive·outputs·of·a·given·function·<span·class="inlinecode"><span·class="id"·title="var">f</span></span>·are·stored·in | 56 | ·Successive·outputs·of·a·given·function·<span·class="inlinecode"><span·class="id"·title="var">f</span></span>·are·stored·in |
57 | ····a·stream·in·order·to·avoid·duplicated·computations.· | 57 | ····a·stream·in·order·to·avoid·duplicated·computations.· |
58 | </div> | 58 | </div> |
59 | <div·class="code"> | 59 | <div·class="code"> |
Offset 46, 15 lines modified | Offset 46, 15 lines modified | ||
46 | <div·class="code"> | 46 | <div·class="code"> |
47 | <br/> | 47 | <br/> |
48 | </div> | 48 | </div> |
49 | <div·class="doc"> | 49 | <div·class="doc"> |
50 | Some·facts·and·definitions·concerning·choice·and·description·in | 50 | Some·facts·and·definitions·concerning·choice·and·description·in |
51 | ·······intuitionistic·logic.·<a·id="lab | 51 | ·······intuitionistic·logic.·<a·id="lab381"></a><h1·class="section">References:</h1> |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | <span·class="inlinecode">[<span·class="id"·title="var">Bell</span>]</span>·John·L.·Bell,·Choice·principles·in·intuitionistic·set·theory, | 53 | <span·class="inlinecode">[<span·class="id"·title="var">Bell</span>]</span>·John·L.·Bell,·Choice·principles·in·intuitionistic·set·theory, |
54 | unpublished. | 54 | unpublished. |
55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> |
Offset 129, 15 lines modified | Offset 129, 15 lines modified | ||
129 | <br/> | 129 | <br/> |
130 | <span·class="id"·title="keyword">Opaque</span>·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#epsilon"><span·class="id"·title="definition">epsilon</span></a>.<br/> | 130 | <span·class="id"·title="keyword">Opaque</span>·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#epsilon"><span·class="id"·title="definition">epsilon</span></a>.<br/> |
131 | <br/> | 131 | <br/> |
132 | </div> | 132 | </div> |
133 | <div·class="doc"> | 133 | <div·class="doc"> |
134 | <a·id="lab | 134 | <a·id="lab425"></a><h3·class="section">Weaker·lemmas·(compatibility·lemmas)</h3> |
135 | </div> | 135 | </div> |
136 | <div·class="code"> | 136 | <div·class="code"> |
137 | <br/> | 137 | <br/> |
138 | <span·class="id"·title="keyword">Theorem</span>·<a·id="choice"·class="idref"·href="#choice"><span·class="id"·title="lemma">choice</span></a>·:<br/> | 138 | <span·class="id"·title="keyword">Theorem</span>·<a·id="choice"·class="idref"·href="#choice"><span·class="id"·title="lemma">choice</span></a>·:<br/> |
139 | <span·class="id"·title="keyword">forall</span>·(<a·id="A:37"·class="idref"·href="#A:37"><span·class="id"·title="binder">A</span></a>·<a·id="B:38"·class="idref"·href="#B:38"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="R:39"·class="idref"·href="#R:39"><span·class="id"·title="binder">R</span></a>·:·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#A:37"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#B:38"><span·class="id"·title="variable">B</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>),<br/> | 139 | <span·class="id"·title="keyword">forall</span>·(<a·id="A:37"·class="idref"·href="#A:37"><span·class="id"·title="binder">A</span></a>·<a·id="B:38"·class="idref"·href="#B:38"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="R:39"·class="idref"·href="#R:39"><span·class="id"·title="binder">R</span></a>·:·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#A:37"><span·class="id"·title="variable">A</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#B:38"><span·class="id"·title="variable">B</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><span·class="id"·title="keyword">Prop</span>),<br/> |
Offset 110, 15 lines modified | Offset 110, 15 lines modified | ||
110 | <div·class="paragraph">·</div> | 110 | <div·class="paragraph">·</div> |
111 | 4.2·Classical·logic·=·choice·of·representatives·in·a·partition·of·bool | 111 | 4.2·Classical·logic·=·choice·of·representatives·in·a·partition·of·bool |
112 | <div·class="paragraph">·</div> | 112 | <div·class="paragraph">·</div> |
113 | <a·id="lab | 113 | <a·id="lab411"></a><h1·class="section">Prop·degeneracy·=·excluded-middle·+·prop·extensionality</h1> |
114 | <div·class="paragraph">·</div> | 114 | <div·class="paragraph">·</div> |
115 | ·i.e.········<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">True</span></span>·<span·class="inlinecode">\/</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">False</span>)</span> | 115 | ·i.e.········<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">True</span></span>·<span·class="inlinecode">\/</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">False</span>)</span> |
116 | ·························<span·class="inlinecode"><-></span> | 116 | ·························<span·class="inlinecode"><-></span> |
117 | ·······<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>\/~<span·class="id"·title="var">A</span>)</span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span>,</span>·<span·class="inlinecode">(<span·class="id"·title="var">A</span><-><span·class="id"·title="var">B</span>)</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">B</span>)</span> | 117 | ·······<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>\/~<span·class="id"·title="var">A</span>)</span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">(<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span>,</span>·<span·class="inlinecode">(<span·class="id"·title="var">A</span><-><span·class="id"·title="var">B</span>)</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span>=<span·class="id"·title="var">B</span>)</span> |
Offset 104, 15 lines modified | Offset 104, 15 lines modified | ||
104 | <div·class="code"> | 104 | <div·class="code"> |
105 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#"><span·class="id"·title="library">ClassicalFacts</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#"><span·class="id"·title="library">ChoiceFacts</span></a>.<br/> | 105 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#"><span·class="id"·title="library">ClassicalFacts</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#"><span·class="id"·title="library">ChoiceFacts</span></a>.<br/> |
106 | <br/> | 106 | <br/> |
107 | </div> | 107 | </div> |
108 | <div·class="doc"> | 108 | <div·class="doc"> |
109 | <a·id="lab | 109 | <a·id="lab427"></a><h1·class="section">Pred.·Ext.·+·Rel.·Axiom·of·Choice·->·Excluded-Middle</h1> |
110 | </div> | 110 | </div> |
111 | <div·class="code"> | 111 | <div·class="code"> |
112 | <br/> | 112 | <br/> |
113 | <span·class="id"·title="keyword">Section</span>·<a·id="PredExt_RelChoice_imp_EM"·class="idref"·href="#PredExt_RelChoice_imp_EM"><span·class="id"·title="section">PredExt_RelChoice_imp_EM</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Section</span>·<a·id="PredExt_RelChoice_imp_EM"·class="idref"·href="#PredExt_RelChoice_imp_EM"><span·class="id"·title="section">PredExt_RelChoice_imp_EM</span></a>.<br/> |
Offset 112, 15 lines modified | Offset 112, 15 lines modified | ||
112 | ···equalities·assuming·axiom·eq_rect_eq | 112 | ···equalities·assuming·axiom·eq_rect_eq |
113 | <div·class="paragraph">·</div> | 113 | <div·class="paragraph">·</div> |
114 | <div·class="paragraph">·</div> | 114 | <div·class="paragraph">·</div> |
115 | <a·id="lab | 115 | <a·id="lab373"></a><h1·class="section">Definition·of·dependent·equality·and·equivalence·with·equality·of·dependent·pairs</h1> |
116 | </div> | 116 | </div> |
117 | <div·class="code"> | 117 | <div·class="code"> |
118 | <br/> | 118 | <br/> |
119 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#EqNotations"><span·class="id"·title="module">EqNotations</span></a>.<br/> | 119 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Logic.html#EqNotations"><span·class="id"·title="module">EqNotations</span></a>.<br/> |
Offset 84, 15 lines modified | Offset 84, 15 lines modified | ||
84 | ·····from·a·proof·of·decidability·of·equality·for·a·set·in·Set | 84 | ·····from·a·proof·of·decidability·of·equality·for·a·set·in·Set |
85 | <div·class="paragraph">·</div> | 85 | <div·class="paragraph">·</div> |
86 | <div·class="paragraph">·</div> | 86 | <div·class="paragraph">·</div> |
87 | <a·id="lab | 87 | <a·id="lab365"></a><h1·class="section">Streicher's·K·and·injectivity·of·dependent·pair·hold·on·decidable·types</h1> |
88 | </div> | 88 | </div> |
89 | <div·class="code"> | 89 | <div·class="code"> |
90 | <br/> | 90 | <br/> |
91 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 91 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
Offset 101, 15 lines modified | Offset 101, 15 lines modified | ||
101 | <br/> | 101 | <br/> |
102 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 102 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
103 | <br/> | 103 | <br/> |
104 | </div> | 104 | </div> |
105 | <div·class="doc"> | 105 | <div·class="doc"> |
106 | <a·id="lab | 106 | <a·id="lab376"></a><h1·class="section">Definitions</h1> |
107 | <div·class="paragraph">·</div> | 107 | <div·class="paragraph">·</div> |
108 | ·Being·an·inverse· | 108 | ·Being·an·inverse· |
109 | </div> | 109 | </div> |
110 | <div·class="code"> | 110 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab426"></a><h1·class="section">Functions·on·finite·domains</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·Main·result·:·for·functions·<span·class="inlinecode"><span·class="id"·title="var">f</span>:<span·class="id"·title="var">A</span>-><span·class="id"·title="var">A</span></span>·with·finite·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>, | 51 | ·Main·result·:·for·functions·<span·class="inlinecode"><span·class="id"·title="var">f</span>:<span·class="id"·title="var">A</span>-><span·class="id"·title="var">A</span></span>·with·finite·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>, |
52 | ····f·injective·<->·f·bijective·<->·f·surjective.· | 52 | ····f·injective·<->·f·bijective·<->·f·surjective.· |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
Offset 172, 15 lines modified | Offset 172, 15 lines modified | ||
172 | <br/> | 172 | <br/> |
173 | <br/> | 173 | <br/> |
174 | </div> | 174 | </div> |
175 | <div·class="doc"> | 175 | <div·class="doc"> |
176 | <a·id="lab | 176 | <a·id="lab327"></a><h1·class="section">A·modular·proof·of·Hurkens's·paradox.</h1> |
177 | <div·class="paragraph">·</div> | 177 | <div·class="paragraph">·</div> |
178 | ·It·relies·on·an·axiomatisation·of·a·shallow·embedding·of·system·U- | 178 | ·It·relies·on·an·axiomatisation·of·a·shallow·embedding·of·system·U- |
179 | ····(i.e.··types·of·U-·are·interpreted·by·types·of·Coq).·The | 179 | ····(i.e.··types·of·U-·are·interpreted·by·types·of·Coq).·The |
180 | ····universes·are·encoded·in·a·style,·due·to·Martin-Löf,·where·they | 180 | ····universes·are·encoded·in·a·style,·due·to·Martin-Löf,·where·they |
181 | ····are·given·by·a·set·of·names·and·a·family·<span·class="inlinecode"><span·class="id"·title="var">El</span>:<span·class="id"·title="var">Name</span>-><span·class="id"·title="keyword">Type</span></span>·which | 181 | ····are·given·by·a·set·of·names·and·a·family·<span·class="inlinecode"><span·class="id"·title="var">El</span>:<span·class="id"·title="var">Name</span>-><span·class="id"·title="keyword">Type</span></span>·which |
Offset 113, 15 lines modified | Offset 113, 15 lines modified | ||
113 | <br/> | 113 | <br/> |
114 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 114 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
115 | <br/> | 115 | <br/> |
116 | </div> | 116 | </div> |
117 | <div·class="doc"> | 117 | <div·class="doc"> |
118 | <a·id="lab | 118 | <a·id="lab368"></a><h1·class="section">Definitions</h1> |
119 | <div·class="paragraph">·</div> | 119 | <div·class="paragraph">·</div> |
120 | ·Propositional·extensionality· | 120 | ·Propositional·extensionality· |
121 | </div> | 121 | </div> |
122 | <div·class="code"> | 122 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab410"></a><h1·class="section">Basic·facts·about·Prop·as·a·type</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·An·intuitionistic·theorem·from·topos·theory·<span·class="inlinecode">[<span·class="id"·title="var">LambekScott</span>]</span> | 51 | ·An·intuitionistic·theorem·from·topos·theory·<span·class="inlinecode">[<span·class="id"·title="var">LambekScott</span>]</span> |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab380"></a><h1·class="section">The·Set·universe·seen·as·a·synonym·for·Type</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·After·loading·this·file,·Set·becomes·just·another·name·for·Type. | 51 | ·After·loading·this·file,·Set·becomes·just·another·name·for·Type. |
52 | ····This·allows·easily·performing·a·Set-to-Type·migration,·or·at·least | 52 | ····This·allows·easily·performing·a·Set-to-Type·migration,·or·at·least |
53 | ····test·whether·a·development·relies·or·not·on·specific·features·of | 53 | ····test·whether·a·development·relies·or·not·on·specific·features·of |
54 | ····Set:·simply·insert·some·Require·Export·of·this·file·at·starting | 54 | ····Set:·simply·insert·some·Require·Export·of·this·file·at·starting |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab67"></a><h1·class="section">MSetAVL·:·Implementation·of·MSetInterface·via·AVL·trees</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·module·implements·finite·sets·using·AVL·trees. | 51 | ·This·module·implements·finite·sets·using·AVL·trees. |
52 | ····It·follows·the·implementation·from·Ocaml's·standard·library, | 52 | ····It·follows·the·implementation·from·Ocaml's·standard·library, |
53 | <div·class="paragraph">·</div> | 53 | <div·class="paragraph">·</div> |
Offset 71, 15 lines modified | Offset 71, 15 lines modified | ||
71 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn"·class="idref"·href="#WDecideOn"><span·class="id"·title="module">WDecideOn</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>·:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 71 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn"·class="idref"·href="#WDecideOn"><span·class="id"·title="module">WDecideOn</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>·:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#E"><span·class="id"·title="module">E</span></a>).<br/> |
72 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.F"·class="idref"·href="#WDecideOn.F"><span·class="id"·title="module">F</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn"><span·class="id"·title="module">MSetFacts.WFactsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#E"><span·class="id"·title="module">E</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 72 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.F"·class="idref"·href="#WDecideOn.F"><span·class="id"·title="module">F</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn"><span·class="id"·title="module">MSetFacts.WFactsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#E"><span·class="id"·title="module">E</span></a>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#M"><span·class="id"·title="module">M</span></a>.<br/> |
73 | <br/> | 73 | <br/> |
74 | </div> | 74 | </div> |
75 | <div·class="doc"> | 75 | <div·class="doc"> |
76 | <a·id="lab | 76 | <a·id="lab51"></a><h1·class="section">Overview</h1> |
77 | ····This·functor·defines·the·tactic·<span·class="inlinecode"><span·class="id"·title="var">fsetdec</span></span>,·which·will | 77 | ····This·functor·defines·the·tactic·<span·class="inlinecode"><span·class="id"·title="var">fsetdec</span></span>,·which·will |
78 | ····solve·any·valid·goal·of·the·form | 78 | ····solve·any·valid·goal·of·the·form |
79 | <pre> | 79 | <pre> |
80 | ····forall·s1·...·sn, | 80 | ····forall·s1·...·sn, |
81 | ····forall·x1·...·xm, | 81 | ····forall·x1·...·xm, |
82 | ····P1·->·...·->·Pk·->·P | 82 | ····P1·->·...·->·Pk·->·P |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab134"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·module·proves·many·properties·of·finite·sets·that | 51 | ·This·module·proves·many·properties·of·finite·sets·that |
52 | ····are·consequences·of·the·axiomatization·in·<span·class="inlinecode"><span·class="id"·title="var">FsetInterface</span></span> | 52 | ····are·consequences·of·the·axiomatization·in·<span·class="inlinecode"><span·class="id"·title="var">FsetInterface</span></span> |
53 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FsetProperties</span></span>·it·uses | 53 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">FsetProperties</span></span>·it·uses |
54 | ····sets·operations·instead·of·predicates·over·sets,·i.e. | 54 | ····sets·operations·instead·of·predicates·over·sets,·i.e. |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab127"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>.·These | 51 | ·This·functor·derives·additional·facts·from·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>.·These |
52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>·written·using | 52 | ··facts·are·mainly·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>·written·using |
53 | ··different·styles:·equivalence·and·boolean·equalities. | 53 | ··different·styles:·equivalence·and·boolean·equalities. |
54 | ··Moreover,·we·prove·that·<span·class="inlinecode"><span·class="id"·title="var">E.Eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·are·setoid·equalities. | 54 | ··Moreover,·we·prove·that·<span·class="inlinecode"><span·class="id"·title="var">E.Eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·are·setoid·equalities. |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab24"></a><h1·class="section">MSetGenTree·:·sets·via·generic·trees</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····This·module·factorizes·common·parts·in·implementations | 51 | ····This·module·factorizes·common·parts·in·implementations |
52 | ····of·finite·sets·as·AVL·trees·and·as·Red-Black·trees.·The·nodes | 52 | ····of·finite·sets·as·AVL·trees·and·as·Red-Black·trees.·The·nodes |
53 | ····of·the·trees·defined·here·include·an·generic·information | 53 | ····of·the·trees·defined·here·include·an·generic·information |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab101"></a><h1·class="section">Finite·set·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·Set·interfaces,·inspired·by·the·one·of·Ocaml.·When·compared·with | 51 | ·Set·interfaces,·inspired·by·the·one·of·Ocaml.·When·compared·with |
52 | ····Ocaml,·the·main·differences·are: | 52 | ····Ocaml,·the·main·differences·are: |
53 | <ul·class="doclist"> | 53 | <ul·class="doclist"> |
54 | <li>·the·lack·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span>·function,·useless·since·Coq·is·purely·functional | 54 | <li>·the·lack·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span>·function,·useless·since·Coq·is·purely·functional |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab177"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent |
52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>·using·strictly·ordered·list.· | 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>·using·strictly·ordered·list.· |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab108"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·functor·derives·additional·properties·from·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>. | 51 | ·This·functor·derives·additional·properties·from·<span·class="inlinecode"><span·class="id"·title="var">MSetInterface.S</span></span>. |
52 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">MSetEqProperties</span></span>·it·uses | 52 | ····Contrary·to·the·functor·in·<span·class="inlinecode"><span·class="id"·title="var">MSetEqProperties</span></span>·it·uses |
53 | ····predicates·over·sets·instead·of·sets·operations,·i.e. | 53 | ····predicates·over·sets·instead·of·sets·operations,·i.e. |
54 | ····<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·instead·of·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span>=<span·class="id"·title="var">true</span></span>, | 54 | ····<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·instead·of·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span>=<span·class="id"·title="var">true</span></span>, |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab135"></a><h1·class="section">MSetRBT·:·Implementation·of·MSetInterface·via·Red-Black·trees</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·Initial·author:·Andrew·W.·Appel,·2011. | 51 | ·Initial·author:·Andrew·W.·Appel,·2011. |
52 | ····Extra·modifications·by:·Pierre·Letouzey | 52 | ····Extra·modifications·by:·Pierre·Letouzey |
53 | <div·class="paragraph">·</div> | 53 | <div·class="paragraph">·</div> |
Offset 45, 28 lines modified | Offset 45, 28 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab132"></a><h1·class="section">Finite·sets·library·:·conversion·to·old·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span></h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Sets.Ensembles.html#"><span·class="id"·title="library">Ensembles</span></a>·<a·class="idref"·href="Coq.Sets.Finite_sets.html#"><span·class="id"·title="library">Finite_sets</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Sets.Ensembles.html#"><span·class="id"·title="library">Ensembles</span></a>·<a·class="idref"·href="Coq.Sets.Finite_sets.html#"><span·class="id"·title="library">Finite_sets</span></a>.<br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#"><span·class="id"·title="library">MSetProperties</span></a>·<a·class="idref"·href="Coq.Structures.OrdersEx.html#"><span·class="id"·title="library">OrdersEx</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#"><span·class="id"·title="library">MSetProperties</span></a>·<a·class="idref"·href="Coq.Structures.OrdersEx.html#"><span·class="id"·title="library">OrdersEx</span></a>.<br/> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab | 58 | <a·id="lab133"></a><h1·class="section">Going·from·<span·class="inlinecode"><span·class="id"·title="var">MSets</span></span>·with·usual·Leibniz·equality</h1> |
59 | ····to·the·good·old·<span·class="inlinecode"><span·class="id"·title="var">Ensembles</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span>·theory.· | 59 | ····to·the·good·old·<span·class="inlinecode"><span·class="id"·title="var">Ensembles</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Finite_sets</span></span>·theory.· |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
62 | <br/> | 62 | <br/> |
63 | <span·class="id"·title="keyword">Module</span>·<a·id="WS_to_Finite_set"·class="idref"·href="#WS_to_Finite_set"><span·class="id"·title="module">WS_to_Finite_set</span></a>·(<span·class="id"·title="var">U</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableType"><span·class="id"·title="module">UsualDecidableType</span></a>)(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetToFiniteSet.html#U"><span·class="id"·title="module">U</span></a>).<br/> | 63 | <span·class="id"·title="keyword">Module</span>·<a·id="WS_to_Finite_set"·class="idref"·href="#WS_to_Finite_set"><span·class="id"·title="module">WS_to_Finite_set</span></a>·(<span·class="id"·title="var">U</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableType"><span·class="id"·title="module">UsualDecidableType</span></a>)(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetToFiniteSet.html#U"><span·class="id"·title="module">U</span></a>).<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab122"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent |
52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">MSetWeakInterface.S</span></span>·using·lists·without·redundancy.· | 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">MSetWeakInterface.S</span></span>·using·lists·without·redundancy.· |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NMaxMin.html#"><span·class="id"·title="library">NMaxMin</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NProperties.html#"><span·class="id"·title="library">NProperties</span></a>.<br/> | 51 | <a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NMaxMin.html#"><span·class="id"·title="library">NMaxMin</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NProperties.html#"><span·class="id"·title="library">NProperties</span></a>.<br/> |
52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#"><span·class="id"·title="library">BinNatDef</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#"><span·class="id"·title="library">BinNatDef</span></a>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab2 | 56 | <a·id="lab262"></a><h1·class="section">Binary·natural·numbers,·operations·and·properties</h1> |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">N0</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Npos</span></span>·are·now | 58 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">N0</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Npos</span></span>·are·now |
59 | ····defined·in·<span·class="inlinecode"><span·class="id"·title="var">BinNums.v</span></span>· | 59 | ····defined·in·<span·class="inlinecode"><span·class="id"·title="var">BinNums.v</span></span>· |
60 | <div·class="paragraph">·</div> | 60 | <div·class="paragraph">·</div> |
Offset 57, 56 lines modified | Offset 57, 56 lines modified | ||
57 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>·1).<br/> | 57 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>·1).<br/> |
58 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'2'"·class="idref"·href="#:::'2'"><span·class="id"·title="notation">"</span></a>2"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>·2).<br/> | 58 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'2'"·class="idref"·href="#:::'2'"><span·class="id"·title="notation">"</span></a>2"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>·2).<br/> |
59 | <br/> | 59 | <br/> |
60 | </div> | 60 | </div> |
61 | <div·class="doc"> | 61 | <div·class="doc"> |
62 | <a·id="lab | 62 | <a·id="lab264"></a><h1·class="section">Binary·natural·numbers,·definitions·of·operations</h1> |
63 | </div> | 63 | </div> |
64 | <div·class="code"> | 64 | <div·class="code"> |
65 | <br/> | 65 | <br/> |
66 | <span·class="id"·title="keyword">Module</span>·<a·id="N"·class="idref"·href="#N"><span·class="id"·title="module">N</span></a>.<br/> | 66 | <span·class="id"·title="keyword">Module</span>·<a·id="N"·class="idref"·href="#N"><span·class="id"·title="module">N</span></a>.<br/> |
67 | <br/> | 67 | <br/> |
68 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.t"·class="idref"·href="#N.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#N"><span·class="id"·title="inductive">N</span></a>.<br/> | 68 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.t"·class="idref"·href="#N.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#N"><span·class="id"·title="inductive">N</span></a>.<br/> |
69 | <br/> | 69 | <br/> |
70 | </div> | 70 | </div> |
71 | <div·class="doc"> | 71 | <div·class="doc"> |
72 | <a·id="lab | 72 | <a·id="lab265"></a><h2·class="section">Nicer·name·<span·class="inlinecode"><span·class="id"·title="var">N.pos</span></span>·for·constructor·<span·class="inlinecode"><span·class="id"·title="var">Npos</span></span></h2> |
73 | </div> | 73 | </div> |
74 | <div·class="code"> | 74 | <div·class="code"> |
75 | <br/> | 75 | <br/> |
76 | <span·class="id"·title="keyword">Notation</span>·<a·id="N.pos"·class="idref"·href="#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Notation</span>·<a·id="N.pos"·class="idref"·href="#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Npos"><span·class="id"·title="constructor">Npos</span></a>.<br/> |
77 | <br/> | 77 | <br/> |
78 | </div> | 78 | </div> |
79 | <div·class="doc"> | 79 | <div·class="doc"> |
80 | <a·id="lab | 80 | <a·id="lab266"></a><h2·class="section">Constants</h2> |
81 | </div> | 81 | </div> |
82 | <div·class="code"> | 82 | <div·class="code"> |
83 | <br/> | 83 | <br/> |
84 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.zero"·class="idref"·href="#N.zero"><span·class="id"·title="definition">zero</span></a>·:=·0.<br/> | 84 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.zero"·class="idref"·href="#N.zero"><span·class="id"·title="definition">zero</span></a>·:=·0.<br/> |
85 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.one"·class="idref"·href="#N.one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> | 85 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.one"·class="idref"·href="#N.one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> |
86 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.two"·class="idref"·href="#N.two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> | 86 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.two"·class="idref"·href="#N.two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> |
87 | <br/> | 87 | <br/> |
88 | </div> | 88 | </div> |
89 | <div·class="doc"> | 89 | <div·class="doc"> |
90 | <a·id="lab | 90 | <a·id="lab267"></a><h2·class="section">Operation·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode">2*<span·class="id"·title="var">x</span>+1</span></h2> |
91 | </div> | 91 | </div> |
92 | <div·class="code"> | 92 | <div·class="code"> |
93 | <br/> | 93 | <br/> |
94 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ_double"·class="idref"·href="#N.succ_double"><span·class="id"·title="definition">succ_double</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> | 94 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ_double"·class="idref"·href="#N.succ_double"><span·class="id"·title="definition">succ_double</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> |
95 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 95 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#"><span·class="id"·title="library">BinPos</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#"><span·class="id"·title="library">BinNat</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>·<a·class="idref"·href="Coq.PArith.Pnat.html#"><span·class="id"·title="library">Pnat</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#"><span·class="id"·title="library">BinPos</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#"><span·class="id"·title="library">BinNat</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>·<a·class="idref"·href="Coq.PArith.Pnat.html#"><span·class="id"·title="library">Pnat</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab2 | 53 | <a·id="lab260"></a><h1·class="section">Conversions·from·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span></h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Module</span>·<a·id="N2Nat"·class="idref"·href="#N2Nat"><span·class="id"·title="module">N2Nat</span></a>.<br/> | 57 | <span·class="id"·title="keyword">Module</span>·<a·id="N2Nat"·class="idref"·href="#N2Nat"><span·class="id"·title="module">N2Nat</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1259"></a><h1·class="section">Alternative·Binary·Number·Notations</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·Faster·but·less·safe·parsers·and·printers·of·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>.· | 51 | ·Faster·but·less·safe·parsers·and·printers·of·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>.· |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | ·By·default,·literals·in·types·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·are·parsed·and | 53 | ·By·default,·literals·in·types·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·are·parsed·and |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1234"></a><h1·class="section">Binary·Numerical·Datatypes</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 53 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1284"></a><h1·class="section">Signature·and·specification·of·bounded·integers</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·specifies·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>-bit·integers·as·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·with·<span·class="inlinecode"><span·class="id"·title="var">n</span>=2^<span·class="id"·title="var">d</span></span>· | 51 | ·This·file·specifies·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>-bit·integers·as·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·with·<span·class="inlinecode"><span·class="id"·title="var">n</span>=2^<span·class="id"·title="var">d</span></span>· |
52 | </div> | 52 | </div> |
53 | <div·class="code"> | 53 | <div·class="code"> |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab | 58 | <a·id="lab1283"></a><h1·class="section">From·<span·class="inlinecode"><span·class="id"·title="var">CyclicType</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">NZAxiomsSig</span></span></h1> |
59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> |
60 | ·A·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·representation·given·by·a·module·type·<span·class="inlinecode"><span·class="id"·title="var">CyclicType</span></span> | 60 | ·A·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·representation·given·by·a·module·type·<span·class="inlinecode"><span·class="id"·title="var">CyclicType</span></span> |
61 | ····implements·<span·class="inlinecode"><span·class="id"·title="var">NZAxiomsSig</span></span>,·e.g.·the·common·properties·between | 61 | ····implements·<span·class="inlinecode"><span·class="id"·title="var">NZAxiomsSig</span></span>,·e.g.·the·common·properties·between |
62 | ····N·and·Z·with·no·ordering.·Notice·that·the·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·in·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·is | 62 | ····N·and·Z·with·no·ordering.·Notice·that·the·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·in·<span·class="inlinecode"><span·class="id"·title="var">Z</span>/<span·class="id"·title="var">nZ</span></span>·is |
63 | ····a·power·of·2. | 63 | ····a·power·of·2. |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab | 58 | <a·id="lab1269"></a><h1·class="section">Int31·numbers·defines·indeed·a·cyclic·structure·:·Z/(2^31)Z</h1> |
59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> |
60 | <div·class="paragraph">·</div> | 60 | <div·class="paragraph">·</div> |
61 | Author:·Arnaud·Spiwack·(+·Pierre·Letouzey) | 61 | Author:·Arnaud·Spiwack·(+·Pierre·Letouzey) |
Offset 61, 15 lines modified | Offset 61, 15 lines modified | ||
61 | <br/> | 61 | <br/> |
62 | <br/> | 62 | <br/> |
63 | </div> | 63 | </div> |
64 | <div·class="doc"> | 64 | <div·class="doc"> |
65 | <a·id="lab | 65 | <a·id="lab1260"></a><h1·class="section">31-bit·integers</h1> |
66 | <div·class="paragraph">·</div> | 66 | <div·class="paragraph">·</div> |
67 | ·This·file·contains·basic·definitions·of·a·31-bit·integer | 67 | ·This·file·contains·basic·definitions·of·a·31-bit·integer |
68 | ··arithmetic.·In·fact·it·is·more·general·than·that.·The·only·reason | 68 | ··arithmetic.·In·fact·it·is·more·general·than·that.·The·only·reason |
69 | ··for·this·use·of·31·is·the·underlying·mechanism·for·hardware-efficient | 69 | ··for·this·use·of·31·is·the·underlying·mechanism·for·hardware-efficient |
70 | ··computations·by·A.·Spiwack.·Apart·from·this,·a·switch·to,·say, | 70 | ··computations·by·A.·Spiwack.·Apart·from·this,·a·switch·to,·say, |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab | 58 | <a·id="lab1282"></a><h1·class="section">Int31·numbers·defines·Z/(2^31)Z,·and·can·hence·be·equipped</h1> |
59 | ······with·a·ring·structure·and·a·ring·tactic· | 59 | ······with·a·ring·structure·and·a·ring·tactic· |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
62 | <br/> | 62 | <br/> |
63 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int31.Int31.html#"><span·class="id"·title="library">Int31</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int31.Cyclic31.html#"><span·class="id"·title="library">Cyclic31</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> | 63 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int31.Int31.html#"><span·class="id"·title="library">Int31</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int31.Cyclic31.html#"><span·class="id"·title="library">Cyclic31</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1285"></a><h1·class="section">Uint63·numbers·defines·indeed·a·cyclic·structure·:·Z/(2^63)Z</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | <div·class="paragraph">·</div> | 51 | <div·class="paragraph">·</div> |
52 | Author:·Arnaud·Spiwack·(+·Pierre·Letouzey) | 52 | Author:·Arnaud·Spiwack·(+·Pierre·Letouzey) |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1286"></a><h1·class="section">Uint63·numbers·defines·Z/(2^63)Z,·and·can·hence·be·equipped</h1> |
50 | ······with·a·ring·structure·and·a·ring·tactic· | 50 | ······with·a·ring·structure·and·a·ring·tactic· |
51 | </div> | 51 | </div> |
52 | <div·class="code"> | 52 | <div·class="code"> |
53 | <br/> | 53 | <br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Cyclic63.html#"><span·class="id"·title="library">Cyclic63</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Cyclic63.html#"><span·class="id"·title="library">Cyclic63</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html#"><span·class="id"·title="library">CyclicAxioms</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1287"></a><h1·class="section">Type·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·viewed·modulo·<span·class="inlinecode">2^<span·class="id"·title="var">d</span></span>·implements·CyclicAxioms.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·library·has·been·deprecated·since·Coq·version·8.17.· | 51 | ·This·library·has·been·deprecated·since·Coq·version·8.17.· |
52 | </div> | 52 | </div> |
53 | <div·class="code"> | 53 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1243"></a><h1·class="section">DecimalFacts·:·some·facts·about·Decimal·numbers</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1256"></a><h1·class="section">DecimalN</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span> |
52 | ····are·bijections· | 52 | ····are·bijections· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1245"></a><h1·class="section">DecimalNat</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1244"></a><h1·class="section">DecimalPos</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1258"></a><h1·class="section">DecimalQ</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1307"></a><h1·class="section">DecimalR</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">R</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">R</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Decimal.html#"><span·class="id"·title="library">Decimal</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab2 | 53 | <a·id="lab1232"></a><h1·class="section">Conversion·between·decimal·numbers·and·Coq·strings</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | ·Pretty·straightforward,·which·is·precisely·the·point·of·the | 55 | ·Pretty·straightforward,·which·is·precisely·the·point·of·the |
56 | ····<span·class="inlinecode"><span·class="id"·title="var">Decimal.int</span></span>·datatype.·The·only·catch·is·<span·class="inlinecode"><span·class="id"·title="var">Decimal.Nil</span></span>·:·we·could | 56 | ····<span·class="inlinecode"><span·class="id"·title="var">Decimal.int</span></span>·datatype.·The·only·catch·is·<span·class="inlinecode"><span·class="id"·title="var">Decimal.Nil</span></span>·:·we·could |
57 | ····choose·to·convert·it·as·<span·class="inlinecode">""</span>·or·as·<span·class="inlinecode">"0"</span>.·In·the·first·case,·it·is | 57 | ····choose·to·convert·it·as·<span·class="inlinecode">""</span>·or·as·<span·class="inlinecode">"0"</span>.·In·the·first·case,·it·is |
58 | ····awkward·to·consider·""·(or·"-")·as·a·number,·while·in·the·second·case | 58 | ····awkward·to·consider·""·(or·"-")·as·a·number,·while·in·the·second·case |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1246"></a><h1·class="section">DecimalZ</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1231"></a><h1·class="section">HexadecimalFacts·:·some·facts·about·Hexadecimal·numbers</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1257"></a><h1·class="section">HexadecimalN</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span> |
52 | ····are·bijections· | 52 | ····are·bijections· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab3 | 49 | <a·id="lab1305"></a><h1·class="section">HexadecimalNat</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1255"></a><h1·class="section">HexadecimalPos</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1233"></a><h1·class="section">HexadecimalQ</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1306"></a><h1·class="section">HexadecimalR</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">R</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">R</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Hexadecimal.html#"><span·class="id"·title="library">Hexadecimal</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab3 | 53 | <a·id="lab1304"></a><h1·class="section">Conversion·between·hexadecimal·numbers·and·Coq·strings</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | ·Pretty·straightforward,·which·is·precisely·the·point·of·the | 55 | ·Pretty·straightforward,·which·is·precisely·the·point·of·the |
56 | ····<span·class="inlinecode"><span·class="id"·title="var">Hexadecimal.int</span></span>·datatype.·The·only·catch·is·<span·class="inlinecode"><span·class="id"·title="var">Hexadecimal.Nil</span></span>·:·we·could | 56 | ····<span·class="inlinecode"><span·class="id"·title="var">Hexadecimal.int</span></span>·datatype.·The·only·catch·is·<span·class="inlinecode"><span·class="id"·title="var">Hexadecimal.Nil</span></span>·:·we·could |
57 | ····choose·to·convert·it·as·<span·class="inlinecode">""</span>·or·as·<span·class="inlinecode">"0"</span>.·In·the·first·case,·it·is | 57 | ····choose·to·convert·it·as·<span·class="inlinecode">""</span>·or·as·<span·class="inlinecode">"0"</span>.·In·the·first·case,·it·is |
58 | ····awkward·to·consider·""·(or·"-")·as·a·number,·while·in·the·second·case | 58 | ····awkward·to·consider·""·(or·"-")·as·a·number,·while·in·the·second·case |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab2 | 49 | <a·id="lab1242"></a><h1·class="section">HexadecimalZ</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 469, 15 lines modified | Offset 469, 15 lines modified | ||
469 | <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:114"·class="idref"·href="#n:114"><span·class="id"·title="binder">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="m:115"·class="idref"·href="#m:115"><span·class="id"·title="binder">m</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#n:114"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZBits.html#08f35bb78d3f8b8e58903b9564c9213c"><span·class="id"·title="notation">.[</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZBits.html#08f35bb78d3f8b8e58903b9564c9213c"><span·class="id"·title="notation">]</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a><br/> | 469 | <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:114"·class="idref"·href="#n:114"><span·class="id"·title="binder">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="m:115"·class="idref"·href="#m:115"><span·class="id"·title="binder">m</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#n:114"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZBits.html#08f35bb78d3f8b8e58903b9564c9213c"><span·class="id"·title="notation">.[</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:115"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZBits.html#08f35bb78d3f8b8e58903b9564c9213c"><span·class="id"·title="notation">]</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a><br/> |
470 | <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="k:116"·class="idref"·href="#k:116"><span·class="id"·title="binder">k</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="m:117"·class="idref"·href="#m:117"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#k:116"><span·class="id"·title="variable">k</span></a><a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:117"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:117"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#k:116"><span·class="id"·title="variable">k</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>.<br/> | 470 | <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="k:116"·class="idref"·href="#k:116"><span·class="id"·title="binder">k</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="m:117"·class="idref"·href="#m:117"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#k:116"><span·class="id"·title="variable">k</span></a><a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:117"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#m:117"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#f:113"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZBits.html#k:116"><span·class="id"·title="variable">k</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">)</span></a>.<br/> |
471 | <br/> | 471 | <br/> |
472 | </div> | 472 | </div> |
473 | <div·class="doc"> | 473 | <div·class="doc"> |
474 | <a·id="lab | 474 | <a·id="lab1294"></a><h1·class="section">Properties·of·shifts</h1> |
475 | <div·class="paragraph">·</div> | 475 | <div·class="paragraph">·</div> |
476 | ·First,·a·unified·specification·for·<span·class="inlinecode"><span·class="id"·title="var">shiftl</span></span>·:·the·<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec</span></span> | 476 | ·First,·a·unified·specification·for·<span·class="inlinecode"><span·class="id"·title="var">shiftl</span></span>·:·the·<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec</span></span> |
477 | ···below·(combined·with·<span·class="inlinecode"><span·class="id"·title="var">testbit_neg_r</span></span>)·is·equivalent·to | 477 | ···below·(combined·with·<span·class="inlinecode"><span·class="id"·title="var">testbit_neg_r</span></span>)·is·equivalent·to |
478 | ···<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec_low</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec_high</span></span>.· | 478 | ···<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec_low</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">shiftl_spec_high</span></span>.· |
479 | </div> | 479 | </div> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab1296"></a><h1·class="section">Euclidean·Division·for·integers,·Euclid·convention</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | ····We·use·here·the·"usual"·formulation·of·the·Euclid·Theorem | 55 | ····We·use·here·the·"usual"·formulation·of·the·Euclid·Theorem |
56 | ····<span·class="inlinecode"><span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">b</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">b</span><>0</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="tactic">exists</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><span·class="id"·title="var">q</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">b</span>*<span·class="id"·title="var">q</span>+<span·class="id"·title="var">r</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">0</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">|<span·class="id"·title="var">b</span>|</span>·<span·class="inlinecode"></span> | 56 | ····<span·class="inlinecode"><span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">b</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">b</span><>0</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="tactic">exists</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><span·class="id"·title="var">q</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">b</span>*<span·class="id"·title="var">q</span>+<span·class="id"·title="var">r</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">0</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">|<span·class="id"·title="var">b</span>|</span>·<span·class="inlinecode"></span> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab3 | 53 | <a·id="lab1300"></a><h1·class="section">Euclidean·Division·for·integers·(Floor·convention)</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | ····We·use·here·the·convention·known·as·Floor,·or·Round-Toward-Bottom, | 55 | ····We·use·here·the·convention·known·as·Floor,·or·Round-Toward-Bottom, |
56 | ····where·<span·class="inlinecode"><span·class="id"·title="var">a</span>/<span·class="id"·title="var">b</span></span>·is·the·closest·integer·below·the·exact·fraction. | 56 | ····where·<span·class="inlinecode"><span·class="id"·title="var">a</span>/<span·class="id"·title="var">b</span></span>·is·the·closest·integer·below·the·exact·fraction. |
57 | ····It·can·be·summarized·by: | 57 | ····It·can·be·summarized·by: |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab1289"></a><h1·class="section">Euclidean·Division·for·integers·(Trunc·convention)</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | ····We·use·here·the·convention·known·as·Trunc,·or·Round-Toward-Zero, | 55 | ····We·use·here·the·convention·known·as·Trunc,·or·Round-Toward-Zero, |
56 | ····where·<span·class="inlinecode"><span·class="id"·title="var">a</span>/<span·class="id"·title="var">b</span></span>·is·the·integer·with·the·largest·absolute·value·to | 56 | ····where·<span·class="inlinecode"><span·class="id"·title="var">a</span>/<span·class="id"·title="var">b</span></span>·is·the·integer·with·the·largest·absolute·value·to |
57 | ····be·between·zero·and·the·exact·fraction.·It·can·be·summarized·by: | 57 | ····be·between·zero·and·the·exact·fraction.·It·can·be·summarized·by: |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZGcd.html#"><span·class="id"·title="library">ZGcd</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#"><span·class="id"·title="library">ZDivTrunc</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#"><span·class="id"·title="library">ZDivFloor</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZSgnAbs.html#"><span·class="id"·title="library">ZSgnAbs</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZGcd.html#"><span·class="id"·title="library">ZGcd</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#"><span·class="id"·title="library">ZDivTrunc</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#"><span·class="id"·title="library">ZDivFloor</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab1295"></a><h1·class="section">Least·Common·Multiple</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of | 55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of |
56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the | 56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the |
57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition | 57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition |
58 | ··of·lcm·via·gcd·is·quite·reasonable. | 58 | ··of·lcm·via·gcd·is·quite·reasonable. |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#"><span·class="id"·title="library">ZMulOrder</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab1293"></a><h1·class="section">Properties·of·minimum·and·maximum·specific·to·integer·numbers</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="ZMaxMinProp"·class="idref"·href="#ZMaxMinProp"><span·class="id"·title="module">ZMaxMinProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">Z</span>·:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#ZAxiomsMiniSig'"><span·class="id"·title="module">ZAxiomsMiniSig'</span></a>).<br/> | 57 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="ZMaxMinProp"·class="idref"·href="#ZMaxMinProp"><span·class="id"·title="module">ZMaxMinProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">Z</span>·:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#ZAxiomsMiniSig'"><span·class="id"·title="module">ZAxiomsMiniSig'</span></a>).<br/> |
58 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#ZMulOrderProp"><span·class="id"·title="module">ZMulOrderProp</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMaxMin.html#Z"><span·class="id"·title="module">Z</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMulOrder.html#ZMulOrderProp"><span·class="id"·title="module">ZMulOrderProp</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZMaxMin.html#Z"><span·class="id"·title="module">Z</span></a>.<br/> |
Offset 65, 15 lines modified | Offset 65, 15 lines modified | ||
65 | <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 65 | <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> |
66 | :=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z"><span·class="id"·title="module">BinInt.Z</span></a>.<br/> | 66 | :=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z"><span·class="id"·title="module">BinInt.Z</span></a>.<br/> |
67 | <br/> | 67 | <br/> |
68 | </div> | 68 | </div> |
69 | <div·class="doc"> | 69 | <div·class="doc"> |
70 | <a·id="lab | 70 | <a·id="lab1288"></a><h1·class="section">An·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic·for·integers</h1> |
71 | </div> | 71 | </div> |
72 | <div·class="code"> | 72 | <div·class="code"> |
73 | <br/> | 73 | <br/> |
74 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">z_order</span>·:=·<span·class="id"·title="var">Z.order</span>.<br/> | 74 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">z_order</span>·:=·<span·class="id"·title="var">Z.order</span>.<br/> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.List.html#"><span·class="id"·title="library">List</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Lists.List.html#"><span·class="id"·title="library">List</span></a>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab2 | 56 | <a·id="lab1235"></a><h1·class="section">Generic·dependently-typed·operators·about·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>-ary·functions</h1> |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | ·The·type·of·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>-ary·function:·<span·class="inlinecode"><span·class="id"·title="var">nfun</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span></span>·is | 58 | ·The·type·of·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>-ary·function:·<span·class="inlinecode"><span·class="id"·title="var">nfun</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span></span>·is |
59 | ····<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode">...</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span></span>·with·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·occurrences·of·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·in·this·type.· | 59 | ····<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode">...</span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode">-></span>·<span·class="inlinecode"><span·class="id"·title="var">B</span></span>·with·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·occurrences·of·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·in·this·type.· |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
Offset 186, 15 lines modified | Offset 186, 15 lines modified | ||
186 | <br/> | 186 | <br/> |
187 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZDivProp.mod_small"·class="idref"·href="#NZDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:41"·class="idref"·href="#a:41"><span·class="id"·title="binder">a</span></a>·<a·id="b:42"·class="idref"·href="#b:42"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:41"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:42"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:41"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:42"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:41"><span·class="id"·title="variable">a</span></a>.<br/> | 187 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZDivProp.mod_small"·class="idref"·href="#NZDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:41"·class="idref"·href="#a:41"><span·class="id"·title="binder">a</span></a>·<a·id="b:42"·class="idref"·href="#b:42"><span·class="id"·title="binder">b</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:41"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:42"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:41"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:42"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:41"><span·class="id"·title="variable">a</span></a>.<br/> |
188 | <br/> | 188 | <br/> |
189 | </div> | 189 | </div> |
190 | <div·class="doc"> | 190 | <div·class="doc"> |
191 | <a·id="lab2 | 191 | <a·id="lab1247"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> |
192 | </div> | 192 | </div> |
193 | <div·class="code"> | 193 | <div·class="code"> |
194 | <br/> | 194 | <br/> |
195 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.div_0_l"·class="idref"·href="#NZDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:43"·class="idref"·href="#a:43"><span·class="id"·title="binder">a</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:43"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:43"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 195 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.div_0_l"·class="idref"·href="#NZDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:43"·class="idref"·href="#a:43"><span·class="id"·title="binder">a</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:43"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:43"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> |
Offset 72, 15 lines modified | Offset 72, 15 lines modified | ||
72 | <span·class="id"·title="keyword">Module</span>·<a·id="NZDomainProp"·class="idref"·href="#NZDomainProp"><span·class="id"·title="module">NZDomainProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZ</span>:<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZDomainSig'"><span·class="id"·title="module">NZDomainSig'</span></a>).<br/> | 72 | <span·class="id"·title="keyword">Module</span>·<a·id="NZDomainProp"·class="idref"·href="#NZDomainProp"><span·class="id"·title="module">NZDomainProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZ</span>:<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZDomainSig'"><span·class="id"·title="module">NZDomainSig'</span></a>).<br/> |
73 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZBase.html#NZBaseProp"><span·class="id"·title="module">NZBaseProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ"><span·class="id"·title="module">NZ</span></a>.<br/> | 73 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZBase.html#NZBaseProp"><span·class="id"·title="module">NZBaseProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ"><span·class="id"·title="module">NZ</span></a>.<br/> |
74 | <br/> | 74 | <br/> |
75 | </div> | 75 | </div> |
76 | <div·class="doc"> | 76 | <div·class="doc"> |
77 | <a·id="lab2 | 77 | <a·id="lab1250"></a><h1·class="section">Relationship·between·points·thanks·to·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">pred</span></span>.</h1> |
78 | <div·class="paragraph">·</div> | 78 | <div·class="paragraph">·</div> |
79 | ·For·any·two·points,·one·is·an·iterated·successor·of·the·other.· | 79 | ·For·any·two·points,·one·is·an·iterated·successor·of·the·other.· |
80 | </div> | 80 | </div> |
81 | <div·class="code"> | 81 | <div·class="code"> |
Offset 414, 15 lines modified | Offset 414, 15 lines modified | ||
414 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZPow.html#NZPowProp"><span·class="id"·title="module">NZPowProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#D"><span·class="id"·title="module">D</span></a>)<br/> | 414 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZPow.html#NZPowProp"><span·class="id"·title="module">NZPowProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#D"><span·class="id"·title="module">D</span></a>)<br/> |
415 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">F</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#NZLog2Prop"><span·class="id"·title="module">NZLog2Prop</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#C"><span·class="id"·title="module">C</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#D"><span·class="id"·title="module">D</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 415 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">F</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#NZLog2Prop"><span·class="id"·title="module">NZLog2Prop</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#C"><span·class="id"·title="module">C</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#D"><span·class="id"·title="module">D</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZLog.html#E"><span·class="id"·title="module">E</span></a>).<br/> |
416 | <br/> | 416 | <br/> |
417 | </div> | 417 | </div> |
418 | <div·class="doc"> | 418 | <div·class="doc"> |
419 | <a·id="lab2 | 419 | <a·id="lab1254"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">log2_up</span></span>·:·a·binary·logarithm·that·rounds·up·instead·of·down</h1> |
420 | <div·class="paragraph">·</div> | 420 | <div·class="paragraph">·</div> |
421 | ·For·once,·we·define·instead·of·axiomatizing,·thanks·to·log2· | 421 | ·For·once,·we·define·instead·of·axiomatizing,·thanks·to·log2· |
422 | </div> | 422 | </div> |
423 | <div·class="code"> | 423 | <div·class="code"> |
Offset 344, 15 lines modified | Offset 344, 15 lines modified | ||
344 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">C</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZMulOrder.html#NZMulOrderProp"><span·class="id"·title="module">NZMulOrderProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#A"><span·class="id"·title="module">A</span></a>)<br/> | 344 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">C</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZMulOrder.html#NZMulOrderProp"><span·class="id"·title="module">NZMulOrderProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#A"><span·class="id"·title="module">A</span></a>)<br/> |
345 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">D</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#NZSqrtProp"><span·class="id"·title="module">NZSqrtProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#C"><span·class="id"·title="module">C</span></a>).<br/> | 345 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">D</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#NZSqrtProp"><span·class="id"·title="module">NZSqrtProp</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#A"><span·class="id"·title="module">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#B"><span·class="id"·title="module">B</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZSqrt.html#C"><span·class="id"·title="module">C</span></a>).<br/> |
346 | <br/> | 346 | <br/> |
347 | </div> | 347 | </div> |
348 | <div·class="doc"> | 348 | <div·class="doc"> |
349 | <a·id="lab2 | 349 | <a·id="lab1253"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">sqrt_up</span></span>·:·a·square·root·that·rounds·up·instead·of·down</h1> |
350 | </div> | 350 | </div> |
351 | <div·class="code"> | 351 | <div·class="code"> |
352 | <br/> | 352 | <br/> |
353 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="81ce257586db1a446e3fc4dfd8f6874e"·class="idref"·href="#81ce257586db1a446e3fc4dfd8f6874e"><span·class="id"·title="notation">"</span></a>a·²"·:=·(<span·class="id"·title="var">a</span><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><span·class="id"·title="var">a</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·5,·<span·class="id"·title="keyword">no</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="var">format</span>·"a·²").<br/> | 353 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="81ce257586db1a446e3fc4dfd8f6874e"·class="idref"·href="#81ce257586db1a446e3fc4dfd8f6874e"><span·class="id"·title="notation">"</span></a>a·²"·:=·(<span·class="id"·title="var">a</span><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><span·class="id"·title="var">a</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·5,·<span·class="id"·title="keyword">no</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="var">format</span>·"a·²").<br/> |
Offset 154, 15 lines modified | Offset 154, 15 lines modified | ||
154 | <br/> | 154 | <br/> |
155 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NDivProp.mod_small"·class="idref"·href="#NDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:25"·class="idref"·href="#a:25"><span·class="id"·title="binder">a</span></a>·<a·id="b:26"·class="idref"·href="#b:26"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>.<br/> | 155 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NDivProp.mod_small"·class="idref"·href="#NDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:25"·class="idref"·href="#a:25"><span·class="id"·title="binder">a</span></a>·<a·id="b:26"·class="idref"·href="#b:26"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>.<br/> |
156 | · | 156 | · |
157 | <br/> | 157 | <br/> |
158 | </div> | 158 | </div> |
159 | <div·class="doc"> | 159 | <div·class="doc"> |
160 | <a·id="lab | 160 | <a·id="lab1238"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> |
161 | </div> | 161 | </div> |
162 | <div·class="code"> | 162 | <div·class="code"> |
163 | <br/> | 163 | <br/> |
164 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.div_0_l"·class="idref"·href="#NDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:27"·class="idref"·href="#a:27"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:27"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:27"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 164 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.div_0_l"·class="idref"·href="#NDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:27"·class="idref"·href="#a:27"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:27"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:27"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> |
165 | · | 165 | · |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#"><span·class="id"·title="library">NDiv</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NGcd.html#"><span·class="id"·title="library">NGcd</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#"><span·class="id"·title="library">NDiv</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NGcd.html#"><span·class="id"·title="library">NGcd</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab1241"></a><h1·class="section">Least·Common·Multiple</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of | 55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of |
56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the | 56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the |
57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition | 57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition |
58 | ··of·lcm·via·gcd·is·quite·reasonable. | 58 | ··of·lcm·via·gcd·is·quite·reasonable. |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab1237"></a><h1·class="section">Properties·of·minimum·and·maximum·specific·to·natural·numbers</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NMaxMinProp"·class="idref"·href="#NMaxMinProp"><span·class="id"·title="module">NMaxMinProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">N</span>·:·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#NAxiomsMiniSig'"><span·class="id"·title="module">NAxiomsMiniSig'</span></a>).<br/> | 57 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NMaxMinProp"·class="idref"·href="#NMaxMinProp"><span·class="id"·title="module">NMaxMinProp</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">N</span>·:·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#NAxiomsMiniSig'"><span·class="id"·title="module">NAxiomsMiniSig'</span></a>).<br/> |
58 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#NSubProp"><span·class="id"·title="module">NSubProp</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NMaxMin.html#N"><span·class="id"·title="module">N</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#NSubProp"><span·class="id"·title="module">NSubProp</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NMaxMin.html#N"><span·class="id"·title="module">N</span></a>.<br/> |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | <br/> | 53 | <br/> |
54 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">N_scope</span>.<br/> | 54 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">N_scope</span>.<br/> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab | 58 | <a·id="lab1236"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">BinNat.N</span></span>·already·implements·<span·class="inlinecode"><span·class="id"·title="var">NAxiomSig</span></span></h1> |
59 | </div> | 59 | </div> |
60 | <div·class="code"> | 60 | <div·class="code"> |
61 | <br/> | 61 | <br/> |
62 | <span·class="id"·title="keyword">Module</span>·<a·id="N"·class="idref"·href="#N"><span·class="id"·title="module">N</span></a>·<:·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#NAxiomsSig"><span·class="id"·title="module">NAxiomsSig</span></a>·:=·<a·class="idref"·href="Coq.NArith.BinNat.html#N"><span·class="id"·title="module">N</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Module</span>·<a·id="N"·class="idref"·href="#N"><span·class="id"·title="module">N</span></a>·<:·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#NAxiomsSig"><span·class="id"·title="module">NAxiomsSig</span></a>·:=·<a·class="idref"·href="Coq.NArith.BinNat.html#N"><span·class="id"·title="module">N</span></a>.<br/> |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | <br/> | 53 | <br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#"><span·class="id"·title="library">BinPosDef</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#"><span·class="id"·title="library">BinPosDef</span></a>.<br/> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab | 58 | <a·id="lab604"></a><h1·class="section">Binary·positive·numbers,·operations·and·properties</h1> |
59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> |
60 | ·Initial·development·by·Pierre·Crégut,·CNET,·Lannion,·France· | 60 | ·Initial·development·by·Pierre·Crégut,·CNET,·Lannion,·France· |
61 | <div·class="paragraph">·</div> | 61 | <div·class="paragraph">·</div> |
62 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xH</span></span> | 62 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xH</span></span> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab662"></a><h1·class="section">Binary·positive·numbers,·operations</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·Initial·development·by·Pierre·Crégut,·CNET,·Lannion,·France· | 51 | ·Initial·development·by·Pierre·Crégut,·CNET,·Lannion,·France· |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xH</span></span> | 53 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xH</span></span> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">positive_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">positive_scope</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab | 56 | <a·id="lab659"></a><h1·class="section">DecidableType·structure·for·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·numbers</h1> |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
59 | <br/> | 59 | <br/> |
60 | <span·class="id"·title="keyword">Module</span>·<a·id="Positive_as_DT"·class="idref"·href="#Positive_as_DT"><span·class="id"·title="module">Positive_as_DT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos"><span·class="id"·title="module">Pos</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Module</span>·<a·id="Positive_as_DT"·class="idref"·href="#Positive_as_DT"><span·class="id"·title="module">Positive_as_DT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos"><span·class="id"·title="module">Pos</span></a>.<br/> |
Offset 43, 15 lines modified | Offset 43, 15 lines modified | ||
43 | <h1·class="libtitle">Library·Coq.Program.Combinators</h1> | 43 | <h1·class="libtitle">Library·Coq.Program.Combinators</h1> |
44 | <div·class="code"> | 44 | <div·class="code"> |
45 | </div> | 45 | </div> |
46 | <div·class="doc"> | 46 | <div·class="doc"> |
47 | <a·id="lab | 47 | <a·id="lab441"></a><h1·class="section">Proofs·about·standard·combinators,·exports·functional·extensionality.</h1> |
48 | <div·class="paragraph">·</div> | 48 | <div·class="paragraph">·</div> |
49 | ···Author:·Matthieu·Sozeau | 49 | ···Author:·Matthieu·Sozeau |
50 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud | 50 | ···Institution:·LRI,·CNRS·UMR·8623·-·University·Paris·Sud |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">ZArith.BinInt</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">ZArith.BinInt</span></a>.<br/> |
52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab7 | 56 | <a·id="lab784"></a><h1·class="section">Definition·of·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span>·and·basic·properties</h1> |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | ·Rationals·are·pairs·of·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·numbers.· | 58 | ·Rationals·are·pairs·of·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·numbers.· |
59 | </div> | 59 | </div> |
60 | <div·class="code"> | 60 | <div·class="code"> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Q_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Q_scope</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab7 | 56 | <a·id="lab760"></a><h1·class="section">DecidableType·structure·for·rational·numbers</h1> |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
59 | <br/> | 59 | <br/> |
60 | <span·class="id"·title="keyword">Module</span>·<a·id="Q_as_DT"·class="idref"·href="#Q_as_DT"><span·class="id"·title="module">Q_as_DT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeFull"><span·class="id"·title="module">DecidableTypeFull</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Module</span>·<a·id="Q_as_DT"·class="idref"·href="#Q_as_DT"><span·class="id"·title="module">Q_as_DT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeFull"><span·class="id"·title="module">DecidableTypeFull</span></a>.<br/> |
61 | <span·class="id"·title="keyword">Definition</span>·<a·id="Q_as_DT.t"·class="idref"·href="#Q_as_DT.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>.<br/> | 61 | <span·class="id"·title="keyword">Definition</span>·<a·id="Q_as_DT.t"·class="idref"·href="#Q_as_DT.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab803"></a><h1·class="section">An·absolute·value·for·normalized·rational·numbers.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·Contributed·by·Cédric·Auger· | 51 | ·Contributed·by·Cédric·Auger· |
52 | </div> | 52 | </div> |
53 | <div·class="code"> | 53 | <div·class="code"> |
Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>.<br/> |
51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.setoid_ring.NArithRing.html#"><span·class="id"·title="library">NArithRing</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.setoid_ring.NArithRing.html#"><span·class="id"·title="library">NArithRing</span></a>.<br/> |
52 | <br/> | 52 | <br/> |
53 | </div> | 53 | </div> |
54 | <div·class="doc"> | 54 | <div·class="doc"> |
55 | <a·id="lab | 55 | <a·id="lab802"></a><h1·class="section">field·and·ring·tactics·for·rational·numbers</h1> |
56 | </div> | 56 | </div> |
57 | <div·class="code"> | 57 | <div·class="code"> |
58 | <br/> | 58 | <br/> |
59 | <span·class="id"·title="keyword">Definition</span>·<a·id="Qsrt"·class="idref"·href="#Qsrt"><span·class="id"·title="definition">Qsrt</span></a>·:·<a·class="idref"·href="Coq.setoid_ring.Ring_theory.html#ring_theory"><span·class="id"·title="record">ring_theory</span></a>·0·1·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qplus"><span·class="id"·title="definition">Qplus</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qmult"><span·class="id"·title="definition">Qmult</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qminus"><span·class="id"·title="definition">Qminus</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qopp"><span·class="id"·title="definition">Qopp</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Definition</span>·<a·id="Qsrt"·class="idref"·href="#Qsrt"><span·class="id"·title="definition">Qsrt</span></a>·:·<a·class="idref"·href="Coq.setoid_ring.Ring_theory.html#ring_theory"><span·class="id"·title="record">ring_theory</span></a>·0·1·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qplus"><span·class="id"·title="definition">Qplus</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qmult"><span·class="id"·title="definition">Qmult</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qminus"><span·class="id"·title="definition">Qminus</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qopp"><span·class="id"·title="definition">Qopp</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>.<br/> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#"><span·class="id"·title="library">QOrderedType</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#"><span·class="id"·title="library">QOrderedType</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab7 | 53 | <a·id="lab782"></a><h1·class="section">Maximum·and·Minimum·of·two·rational·numbers</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Q_scope</span>.<br/> | 57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Q_scope</span>.<br/> |
Offset 48, 64 lines modified | Offset 48, 64 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#"><span·class="id"·title="library">Zpow_facts</span></a>·<a·class="idref"·href="Coq.QArith.Qfield.html#"><span·class="id"·title="library">Qfield</span></a>·<a·class="idref"·href="Coq.QArith.Qreduction.html#"><span·class="id"·title="library">Qreduction</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#"><span·class="id"·title="library">Zpow_facts</span></a>·<a·class="idref"·href="Coq.QArith.Qfield.html#"><span·class="id"·title="library">Qfield</span></a>·<a·class="idref"·href="Coq.QArith.Qreduction.html#"><span·class="id"·title="library">Qreduction</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab7 | 53 | <a·id="lab763"></a><h1·class="section">Properties·of·Qpower_positive</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | <a·id="lab7 | 55 | <a·id="lab764"></a><h2·class="section">Values·of·Qpower_positive·for·specific·arguments</h2> |
56 | </div> | 56 | </div> |
57 | <div·class="code"> | 57 | <div·class="code"> |
58 | <br/> | 58 | <br/> |
59 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_positive_1"·class="idref"·href="#Qpower_positive_1"><span·class="id"·title="lemma">Qpower_positive_1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·1·<a·class="idref"·href="Coq.QArith.Qpower.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·1.<br/> | 59 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_positive_1"·class="idref"·href="#Qpower_positive_1"><span·class="id"·title="lemma">Qpower_positive_1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·1·<a·class="idref"·href="Coq.QArith.Qpower.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·1.<br/> |
60 | <br/> | 60 | <br/> |
61 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_positive_0"·class="idref"·href="#Qpower_positive_0"><span·class="id"·title="lemma">Qpower_positive_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·0·<a·class="idref"·href="Coq.QArith.Qpower.html#n:2"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 61 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_positive_0"·class="idref"·href="#Qpower_positive_0"><span·class="id"·title="lemma">Qpower_positive_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·0·<a·class="idref"·href="Coq.QArith.Qpower.html#n:2"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> |
62 | <br/> | 62 | <br/> |
63 | </div> | 63 | </div> |
64 | <div·class="doc"> | 64 | <div·class="doc"> |
65 | <a·id="lab7 | 65 | <a·id="lab765"></a><h2·class="section">Relation·of·Qpower_positive·to·zero</h2> |
66 | </div> | 66 | </div> |
67 | <div·class="code"> | 67 | <div·class="code"> |
68 | <br/> | 68 | <br/> |
69 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_not_0_positive"·class="idref"·href="#Qpower_not_0_positive"><span·class="id"·title="lemma">Qpower_not_0_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:3"·class="idref"·href="#a:3"><span·class="id"·title="binder">a</span></a>·<a·id="n:4"·class="idref"·href="#n:4"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#a:3"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:3"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:4"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 69 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_not_0_positive"·class="idref"·href="#Qpower_not_0_positive"><span·class="id"·title="lemma">Qpower_not_0_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:3"·class="idref"·href="#a:3"><span·class="id"·title="binder">a</span></a>·<a·id="n:4"·class="idref"·href="#n:4"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#a:3"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:3"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:4"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> |
70 | <br/> | 70 | <br/> |
71 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_pos_positive"·class="idref"·href="#Qpower_pos_positive"><span·class="id"·title="lemma">Qpower_pos_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="p:5"·class="idref"·href="#p:5"><span·class="id"·title="binder">p</span></a>·<a·id="n:6"·class="idref"·href="#n:6"><span·class="id"·title="binder">n</span></a>,·0·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:5"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:5"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:6"><span·class="id"·title="variable">n</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_pos_positive"·class="idref"·href="#Qpower_pos_positive"><span·class="id"·title="lemma">Qpower_pos_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="p:5"·class="idref"·href="#p:5"><span·class="id"·title="binder">p</span></a>·<a·id="n:6"·class="idref"·href="#n:6"><span·class="id"·title="binder">n</span></a>,·0·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:5"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·0·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:5"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:6"><span·class="id"·title="variable">n</span></a>.<br/> |
72 | <br/> | 72 | <br/> |
73 | </div> | 73 | </div> |
74 | <div·class="doc"> | 74 | <div·class="doc"> |
75 | <a·id="lab7 | 75 | <a·id="lab766"></a><h2·class="section">Qpower_positive·and·multiplication,·exponent·subtraction</h2> |
76 | </div> | 76 | </div> |
77 | <div·class="code"> | 77 | <div·class="code"> |
78 | <br/> | 78 | <br/> |
79 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qmult_power_positive"·class="idref"·href="#Qmult_power_positive"><span·class="id"·title="lemma">Qmult_power_positive</span></a>··:·<span·class="id"·title="keyword">forall</span>·<a·id="a:7"·class="idref"·href="#a:7"><span·class="id"·title="binder">a</span></a>·<a·id="b:8"·class="idref"·href="#b:8"><span·class="id"·title="binder">b</span></a>·<a·id="n:9"·class="idref"·href="#n:9"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#a:7"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#b:8"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:7"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)*(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#b:8"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)</span></a>.<br/> | 79 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qmult_power_positive"·class="idref"·href="#Qmult_power_positive"><span·class="id"·title="lemma">Qmult_power_positive</span></a>··:·<span·class="id"·title="keyword">forall</span>·<a·id="a:7"·class="idref"·href="#a:7"><span·class="id"·title="binder">a</span></a>·<a·id="b:8"·class="idref"·href="#b:8"><span·class="id"·title="binder">b</span></a>·<a·id="n:9"·class="idref"·href="#n:9"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#a:7"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#b:8"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:7"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)*(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#b:8"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:9"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)</span></a>.<br/> |
80 | <br/> | 80 | <br/> |
81 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_plus_positive"·class="idref"·href="#Qpower_plus_positive"><span·class="id"·title="lemma">Qpower_plus_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:10"·class="idref"·href="#a:10"><span·class="id"·title="binder">a</span></a>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>·<a·id="m:12"·class="idref"·href="#m:12"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#50efadf7a9f9d41adb2b162cbba3bda7"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:12"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)*(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#m:12"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)</span></a>.<br/> | 81 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_plus_positive"·class="idref"·href="#Qpower_plus_positive"><span·class="id"·title="lemma">Qpower_plus_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:10"·class="idref"·href="#a:10"><span·class="id"·title="binder">a</span></a>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>·<a·id="m:12"·class="idref"·href="#m:12"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#50efadf7a9f9d41adb2b162cbba3bda7"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:12"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:11"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)*(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:10"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#m:12"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#a913d2882dcbf2c07ae6ccbc47eaad45"><span·class="id"·title="notation">)</span></a>.<br/> |
82 | <br/> | 82 | <br/> |
83 | </div> | 83 | </div> |
84 | <div·class="doc"> | 84 | <div·class="doc"> |
85 | <a·id="lab7 | 85 | <a·id="lab767"></a><h2·class="section">Qpower_positive·and·inversion,·division,·exponent·subtraction</h2> |
86 | </div> | 86 | </div> |
87 | <div·class="code"> | 87 | <div·class="code"> |
88 | <br/> | 88 | <br/> |
89 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qinv_power_positive"·class="idref"·href="#Qinv_power_positive"><span·class="id"·title="lemma">Qinv_power_positive</span></a>··:·<span·class="id"·title="keyword">forall</span>·<a·id="a:13"·class="idref"·href="#a:13"><span·class="id"·title="binder">a</span></a>·<a·id="n:14"·class="idref"·href="#n:14"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#a:13"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#n:14"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">/(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:13"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:14"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">)</span></a>.<br/> | 89 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qinv_power_positive"·class="idref"·href="#Qinv_power_positive"><span·class="id"·title="lemma">Qinv_power_positive</span></a>··:·<span·class="id"·title="keyword">forall</span>·<a·id="a:13"·class="idref"·href="#a:13"><span·class="id"·title="binder">a</span></a>·<a·id="n:14"·class="idref"·href="#n:14"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#a:13"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#n:14"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">/(</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#a:13"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:14"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#8bbb7e6c4363db1e6ff873634c45a65e"><span·class="id"·title="notation">)</span></a>.<br/> |
Offset 54, 15 lines modified | Offset 54, 15 lines modified | ||
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>.<br/> |
55 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 55 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
56 | <br/> | 56 | <br/> |
57 | </div> | 57 | </div> |
58 | <div·class="doc"> | 58 | <div·class="doc"> |
59 | <a·id="lab | 59 | <a·id="lab1057"></a><h1·class="section">Formalization·of·alternated·series</h1> |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
62 | <span·class="id"·title="keyword">Definition</span>·<a·id="tg_alt"·class="idref"·href="#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·(<a·id="Un:1"·class="idref"·href="#Un:1"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="i:2"·class="idref"·href="#i:2"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">(</span></a>-1<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#i:2"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:1"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#i:2"><span·class="id"·title="variable">i</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Definition</span>·<a·id="tg_alt"·class="idref"·href="#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·(<a·id="Un:1"·class="idref"·href="#Un:1"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="i:2"·class="idref"·href="#i:2"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">(</span></a>-1<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#i:2"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:1"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#i:2"><span·class="id"·title="variable">i</span></a>.<br/> |
63 | <span·class="id"·title="keyword">Definition</span>·<a·id="positivity_seq"·class="idref"·href="#positivity_seq"><span·class="id"·title="definition">positivity_seq</span></a>·(<a·id="Un:3"·class="idref"·href="#Un:3"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="n:4"·class="idref"·href="#n:4"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:3"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#n:4"><span·class="id"·title="variable">n</span></a>.<br/> | 63 | <span·class="id"·title="keyword">Definition</span>·<a·id="positivity_seq"·class="idref"·href="#positivity_seq"><span·class="id"·title="definition">positivity_seq</span></a>·(<a·id="Un:3"·class="idref"·href="#Un:3"><span·class="id"·title="binder">Un</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="n:4"·class="idref"·href="#n:4"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:3"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#n:4"><span·class="id"·title="variable">n</span></a>.<br/> |
64 | <br/> | 64 | <br/> |
Offset 404, 15 lines modified | Offset 404, 15 lines modified | ||
404 | :·<a·class="idref"·href="Coq.Classes.CMorphisms.html#Proper"><span·class="id"·title="class">CMorphisms.Proper</span></a><br/> | 404 | :·<a·class="idref"·href="Coq.Classes.CMorphisms.html#Proper"><span·class="id"·title="class">CMorphisms.Proper</span></a><br/> |
405 | (<a·class="idref"·href="Coq.Classes.CMorphisms.html#respectful"><span·class="id"·title="definition">CMorphisms.respectful</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CRealEq"><span·class="id"·title="definition">CRealEq</span></a>)·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#inject_Q"><span·class="id"·title="definition">inject_Q</span></a>.<br/> | 405 | (<a·class="idref"·href="Coq.Classes.CMorphisms.html#respectful"><span·class="id"·title="definition">CMorphisms.respectful</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qeq"><span·class="id"·title="definition">Qeq</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CRealEq"><span·class="id"·title="definition">CRealEq</span></a>)·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#inject_Q"><span·class="id"·title="definition">inject_Q</span></a>.<br/> |
406 | <br/> | 406 | <br/> |
407 | </div> | 407 | </div> |
408 | <div·class="doc"> | 408 | <div·class="doc"> |
409 | <a·id="lab | 409 | <a·id="lab1075"></a><h1·class="section">Algebraic·operations</h1> |
410 | <div·class="paragraph">·</div> | 410 | <div·class="paragraph">·</div> |
411 | ·We·reduce·the·rational·numbers·to·accelerate·calculations.· | 411 | ·We·reduce·the·rational·numbers·to·accelerate·calculations.· |
412 | </div> | 412 | </div> |
413 | <div·class="code"> | 413 | <div·class="code"> |
414 | <span·class="id"·title="keyword">Definition</span>·<a·id="CReal_plus_seq"·class="idref"·href="#CReal_plus_seq"><span·class="id"·title="definition">CReal_plus_seq</span></a>·(<a·id="x:112"·class="idref"·href="#x:112"><span·class="id"·title="binder">x</span></a>·<a·id="y:113"·class="idref"·href="#y:113"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CReal"><span·class="id"·title="record">CReal</span></a>)·:=<br/> | 414 | <span·class="id"·title="keyword">Definition</span>·<a·id="CReal_plus_seq"·class="idref"·href="#CReal_plus_seq"><span·class="id"·title="definition">CReal_plus_seq</span></a>·(<a·id="x:112"·class="idref"·href="#x:112"><span·class="id"·title="binder">x</span></a>·<a·id="y:113"·class="idref"·href="#y:113"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CReal"><span·class="id"·title="record">CReal</span></a>)·:=<br/> |
Offset 5556, 5265 lines modified | Offset 5556, 5265 lines modified | ||
00015b30:·6976·6543·6175·6368·7952·6561·6c73·4d75··iveCauchyRealsMu | 00015b30:·6976·6543·6175·6368·7952·6561·6c73·4d75··iveCauchyRealsMu | ||
00015b40:·6c74·2e68·746d·6c23·783a·3130·3522·3e3c··lt.html#x:105">< | 00015b40:·6c74·2e68·746d·6c23·783a·3130·3522·3e3c··lt.html#x:105">< | ||
00015b50:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | 00015b50:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00015b60:·7469·746c·653d·2276·6172·6961·626c·6522··title="variable" | 00015b60:·7469·746c·653d·2276·6172·6961·626c·6522··title="variable" | ||
00015b70:·3e78·3c2f·7370·616e·3e3c·2f61·3e2e·3c62··>x</span></a>.<b | 00015b70:·3e78·3c2f·7370·616e·3e3c·2f61·3e2e·3c62··>x</span></a>.<b | ||
00015b80:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | 00015b80:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | Diff chunk too large, falling back to line-by-line diff (5224 lines added, 5224 lines removed) | |
00015b90:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | 00015b90:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | ||
00015ba0:·6f63·223e·0a3c·6120·6964·3d22·6c61·623 | 00015ba0:·6f63·223e·0a3c·6120·6964·3d22·6c61·6231··oc">.<a·id="lab1 | ||
00015bb0:·3 | 00015bb0:·3037·3622·3e3c·2f61·3e3c·6831·2063·6c61··076"></a><h1·cla | ||
00015bc0:·733d | 00015bc0:·7373·3d22·7365·6374·696f·6e22·3e46·6965··ss="section">Fie | ||
00015bd0:·643c | 00015bd0:·6c64·3c2f·6831·3e0a·0a3c·2f64·6976·3e0a··ld</h1>..</div>. | ||
00015be0:·6469 | 00015be0:·3c64·6976·2063·6c61·7373·3d22·636f·6465··<div·class="code | ||
00015bf0:·3e0a | 00015bf0:·223e·0a0a·3c62·722f·3e0a·3c73·7061·6e20··">..<br/>.<span· | ||
00015c00:·6c61 | 00015c00:·636c·6173·733d·2269·6422·2074·6974·6c65··class="id"·title | ||
00015c10:·226b | 00015c10:·3d22·6b65·7977·6f72·6422·3e4c·656d·6d61··="keyword">Lemma | ||
00015c20:·2f73 | 00015c20:·3c2f·7370·616e·3e20·3c61·2069·643d·2243··</span>·<a·id="C | ||
00015c30:·6561 | 00015c30:·5265·616c·4172·6368·696d·6564·6561·6e22··RealArchimedean" | ||
00015c40:·636c | 00015c40:·2063·6c61·7373·3d22·6964·7265·6622·2068···class="idref"·h | ||
00015c50:·65 | 00015c50:·7265·663d·2223·4352·6561·6c41·7263·6869··ref="#CRealArchi | ||
00015c60:·6564 | 00015c60:·6d65·6465·616e·223e·3c73·7061·6e20·636c··medean"><span·cl | ||
00015c70:·7373 | 00015c70:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
00015c80:·6 | 00015c80:·6c65·6d6d·6122·3e43·5265·616c·4172·6368··lemma">CRealArch | ||
00015c90:·6d65 | 00015c90:·696d·6564·6561·6e3c·2f73·7061·6e3e·3c2f··imedean</span></ | ||
00015ca0:·3e3c | 00015ca0:·613e·3c62·722f·3e0a·266e·6273·703b·266e··a><br/>. &n | ||
00015cb0:·7370 | 00015cb0:·6273·703b·3a20·3c73·7061·6e20·636c·6173··bsp;:·<span·clas | ||
00015cc0:·3d | 00015cc0:·733d·2269·6422·2074·6974·6c65·3d22·6b65··s="id"·title="ke | ||
00015cd0:·776f | 00015cd0:·7977·6f72·6422·3e66·6f72·616c·6c3c·2f73··yword">forall</s | ||
00015ce0:·616e | 00015ce0:·7061·6e3e·203c·6120·6964·3d22·783a·3130··pan>·<a·id="x:10 | ||
00015cf0:·2220 | 00015cf0:·3722·2063·6c61·7373·3d22·6964·7265·6622··7"·class="idref" | ||
00015d00:·6872 | 00015d00:·2068·7265·663d·2223·783a·3130·3722·3e3c···href="#x:107">< | ||
00015d10:·7061 | 00015d10:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00015d20:·6974 | 00015d20:·7469·746c·653d·2262·696e·6465·7222·3e78··title="binder">x | ||
00015d30:·2f73 | 00015d30:·3c2f·7370·616e·3e3c·2f61·3e3a·3c61·2063··</span></a>:<a·c | ||
00015d40:·6173 | 00015d40:·6c61·7373·3d22·6964·7265·6622·2068·7265··lass="idref"·hre | ||
00015d50:·3d | 00015d50:·663d·2243·6f71·2e52·6561·6c73·2e43·6175··f="Coq.Reals.Cau | ||
00015d60:·6879 | 00015d60:·6368·792e·436f·6e73·7472·7563·7469·7665··chy.Constructive | ||
00015d70:·6175 | 00015d70:·4361·7563·6879·5265·616c·732e·6874·6d6c··CauchyReals.html | ||
00015d80:·4352 | 00015d80:·2343·5265·616c·223e·3c73·7061·6e20·636c··#CReal"><span·cl | ||
00015d90:·7373 | 00015d90:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
00015da0:·6563 | 00015da0:·7265·636f·7264·223e·4352·6561·6c3c·2f73··record">CReal</s | ||
00015db0:·616e | 00015db0:·7061·6e3e·3c2f·613e·2c20·3c61·2063·6c61··pan></a>,·<a·cla | ||
00015dc0:·733d | 00015dc0:·7373·3d22·6964·7265·6622·2068·7265·663d··ss="idref"·href= | ||
00015dd0:·436f | 00015dd0:·2243·6f71·2e49·6e69·742e·5370·6563·6966··"Coq.Init.Specif | ||
00015de0:·6874 | 00015de0:·2e68·746d·6c23·6363·3565·3536·6261·3337··.html#cc5e56ba37 | ||
00015df0:·3565 | 00015df0:·3635·6532·6436·6231·3765·3636·6431·3962··65e2d6b17e66d19b | ||
00015e00:·3 | 00015e00:·3936·3666·3164·223e·3c73·7061·6e20·636c··966f1d"><span·cl | ||
00015e10:·7373 | 00015e10:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
00015e20:·6f74 | 00015e20:·6e6f·7461·7469·6f6e·223e·7b3c·2f73·7061··notation">{</spa | ||
00015e30:·3e3c | 00015e30:·6e3e·3c2f·613e·203c·6120·6964·3d22·6e3a··n></a>·<a·id="n: | ||
00015e40:·3038 | 00015e40:·3130·3822·2063·6c61·7373·3d22·6964·7265··108"·class="idre | ||
00015e50:·2220 | 00015e50:·6622·2068·7265·663d·2223·6e3a·3130·3822··f"·href="#n:108" | ||
00015e60:·3c73 | 00015e60:·3e3c·7370·616e·2063·6c61·7373·3d22·6964··><span·class="id | ||
00015e70:·2074 | 00015e70:·2220·7469·746c·653d·2262·696e·6465·7222··"·title="binder" | ||
00015e80:·6e3c | 00015e80:·3e6e·3c2f·7370·616e·3e3c·2f61·3e3c·6120··>n</span></a><a· | ||
00015e90:·6c61 | 00015e90:·636c·6173·733d·2269·6472·6566·2220·6872··class="idref"·hr | ||
00015ea0:·663d | 00015ea0:·6566·3d22·436f·712e·496e·6974·2e53·7065··ef="Coq.Init.Spe | ||
00015eb0:·69 | 00015eb0:·6369·662e·6874·6d6c·2363·6335·6535·3662··cif.html#cc5e56b | ||
00015ec0:·3337 | 00015ec0:·6133·3736·3565·3264·3662·3137·6536·3664··a3765e2d6b17e66d | ||
00015ed0:·3962 | 00015ed0:·3139·6239·3636·6631·6422·3e3c·7370·616e··19b966f1d"><span | ||
00015ee0:·636c | 00015ee0:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
00015ef0:·3d | 00015ef0:·653d·226e·6f74·6174·696f·6e22·3e3a·3c2f··e="notation">:</ | ||
00015f00:·7061 | 00015f00:·7370·616e·3e3c·2f61·3e3c·6120·636c·6173··span></a><a·clas | ||
00015f10:·3d | 00015f10:·733d·2269·6472·6566·2220·6872·6566·3d22··s="idref"·href=" | ||
00015f20:·6f71 | 00015f20:·436f·712e·4e75·6d62·6572·732e·4269·6e4e··Coq.Numbers.BinN | ||
00015f30:·6d73 | 00015f30:·756d·732e·6874·6d6c·235a·223e·3c73·7061··ums.html#Z"><spa | ||
00015f40:·2063 | 00015f40:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00015f50:·653d | 00015f50:·6c65·3d22·696e·6475·6374·6976·6522·3e5a··le="inductive">Z | ||
00015f60:·2f73 | 00015f60:·3c2f·7370·616e·3e3c·2f61·3e20·203c·6120··</span></a>··<a· | ||
00015f70:·6c61 | 00015f70:·636c·6173·733d·2269·6472·6566·2220·6872··class="idref"·hr | ||
00015f80:·663d | 00015f80:·6566·3d22·436f·712e·496e·6974·2e53·7065··ef="Coq.Init.Spe | ||
00015f90:·69 | 00015f90:·6369·662e·6874·6d6c·2363·6335·6535·3662··cif.html#cc5e56b | ||
00015fa0:·3337 | 00015fa0:·6133·3736·3565·3264·3662·3137·6536·3664··a3765e2d6b17e66d | ||
00015fb0:·3962 | 00015fb0:·3139·6239·3636·6631·6422·3e3c·7370·616e··19b966f1d"><span | ||
00015fc0:·636c | 00015fc0:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
00015fd0:·3d | 00015fd0:·653d·226e·6f74·6174·696f·6e22·3e26·616d··e="notation">&am | ||
00015fe0:·3b3c | 00015fe0:·703b·3c2f·7370·616e·3e3c·2f61·3e20·203c··p;</span></a>··< | ||
00015ff0:·2063 | 00015ff0:·6120·636c·6173·733d·2269·6472·6566·2220··a·class="idref"· | ||
00016000:·7265 | 00016000:·6872·6566·3d22·436f·712e·5265·616c·732e··href="Coq.Reals. | ||
00016010:·6175 | 00016010:·4361·7563·6879·2e43·6f6e·7374·7275·6374··Cauchy.Construct | ||
00016020:·7665 | 00016020:·6976·6543·6175·6368·7952·6561·6c73·4d75··iveCauchyRealsMu | ||
00016030:·742e | 00016030:·6c74·2e68·746d·6c23·783a·3130·3722·3e3c··lt.html#x:107">< | ||
00016040:·7061 | 00016040:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00016050:·6974 | 00016050:·7469·746c·653d·2276·6172·6961·626c·6522··title="variable" | ||
00016060:·783c | 00016060:·3e78·3c2f·7370·616e·3e3c·2f61·3e20·3c61··>x</span></a>·<a | ||
00016070:·636c | 00016070:·2063·6c61·7373·3d22·6964·7265·6622·2068···class="idref"·h | ||
00016080:·65 | 00016080:·7265·663d·2243·6f71·2e52·6561·6c73·2e43··ref="Coq.Reals.C | ||
00016090:·7563 | 00016090:·6175·6368·792e·436f·6e73·7472·7563·7469··auchy.Constructi | ||
000160a0:·6543 | 000160a0:·7665·4361·7563·6879·5265·616c·732e·6874··veCauchyReals.ht | ||
000160b0:·6c23 | 000160b0:·6d6c·233a·3a43·5265·616c·5f73·636f·7065··ml#::CReal_scope | ||
000160c0:·785f | 000160c0:·3a78·5f27·266c·743b·275f·785f·2726·6c74··:x_'<'_x_'< | ||
000160d0:·275f | 000160d0:·3b27·5f78·223e·3c73·7061·6e20·636c·6173··;'_x"><span·clas | ||
000160e0:·3d | 000160e0:·733d·2269·6422·2074·6974·6c65·3d22·6e6f··s="id"·title="no | ||
000160f0:·6174 | 000160f0:·7461·7469·6f6e·223e·266c·743b·3c2f·7370··tation"><</sp | ||
00016100:·6e3e | 00016100:·616e·3e3c·2f61·3e20·3c61·2063·6c61·7373··an></a>·<a·class | ||
00016110:·2269 | 00016110:·3d22·6964·7265·6622·2068·7265·663d·2243··="idref"·href="C | ||
00016120:·712e | 00016120:·6f71·2e52·6561·6c73·2e43·6175·6368·792e··oq.Reals.Cauchy. | ||
00016130:·6f6e | 00016130:·436f·6e73·7472·7563·7469·7665·4361·7563··ConstructiveCauc | ||
00016140:·7952 | 00016140:·6879·5265·616c·732e·6874·6d6c·2369·6e6a··hyReals.html#inj | ||
00016150:·6374 | 00016150:·6563·745f·5a22·3e3c·7370·616e·2063·6c61··ect_Z"><span·cla | ||
00016160:·733d | 00016160:·7373·3d22·6964·2220·7469·746c·653d·2264··ss="id"·title="d | ||
00016170:·666 | 00016170:·6566·696e·6974·696f·6e22·3e69·6e6a·6563··efinition">injec | ||
00016180:·5f5a | 00016180:·745f·5a3c·2f73·7061·6e3e·3c2f·613e·203c··t_Z</span></a>·< | ||
00016190:·2063 | 00016190:·6120·636c·6173·733d·2269·6472·6566·2220··a·class="idref"· | ||
000161a0:·7265 | 000161a0:·6872·6566·3d22·436f·712e·5265·616c·732e··href="Coq.Reals. | ||
000161b0:·6175 | 000161b0:·4361·7563·6879·2e43·6f6e·7374·7275·6374··Cauchy.Construct | ||
000161c0:·7665 | 000161c0:·6976·6543·6175·6368·7952·6561·6c73·4d75··iveCauchyRealsMu | ||
000161d0:·742e | 000161d0:·6c74·2e68·746d·6c23·6e3a·3130·3822·3e3c··lt.html#n:108">< | ||
000161e0:·7061 | 000161e0:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
000161f0:·6974 | 000161f0:·7469·746c·653d·2276·6172·6961·626c·6522··title="variable" | ||
00016200:·6e3c | 00016200:·3e6e·3c2f·7370·616e·3e3c·2f61·3e20·3c61··>n</span></a>·<a | ||
00016210:·636c | 00016210:·2063·6c61·7373·3d22·6964·7265·6622·2068···class="idref"·h | ||
00016220:·65 | 00016220:·7265·663d·2243·6f71·2e52·6561·6c73·2e43··ref="Coq.Reals.C | ||
00016230:·7563 | 00016230:·6175·6368·792e·436f·6e73·7472·7563·7469··auchy.Constructi | ||
00016240:·6543 | 00016240:·7665·4361·7563·6879·5265·616c·732e·6874··veCauchyReals.ht | ||
00016250:·6c23 | 00016250:·6d6c·233a·3a43·5265·616c·5f73·636f·7065··ml#::CReal_scope | ||
00016260:·785f | 00016260:·3a78·5f27·266c·743b·275f·785f·2726·6c74··:x_'<'_x_'< | ||
00016270:·275f | 00016270:·3b27·5f78·223e·3c73·7061·6e20·636c·6173··;'_x"><span·clas | ||
00016280:·3d | 00016280:·733d·2269·6422·2074·6974·6c65·3d22·6e6f··s="id"·title="no | ||
00016290:·6174 | 00016290:·7461·7469·6f6e·223e·266c·743b·3c2f·7370··tation"><</sp | ||
000162a0:·6e3e | 000162a0:·616e·3e3c·2f61·3e20·3c61·2063·6c61·7373··an></a>·<a·class | ||
000162b0:·2269 | 000162b0:·3d22·6964·7265·6622·2068·7265·663d·2243··="idref"·href="C | ||
000162c0:·712e | 000162c0:·6f71·2e52·6561·6c73·2e43·6175·6368·792e··oq.Reals.Cauchy. | ||
000162d0:·6f6e | 000162d0:·436f·6e73·7472·7563·7469·7665·4361·7563··ConstructiveCauc | ||
000162e0:·7952 | 000162e0:·6879·5265·616c·734d·756c·742e·6874·6d6c··hyRealsMult.html | ||
000162f0:·783a | 000162f0:·2378·3a31·3037·223e·3c73·7061·6e20·636c··#x:107"><span·cl | ||
00016300:·7373 | 00016300:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
Max diff block lines reached; 4545/726037 bytes (0.63%) of diff not shown. |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> |
52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lqa.html#"><span·class="id"·title="library">Lqa</span></a>.·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Cauchy.PosExtra.html#"><span·class="id"·title="library">PosExtra</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lqa.html#"><span·class="id"·title="library">Lqa</span></a>.·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Cauchy.PosExtra.html#"><span·class="id"·title="library">PosExtra</span></a>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab | 56 | <a·id="lab1070"></a><h1·class="section">Power·of·2·open·and·closed·upper·and·lower·bounds·for·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·<span·class="inlinecode">:</span>·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span></h1> |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
59 | <br/> | 59 | <br/> |
60 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos_log2floor_plus1"·class="idref"·href="#Pos_log2floor_plus1"><span·class="id"·title="definition">Pos_log2floor_plus1</span></a>·(<a·id="p:1"·class="idref"·href="#p:1"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·:=<br/> | 60 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos_log2floor_plus1"·class="idref"·href="#Pos_log2floor_plus1"><span·class="id"·title="definition">Pos_log2floor_plus1</span></a>·(<a·id="p:1"·class="idref"·href="#p:1"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·:=<br/> |
61 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#p:1"><span·class="id"·title="variable">p</span></a>·<span·class="id"·title="keyword">with</span><br/> | 61 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#p:1"><span·class="id"·title="variable">p</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 59, 15 lines modified | Offset 59, 15 lines modified | ||
59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#"><span·class="id"·title="library">QExtra</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#"><span·class="id"·title="library">QExtra</span></a>.<br/> |
60 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Classes.CMorphisms.html#"><span·class="id"·title="library">CMorphisms</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Classes.CMorphisms.html#"><span·class="id"·title="library">CMorphisms</span></a>.<br/> |
61 | <br/> | 61 | <br/> |
62 | </div> | 62 | </div> |
63 | <div·class="doc"> | 63 | <div·class="doc"> |
64 | <a·id="lab | 64 | <a·id="lab1041"></a><h1·class="section">Q·Auxiliary·Lemmas</h1> |
65 | </div> | 65 | </div> |
66 | <div·class="code"> | 66 | <div·class="code"> |
67 | <br/> | 67 | <br/> |
68 | <br/> | 68 | <br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab985"></a><h1·class="section">Basic·lemmas·for·the·classical·real·numbers</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·provides·several·hundred·basic·lemmas·about·foundamental | 51 | ·This·file·provides·several·hundred·basic·lemmas·about·foundamental |
52 | ····operations·on·R: | 52 | ····operations·on·R: |
53 | <ul·class="doclist"> | 53 | <ul·class="doclist"> |
54 | <li>·addition·denoted·by·<span·class="inlinecode"><span·class="id"·title="var">Rplus</span></span>·(notation:·infix·<span·class="inlinecode">+</span>), | 54 | <li>·addition·denoted·by·<span·class="inlinecode"><span·class="id"·title="var">Rplus</span></span>·(notation:·infix·<span·class="inlinecode">+</span>), |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab | 56 | <a·id="lab967"></a><h1·class="section">DecidableType·structure·for·real·numbers</h1> |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
59 | <br/> | 59 | <br/> |
60 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Req_dec"·class="idref"·href="#Req_dec"><span·class="id"·title="lemma">Req_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:1"·class="idref"·href="#r1:1"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:2"·class="idref"·href="#r2:2"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.ROrderedType.html#r1:1"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#r2:2"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.ROrderedType.html#r1:1"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#r2:2"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Req_dec"·class="idref"·href="#Req_dec"><span·class="id"·title="lemma">Req_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:1"·class="idref"·href="#r1:1"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:2"·class="idref"·href="#r2:2"><span·class="id"·title="binder">r2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.ROrderedType.html#r1:1"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#r2:2"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Reals.ROrderedType.html#r1:1"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#r2:2"><span·class="id"·title="variable">r2</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> |
Offset 58, 15 lines modified | Offset 58, 15 lines modified | ||
58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.micromega.Ztac.html#"><span·class="id"·title="library">Ztac</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.micromega.Ztac.html#"><span·class="id"·title="library">Ztac</span></a>.<br/> |
59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 59 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
60 | <br/> | 60 | <br/> |
61 | </div> | 61 | </div> |
62 | <div·class="doc"> | 62 | <div·class="doc"> |
63 | <a·id="lab | 63 | <a·id="lab1130"></a><h1·class="section">Fractional·part</h1> |
64 | <div·class="paragraph">·</div> | 64 | <div·class="paragraph">·</div> |
65 | </div> | 65 | </div> |
66 | <div·class="code"> | 66 | <div·class="code"> |
67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Int_part"·class="idref"·href="#Int_part"><span·class="id"·title="definition">Int_part</span></a>·(<a·id="r:1"·class="idref"·href="#r:1"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#up"><span·class="id"·title="definition">up</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:1"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·1)%<span·class="id"·title="var">Z</span>.<br/> | 67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Int_part"·class="idref"·href="#Int_part"><span·class="id"·title="definition">Int_part</span></a>·(<a·id="r:1"·class="idref"·href="#r:1"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#up"><span·class="id"·title="definition">up</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:1"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·1)%<span·class="id"·title="var">Z</span>.<br/> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Rsqrt_def.html#"><span·class="id"·title="library">Rsqrt_def</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.Rsqrt_def.html#"><span·class="id"·title="library">Rsqrt_def</span></a>.<br/> |
52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab | 56 | <a·id="lab1036"></a><h1·class="section">Continuous·extension·of·Rsqrt·on·R</h1> |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
59 | <span·class="id"·title="keyword">Definition</span>·<a·id="sqrt"·class="idref"·href="#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 59 | <span·class="id"·title="keyword">Definition</span>·<a·id="sqrt"·class="idref"·href="#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> |
60 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rcase_abs"><span·class="id"·title="lemma">Rcase_abs</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 60 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rcase_abs"><span·class="id"·title="lemma">Rcase_abs</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> |
61 | |·<a·class="idref"·href="Coq.Init.Specif.html#left"><span·class="id"·title="constructor">left</span></a>·<span·class="id"·title="var">_</span>·=>·0<br/> | 61 | |·<a·class="idref"·href="Coq.Init.Specif.html#left"><span·class="id"·title="constructor">left</span></a>·<span·class="id"·title="var">_</span>·=>·0<br/> |
62 | |·<a·class="idref"·href="Coq.Init.Specif.html#right"><span·class="id"·title="constructor">right</span></a>·<span·class="id"·title="var">a</span>·=>·<a·class="idref"·href="Coq.Reals.Rsqrt_def.html#Rsqrt"><span·class="id"·title="definition">Rsqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#mknonnegreal"><span·class="id"·title="constructor">mknonnegreal</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#x:1"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rge_le"><span·class="id"·title="lemma">Rge_le</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">a</span>))<br/> | 62 | |·<a·class="idref"·href="Coq.Init.Specif.html#right"><span·class="id"·title="constructor">right</span></a>·<span·class="id"·title="var">a</span>·=>·<a·class="idref"·href="Coq.Reals.Rsqrt_def.html#Rsqrt"><span·class="id"·title="definition">Rsqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#mknonnegreal"><span·class="id"·title="constructor">mknonnegreal</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#x:1"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rge_le"><span·class="id"·title="lemma">Rge_le</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">a</span>))<br/> |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 53 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
54 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">f</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">f</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab | 58 | <a·id="lab970"></a><h1·class="section">Basic·operations·on·functions</h1> |
59 | </div> | 59 | </div> |
60 | <div·class="code"> | 60 | <div·class="code"> |
61 | <span·class="id"·title="keyword">Definition</span>·<a·id="plus_fct"·class="idref"·href="#plus_fct"><span·class="id"·title="definition">plus_fct</span></a>·<a·id="f1:1"·class="idref"·href="#f1:1"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:2"·class="idref"·href="#f2:2"><span·class="id"·title="binder">f2</span></a>·(<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:1"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:2"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:3"><span·class="id"·title="variable">x</span></a>.<br/> | 61 | <span·class="id"·title="keyword">Definition</span>·<a·id="plus_fct"·class="idref"·href="#plus_fct"><span·class="id"·title="definition">plus_fct</span></a>·<a·id="f1:1"·class="idref"·href="#f1:1"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:2"·class="idref"·href="#f2:2"><span·class="id"·title="binder">f2</span></a>·(<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:1"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:2"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:3"><span·class="id"·title="variable">x</span></a>.<br/> |
62 | <span·class="id"·title="keyword">Definition</span>·<a·id="opp_fct"·class="idref"·href="#opp_fct"><span·class="id"·title="definition">opp_fct</span></a>·<a·id="f:4"·class="idref"·href="#f:4"><span·class="id"·title="binder">f</span></a>·(<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:4"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Definition</span>·<a·id="opp_fct"·class="idref"·href="#opp_fct"><span·class="id"·title="definition">opp_fct</span></a>·<a·id="f:4"·class="idref"·href="#f:4"><span·class="id"·title="binder">f</span></a>·(<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:4"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> |
63 | <span·class="id"·title="keyword">Definition</span>·<a·id="mult_fct"·class="idref"·href="#mult_fct"><span·class="id"·title="definition">mult_fct</span></a>·<a·id="f1:6"·class="idref"·href="#f1:6"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:7"·class="idref"·href="#f2:7"><span·class="id"·title="binder">f2</span></a>·(<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:6"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:8"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:7"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:8"><span·class="id"·title="variable">x</span></a>.<br/> | 63 | <span·class="id"·title="keyword">Definition</span>·<a·id="mult_fct"·class="idref"·href="#mult_fct"><span·class="id"·title="definition">mult_fct</span></a>·<a·id="f1:6"·class="idref"·href="#f1:6"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:7"·class="idref"·href="#f2:7"><span·class="id"·title="binder">f2</span></a>·(<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:6"><span·class="id"·title="variable">f1</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:8"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:7"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:8"><span·class="id"·title="variable">x</span></a>.<br/> |
64 | <span·class="id"·title="keyword">Definition</span>·<a·id="mult_real_fct"·class="idref"·href="#mult_real_fct"><span·class="id"·title="definition">mult_real_fct</span></a>·(<a·id="a:9"·class="idref"·href="#a:9"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·<a·id="f:10"·class="idref"·href="#f:10"><span·class="id"·title="binder">f</span></a>·(<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:9"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:10"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:11"><span·class="id"·title="variable">x</span></a>.<br/> | 64 | <span·class="id"·title="keyword">Definition</span>·<a·id="mult_real_fct"·class="idref"·href="#mult_real_fct"><span·class="id"·title="definition">mult_real_fct</span></a>·(<a·id="a:9"·class="idref"·href="#a:9"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·<a·id="f:10"·class="idref"·href="#f:10"><span·class="id"·title="binder">f</span></a>·(<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:9"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:10"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:11"><span·class="id"·title="variable">x</span></a>.<br/> |
Offset 59, 15 lines modified | Offset 59, 15 lines modified | ||
59 | <br/> | 59 | <br/> |
60 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">rorders</span>·<span·class="id"·title="var">real</span>.<br/> | 60 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">rorders</span>·<span·class="id"·title="var">real</span>.<br/> |
61 | <br/> | 61 | <br/> |
62 | </div> | 62 | </div> |
63 | <div·class="doc"> | 63 | <div·class="doc"> |
64 | <a·id="lab | 64 | <a·id="lab1108"></a><h1·class="section">Preliminaries·lemmas</h1> |
65 | </div> | 65 | </div> |
66 | <div·class="code"> | 66 | <div·class="code"> |
67 | <br/> | 67 | <br/> |
68 | <span·class="id"·title="keyword">Lemma</span>·<a·id="f_incr_implies_g_incr_interv"·class="idref"·href="#f_incr_implies_g_incr_interv"><span·class="id"·title="lemma">f_incr_implies_g_incr_interv</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="f:1"·class="idref"·href="#f:1"><span·class="id"·title="binder">f</span></a>·<a·id="g:2"·class="idref"·href="#g:2"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<span·class="id"·title="keyword">forall</span>·<a·id="lb:3"·class="idref"·href="#lb:3"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:4"·class="idref"·href="#ub:4"><span·class="id"·title="binder">ub</span></a>,<br/> | 68 | <span·class="id"·title="keyword">Lemma</span>·<a·id="f_incr_implies_g_incr_interv"·class="idref"·href="#f_incr_implies_g_incr_interv"><span·class="id"·title="lemma">f_incr_implies_g_incr_interv</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="f:1"·class="idref"·href="#f:1"><span·class="id"·title="binder">f</span></a>·<a·id="g:2"·class="idref"·href="#g:2"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<span·class="id"·title="keyword">forall</span>·<a·id="lb:3"·class="idref"·href="#lb:3"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:4"·class="idref"·href="#ub:4"><span·class="id"·title="binder">ub</span></a>,<br/> |
69 | <a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:3"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:4"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 69 | <a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:3"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:4"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
Offset 311, 11978 lines modified | Offset 311, 11980 lines modified | ||
00001360:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | 00001360:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
00001370:·7661·7222·3e72·6561·6c3c·2f73·7061·6e3e··var">real</span> | 00001370:·7661·7222·3e72·6561·6c3c·2f73·7061·6e3e··var">real</span> | ||
00001380:·203c·7370·616e·2063·6c61·7373·3d22·6964···<span·class="id | 00001380:·203c·7370·616e·2063·6c61·7373·3d22·6964···<span·class="id | ||
00001390:·2220·7469·746c·653d·2276·6172·223e·6172··"·title="var">ar | 00001390:·2220·7469·746c·653d·2276·6172·223e·6172··"·title="var">ar | ||
000013a0:·6974·683c·2f73·7061·6e3e·2e3c·6272·2f3e··ith</span>.<br/> | 000013a0:·6974·683c·2f73·7061·6e3e·2e3c·6272·2f3e··ith</span>.<br/> | ||
000013b0:·0a0a·3c62·722f·3e0a·3c2f·6469·763e·0a0a··..<br/>.</div>.. | 000013b0:·0a0a·3c62·722f·3e0a·3c2f·6469·763e·0a0a··..<br/>.</div>.. | Diff chunk too large, falling back to line-by-line diff (11973 lines added, 11971 lines removed) | |
000013c0:·3c64·6976·2063·6c61·7373·3d22·646f·6322··<div·class="doc" | 000013c0:·3c64·6976·2063·6c61·7373·3d22·646f·6322··<div·class="doc" | ||
000013d0:·3e0a·3c61·2069·643d·226c·6162·3 | 000013d0:·3e0a·3c61·2069·643d·226c·6162·3130·3833··>.<a·id="lab1083 | ||
000013e0:·3e3c | 000013e0:·223e·3c2f·613e·3c68·3120·636c·6173·733d··"></a><h1·class= | ||
000013f0:·7365 | 000013f0:·2273·6563·7469·6f6e·223e·5072·656c·696d··"section">Prelim | ||
00001400:·6e61 | 00001400:·696e·6172·6965·733c·2f68·313e·0a0a·3c64··inaries</h1>..<d | ||
00001410:·7620 | 00001410:·6976·2063·6c61·7373·3d22·7061·7261·6772··iv·class="paragr | ||
00001420:·7068 | 00001420:·6170·6822·3e20·3c2f·6469·763e·0a0a·3c61··aph">·</div>..<a | ||
00001430:·6964 | 00001430:·2069·643d·226c·6162·3130·3834·223e·3c2f···id="lab1084"></ | ||
00001440:·3c68·3220·636c·6173·733d·2273·6563· | 00001440:·613e·3c68·3220·636c·6173·733d·2273·6563··a><h2·class="sec | ||
00001450:·6f6e·223e·5661·7269·6f75·7320·6765· | 00001450:·7469·6f6e·223e·5661·7269·6f75·7320·6765··tion">Various·ge | ||
00001460:·7269·6320·6c65·6d6d·6173·2077·6869· | 00001460:·6e65·7269·6320·6c65·6d6d·6173·2077·6869··neric·lemmas·whi | ||
00001470:·2070·726f·6261·626c·7920·7368·6f75· | 00001470:·6368·2070·726f·6261·626c·7920·7368·6f75··ch·probably·shou | ||
00001480:·2067·6f20·736f·6d65·7768·6572·6520· | 00001480:·6c64·2067·6f20·736f·6d65·7768·6572·6520··ld·go·somewhere· | ||
00001490:·7365·3c2f·6832·3e0a·0a3c·2f64·6976· | 00001490:·656c·7365·3c2f·6832·3e0a·0a3c·2f64·6976··else</h2>..</div | ||
000014a0:·3c64·6976·2063·6c61·7373·3d22·636f· | 000014a0:·3e0a·3c64·6976·2063·6c61·7373·3d22·636f··>.<div·class="co | ||
000014b0:·223e·0a0a·3c62·722f·3e0a·3c73·7061· | 000014b0:·6465·223e·0a0a·3c62·722f·3e0a·3c73·7061··de">..<br/>.<spa | ||
000014c0:·636c·6173·733d·2269·6422·2074·6974· | 000014c0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
000014d0:·3d22·6b65·7977·6f72·6422·3e4c·656d· | 000014d0:·6c65·3d22·6b65·7977·6f72·6422·3e4c·656d··le="keyword">Lem | ||
000014e0:·3c2f·7370·616e·3e20·3c61·2069·643d· | 000014e0:·6d61·3c2f·7370·616e·3e20·3c61·2069·643d··ma</span>·<a·id= | ||
000014f0:·6f75·6c65·5f68·616c·665f·746f·5f69· | 000014f0:·2242·6f75·6c65·5f68·616c·665f·746f·5f69··"Boule_half_to_i | ||
00001500:·6572·7661·6c22·2063·6c61·7373·3d22· | 00001500:·6e74·6572·7661·6c22·2063·6c61·7373·3d22··nterval"·class=" | ||
00001510:·7265·6622·2068·7265·663d·2223·426f· | 00001510:·6964·7265·6622·2068·7265·663d·2223·426f··idref"·href="#Bo | ||
00001520:·655f·6861·6c66·5f74·6f5f·696e·7465· | 00001520:·756c·655f·6861·6c66·5f74·6f5f·696e·7465··ule_half_to_inte | ||
00001530:·616c·223e·3c73·7061·6e20·636c·6173· | 00001530:·7276·616c·223e·3c73·7061·6e20·636c·6173··rval"><span·clas | ||
00001540:·2269·6422·2074·6974·6c65·3d22·6c65· | 00001540:·733d·2269·6422·2074·6974·6c65·3d22·6c65··s="id"·title="le | ||
00001550:·6122·3e42·6f75·6c65·5f68·616c·665f· | 00001550:·6d6d·6122·3e42·6f75·6c65·5f68·616c·665f··mma">Boule_half_ | ||
00001560:·5f69·6e74·6572·7661·6c3c·2f73·7061· | 00001560:·746f·5f69·6e74·6572·7661·6c3c·2f73·7061··to_interval</spa | ||
00001570:·3c2f·613e·203a·203c·7370·616e·2063· | 00001570:·6e3e·3c2f·613e·203a·203c·7370·616e·2063··n></a>·:·<span·c | ||
00001580:·7373·3d22·6964·2220·7469·746c·653d· | 00001580:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
00001590:·6579·776f·7264·223e·666f·7261·6c6c· | 00001590:·226b·6579·776f·7264·223e·666f·7261·6c6c··"keyword">forall | ||
000015a0:·7370·616e·3e20·3c61·2069·643d·2278· | 000015a0:·3c2f·7370·616e·3e20·3c61·2069·643d·2278··</span>·<a·id="x | ||
000015b0:·2220·636c·6173·733d·2269·6472·6566· | 000015b0:·3a31·2220·636c·6173·733d·2269·6472·6566··:1"·class="idref | ||
000015c0:·6872·6566·3d22·2378·3a31·223e·3c73· | 000015c0:·2220·6872·6566·3d22·2378·3a31·223e·3c73··"·href="#x:1"><s | ||
000015d0:·6e20·636c·6173·733d·2269·6422·2074· | 000015d0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
000015e0:·6c65·3d22·6269·6e64·6572·223e·783c· | 000015e0:·6974·6c65·3d22·6269·6e64·6572·223e·783c··itle="binder">x< | ||
000015f0:·7061·6e3e·3c2f·613e·2c3c·6272·2f3e· | 000015f0:·2f73·7061·6e3e·3c2f·613e·2c3c·6272·2f3e··/span></a>,<br/> | ||
00001600:·6e62·7370·3b26·6e62·7370·3b3c·6120· | 00001600:·0a26·6e62·7370·3b26·6e62·7370·3b3c·6120··. <a· | ||
00001610:·6173·733d·2269·6472·6566·2220·6872· | 00001610:·636c·6173·733d·2269·6472·6566·2220·6872··class="idref"·hr | ||
00001620:·3d22·436f·712e·5265·616c·732e·5053· | 00001620:·6566·3d22·436f·712e·5265·616c·732e·5053··ef="Coq.Reals.PS | ||
00001630:·6965·735f·7265·672e·6874·6d6c·2342· | 00001630:·6572·6965·735f·7265·672e·6874·6d6c·2342··eries_reg.html#B | ||
00001640:·6c65·223e·3c73·7061·6e20·636c·6173· | 00001640:·6f75·6c65·223e·3c73·7061·6e20·636c·6173··oule"><span·clas | ||
00001650:·2269·6422·2074·6974·6c65·3d22·6465· | 00001650:·733d·2269·6422·2074·6974·6c65·3d22·6465··s="id"·title="de | ||
00001660:·6e69·7469·6f6e·223e·426f·756c·653c· | 00001660:·6669·6e69·7469·6f6e·223e·426f·756c·653c··finition">Boule< | ||
00001670:·7061·6e3e·3c2f·613e·2028·3c61·2063· | 00001670:·2f73·7061·6e3e·3c2f·613e·2028·3c61·2063··/span></a>·(<a·c | ||
00001680:·7373·3d22·6964·7265·6622·2068·7265· | 00001680:·6c61·7373·3d22·6964·7265·6622·2068·7265··lass="idref"·hre | ||
00001690:·2243·6f71·2e52·6561·6c73·2e52·6465· | 00001690:·663d·2243·6f71·2e52·6561·6c73·2e52·6465··f="Coq.Reals.Rde | ||
000016a0:·6e69·7469·6f6e·732e·6874·6d6c·2332· | 000016a0:·6669·6e69·7469·6f6e·732e·6874·6d6c·2332··finitions.html#2 | ||
000016b0:·3961·3665·6635·3632·3730·6136·3663· | 000016b0:·3239·3961·3665·6635·3632·3730·6136·3663··299a6ef56270a66c | ||
000016c0:·6239·3534·3839·6430·6636·6533·6122· | 000016c0:·6331·6239·3534·3839·6430·6636·6533·6122··c1b95489d0f6e3a" | ||
000016d0:·7370·616e·2063·6c61·7373·3d22·6964· | 000016d0:·3e3c·7370·616e·2063·6c61·7373·3d22·6964··><span·class="id | ||
000016e0:·7469·746c·653d·226e·6f74·6174·696f· | 000016e0:·2220·7469·746c·653d·226e·6f74·6174·696f··"·title="notatio | ||
000016f0:·3e2f·3c2f·7370·616e·3e3c·2f61·3e32· | 000016f0:·6e22·3e2f·3c2f·7370·616e·3e3c·2f61·3e32··n">/</span></a>2 | ||
00001700:·3c61·2063·6c61·7373·3d22·6964·7265· | 00001700:·2920·3c61·2063·6c61·7373·3d22·6964·7265··)·<a·class="idre | ||
00001710:·2068·7265·663d·2243·6f71·2e52·6561· | 00001710:·6622·2068·7265·663d·2243·6f71·2e52·6561··f"·href="Coq.Rea | ||
00001720:·2e52·496e·6571·2e68·746d·6c23·706f· | 00001720:·6c73·2e52·496e·6571·2e68·746d·6c23·706f··ls.RIneq.html#po | ||
00001730:·6561·6c5f·6861·6c66·223e·3c73·7061· | 00001730:·7372·6561·6c5f·6861·6c66·223e·3c73·7061··sreal_half"><spa | ||
00001740:·636c·6173·733d·2269·6422·2074·6974· | 00001740:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00001750:·3d22·6465·6669·6e69·7469·6f6e·223e· | 00001750:·6c65·3d22·6465·6669·6e69·7469·6f6e·223e··le="definition"> | ||
00001760:·7372·6561·6c5f·6861·6c66·3c2f·7370· | 00001760:·706f·7372·6561·6c5f·6861·6c66·3c2f·7370··posreal_half</sp | ||
00001770:·3e3c·2f61·3e20·3c61·2063·6c61·7373· | 00001770:·616e·3e3c·2f61·3e20·3c61·2063·6c61·7373··an></a>·<a·class | ||
00001780:·6964·7265·6622·2068·7265·663d·2243· | 00001780:·3d22·6964·7265·6622·2068·7265·663d·2243··="idref"·href="C | ||
00001790:·2e52·6561·6c73·2e52·6174·616e·2e68· | 00001790:·6f71·2e52·6561·6c73·2e52·6174·616e·2e68··oq.Reals.Ratan.h | ||
000017a0:·6c23·783a·3122·3e3c·7370·616e·2063· | 000017a0:·746d·6c23·783a·3122·3e3c·7370·616e·2063··tml#x:1"><span·c | ||
000017b0:·7373·3d22·6964·2220·7469·746c·653d· | 000017b0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
000017c0:·6172·6961·626c·6522·3e78·3c2f·7370· | 000017c0:·2276·6172·6961·626c·6522·3e78·3c2f·7370··"variable">x</sp | ||
000017d0:·3e3c·2f61·3e20·3c61·2063·6c61·7373· | 000017d0:·616e·3e3c·2f61·3e20·3c61·2063·6c61·7373··an></a>·<a·class | ||
000017e0:·6964·7265·6622·2068·7265·663d·2243· | 000017e0:·3d22·6964·7265·6622·2068·7265·663d·2243··="idref"·href="C | ||
000017f0:·2e49·6e69·742e·4c6f·6769·632e·6874· | 000017f0:·6f71·2e49·6e69·742e·4c6f·6769·632e·6874··oq.Init.Logic.ht | ||
00001800:·233a·3a74·7970·655f·7363·6f70·653a· | 00001800:·6d6c·233a·3a74·7970·655f·7363·6f70·653a··ml#::type_scope: | ||
00001810:·272d·2667·743b·275f·7822·3e3c·7370· | 00001810:·785f·272d·2667·743b·275f·7822·3e3c·7370··x_'->'_x"><sp | ||
00001820:·2063·6c61·7373·3d22·6964·2220·7469· | 00001820:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | ||
00001830:·653d·226e·6f74·6174·696f·6e22·3e2d· | 00001830:·746c·653d·226e·6f74·6174·696f·6e22·3e2d··tle="notation">- | ||
00001840:·743b·3c2f·7370·616e·3e3c·2f61·3e20· | 00001840:·2667·743b·3c2f·7370·616e·3e3c·2f61·3e20··></span></a>· | ||
00001850:·3c61·2063·6c61·7373·3d22·6964·7265· | 00001850:·3020·3c61·2063·6c61·7373·3d22·6964·7265··0·<a·class="idre | ||
00001860:·2068·7265·663d·2243·6f71·2e52·6561· | 00001860:·6622·2068·7265·663d·2243·6f71·2e52·6561··f"·href="Coq.Rea | ||
00001870:·2e52·6465·6669·6e69·7469·6f6e·732e· | 00001870:·6c73·2e52·6465·6669·6e69·7469·6f6e·732e··ls.Rdefinitions. | ||
00001880:·6d6c·2366·6264·6562·6338·6331·6137· | 00001880:·6874·6d6c·2366·6264·6562·6338·6331·6137··html#fbdebc8c1a7 | ||
00001890:·6434·3034·3939·6465·3937·3363·3138· | 00001890:·3332·6434·3034·3939·6465·3937·3363·3138··32d40499de973c18 | ||
000018a0:·6131·3322·3e3c·7370·616e·2063·6c61· | 000018a0:·6139·6131·3322·3e3c·7370·616e·2063·6c61··a9a13"><span·cla | ||
000018b0:·3d22·6964·2220·7469·746c·653d·226e· | 000018b0:·7373·3d22·6964·2220·7469·746c·653d·226e··ss="id"·title="n | ||
000018c0:·6174·696f·6e22·3e26·6c74·3b3d·3c2f· | 000018c0:·6f74·6174·696f·6e22·3e26·6c74·3b3d·3c2f··otation"><=</ | ||
000018d0:·616e·3e3c·2f61·3e20·3c61·2063·6c61· | 000018d0:·7370·616e·3e3c·2f61·3e20·3c61·2063·6c61··span></a>·<a·cla | ||
000018e0:·3d22·6964·7265·6622·2068·7265·663d· | 000018e0:·7373·3d22·6964·7265·6622·2068·7265·663d··ss="idref"·href= | ||
000018f0:·6f71·2e52·6561·6c73·2e52·6174·616e· | 000018f0:·2243·6f71·2e52·6561·6c73·2e52·6174·616e··"Coq.Reals.Ratan | ||
00001900:·746d·6c23·783a·3122·3e3c·7370·616e· | 00001900:·2e68·746d·6c23·783a·3122·3e3c·7370·616e··.html#x:1"><span | ||
00001910:·6c61·7373·3d22·6964·2220·7469·746c· | 00001910:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
00001920:·2276·6172·6961·626c·6522·3e78·3c2f· | 00001920:·653d·2276·6172·6961·626c·6522·3e78·3c2f··e="variable">x</ | ||
00001930:·616e·3e3c·2f61·3e20·3c61·2063·6c61· | 00001930:·7370·616e·3e3c·2f61·3e20·3c61·2063·6c61··span></a>·<a·cla | ||
00001940:·3d22·6964·7265·6622·2068·7265·663d· | 00001940:·7373·3d22·6964·7265·6622·2068·7265·663d··ss="idref"·href= | ||
00001950:·6f71·2e52·6561·6c73·2e52·6465·6669· | 00001950:·2243·6f71·2e52·6561·6c73·2e52·6465·6669··"Coq.Reals.Rdefi | ||
00001960:·7469·6f6e·732e·6874·6d6c·2366·6264· | 00001960:·6e69·7469·6f6e·732e·6874·6d6c·2366·6264··nitions.html#fbd | ||
00001970:·6338·6331·6137·3332·6434·3034·3939· | 00001970:·6562·6338·6331·6137·3332·6434·3034·3939··ebc8c1a732d40499 | ||
00001980:·3937·3363·3138·6139·6131·3322·3e3c· | 00001980:·6465·3937·3363·3138·6139·6131·3322·3e3c··de973c18a9a13">< | ||
00001990:·616e·2063·6c61·7373·3d22·6964·2220· | 00001990:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
000019a0:·746c·653d·226e·6f74·6174·696f·6e22· | 000019a0:·7469·746c·653d·226e·6f74·6174·696f·6e22··title="notation" | ||
000019b0:·6c74·3b3d·3c2f·7370·616e·3e3c·2f61· | 000019b0:·3e26·6c74·3b3d·3c2f·7370·616e·3e3c·2f61··><=</span></a | ||
000019c0:·312e·3c62·722f·3e0a·0a3c·6272·2f3e· | 000019c0:·3e20·312e·3c62·722f·3e0a·0a3c·6272·2f3e··>·1.<br/>..<br/> | ||
000019d0:·7370·616e·2063·6c61·7373·3d22·6964· | 000019d0:·0a3c·7370·616e·2063·6c61·7373·3d22·6964··.<span·class="id | ||
000019e0:·7469·746c·653d·226b·6579·776f·7264· | 000019e0:·2220·7469·746c·653d·226b·6579·776f·7264··"·title="keyword | ||
000019f0:·4c65·6d6d·613c·2f73·7061·6e3e·203c· | 000019f0:·223e·4c65·6d6d·613c·2f73·7061·6e3e·203c··">Lemma</span>·< | ||
00001a00:·6964·3d22·426f·756c·655f·6c74·2220· | 00001a00:·6120·6964·3d22·426f·756c·655f·6c74·2220··a·id="Boule_lt"· | ||
00001a10:·6173·733d·2269·6472·6566·2220·6872· | 00001a10:·636c·6173·733d·2269·6472·6566·2220·6872··class="idref"·hr | ||
00001a20:·3d22·2342·6f75·6c65·5f6c·7422·3e3c· | 00001a20:·6566·3d22·2342·6f75·6c65·5f6c·7422·3e3c··ef="#Boule_lt">< | ||
00001a30:·616e·2063·6c61·7373·3d22·6964·2220· | 00001a30:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00001a40:·746c·653d·226c·656d·6d61·223e·426f· | 00001a40:·7469·746c·653d·226c·656d·6d61·223e·426f··title="lemma">Bo | ||
00001a50:·655f·6c74·3c2f·7370·616e·3e3c·2f61· | 00001a50:·756c·655f·6c74·3c2f·7370·616e·3e3c·2f61··ule_lt</span></a | ||
00001a60:·3a20·3c73·7061·6e20·636c·6173·733d· | 00001a60:·3e20·3a20·3c73·7061·6e20·636c·6173·733d··>·:·<span·class= | ||
00001a70:·6422·2074·6974·6c65·3d22·6b65·7977· | 00001a70:·2269·6422·2074·6974·6c65·3d22·6b65·7977··"id"·title="keyw | ||
00001a80:·6422·3e66·6f72·616c·6c3c·2f73·7061· | 00001a80:·6f72·6422·3e66·6f72·616c·6c3c·2f73·7061··ord">forall</spa | ||
00001a90:·203c·6120·6964·3d22·633a·3222·2063· | 00001a90:·6e3e·203c·6120·6964·3d22·633a·3222·2063··n>·<a·id="c:2"·c | ||
00001aa0:·7373·3d22·6964·7265·6622·2068·7265· | 00001aa0:·6c61·7373·3d22·6964·7265·6622·2068·7265··lass="idref"·hre | ||
00001ab0:·2223·633a·3222·3e3c·7370·616e·2063· | 00001ab0:·663d·2223·633a·3222·3e3c·7370·616e·2063··f="#c:2"><span·c | ||
00001ac0:·7373·3d22·6964·2220·7469·746c·653d· | 00001ac0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
00001ad0:·696e·6465·7222·3e63·3c2f·7370·616e· | 00001ad0:·2262·696e·6465·7222·3e63·3c2f·7370·616e··"binder">c</span | ||
00001ae0:·2f61·3e20·3c61·2069·643d·2272·3a33· | 00001ae0:·3e3c·2f61·3e20·3c61·2069·643d·2272·3a33··></a>·<a·id="r:3 | ||
00001af0:·636c·6173·733d·2269·6472·6566·2220· | 00001af0:·2220·636c·6173·733d·2269·6472·6566·2220··"·class="idref"· | ||
00001b00:·6566·3d22·2372·3a33·223e·3c73·7061· | 00001b00:·6872·6566·3d22·2372·3a33·223e·3c73·7061··href="#r:3"><spa | ||
00001b10:·636c·6173·733d·2269·6422·2074·6974· | 00001b10:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00001b20:·3d22·6269·6e64·6572·223e·723c·2f73· | 00001b20:·6c65·3d22·6269·6e64·6572·223e·723c·2f73··le="binder">r</s | ||
00001b30:·6e3e·3c2f·613e·203c·6120·6964·3d22· | 00001b30:·7061·6e3e·3c2f·613e·203c·6120·6964·3d22··pan></a>·<a·id=" | ||
Max diff block lines reached; -1/1652630 bytes (-0.00%) of diff not shown. |
Offset 65, 19 lines modified | Offset 65, 19 lines modified | ||
65 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#"><span·class="id"·title="library">Rdefinitions</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#"><span·class="id"·title="library">Rdefinitions</span></a>.<br/> |
66 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 66 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
67 | <br/> | 67 | <br/> |
68 | </div> | 68 | </div> |
69 | <div·class="doc"> | 69 | <div·class="doc"> |
70 | <a·id="lab | 70 | <a·id="lab1132"></a><h1·class="section">Field·operations</h1> |
71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> |
72 | <a·id="lab | 72 | <a·id="lab1133"></a><h2·class="section">Addition</h2> |
73 | </div> | 73 | </div> |
74 | <div·class="code"> | 74 | <div·class="code"> |
75 | <br/> | 75 | <br/> |
76 | <span·class="id"·title="keyword">Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">CReal_scope</span>.<br/> | 76 | <span·class="id"·title="keyword">Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">CReal_scope</span>.<br/> |
Offset 61, 15 lines modified | Offset 61, 15 lines modified | ||
61 | <br/> | 61 | <br/> |
62 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> |
63 | <br/> | 63 | <br/> |
64 | </div> | 64 | </div> |
65 | <div·class="doc"> | 65 | <div·class="doc"> |
66 | <a·id="lab | 66 | <a·id="lab1038"></a><h1·class="section">Rmin</h1> |
67 | <div·class="paragraph">·</div> | 67 | <div·class="paragraph">·</div> |
68 | </div> | 68 | </div> |
69 | <div·class="code"> | 69 | <div·class="code"> |
70 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rmin"·class="idref"·href="#Rmin"><span·class="id"·title="definition">Rmin</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 70 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rmin"·class="idref"·href="#Rmin"><span·class="id"·title="definition">Rmin</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> |
Offset 174, 15 lines modified | Offset 174, 15 lines modified | ||
174 | <span·class="id"·title="keyword">Notation</span>·<a·id="::R_scope:x_'<'_x_'<'_x"·class="idref"·href="#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation">"</span></a>x·<·y·<·z"···:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">R_scope</span>.<br/> | 174 | <span·class="id"·title="keyword">Notation</span>·<a·id="::R_scope:x_'<'_x_'<'_x"·class="idref"·href="#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation">"</span></a>x·<·y·<·z"···:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">R_scope</span>.<br/> |
175 | <span·class="id"·title="keyword">Notation</span>·<a·id="655439258f20e6256090528bc533ae29"·class="idref"·href="#655439258f20e6256090528bc533ae29"><span·class="id"·title="notation">"</span></a>x·<·y·<=·z"··:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">R_scope</span>.<br/> | 175 | <span·class="id"·title="keyword">Notation</span>·<a·id="655439258f20e6256090528bc533ae29"·class="idref"·href="#655439258f20e6256090528bc533ae29"><span·class="id"·title="notation">"</span></a>x·<·y·<=·z"··:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>··<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<span·class="id"·title="var">y</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">R_scope</span>.<br/> |
176 | <br/> | 176 | <br/> |
177 | </div> | 177 | </div> |
178 | <div·class="doc"> | 178 | <div·class="doc"> |
179 | <a·id="lab | 179 | <a·id="lab958"></a><h1·class="section">Injection·from·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">R</span></span></h1> |
180 | </div> | 180 | </div> |
181 | <div·class="code"> | 181 | <div·class="code"> |
182 | <br/> | 182 | <br/> |
183 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="IPR_2"·class="idref"·href="#IPR_2"><span·class="id"·title="definition">IPR_2</span></a>·(<a·id="p:50"·class="idref"·href="#p:50"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#R"><span·class="id"·title="abbreviation">R</span></a>·:=<br/> | 183 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="IPR_2"·class="idref"·href="#IPR_2"><span·class="id"·title="definition">IPR_2</span></a>·(<a·id="p:50"·class="idref"·href="#p:50"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#R"><span·class="id"·title="abbreviation">R</span></a>·:=<br/> |
184 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#p:50"><span·class="id"·title="variable">p</span></a>·<span·class="id"·title="keyword">with</span><br/> | 184 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#p:50"><span·class="id"·title="variable">p</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 70, 15 lines modified | Offset 70, 15 lines modified | ||
70 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> | 70 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">nat_scope</span>.<br/> |
71 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 71 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
72 | <br/> | 72 | <br/> |
73 | </div> | 73 | </div> |
74 | <div·class="doc"> | 74 | <div·class="doc"> |
75 | <a·id="lab | 75 | <a·id="lab960"></a><h1·class="section">Lemmas·about·factorial</h1> |
76 | </div> | 76 | </div> |
77 | <div·class="code"> | 77 | <div·class="code"> |
78 | <span·class="id"·title="keyword">Lemma</span>·<a·id="INR_fact_neq_0"·class="idref"·href="#INR_fact_neq_0"><span·class="id"·title="lemma">INR_fact_neq_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:1"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 78 | <span·class="id"·title="keyword">Lemma</span>·<a·id="INR_fact_neq_0"·class="idref"·href="#INR_fact_neq_0"><span·class="id"·title="lemma">INR_fact_neq_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:1"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> |
79 | <br/> | 79 | <br/> |
80 | <span·class="id"·title="keyword">Lemma</span>·<a·id="fact_simpl"·class="idref"·href="#fact_simpl"><span·class="id"·title="lemma">fact_simpl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span>.<br/> | 80 | <span·class="id"·title="keyword">Lemma</span>·<a·id="fact_simpl"·class="idref"·href="#fact_simpl"><span·class="id"·title="lemma">fact_simpl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:2"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span>.<br/> |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#"><span·class="id"·title="library">R_sqrt</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#"><span·class="id"·title="library">R_sqrt</span></a>.<br/> |
54 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 54 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab | 58 | <a·id="lab1032"></a><h1·class="section">Distance</h1> |
59 | </div> | 59 | </div> |
60 | <div·class="code"> | 60 | <div·class="code"> |
61 | <br/> | 61 | <br/> |
62 | <span·class="id"·title="keyword">Definition</span>·<a·id="dist_euc"·class="idref"·href="#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·(<a·id="x0:1"·class="idref"·href="#x0:1"><span·class="id"·title="binder">x0</span></a>·<a·id="y0:2"·class="idref"·href="#y0:2"><span·class="id"·title="binder">y0</span></a>·<a·id="x1:3"·class="idref"·href="#x1:3"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:4"·class="idref"·href="#y1:4"><span·class="id"·title="binder">y1</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 62 | <span·class="id"·title="keyword">Definition</span>·<a·id="dist_euc"·class="idref"·href="#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·(<a·id="x0:1"·class="idref"·href="#x0:1"><span·class="id"·title="binder">x0</span></a>·<a·id="y0:2"·class="idref"·href="#y0:2"><span·class="id"·title="binder">y0</span></a>·<a·id="x1:3"·class="idref"·href="#x1:3"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:4"·class="idref"·href="#y1:4"><span·class="id"·title="binder">y1</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> |
63 | <a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:1"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:3"><span·class="id"·title="variable">x1</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:2"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:4"><span·class="id"·title="variable">y1</span></a>)).<br/> | 63 | <a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:1"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:3"><span·class="id"·title="variable">x1</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:2"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:4"><span·class="id"·title="variable">y1</span></a>)).<br/> |
Offset 58, 15 lines modified | Offset 58, 15 lines modified | ||
58 | <br/> | 58 | <br/> |
59 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 59 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
60 | <br/> | 60 | <br/> |
61 | </div> | 61 | </div> |
62 | <div·class="doc"> | 62 | <div·class="doc"> |
63 | <a·id="lab | 63 | <a·id="lab1125"></a><h1·class="section">Each·bounded·subset·of·N·has·a·maximal·element</h1> |
64 | </div> | 64 | </div> |
65 | <div·class="code"> | 65 | <div·class="code"> |
66 | <br/> | 66 | <br/> |
67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nbound"·class="idref"·href="#Nbound"><span·class="id"·title="definition">Nbound</span></a>·(<a·id="I:1"·class="idref"·href="#I:1"><span·class="id"·title="binder">I</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nbound"·class="idref"·href="#Nbound"><span·class="id"·title="definition">Nbound</span></a>·(<a·id="I:1"·class="idref"·href="#I:1"><span·class="id"·title="binder">I</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> |
68 | <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:1"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:3"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:3"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:2"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">)</span></a>.<br/> | 68 | <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>,·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:1"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:3"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:3"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:2"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">)</span></a>.<br/> |
Offset 59, 15 lines modified | Offset 59, 15 lines modified | ||
59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>.<br/> |
60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
61 | <br/> | 61 | <br/> |
62 | </div> | 62 | </div> |
63 | <div·class="doc"> | 63 | <div·class="doc"> |
64 | <a·id="lab | 64 | <a·id="lab1052"></a><h1·class="section">Calculus</h1> |
65 | </div> | 65 | </div> |
66 | <div·class="code"> | 66 | <div·class="code"> |
67 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eps2_Rgt_R0"·class="idref"·href="#eps2_Rgt_R0"><span·class="id"·title="lemma">eps2_Rgt_R0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="eps:1"·class="idref"·href="#eps:1"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:1"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:1"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> | 67 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eps2_Rgt_R0"·class="idref"·href="#eps2_Rgt_R0"><span·class="id"·title="lemma">eps2_Rgt_R0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="eps:1"·class="idref"·href="#eps:1"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:1"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:1"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> |
68 | <br/> | 68 | <br/> |
69 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eps2"·class="idref"·href="#eps2"><span·class="id"·title="lemma">eps2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="eps:2"·class="idref"·href="#eps:2"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>.<br/> | 69 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eps2"·class="idref"·href="#eps2"><span·class="id"·title="lemma">eps2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="eps:2"·class="idref"·href="#eps:2"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:2"><span·class="id"·title="variable">eps</span></a>.<br/> |
Offset 71, 15 lines modified | Offset 71, 15 lines modified | ||
71 | <br/> | 71 | <br/> |
72 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.RIneq.html#"><span·class="id"·title="library">RIneq</span></a>.<br/> | 72 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Reals.RIneq.html#"><span·class="id"·title="library">RIneq</span></a>.<br/> |
73 | <br/> | 73 | <br/> |
74 | </div> | 74 | </div> |
75 | <div·class="doc"> | 75 | <div·class="doc"> |
76 | <a·id="lab | 76 | <a·id="lab1067"></a><h1·class="section">Decidability·of·arithmetical·statements</h1> |
77 | <div·class="paragraph">·</div> | 77 | <div·class="paragraph">·</div> |
78 | ·One·can·iterate·this·lemma·and·use·classical·logic·to·decide·any | 78 | ·One·can·iterate·this·lemma·and·use·classical·logic·to·decide·any |
79 | statement·in·the·arithmetical·hierarchy.· | 79 | statement·in·the·arithmetical·hierarchy.· |
80 | </div> | 80 | </div> |
81 | <div·class="code"> | 81 | <div·class="code"> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">real</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">Tauto.intuition_solver</span>·::=·<span·class="id"·title="tactic">auto</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">real</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab | 56 | <a·id="lab1123"></a><h1·class="section">Maximum·and·Minimum·of·two·real·numbers</h1> |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
59 | <br/> | 59 | <br/> |
60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
Offset 72, 15 lines modified | Offset 72, 15 lines modified | ||
72 | <br/> | 72 | <br/> |
73 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_le_3"·class="idref"·href="#exp_le_3"><span·class="id"·title="lemma">exp_le_3</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·3.<br/> | 73 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_le_3"·class="idref"·href="#exp_le_3"><span·class="id"·title="lemma">exp_le_3</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·3.<br/> |
74 | <br/> | 74 | <br/> |
75 | </div> | 75 | </div> |
76 | <div·class="doc"> | 76 | <div·class="doc"> |
77 | <a·id="lab | 77 | <a·id="lab1062"></a><h1·class="section">Properties·of··Exp</h1> |
78 | </div> | 78 | </div> |
79 | <div·class="code"> | 79 | <div·class="code"> |
80 | <br/> | 80 | <br/> |
81 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_neq_0"·class="idref"·href="#exp_neq_0"><span·class="id"·title="lemma">exp_neq_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> | 81 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_neq_0"·class="idref"·href="#exp_neq_0"><span·class="id"·title="lemma">exp_neq_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0.<br/> |
Offset 54, 15 lines modified | Offset 54, 15 lines modified | ||
54 | <br/> | 54 | <br/> |
55 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> | 55 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Type</span>·<span·class="id"·title="var">r</span>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>.<br/> |
56 | <br/> | 56 | <br/> |
57 | </div> | 57 | </div> |
58 | <div·class="doc"> | 58 | <div·class="doc"> |
59 | <a·id="lab | 59 | <a·id="lab1060"></a><h1·class="section">Definition·of·sequence·and·properties</h1> |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
62 | <br/> | 62 | <br/> |
63 | <span·class="id"·title="keyword">Section</span>·<a·id="sequence"·class="idref"·href="#sequence"><span·class="id"·title="section">sequence</span></a>.<br/> | 63 | <span·class="id"·title="keyword">Section</span>·<a·id="sequence"·class="idref"·href="#sequence"><span·class="id"·title="section">sequence</span></a>.<br/> |
Offset 55, 15 lines modified | Offset 55, 15 lines modified | ||
55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Logic.Classical_Pred_Type.html#"><span·class="id"·title="library">Classical_Pred_Type</span></a>.<br/> | 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Logic.Classical_Pred_Type.html#"><span·class="id"·title="library">Classical_Pred_Type</span></a>.<br/> |
56 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 56 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
57 | <br/> | 57 | <br/> |
58 | </div> | 58 | </div> |
59 | <div·class="doc"> | 59 | <div·class="doc"> |
60 | <a·id="lab | 60 | <a·id="lab1114"></a><h1·class="section">General·definitions·and·propositions</h1> |
61 | </div> | 61 | </div> |
62 | <div·class="code"> | 62 | <div·class="code"> |
63 | <br/> | 63 | <br/> |
64 | <span·class="id"·title="keyword">Definition</span>·<a·id="included"·class="idref"·href="#included"><span·class="id"·title="definition">included</span></a>·(<a·id="D1:1"·class="idref"·href="#D1:1"><span·class="id"·title="binder">D1</span></a>·<a·id="D2:2"·class="idref"·href="#D2:2"><span·class="id"·title="binder">D2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#D1:1"><span·class="id"·title="variable">D1</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#D2:2"><span·class="id"·title="variable">D2</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:3"><span·class="id"·title="variable">x</span></a>.<br/> | 64 | <span·class="id"·title="keyword">Definition</span>·<a·id="included"·class="idref"·href="#included"><span·class="id"·title="definition">included</span></a>·(<a·id="D1:1"·class="idref"·href="#D1:1"><span·class="id"·title="binder">D1</span></a>·<a·id="D2:2"·class="idref"·href="#D2:2"><span·class="id"·title="binder">D2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtopology.html#D1:1"><span·class="id"·title="variable">D1</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#D2:2"><span·class="id"·title="variable">D2</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:3"><span·class="id"·title="variable">x</span></a>.<br/> |
65 | <span·class="id"·title="keyword">Definition</span>·<a·id="disc"·class="idref"·href="#disc"><span·class="id"·title="definition">disc</span></a>·(<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="delta:5"·class="idref"·href="#delta:5"><span·class="id"·title="binder">delta</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#posreal"><span·class="id"·title="record">posreal</span></a>)·(<a·id="y:6"·class="idref"·href="#y:6"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rtopology.html#y:6"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:4"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#delta:5"><span·class="id"·title="variable">delta</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Definition</span>·<a·id="disc"·class="idref"·href="#disc"><span·class="id"·title="definition">disc</span></a>·(<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="delta:5"·class="idref"·href="#delta:5"><span·class="id"·title="binder">delta</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#posreal"><span·class="id"·title="record">posreal</span></a>)·(<a·id="y:6"·class="idref"·href="#y:6"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rtopology.html#y:6"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#x:4"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#delta:5"><span·class="id"·title="variable">delta</span></a>.<br/> |
Offset 160, 15 lines modified | Offset 160, 15 lines modified | ||
160 | 1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 160 | 1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<>'_x"><span·class="id"·title="notation"><></span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
161 | <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·(<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a>1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>.<br/> | 161 | <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·(<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</span></a>1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#y:53"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>.<br/> |
162 | <br/> | 162 | <br/> |
163 | </div> | 163 | </div> |
164 | <div·class="doc"> | 164 | <div·class="doc"> |
165 | <a·id="lab | 165 | <a·id="lab1080"></a><h1·class="section">Some·properties·of·cos,·sin·and·tan</h1> |
166 | </div> | 166 | </div> |
167 | <div·class="code"> | 167 | <div·class="code"> |
168 | <br/> | 168 | <br/> |
169 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_2a"·class="idref"·href="#sin_2a"><span·class="id"·title="lemma">sin_2a</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:54"·class="idref"·href="#x:54"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·(2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>.<br/> | 169 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_2a"·class="idref"·href="#sin_2a"><span·class="id"·title="lemma">sin_2a</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:54"·class="idref"·href="#x:54"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·(2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·2·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:54"><span·class="id"·title="variable">x</span></a>.<br/> |
Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Lra.html#"><span·class="id"·title="library">Lra</span></a>·<a·class="idref"·href="Coq.micromega.Lia.html#"><span·class="id"·title="library">Lia</span></a>.<br/> |
51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
52 | <br/> | 52 | <br/> |
53 | </div> | 53 | </div> |
54 | <div·class="doc"> | 54 | <div·class="doc"> |
55 | <a·id="lab | 55 | <a·id="lab1077"></a><h1·class="section">Definition·of·exponential</h1> |
56 | </div> | 56 | </div> |
57 | <div·class="code"> | 57 | <div·class="code"> |
58 | <span·class="id"·title="keyword">Definition</span>·<a·id="exp_in"·class="idref"·href="#exp_in"><span·class="id"·title="definition">exp_in</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="l:2"·class="idref"·href="#l:2"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 58 | <span·class="id"·title="keyword">Definition</span>·<a·id="exp_in"·class="idref"·href="#exp_in"><span·class="id"·title="definition">exp_in</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="l:2"·class="idref"·href="#l:2"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> |
59 | <a·class="idref"·href="Coq.Reals.Rfunctions.html#infinite_sum"><span·class="id"·title="definition">infinite_sum</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#i:3"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#i:3"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#l:2"><span·class="id"·title="variable">l</span></a>.<br/> | 59 | <a·class="idref"·href="Coq.Reals.Rfunctions.html#infinite_sum"><span·class="id"·title="definition">infinite_sum</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:3"·class="idref"·href="#i:3"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·(<a·class="idref"·href="Coq.Arith.Factorial.html#fact"><span·class="id"·title="definition">fact</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#i:3"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#i:3"><span·class="id"·title="variable">i</span></a>)·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#l:2"><span·class="id"·title="variable">l</span></a>.<br/> |
60 | <br/> | 60 | <br/> |
Offset 57, 15 lines modified | Offset 57, 15 lines modified | ||
57 | <br/> | 57 | <br/> |
58 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 58 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
59 | <br/> | 59 | <br/> |
60 | </div> | 60 | </div> |
61 | <div·class="doc"> | 61 | <div·class="doc"> |
62 | <a·id="lab | 62 | <a·id="lab1117"></a><h1·class="section">Bounds·of·expressions·with·trigonometric·functions</h1> |
63 | </div> | 63 | </div> |
64 | <div·class="code"> | 64 | <div·class="code"> |
65 | <br/> | 65 | <br/> |
66 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin2_bound"·class="idref"·href="#sin2_bound"><span·class="id"·title="lemma">sin2_bound</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>,<br/> | 66 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin2_bound"·class="idref"·href="#sin2_bound"><span·class="id"·title="lemma">sin2_bound</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>,<br/> |
67 | 0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:1"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 67 | 0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Reals.Rtrigo_def.html#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:1"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·1.<br/> |
Offset 45, 16 lines modified | Offset 45, 16 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab20"></a><h1·class="section">Some·properties·of·the·operators·on·relations</h1> |
50 | <a·id="lab | 50 | <a·id="lab21"></a><h1·class="section">Initial·version·by·Bruno·Barras</h1> |
51 | </div> | 51 | </div> |
52 | <div·class="code"> | 52 | <div·class="code"> |
53 | <br/> | 53 | <br/> |
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#"><span·class="id"·title="library">Relation_Definitions</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#"><span·class="id"·title="library">Relation_Definitions</span></a>.<br/> |
55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#"><span·class="id"·title="library">Relation_Operators</span></a>.<br/> | 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#"><span·class="id"·title="library">Relation_Operators</span></a>.<br/> |
Offset 45, 34 lines modified | Offset 45, 34 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1"></a><h1·class="section">Some·operators·on·relations</h1> |
50 | <a·id="lab | 50 | <a·id="lab2"></a><h1·class="section">Initial·authors:·Bruno·Barras,·Cristina·Cornes</h1> |
51 | <a·id="lab3"></a><h1·class="section">···································································</h1> | ||
52 | <a·id="lab4"></a><h1·class="section">Some·of·the·initial·definitions·were·taken·from·:</h1> | ||
53 | <a·id="lab5"></a><h1·class="section">Constructing·Recursion·Operators·in·Type·Theory</h1> | ||
54 | <a·id="lab6"></a><h1·class="section">L.·Paulson··JSC·(1986)·2,·325-355</h1> | ||
51 | <a·id="lab7 | 55 | <a·id="lab7"></a><h1·class="section">···································································</h1> |
52 | <a·id="lab797"></a><h1·class="section">Some·of·the·initial·definitions·were·taken·from·:</h1> | ||
53 | <a·id="lab798"></a><h1·class="section">Constructing·Recursion·Operators·in·Type·Theory</h1> | ||
54 | <a·id="lab799"></a><h1·class="section">L.·Paulson··JSC·(1986)·2,·325-355</h1> | ||
55 | <a·id="lab800"></a><h1·class="section">···································································</h1> | ||
56 | <a·id="lab8 | 56 | <a·id="lab8"></a><h1·class="section">Further·extensions·by·Pierre·Castéran</h1> |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
59 | <br/> | 59 | <br/> |
60 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#"><span·class="id"·title="library">Relation_Definitions</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#"><span·class="id"·title="library">Relation_Definitions</span></a>.<br/> |
61 | <br/> | 61 | <br/> |
62 | </div> | 62 | </div> |
63 | <div·class="doc"> | 63 | <div·class="doc"> |
64 | <a·id="lab | 64 | <a·id="lab9"></a><h2·class="section">Transitive·closure</h2> |
65 | </div> | 65 | </div> |
66 | <div·class="code"> | 66 | <div·class="code"> |
67 | <br/> | 67 | <br/> |
68 | <span·class="id"·title="keyword">Section</span>·<a·id="Transitive_Closure"·class="idref"·href="#Transitive_Closure"><span·class="id"·title="section">Transitive_Closure</span></a>.<br/> | 68 | <span·class="id"·title="keyword">Section</span>·<a·id="Transitive_Closure"·class="idref"·href="#Transitive_Closure"><span·class="id"·title="section">Transitive_Closure</span></a>.<br/> |
69 | <span·class="id"·title="keyword">Variable</span>·<a·id="Transitive_Closure.A"·class="idref"·href="#Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 69 | <span·class="id"·title="keyword">Variable</span>·<a·id="Transitive_Closure.A"·class="idref"·href="#Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1182"></a><h1·class="section">Circular·Shifts·(aka·Cyclic·Permutations)</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·The·main·inductive·<span·class="inlinecode"><span·class="id"·title="var">CPermutation</span></span>·relates·lists·up·to·circular·shifts·of·their·elements. | 51 | ·The·main·inductive·<span·class="inlinecode"><span·class="id"·title="var">CPermutation</span></span>·relates·lists·up·to·circular·shifts·of·their·elements. |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
Offset 66, 19 lines modified | Offset 66, 19 lines modified | ||
66 | <br/> | 66 | <br/> |
67 | <span·class="id"·title="keyword">Section</span>·<a·id="defs"·class="idref"·href="#defs"><span·class="id"·title="section">defs</span></a>.<br/> | 67 | <span·class="id"·title="keyword">Section</span>·<a·id="defs"·class="idref"·href="#defs"><span·class="id"·title="section">defs</span></a>.<br/> |
68 | <br/> | 68 | <br/> |
69 | </div> | 69 | </div> |
70 | <div·class="doc"> | 70 | <div·class="doc"> |
71 | <a·id="lab | 71 | <a·id="lab1172"></a><h1·class="section">Trees·and·heap·trees</h1> |
72 | <div·class="paragraph">·</div> | 72 | <div·class="paragraph">·</div> |
73 | <a·id="lab | 73 | <a·id="lab1173"></a><h2·class="section">Definition·of·trees·over·an·ordered·set</h2> |
74 | </div> | 74 | </div> |
75 | <div·class="code"> | 75 | <div·class="code"> |
76 | <br/> | 76 | <br/> |
77 | <span·class="id"·title="keyword">Variable</span>·<a·id="defs.A"·class="idref"·href="#defs.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 77 | <span·class="id"·title="keyword">Variable</span>·<a·id="defs.A"·class="idref"·href="#defs.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
78 | <span·class="id"·title="keyword">Variable</span>·<a·id="defs.leA"·class="idref"·href="#defs.leA"><span·class="id"·title="variable">leA</span></a>·:·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#relation"><span·class="id"·title="definition">relation</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>.<br/> | 78 | <span·class="id"·title="keyword">Variable</span>·<a·id="defs.leA"·class="idref"·href="#defs.leA"><span·class="id"·title="variable">leA</span></a>·:·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#relation"><span·class="id"·title="definition">relation</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>.<br/> |
Offset 85, 15 lines modified | Offset 85, 15 lines modified | ||
85 | <br/> | 85 | <br/> |
86 | <span·class="id"·title="keyword">Section</span>·<a·id="Permut"·class="idref"·href="#Permut"><span·class="id"·title="section">Permut</span></a>.<br/> | 86 | <span·class="id"·title="keyword">Section</span>·<a·id="Permut"·class="idref"·href="#Permut"><span·class="id"·title="section">Permut</span></a>.<br/> |
87 | <br/> | 87 | <br/> |
88 | </div> | 88 | </div> |
89 | <div·class="doc"> | 89 | <div·class="doc"> |
90 | <a·id="lab | 90 | <a·id="lab1168"></a><h1·class="section">From·lists·to·multisets</h1> |
91 | </div> | 91 | </div> |
92 | <div·class="code"> | 92 | <div·class="code"> |
93 | <br/> | 93 | <br/> |
94 | <span·class="id"·title="keyword">Variable</span>·<a·id="Permut.A"·class="idref"·href="#Permut.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 94 | <span·class="id"·title="keyword">Variable</span>·<a·id="Permut.A"·class="idref"·href="#Permut.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
95 | <span·class="id"·title="keyword">Variable</span>·<a·id="Permut.eqA"·class="idref"·href="#Permut.eqA"><span·class="id"·title="variable">eqA</span></a>·:·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#relation"><span·class="id"·title="definition">relation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Variable</span>·<a·id="Permut.eqA"·class="idref"·href="#Permut.eqA"><span·class="id"·title="variable">eqA</span></a>·:·<a·class="idref"·href="Coq.Relations.Relation_Definitions.html#relation"><span·class="id"·title="definition">relation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab1171"></a><h1·class="section">List·permutations·as·a·composition·of·adjacent·transpositions</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <br/> | 53 | <br/> |
Offset 58, 15 lines modified | Offset 58, 15 lines modified | ||
58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#"><span·class="id"·title="library">BinPos</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#"><span·class="id"·title="library">BinNat</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>·<a·class="idref"·href="Coq.NArith.Nnat.html#"><span·class="id"·title="library">Nnat</span></a>·<a·class="idref"·href="Coq.Strings.Byte.html#"><span·class="id"·title="library">Coq.Strings.Byte</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#"><span·class="id"·title="library">BinPos</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#"><span·class="id"·title="library">BinNat</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#"><span·class="id"·title="library">PeanoNat</span></a>·<a·class="idref"·href="Coq.NArith.Nnat.html#"><span·class="id"·title="library">Nnat</span></a>·<a·class="idref"·href="Coq.Strings.Byte.html#"><span·class="id"·title="library">Coq.Strings.Byte</span></a>.<br/> |
59 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#IfNotations"><span·class="id"·title="module">IfNotations</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#IfNotations"><span·class="id"·title="module">IfNotations</span></a>.<br/> |
60 | <br/> | 60 | <br/> |
61 | </div> | 61 | </div> |
62 | <div·class="doc"> | 62 | <div·class="doc"> |
63 | <a·id="lab | 63 | <a·id="lab438"></a><h1·class="section">Definition·of·ascii·characters</h1> |
64 | <div·class="paragraph">·</div> | 64 | <div·class="paragraph">·</div> |
65 | ·Definition·of·ascii·character·as·a·8·bits·constructor· | 65 | ·Definition·of·ascii·character·as·a·8·bits·constructor· |
66 | </div> | 66 | </div> |
67 | <div·class="code"> | 67 | <div·class="code"> |
Offset 61, 15 lines modified | Offset 61, 15 lines modified | ||
61 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Byte.html#"><span·class="id"·title="library">Coq.Strings.Byte</span></a>.<br/> | 61 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Byte.html#"><span·class="id"·title="library">Coq.Strings.Byte</span></a>.<br/> |
62 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#IfNotations"><span·class="id"·title="module">IfNotations</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Init.Notations.html#IfNotations"><span·class="id"·title="module">IfNotations</span></a>.<br/> |
63 | <br/> | 63 | <br/> |
64 | </div> | 64 | </div> |
65 | <div·class="doc"> | 65 | <div·class="doc"> |
66 | <a·id="lab | 66 | <a·id="lab430"></a><h3·class="section">Definition·of·strings</h3> |
67 | <div·class="paragraph">·</div> | 67 | <div·class="paragraph">·</div> |
68 | ·Implementation·of·string·as·list·of·ascii·characters· | 68 | ·Implementation·of·string·as·list·of·ascii·characters· |
69 | </div> | 69 | </div> |
70 | <div·class="code"> | 70 | <div·class="code"> |
Offset 56, 39 lines modified | Offset 56, 39 lines modified | ||
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of | 58 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of |
59 | ····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Equalities.v</span></span>·directly·now.· | 59 | ····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Equalities.v</span></span>·directly·now.· |
60 | <div·class="paragraph">·</div> | 60 | <div·class="paragraph">·</div> |
61 | <a·id="lab | 61 | <a·id="lab281"></a><h1·class="section">Types·with·Equalities,·and·nothing·more·(for·subtyping·purpose)</h1> |
62 | </div> | 62 | </div> |
63 | <div·class="code"> | 63 | <div·class="code"> |
64 | <br/> | 64 | <br/> |
65 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="EqualityType"·class="idref"·href="#EqualityType"><span·class="id"·title="module">EqualityType</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#EqualityTypeOrig"><span·class="id"·title="module">Equalities.EqualityTypeOrig</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="EqualityType"·class="idref"·href="#EqualityType"><span·class="id"·title="module">EqualityType</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#EqualityTypeOrig"><span·class="id"·title="module">Equalities.EqualityTypeOrig</span></a>.<br/> |
66 | <br/> | 66 | <br/> |
67 | </div> | 67 | </div> |
68 | <div·class="doc"> | 68 | <div·class="doc"> |
69 | <a·id="lab | 69 | <a·id="lab282"></a><h1·class="section">Types·with·decidable·Equalities·(but·no·ordering)</h1> |
70 | </div> | 70 | </div> |
71 | <div·class="code"> | 71 | <div·class="code"> |
72 | <br/> | 72 | <br/> |
73 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="DecidableType"·class="idref"·href="#DecidableType"><span·class="id"·title="module">DecidableType</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeOrig"><span·class="id"·title="module">Equalities.DecidableTypeOrig</span></a>.<br/> | 73 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="DecidableType"·class="idref"·href="#DecidableType"><span·class="id"·title="module">DecidableType</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeOrig"><span·class="id"·title="module">Equalities.DecidableTypeOrig</span></a>.<br/> |
74 | <br/> | 74 | <br/> |
75 | </div> | 75 | </div> |
76 | <div·class="doc"> | 76 | <div·class="doc"> |
77 | <a·id="lab | 77 | <a·id="lab283"></a><h1·class="section">Additional·notions·about·keys·and·datas·used·in·FMap</h1> |
78 | </div> | 78 | </div> |
79 | <div·class="code"> | 79 | <div·class="code"> |
80 | <br/> | 80 | <br/> |
81 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyDecidableType"·class="idref"·href="#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<span·class="id"·title="var">D</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>).<br/> | 81 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyDecidableType"·class="idref"·href="#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<span·class="id"·title="var">D</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>).<br/> |
82 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.DecidableType.html#D"><span·class="id"·title="module">D</span></a>.<br/> | 82 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.DecidableType.html#D"><span·class="id"·title="module">D</span></a>.<br/> |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | </div> | 53 | </div> |
54 | <div·class="doc"> | 54 | <div·class="doc"> |
55 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of | 55 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of |
56 | ····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Equalities.v</span></span>·directly·now.· | 56 | ····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Equalities.v</span></span>·directly·now.· |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | <a·id="lab2 | 58 | <a·id="lab280"></a><h1·class="section">Examples·of·Decidable·Type·structures.</h1> |
59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> |
60 | ·A·particular·case·of·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·where | 60 | ·A·particular·case·of·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·where |
61 | ····the·equality·is·the·usual·one·of·Coq.· | 61 | ····the·equality·is·the·usual·one·of·Coq.· |
62 | </div> | 62 | </div> |
63 | <div·class="code"> | 63 | <div·class="code"> |
Offset 65, 29 lines modified | Offset 65, 29 lines modified | ||
65 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Nop"·class="idref"·href="#Nop"><span·class="id"·title="module">Nop</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Nop"·class="idref"·href="#Nop"><span·class="id"·title="module">Nop</span></a>.<br/> |
66 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#Nop"><span·class="id"·title="module">Nop</span></a>.<br/> | 66 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#Nop"><span·class="id"·title="module">Nop</span></a>.<br/> |
67 | <br/> | 67 | <br/> |
68 | </div> | 68 | </div> |
69 | <div·class="doc"> | 69 | <div·class="doc"> |
70 | <a·id="lab | 70 | <a·id="lab304"></a><h1·class="section">Structure·with·just·a·base·type·<span·class="inlinecode"><span·class="id"·title="var">t</span></span></h1> |
71 | </div> | 71 | </div> |
72 | <div·class="code"> | 72 | <div·class="code"> |
73 | <br/> | 73 | <br/> |
74 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Typ"·class="idref"·href="#Typ"><span·class="id"·title="module">Typ</span></a>.<br/> | 74 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Typ"·class="idref"·href="#Typ"><span·class="id"·title="module">Typ</span></a>.<br/> |
75 | <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>(10)·<a·id="Typ.t"·class="idref"·href="#Typ.t"><span·class="id"·title="axiom">t</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 75 | <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>(10)·<a·id="Typ.t"·class="idref"·href="#Typ.t"><span·class="id"·title="axiom">t</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
76 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>.<br/> | 76 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>.<br/> |
77 | <br/> | 77 | <br/> |
78 | </div> | 78 | </div> |
79 | <div·class="doc"> | 79 | <div·class="doc"> |
80 | <a·id="lab | 80 | <a·id="lab305"></a><h1·class="section">Structure·with·an·equality·relation·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span></h1> |
81 | </div> | 81 | </div> |
82 | <div·class="code"> | 82 | <div·class="code"> |
83 | <br/> | 83 | <br/> |
84 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasEq"·class="idref"·href="#HasEq"><span·class="id"·title="module">HasEq</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">T</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>).<br/> | 84 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasEq"·class="idref"·href="#HasEq"><span·class="id"·title="module">HasEq</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">T</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Typ"><span·class="id"·title="module">Typ</span></a>).<br/> |
85 | <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>(30)·<a·id="HasEq.eq"·class="idref"·href="#HasEq.eq"><span·class="id"·title="axiom">eq</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>.<br/> | 85 | <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>(30)·<a·id="HasEq.eq"·class="idref"·href="#HasEq.eq"><span·class="id"·title="axiom">eq</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#T.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>.<br/> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab | 56 | <a·id="lab290"></a><h1·class="section">Keys·and·datas·used·in·the·future·MMaps</h1> |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
59 | <br/> | 59 | <br/> |
60 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyDecidableType"·class="idref"·href="#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<span·class="id"·title="var">D</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>).<br/> | 60 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyDecidableType"·class="idref"·href="#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<span·class="id"·title="var">D</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>).<br/> |
Offset 48, 19 lines modified | Offset 48, 19 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#"><span·class="id"·title="library">OrdersTac</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#"><span·class="id"·title="library">OrdersTac</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab295"></a><h1·class="section">A·Generic·construction·of·min·and·max</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | <a·id="lab | 55 | <a·id="lab296"></a><h2·class="section">First,·an·interface·for·types·with·<span·class="inlinecode"><span·class="id"·title="var">max</span></span>·and/or·<span·class="inlinecode"><span·class="id"·title="var">min</span></span></h2> |
56 | </div> | 56 | </div> |
57 | <div·class="code"> | 57 | <div·class="code"> |
58 | <br/> | 58 | <br/> |
59 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasMax"·class="idref"·href="#HasMax"><span·class="id"·title="module">HasMax</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLe'"><span·class="id"·title="module">EqLe'</span></a>).<br/> | 59 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasMax"·class="idref"·href="#HasMax"><span·class="id"·title="module">HasMax</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLe'"><span·class="id"·title="module">EqLe'</span></a>).<br/> |
60 | <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>·<a·id="HasMax.max"·class="idref"·href="#HasMax.max"><span·class="id"·title="axiom">max</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 60 | <span·class="id"·title="keyword">Parameter</span>·<span·class="id"·title="keyword">Inline</span>·<a·id="HasMax.max"·class="idref"·href="#HasMax.max"><span·class="id"·title="axiom">max</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E.t"><span·class="id"·title="axiom">t</span></a>.<br/> |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | </div> | 53 | </div> |
54 | <div·class="doc"> | 54 | <div·class="doc"> |
55 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of | 55 | NB:·This·file·is·here·only·for·compatibility·with·earlier·version·of |
56 | ·····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Orders.v</span></span>·directly·now.· | 56 | ·····<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">FMap</span></span>.·Please·use·<span·class="inlinecode"><span·class="id"·title="var">Structures</span>/<span·class="id"·title="var">Orders.v</span></span>·directly·now.· |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | <a·id="lab | 58 | <a·id="lab288"></a><h1·class="section">Ordered·types</h1> |
59 | </div> | 59 | </div> |
60 | <div·class="code"> | 60 | <div·class="code"> |
61 | <br/> | 61 | <br/> |
62 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Compare"·class="idref"·href="#Compare"><span·class="id"·title="definition,·inductive"><span·id="Compare_rect"·class="id"><span·id="Compare_ind"·class="id"><span·id="Compare_rec"·class="id"><span·id="Compare_sind"·class="id">Compare</span></span></span></span></span></a>·(<a·id="X:1"·class="idref"·href="#X:1"><span·class="id"·title="binder">X</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="lt:2"·class="idref"·href="#lt:2"><span·class="id"·title="binder">lt</span></a>·<a·id="eq:3"·class="idref"·href="#eq:3"><span·class="id"·title="binder">eq</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>·<a·id="y:5"·class="idref"·href="#y:5"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 62 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Compare"·class="idref"·href="#Compare"><span·class="id"·title="definition,·inductive"><span·id="Compare_rect"·class="id"><span·id="Compare_ind"·class="id"><span·id="Compare_rec"·class="id"><span·id="Compare_sind"·class="id">Compare</span></span></span></span></span></a>·(<a·id="X:1"·class="idref"·href="#X:1"><span·class="id"·title="binder">X</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="lt:2"·class="idref"·href="#lt:2"><span·class="id"·title="binder">lt</span></a>·<a·id="eq:3"·class="idref"·href="#eq:3"><span·class="id"·title="binder">eq</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>)·(<a·id="x:4"·class="idref"·href="#x:4"><span·class="id"·title="binder">x</span></a>·<a·id="y:5"·class="idref"·href="#y:5"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#X:1"><span·class="id"·title="variable">X</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> |
63 | |·<a·id="LT"·class="idref"·href="#LT"><span·class="id"·title="constructor">LT</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#lt:2"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#x:4"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#y:5"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#Compare:6"><span·class="id"·title="inductive">Compare</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#lt:2"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#eq:3"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#x:4"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#y:5"><span·class="id"·title="variable">y</span></a><br/> | 63 | |·<a·id="LT"·class="idref"·href="#LT"><span·class="id"·title="constructor">LT</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#lt:2"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#x:4"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#y:5"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#Compare:6"><span·class="id"·title="inductive">Compare</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#lt:2"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#eq:3"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#x:4"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#y:5"><span·class="id"·title="variable">y</span></a><br/> |
Offset 46, 15 lines modified | Offset 46, 15 lines modified | ||
46 | <div·class="code"> | 46 | <div·class="code"> |
47 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>.<br/> | 47 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>.<br/> |
48 | <br/> | 48 | <br/> |
49 | </div> | 49 | </div> |
50 | <div·class="doc"> | 50 | <div·class="doc"> |
51 | <a·id="lab | 51 | <a·id="lab292"></a><h1·class="section">An·alternative·(but·equivalent)·presentation·for·an·Ordered·Type</h1> |
52 | ···inferface.· | 52 | ···inferface.· |
53 | <div·class="paragraph">·</div> | 53 | <div·class="paragraph">·</div> |
54 | ·NB:·<span·class="inlinecode"><span·class="id"·title="var">comparison</span></span>,·defined·in·<span·class="inlinecode"><span·class="id"·title="var">Datatypes.v</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">Eq</span>|<span·class="id"·title="var">Lt</span>|<span·class="id"·title="var">Gt</span></span> | 54 | ·NB:·<span·class="inlinecode"><span·class="id"·title="var">comparison</span></span>,·defined·in·<span·class="inlinecode"><span·class="id"·title="var">Datatypes.v</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">Eq</span>|<span·class="id"·title="var">Lt</span>|<span·class="id"·title="var">Gt</span></span> |
55 | whereas·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>,·defined·in·<span·class="inlinecode"><span·class="id"·title="var">OrderedType.v</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">EQ</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode"><span·class="id"·title="var">LT</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode"><span·class="id"·title="var">GT</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode"></span> | 55 | whereas·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>,·defined·in·<span·class="inlinecode"><span·class="id"·title="var">OrderedType.v</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">EQ</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode"><span·class="id"·title="var">LT</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode"><span·class="id"·title="var">GT</span></span>·<span·class="inlinecode"><span·class="id"·title="var">_</span></span>·<span·class="inlinecode"></span> |
Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.NArith.NArith.html#"><span·class="id"·title="library">NArith</span></a>·<a·class="idref"·href="Coq.NArith.Ndec.html#"><span·class="id"·title="library">Ndec</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.NArith.NArith.html#"><span·class="id"·title="library">NArith</span></a>·<a·class="idref"·href="Coq.NArith.Ndec.html#"><span·class="id"·title="library">Ndec</span></a>.<br/> |
54 | <br/> | 54 | <br/> |
55 | </div> | 55 | </div> |
56 | <div·class="doc"> | 56 | <div·class="doc"> |
57 | <a·id="lab2 | 57 | <a·id="lab293"></a><h1·class="section">Examples·of·Ordered·Type·structures.</h1> |
58 | <div·class="paragraph">·</div> | 58 | <div·class="paragraph">·</div> |
59 | ·First,·a·particular·case·of·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·where | 59 | ·First,·a·particular·case·of·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·where |
60 | ····the·equality·is·the·usual·one·of·Coq.· | 60 | ····the·equality·is·the·usual·one·of·Coq.· |
61 | </div> | 61 | </div> |
62 | <div·class="code"> | 62 | <div·class="code"> |
Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Relations.Relations.html#"><span·class="id"·title="library">Relations</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Relations.Relations.html#"><span·class="id"·title="library">Relations</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>.<br/> |
50 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 50 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
51 | <br/> | 51 | <br/> |
52 | </div> | 52 | </div> |
53 | <div·class="doc"> | 53 | <div·class="doc"> |
54 | <a·id="lab | 54 | <a·id="lab273"></a><h1·class="section">Ordered·types</h1> |
55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> |
56 | ·First,·signatures·with·only·the·order·relations· | 56 | ·First,·signatures·with·only·the·order·relations· |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
Offset 51, 32 lines modified | Offset 51, 32 lines modified | ||
51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> |
52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab1"></a><h1·class="section">Some·alternative·(but·equivalent)·presentations·for·an·Ordered·Type</h1> | 56 | <a·id="lab319"></a><h1·class="section">Some·alternative·(but·equivalent)·presentations·for·an·Ordered·Type</h1> |
57 | ···inferface.· | 57 | ···inferface.· |
58 | <div·class="paragraph">·</div> | 58 | <div·class="paragraph">·</div> |
59 | <a·id="lab2"></a><h2·class="section">The·original·interface</h2> | 59 | <a·id="lab320"></a><h2·class="section">The·original·interface</h2> |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
62 | <br/> | 62 | <br/> |
63 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderedTypeOrig"·class="idref"·href="#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType.OrderedType</span></a>.<br/> | 63 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderedTypeOrig"·class="idref"·href="#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType.OrderedType</span></a>.<br/> |
64 | <br/> | 64 | <br/> |
65 | </div> | 65 | </div> |
66 | <div·class="doc"> | 66 | <div·class="doc"> |
67 | <a·id="lab3"></a><h2·class="section">An·interface·based·on·compare</h2> | 67 | <a·id="lab321"></a><h2·class="section">An·interface·based·on·compare</h2> |
68 | </div> | 68 | </div> |
69 | <div·class="code"> | 69 | <div·class="code"> |
70 | <br/> | 70 | <br/> |
71 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderedTypeAlt"·class="idref"·href="#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderedTypeAlt"·class="idref"·href="#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>.<br/> |
Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
52 | <a·class="idref"·href="Coq.Classes.RelationPairs.html#"><span·class="id"·title="library">RelationPairs</span></a>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#"><span·class="id"·title="library">EqualitiesFacts</span></a>.<br/> | 52 | <a·class="idref"·href="Coq.Classes.RelationPairs.html#"><span·class="id"·title="library">RelationPairs</span></a>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#"><span·class="id"·title="library">EqualitiesFacts</span></a>.<br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#"><span·class="id"·title="library">Ascii</span></a>·<a·class="idref"·href="Coq.Strings.String.html#"><span·class="id"·title="library">String</span></a>.<br/> |
54 | <br/> | 54 | <br/> |
55 | </div> | 55 | </div> |
56 | <div·class="doc"> | 56 | <div·class="doc"> |
57 | <a·id="lab | 57 | <a·id="lab294"></a><h1·class="section">Examples·of·Ordered·Type·structures.</h1> |
58 | <div·class="paragraph">·</div> | 58 | <div·class="paragraph">·</div> |
59 | ·Ordered·Type·for·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">ascii</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">string</span></span>·with·the·usual·or·lexicographic·order.· | 59 | ·Ordered·Type·for·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">ascii</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">string</span></span>·with·the·usual·or·lexicographic·order.· |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 53 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
54 | <br/> | 54 | <br/> |
55 | </div> | 55 | </div> |
56 | <div·class="doc"> | 56 | <div·class="doc"> |
57 | <a·id="lab | 57 | <a·id="lab313"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span></h1> |
58 | </div> | 58 | </div> |
59 | <div·class="code"> | 59 | <div·class="code"> |
60 | <br/> | 60 | <br/> |
61 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="CompareFacts"·class="idref"·href="#CompareFacts"><span·class="id"·title="module">CompareFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#DecStrOrder'"><span·class="id"·title="module">DecStrOrder'</span></a>).<br/> | 61 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="CompareFacts"·class="idref"·href="#CompareFacts"><span·class="id"·title="module">CompareFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#DecStrOrder'"><span·class="id"·title="module">DecStrOrder'</span></a>).<br/> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 52 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab | 56 | <a·id="lab325"></a><h1·class="section">Specialization·of·results·about·lists·modulo.</h1> |
57 | </div> | 57 | </div> |
58 | <div·class="code"> | 58 | <div·class="code"> |
59 | <br/> | 59 | <br/> |
60 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeLists"·class="idref"·href="#OrderedTypeLists"><span·class="id"·title="module">OrderedTypeLists</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> | 60 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeLists"·class="idref"·href="#OrderedTypeLists"><span·class="id"·title="module">OrderedTypeLists</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> |
Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="library">Setoid</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.Program.Basics.html#"><span·class="id"·title="library">Basics</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#"><span·class="id"·title="library">Equalities</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#"><span·class="id"·title="library">Orders</span></a>.<br/> |
50 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 50 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
51 | <br/> | 51 | <br/> |
52 | </div> | 52 | </div> |
53 | <div·class="doc"> | 53 | <div·class="doc"> |
54 | <a·id="lab28"></a><h1·class="section">The·order·tactic</h1> | 54 | <a·id="lab284"></a><h1·class="section">The·order·tactic</h1> |
55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> |
56 | ·This·tactic·is·designed·to·solve·systems·of·(in)equations | 56 | ·This·tactic·is·designed·to·solve·systems·of·(in)equations |
57 | ····involving·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·and·<span·class="inlinecode">~<span·class="id"·title="var">eq</span></span>·on·some·type.·This·tactic·is | 57 | ····involving·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·and·<span·class="inlinecode">~<span·class="id"·title="var">eq</span></span>·on·some·type.·This·tactic·is |
58 | ····domain-agnostic;·it·will·only·use·equivalence+order·axioms,·and | 58 | ····domain-agnostic;·it·will·only·use·equivalence+order·axioms,·and |
59 | ····not·analyze·elements·of·the·domain.·Hypothesis·or·goal·of·the·form | 59 | ····not·analyze·elements·of·the·domain.·Hypothesis·or·goal·of·the·form |
Offset 5852, 4079 lines modified | Offset 5852, 4079 lines modified | ||
00016db0:·2068·7265·663d·2223·4954·4552·4154·4f52···href="#ITERATOR | 00016db0:·2068·7265·663d·2223·4954·4552·4154·4f52···href="#ITERATOR | ||
00016dc0:·5322·3e3c·7370·616e·2063·6c61·7373·3d22··S"><span·class=" | 00016dc0:·5322·3e3c·7370·616e·2063·6c61·7373·3d22··S"><span·class=" | ||
00016dd0:·6964·2220·7469·746c·653d·2273·6563·7469··id"·title="secti | 00016dd0:·6964·2220·7469·746c·653d·2273·6563·7469··id"·title="secti | ||
00016de0:·6f6e·223e·4954·4552·4154·4f52·533c·2f73··on">ITERATORS</s | 00016de0:·6f6e·223e·4954·4552·4154·4f52·533c·2f73··on">ITERATORS</s | ||
00016df0:·7061·6e3e·3c2f·613e·2e3c·6272·2f3e·0a3c··pan></a>.<br/>.< | 00016df0:·7061·6e3e·3c2f·613e·2e3c·6272·2f3e·0a3c··pan></a>.<br/>.< | ||
00016e00:·2f64·6976·3e0a·0a3c·6469·7620·636c·6173··/div>..<div·clas | 00016e00:·2f64·6976·3e0a·0a3c·6469·7620·636c·6173··/div>..<div·clas | Diff chunk too large, falling back to line-by-line diff (4072 lines added, 4072 lines removed) | |
00016e10:·733d·2264·6f63·223e·0a3c·6120·6964·3d22··s="doc">.<a·id=" | 00016e10:·733d·2264·6f63·223e·0a3c·6120·6964·3d22··s="doc">.<a·id=" | ||
00016e20:·6c61·623 | 00016e20:·6c61·6231·3138·3322·3e3c·2f61·3e3c·6831··lab1183"></a><h1 | ||
00016e30:·636c | 00016e30:·2063·6c61·7373·3d22·7365·6374·696f·6e22···class="section" | ||
00016e40:·4865 | 00016e40:·3e48·6572·6520·6172·6520·7370·6563·6961··>Here·are·specia | ||
00016e50:·206e | 00016e50:·6c20·6e6f·6e20·6465·7065·6e64·656e·7420··l·non·dependent· | ||
00016e60:·7365 | 00016e60:·7573·6566·756c·2069·6e73·7461·6e74·6961··useful·instantia | ||
00016e70:·696f | 00016e70:·7469·6f6e·206f·6620·696e·6475·6374·696f··tion·of·inductio | ||
00016e80:·2073 | 00016e80:·6e20·7363·6865·6d65·733c·2f68·313e·0a0a··n·schemes</h1>.. | ||
00016e90:·6469 | 00016e90:·3c64·6976·2063·6c61·7373·3d22·7061·7261··<div·class="para | ||
00016ea0:·7261 | 00016ea0:·6772·6170·6822·3e20·3c2f·6469·763e·0a0a··graph">·</div>.. | ||
00016eb0:·556e | 00016eb0:·2055·6e69·666f·726d·2061·7070·6c69·6361···Uniform·applica | ||
00016ec0:·696f | 00016ec0:·7469·6f6e·206f·6e20·7468·6520·6172·6775··tion·on·the·argu | ||
00016ed0:·656e | 00016ed0:·6d65·6e74·7320·6f66·2074·6865·2076·6563··ments·of·the·vec | ||
00016ee0:·6f72 | 00016ee0:·746f·7220·0a3c·2f64·6976·3e0a·3c64·6976··tor·.</div>.<div | ||
00016ef0:·636c | 00016ef0:·2063·6c61·7373·3d22·636f·6465·223e·0a3c···class="code">.< | ||
00016f00:·7061 | 00016f00:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00016f10:·6974 | 00016f10:·7469·746c·653d·226b·6579·776f·7264·223e··title="keyword"> | ||
00016f20:·65 | 00016f20:·4465·6669·6e69·7469·6f6e·3c2f·7370·616e··Definition</span | ||
00016f30:·203c | 00016f30:·3e20·3c61·2069·643d·226d·6170·2220·636c··>·<a·id="map"·cl | ||
00016f40:·7373 | 00016f40:·6173·733d·2269·6472·6566·2220·6872·6566··ass="idref"·href | ||
00016f50:·2223 | 00016f50:·3d22·236d·6170·223e·3c73·7061·6e20·636c··="#map"><span·cl | ||
00016f60:·7373 | 00016f60:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
00016f70:·65 | 00016f70:·6465·6669·6e69·7469·6f6e·223e·6d61·703c··definition">map< | ||
00016f80:·7370 | 00016f80:·2f73·7061·6e3e·3c2f·613e·207b·3c61·2069··/span></a>·{<a·i | ||
00016f90:·3d | 00016f90:·643d·2241·3a31·3837·2220·636c·6173·733d··d="A:187"·class= | ||
00016fa0:·6964 | 00016fa0:·2269·6472·6566·2220·6872·6566·3d22·2341··"idref"·href="#A | ||
00016fb0:·3138 | 00016fb0:·3a31·3837·223e·3c73·7061·6e20·636c·6173··:187"><span·clas | ||
00016fc0:·3d | 00016fc0:·733d·2269·6422·2074·6974·6c65·3d22·6269··s="id"·title="bi | ||
00016fd0:·6465 | 00016fd0:·6e64·6572·223e·413c·2f73·7061·6e3e·3c2f··nder">A</span></ | ||
00016fe0:·3e7d | 00016fe0:·613e·7d20·7b3c·6120·6964·3d22·423a·3138··a>}·{<a·id="B:18 | ||
00016ff0:·2220 | 00016ff0:·3822·2063·6c61·7373·3d22·6964·7265·6622··8"·class="idref" | ||
00017000:·6872 | 00017000:·2068·7265·663d·2223·423a·3138·3822·3e3c···href="#B:188">< | ||
00017010:·7061 | 00017010:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00017020:·6974 | 00017020:·7469·746c·653d·2262·696e·6465·7222·3e42··title="binder">B | ||
00017030:·2f73 | 00017030:·3c2f·7370·616e·3e3c·2f61·3e7d·2028·3c61··</span></a>}·(<a | ||
00017040:·6964 | 00017040:·2069·643d·2266·3a31·3839·2220·636c·6173···id="f:189"·clas | ||
00017050:·3d | 00017050:·733d·2269·6472·6566·2220·6872·6566·3d22··s="idref"·href=" | ||
00017060:·663a | 00017060:·2366·3a31·3839·223e·3c73·7061·6e20·636c··#f:189"><span·cl | ||
00017070:·7373 | 00017070:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
00017080:·696e | 00017080:·6269·6e64·6572·223e·663c·2f73·7061·6e3e··binder">f</span> | ||
00017090:·2f61 | 00017090:·3c2f·613e·203a·203c·6120·636c·6173·733d··</a>·:·<a·class= | ||
000170a0:·6964 | 000170a0:·2269·6472·6566·2220·6872·6566·3d22·436f··"idref"·href="Co | ||
000170b0:·2e56 | 000170b0:·712e·5665·6374·6f72·732e·5665·6374·6f72··q.Vectors.Vector | ||
000170c0:·65 | 000170c0:·4465·662e·6874·6d6c·2341·3a31·3837·223e··Def.html#A:187"> | ||
000170d0:·7370 | 000170d0:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
000170e0:·7469 | 000170e0:·2074·6974·6c65·3d22·7661·7269·6162·6c65···title="variable | ||
000170f0:·3e41 | 000170f0:·223e·413c·2f73·7061·6e3e·3c2f·613e·203c··">A</span></a>·< | ||
00017100:·2063 | 00017100:·6120·636c·6173·733d·2269·6472·6566·2220··a·class="idref"· | ||
00017110:·7265 | 00017110:·6872·6566·3d22·436f·712e·496e·6974·2e4c··href="Coq.Init.L | ||
00017120:·6769 | 00017120:·6f67·6963·2e68·746d·6c23·3a3a·7479·7065··ogic.html#::type | ||
00017130:·7363 | 00017130:·5f73·636f·7065·3a78·5f27·2d26·6774·3b27··_scope:x_'->' | ||
00017140:·78 | 00017140:·5f78·223e·3c73·7061·6e20·636c·6173·733d··_x"><span·class= | ||
00017150:·6964 | 00017150:·2269·6422·2074·6974·6c65·3d22·6e6f·7461··"id"·title="nota | ||
00017160:·696f | 00017160:·7469·6f6e·223e·2d26·6774·3b3c·2f73·7061··tion">-></spa | ||
00017170:·3e3c | 00017170:·6e3e·3c2f·613e·203c·6120·636c·6173·733d··n></a>·<a·class= | ||
00017180:·6964 | 00017180:·2269·6472·6566·2220·6872·6566·3d22·436f··"idref"·href="Co | ||
00017190:·2e56 | 00017190:·712e·5665·6374·6f72·732e·5665·6374·6f72··q.Vectors.Vector | ||
000171a0:·65 | 000171a0:·4465·662e·6874·6d6c·2342·3a31·3838·223e··Def.html#B:188"> | ||
000171b0:·7370 | 000171b0:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
000171c0:·7469 | 000171c0:·2074·6974·6c65·3d22·7661·7269·6162·6c65···title="variable | ||
000171d0:·3e42 | 000171d0:·223e·423c·2f73·7061·6e3e·3c2f·613e·2920··">B</span></a>)· | ||
000171e0:·203c | 000171e0:·3a20·3c73·7061·6e20·636c·6173·733d·2269··:·<span·class="i | ||
000171f0:·2220 | 000171f0:·6422·2074·6974·6c65·3d22·6b65·7977·6f72··d"·title="keywor | ||
00017200:·223e | 00017200:·6422·3e66·6f72·616c·6c3c·2f73·7061·6e3e··d">forall</span> | ||
00017210:·7b3c | 00017210:·207b·3c61·2069·643d·226e·3a31·3930·2220···{<a·id="n:190"· | ||
00017220:·6c61 | 00017220:·636c·6173·733d·2269·6472·6566·2220·6872··class="idref"·hr | ||
00017230:·663d | 00017230:·6566·3d22·236e·3a31·3930·223e·3c73·7061··ef="#n:190"><spa | ||
00017240:·2063 | 00017240:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00017250:·653d | 00017250:·6c65·3d22·6269·6e64·6572·223e·6e3c·2f73··le="binder">n</s | ||
00017260:·616e | 00017260:·7061·6e3e·3c2f·613e·7d20·283c·6120·6964··pan></a>}·(<a·id | ||
00017270:·2276 | 00017270:·3d22·763a·3139·3122·2063·6c61·7373·3d22··="v:191"·class=" | ||
00017280:·6472 | 00017280:·6964·7265·6622·2068·7265·663d·2223·763a··idref"·href="#v: | ||
00017290:·3931 | 00017290:·3139·3122·3e3c·7370·616e·2063·6c61·7373··191"><span·class | ||
000172a0:·2269 | 000172a0:·3d22·6964·2220·7469·746c·653d·2262·696e··="id"·title="bin | ||
000172b0:·6572 | 000172b0:·6465·7222·3e76·3c2f·7370·616e·3e3c·2f61··der">v</span></a | ||
000172c0:·3a3c | 000172c0:·3e3a·3c61·2063·6c61·7373·3d22·6964·7265··>:<a·class="idre | ||
000172d0:·2220 | 000172d0:·6622·2068·7265·663d·2243·6f71·2e56·6563··f"·href="Coq.Vec | ||
000172e0:·6f72 | 000172e0:·746f·7273·2e56·6563·746f·7244·6566·2e68··tors.VectorDef.h | ||
000172f0:·6d6c | 000172f0:·746d·6c23·7422·3e3c·7370·616e·2063·6c61··tml#t"><span·cla | ||
00017300:·733d | 00017300:·7373·3d22·6964·2220·7469·746c·653d·2269··ss="id"·title="i | ||
00017310:·6475 | 00017310:·6e64·7563·7469·7665·223e·743c·2f73·7061··nductive">t</spa | ||
00017320:·3e3c | 00017320:·6e3e·3c2f·613e·203c·6120·636c·6173·733d··n></a>·<a·class= | ||
00017330:·6964 | 00017330:·2269·6472·6566·2220·6872·6566·3d22·436f··"idref"·href="Co | ||
00017340:·2e56 | 00017340:·712e·5665·6374·6f72·732e·5665·6374·6f72··q.Vectors.Vector | ||
00017350:·65 | 00017350:·4465·662e·6874·6d6c·2341·3a31·3837·223e··Def.html#A:187"> | ||
00017360:·7370 | 00017360:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
00017370:·7469 | 00017370:·2074·6974·6c65·3d22·7661·7269·6162·6c65···title="variable | ||
00017380:·3e41 | 00017380:·223e·413c·2f73·7061·6e3e·3c2f·613e·203c··">A</span></a>·< | ||
00017390:·2063 | 00017390:·6120·636c·6173·733d·2269·6472·6566·2220··a·class="idref"· | ||
000173a0:·7265 | 000173a0:·6872·6566·3d22·436f·712e·5665·6374·6f72··href="Coq.Vector | ||
000173b0:·2e56 | 000173b0:·732e·5665·6374·6f72·4465·662e·6874·6d6c··s.VectorDef.html | ||
000173c0:·6e3a | 000173c0:·236e·3a31·3930·223e·3c73·7061·6e20·636c··#n:190"><span·cl | ||
000173d0:·7373 | 000173d0:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
000173e0:·6172 | 000173e0:·7661·7269·6162·6c65·223e·6e3c·2f73·7061··variable">n</spa | ||
000173f0:·3e3c | 000173f0:·6e3e·3c2f·613e·292c·203c·6120·636c·6173··n></a>),·<a·clas | ||
00017400:·3d | 00017400:·733d·2269·6472·6566·2220·6872·6566·3d22··s="idref"·href=" | ||
00017410:·6f71 | 00017410:·436f·712e·5665·6374·6f72·732e·5665·6374··Coq.Vectors.Vect | ||
00017420:·72 | 00017420:·6f72·4465·662e·6874·6d6c·2374·223e·3c73··orDef.html#t"><s | ||
00017430:·616e | 00017430:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
00017440:·746c | 00017440:·6974·6c65·3d22·696e·6475·6374·6976·6522··itle="inductive" | ||
00017450:·743c | 00017450:·3e74·3c2f·7370·616e·3e3c·2f61·3e20·3c61··>t</span></a>·<a | ||
00017460:·636c | 00017460:·2063·6c61·7373·3d22·6964·7265·6622·2068···class="idref"·h | ||
00017470:·65 | 00017470:·7265·663d·2243·6f71·2e56·6563·746f·7273··ref="Coq.Vectors | ||
00017480:·5665 | 00017480:·2e56·6563·746f·7244·6566·2e68·746d·6c23··.VectorDef.html# | ||
00017490:·3a31 | 00017490:·423a·3138·3822·3e3c·7370·616e·2063·6c61··B:188"><span·cla | ||
000174a0:·733d | 000174a0:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
000174b0:·7269 | 000174b0:·6172·6961·626c·6522·3e42·3c2f·7370·616e··ariable">B</span | ||
000174c0:·3c2f | 000174c0:·3e3c·2f61·3e20·3c61·2063·6c61·7373·3d22··></a>·<a·class=" | ||
000174d0:·6472 | 000174d0:·6964·7265·6622·2068·7265·663d·2243·6f71··idref"·href="Coq | ||
000174e0:·5665 | 000174e0:·2e56·6563·746f·7273·2e56·6563·746f·7244··.Vectors.VectorD | ||
000174f0:·662e | 000174f0:·6566·2e68·746d·6c23·6e3a·3139·3022·3e3c··ef.html#n:190">< | ||
00017500:·7061 | 00017500:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00017510:·6974 | 00017510:·7469·746c·653d·2276·6172·6961·626c·6522··title="variable" | ||
00017520:·6e3c | 00017520:·3e6e·3c2f·7370·616e·3e3c·2f61·3e20·3a3d··>n</span></a>·:= | ||
00017530:·6272 | 00017530:·3c62·722f·3e0a·266e·6273·703b·266e·6273··<br/>. &nbs | ||
00017540:·3b3c | 00017540:·703b·3c73·7061·6e20·636c·6173·733d·2269··p;<span·class="i | ||
00017550:·2220 | 00017550:·6422·2074·6974·6c65·3d22·6b65·7977·6f72··d"·title="keywor | ||
00017560:·223e | 00017560:·6422·3e66·6978·3c2f·7370·616e·3e20·3c73··d">fix</span>·<s | ||
00017570:·616e | 00017570:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
00017580:·746c | 00017580:·6974·6c65·3d22·7661·7222·3e6d·6170·5f66··itle="var">map_f | ||
Max diff block lines reached; -1/562435 bytes (-0.00%) of diff not shown. |
Offset 81, 15 lines modified | Offset 81, 15 lines modified | ||
81 | </div> | 81 | </div> |
82 | <div·class="doc"> | 82 | <div·class="doc"> |
83 | Lemmas·are·done·for·functions·that·use·<span·class="inlinecode"><span·class="id"·title="var">Fin.t</span></span>·but·thanks·to·<span·class="inlinecode"><span·class="id"·title="var">Peano_dec.le_unique</span></span>,·all | 83 | Lemmas·are·done·for·functions·that·use·<span·class="inlinecode"><span·class="id"·title="var">Fin.t</span></span>·but·thanks·to·<span·class="inlinecode"><span·class="id"·title="var">Peano_dec.le_unique</span></span>,·all |
84 | is·true·for·the·one·that·use·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>· | 84 | is·true·for·the·one·that·use·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>· |
85 | <div·class="paragraph">·</div> | 85 | <div·class="paragraph">·</div> |
86 | <a·id="lab | 86 | <a·id="lab1185"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">nth</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">nth_order</span></span></h2> |
87 | </div> | 87 | </div> |
88 | <div·class="code"> | 88 | <div·class="code"> |
89 | <br/> | 89 | <br/> |
90 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eq_nth_iff"·class="idref"·href="#eq_nth_iff"><span·class="id"·title="lemma">eq_nth_iff</span></a>·<a·id="A:26"·class="idref"·href="#A:26"><span·class="id"·title="binder">A</span></a>·<a·id="n:27"·class="idref"·href="#n:27"><span·class="id"·title="binder">n</span></a>·(<a·id="v1:28"·class="idref"·href="#v1:28"><span·class="id"·title="binder">v1</span></a>·<a·id="v2:29"·class="idref"·href="#v2:29"><span·class="id"·title="binder">v2</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:26"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:27"><span·class="id"·title="variable">n</span></a>):<br/> | 90 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eq_nth_iff"·class="idref"·href="#eq_nth_iff"><span·class="id"·title="lemma">eq_nth_iff</span></a>·<a·id="A:26"·class="idref"·href="#A:26"><span·class="id"·title="binder">A</span></a>·<a·id="n:27"·class="idref"·href="#n:27"><span·class="id"·title="binder">n</span></a>·(<a·id="v1:28"·class="idref"·href="#v1:28"><span·class="id"·title="binder">v1</span></a>·<a·id="v2:29"·class="idref"·href="#v2:29"><span·class="id"·title="binder">v2</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#t"><span·class="id"·title="inductive">t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:26"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:27"><span·class="id"·title="variable">n</span></a>):<br/> |
91 | <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="p1:30"·class="idref"·href="#p1:30"><span·class="id"·title="binder">p1</span></a>·<a·id="p2:31"·class="idref"·href="#p2:31"><span·class="id"·title="binder">p2</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p1:30"><span·class="id"·title="variable">p1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p2:31"><span·class="id"·title="variable">p2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v1:28"><span·class="id"·title="variable">v1</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p1:30"><span·class="id"·title="variable">p1</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v2:29"><span·class="id"·title="variable">v2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p2:31"><span·class="id"·title="variable">p2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v1:28"><span·class="id"·title="variable">v1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v2:29"><span·class="id"·title="variable">v2</span></a>.<br/> | 91 | <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="p1:30"·class="idref"·href="#p1:30"><span·class="id"·title="binder">p1</span></a>·<a·id="p2:31"·class="idref"·href="#p2:31"><span·class="id"·title="binder">p2</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p1:30"><span·class="id"·title="variable">p1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p2:31"><span·class="id"·title="variable">p2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v1:28"><span·class="id"·title="variable">v1</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p1:30"><span·class="id"·title="variable">p1</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v2:29"><span·class="id"·title="variable">v2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">[@</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p2:31"><span·class="id"·title="variable">p2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">]</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v1:28"><span·class="id"·title="variable">v1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v2:29"><span·class="id"·title="variable">v2</span></a>.<br/> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZProperties.html#"><span·class="id"·title="library">ZProperties</span></a>·<a·class="idref"·href="Coq.Classes.DecidableClass.html#"><span·class="id"·title="library">DecidableClass</span></a>.<br/> | 51 | <a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#"><span·class="id"·title="library">ZAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZProperties.html#"><span·class="id"·title="library">ZProperties</span></a>·<a·class="idref"·href="Coq.Classes.DecidableClass.html#"><span·class="id"·title="library">DecidableClass</span></a>.<br/> |
52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#"><span·class="id"·title="library">BinIntDef</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#"><span·class="id"·title="library">BinIntDef</span></a>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab | 56 | <a·id="lab852"></a><h1·class="section">Binary·Integers</h1> |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | ·Initial·author:·Pierre·Crégut,·CNET,·Lannion,·France· | 58 | ·Initial·author:·Pierre·Crégut,·CNET,·Lannion,·France· |
59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> |
60 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">Z0</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Zpos</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Zneg</span></span> | 60 | ·The·type·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·its·constructors·<span·class="inlinecode"><span·class="id"·title="var">Z0</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Zpos</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Zneg</span></span> |
Offset 57, 15 lines modified | Offset 57, 15 lines modified | ||
57 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·1).<br/> | 57 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'1'"·class="idref"·href="#:::'1'"><span·class="id"·title="notation">"</span></a>1"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·1).<br/> |
58 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'2'"·class="idref"·href="#:::'2'"><span·class="id"·title="notation">"</span></a>2"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·2).<br/> | 58 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'2'"·class="idref"·href="#:::'2'"><span·class="id"·title="notation">"</span></a>2"·:=·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·2).<br/> |
59 | <br/> | 59 | <br/> |
60 | </div> | 60 | </div> |
61 | <div·class="doc"> | 61 | <div·class="doc"> |
62 | <a·id="lab | 62 | <a·id="lab816"></a><h1·class="section">Binary·Integers,·Definitions·of·Operations</h1> |
63 | <div·class="paragraph">·</div> | 63 | <div·class="paragraph">·</div> |
64 | ·Initial·author:·Pierre·Crégut,·CNET,·Lannion,·France· | 64 | ·Initial·author:·Pierre·Crégut,·CNET,·Lannion,·France· |
65 | </div> | 65 | </div> |
66 | <div·class="code"> | 66 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab810"></a><h1·class="section">An·light·axiomatization·of·integers·(used·in·MSetAVL).</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·We·define·a·signature·for·an·integer·datatype·based·on·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>. | 51 | ·We·define·a·signature·for·an·integer·datatype·based·on·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>. |
52 | ····The·goal·is·to·allow·a·switch·after·extraction·to·ocaml's | 52 | ····The·goal·is·to·allow·a·switch·after·extraction·to·ocaml's |
53 | ····<span·class="inlinecode"><span·class="id"·title="var">big_int</span></span>·or·even·<span·class="inlinecode"><span·class="id"·title="var">int</span></span>·when·finiteness·isn't·a·problem | 53 | ····<span·class="inlinecode"><span·class="id"·title="var">big_int</span></span>·or·even·<span·class="inlinecode"><span·class="id"·title="var">int</span></span>·when·finiteness·isn't·a·problem |
54 | ····(typically·:·when·measuring·the·height·of·an·AVL·tree). | 54 | ····(typically·:·when·measuring·the·height·of·an·AVL·tree). |
Offset 70, 15 lines modified | Offset 70, 15 lines modified | ||
70 | <br/> | 70 | <br/> |
71 | <span·class="id"·title="keyword">Variables</span>·<a·id="decidability.x"·class="idref"·href="#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·id="decidability.y"·class="idref"·href="#decidability.y"><span·class="id"·title="variable">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Variables</span>·<a·id="decidability.x"·class="idref"·href="#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·id="decidability.y"·class="idref"·href="#decidability.y"><span·class="id"·title="variable">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> |
72 | <br/> | 72 | <br/> |
73 | </div> | 73 | </div> |
74 | <div·class="doc"> | 74 | <div·class="doc"> |
75 | <a·id="lab | 75 | <a·id="lab814"></a><h1·class="section">Decidability·of·order·on·binary·integers</h1> |
76 | </div> | 76 | </div> |
77 | <div·class="code"> | 77 | <div·class="code"> |
78 | <br/> | 78 | <br/> |
79 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z_lt_dec"·class="idref"·href="#Z_lt_dec"><span·class="id"·title="definition">Z_lt_dec</span></a>·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.y"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.y"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 79 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z_lt_dec"·class="idref"·href="#Z_lt_dec"><span·class="id"·title="definition">Z_lt_dec</span></a>·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.y"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.x"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability.y"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> |
Offset 70, 15 lines modified | Offset 70, 15 lines modified | ||
70 | <br/> | 70 | <br/> |
71 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 71 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> |
72 | <br/> | 72 | <br/> |
73 | </div> | 73 | </div> |
74 | <div·class="doc"> | 74 | <div·class="doc"> |
75 | <a·id="lab | 75 | <a·id="lab919"></a><h1·class="section">Properties·of·absolute·value</h1> |
76 | </div> | 76 | </div> |
77 | <div·class="code"> | 77 | <div·class="code"> |
78 | <br/> | 78 | <br/> |
79 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_non_eq"·class="idref"·href="#Zabs_non_eq"><span·class="id"·title="abbreviation">Zabs_non_eq</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_neq"><span·class="id"·title="lemma">Z.abs_neq</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 79 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_non_eq"·class="idref"·href="#Zabs_non_eq"><span·class="id"·title="abbreviation">Zabs_non_eq</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_neq"><span·class="id"·title="lemma">Z.abs_neq</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
80 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zopp"·class="idref"·href="#Zabs_Zopp"><span·class="id"·title="abbreviation">Zabs_Zopp</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_opp"><span·class="id"·title="lemma">Z.abs_opp</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 80 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zopp"·class="idref"·href="#Zabs_Zopp"><span·class="id"·title="abbreviation">Zabs_Zopp</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_opp"><span·class="id"·title="lemma">Z.abs_opp</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
Offset 148, 21 lines modified | Offset 148, 21 lines modified | ||
148 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.lnot_sub"·class="idref"·href="#Z.lnot_sub"><span·class="id"·title="lemma">lnot_sub</span></a>·<a·id="x:18"·class="idref"·href="#x:18"><span·class="id"·title="binder">x</span></a>·<a·id="y:19"·class="idref"·href="#y:19"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.lnot"><span·class="id"·title="definition">Z.lnot</span></a>·(<a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:19"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.lnot"><span·class="id"·title="definition">Z.lnot</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:19"><span·class="id"·title="variable">y</span></a>.<br/> | 148 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.lnot_sub"·class="idref"·href="#Z.lnot_sub"><span·class="id"·title="lemma">lnot_sub</span></a>·<a·id="x:18"·class="idref"·href="#x:18"><span·class="id"·title="binder">x</span></a>·<a·id="y:19"·class="idref"·href="#y:19"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.lnot"><span·class="id"·title="definition">Z.lnot</span></a>·(<a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:19"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.lnot"><span·class="id"·title="definition">Z.lnot</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:19"><span·class="id"·title="variable">y</span></a>.<br/> |
149 | · | 149 | · |
150 | <br/> | 150 | <br/> |
151 | </div> | 151 | </div> |
152 | <div·class="doc"> | 152 | <div·class="doc"> |
153 | Explicit·formulas·for·carry·bits·during·addition.·Conceptually,·the·theory | 153 | Explicit·formulas·for·carry·bits·during·addition.·Conceptually,·the·theory |
154 | <a·id="lab | 154 | <a·id="lab922"></a><h1·class="section">here·matches·the·bitblasting·rules·for·integers.·However,·the·vector·of</h1> |
155 | <a·id="lab | 155 | <a·id="lab923"></a><h1·class="section">carry·bits·is·represented·as·a·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·so·it·can·be·used·in·bitwise·operations.</h1> |
156 | <a·id="lab | 156 | <a·id="lab924"></a><h1·class="section">The·last·three·lemmas·about·<span·class="inlinecode"><span·class="id"·title="var">addcarries</span></span>·are·the·main·interface,·but·the</h1> |
157 | <a·id="lab | 157 | <a·id="lab925"></a><h1·class="section">generalization·<span·class="inlinecode"><span·class="id"·title="var">adccarries</span></span>·is·provided·as·the·same·theory·applies.</h1> |
158 | </div> | 158 | </div> |
159 | <div·class="code"> | 159 | <div·class="code"> |
160 | <br/> | 160 | <br/> |
161 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.adccarries"·class="idref"·href="#Z.adccarries"><span·class="id"·title="definition">adccarries</span></a>·(<a·id="x:20"·class="idref"·href="#x:20"><span·class="id"·title="binder">x</span></a>·<a·id="y:21"·class="idref"·href="#y:21"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·(<a·id="c:22"·class="idref"·href="#c:22"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:=·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:21"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.b2z"><span·class="id"·title="definition">Z.b2z</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#c:22"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:21"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>.<br/> | 161 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.adccarries"·class="idref"·href="#Z.adccarries"><span·class="id"·title="definition">adccarries</span></a>·(<a·id="x:20"·class="idref"·href="#x:20"><span·class="id"·title="binder">x</span></a>·<a·id="y:21"·class="idref"·href="#y:21"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·(<a·id="c:22"·class="idref"·href="#c:22"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·:=·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:21"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.b2z"><span·class="id"·title="definition">Z.b2z</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#c:22"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:21"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>.<br/> |
162 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.addcarries"·class="idref"·href="#Z.addcarries"><span·class="id"·title="definition">addcarries</span></a>·(<a·id="x:23"·class="idref"·href="#x:23"><span·class="id"·title="binder">x</span></a>·<a·id="y:24"·class="idref"·href="#y:24"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)············:=·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:24"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>···········<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:24"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>.<br/> | 162 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.addcarries"·class="idref"·href="#Z.addcarries"><span·class="id"·title="definition">addcarries</span></a>·(<a·id="x:23"·class="idref"·href="#x:23"><span·class="id"·title="binder">x</span></a>·<a·id="y:24"·class="idref"·href="#y:24"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)············:=·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:24"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>···········<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">.^</span></a>·<a·class="idref"·href="Coq.ZArith.Zbitwise.html#y:24"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.ZArith.Zbitwise.html#ec72b1098f7cf4b330263cf8ab5afa36"><span·class="id"·title="notation">)</span></a>.<br/> |
Offset 56, 15 lines modified | Offset 56, 15 lines modified | ||
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 57 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> |
58 | <br/> | 58 | <br/> |
59 | </div> | 59 | </div> |
60 | <div·class="doc"> | 60 | <div·class="doc"> |
61 | <a·id="lab | 61 | <a·id="lab907"></a><h1·class="section">Boolean·operations·from·decidability·of·order</h1> |
62 | ·The·decidability·of·equality·and·order·relations·over | 62 | ·The·decidability·of·equality·and·order·relations·over |
63 | ····type·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·gives·some·boolean·functions·with·the·adequate·specification.· | 63 | ····type·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·gives·some·boolean·functions·with·the·adequate·specification.· |
64 | </div> | 64 | </div> |
65 | <div·class="code"> | 65 | <div·class="code"> |
66 | <br/> | 66 | <br/> |
67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z_lt_ge_bool"·class="idref"·href="#Z_lt_ge_bool"><span·class="id"·title="definition">Z_lt_ge_bool</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:=·<a·class="idref"·href="Coq.Bool.Sumbool.html#bool_of_sumbool"><span·class="id"·title="definition">bool_of_sumbool</span></a>·(<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#Z_lt_ge_dec"><span·class="id"·title="definition">Z_lt_ge_dec</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#y:2"><span·class="id"·title="variable">y</span></a>).<br/> | 67 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z_lt_ge_bool"·class="idref"·href="#Z_lt_ge_bool"><span·class="id"·title="definition">Z_lt_ge_bool</span></a>·(<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·<a·id="y:2"·class="idref"·href="#y:2"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:=·<a·class="idref"·href="Coq.Bool.Sumbool.html#bool_of_sumbool"><span·class="id"·title="definition">bool_of_sumbool</span></a>·(<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#Z_lt_ge_dec"><span·class="id"·title="definition">Z_lt_ge_dec</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#y:2"><span·class="id"·title="variable">y</span></a>).<br/> |
Offset 64, 30 lines modified | Offset 64, 30 lines modified | ||
64 | <br/> | 64 | <br/> |
65 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 65 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> |
66 | <br/> | 66 | <br/> |
67 | </div> | 67 | </div> |
68 | <div·class="doc"> | 68 | <div·class="doc"> |
69 | <a·id="lab | 69 | <a·id="lab911"></a><h1·class="section">Comparison·on·integers</h1> |
70 | </div> | 70 | </div> |
71 | <div·class="code"> | 71 | <div·class="code"> |
72 | <br/> | 72 | <br/> |
73 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_Lt_antisym"·class="idref"·href="#Zcompare_Gt_Lt_antisym"><span·class="id"·title="lemma">Zcompare_Gt_Lt_antisym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:2"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:1"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> | 73 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_Lt_antisym"·class="idref"·href="#Zcompare_Gt_Lt_antisym"><span·class="id"·title="lemma">Zcompare_Gt_Lt_antisym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Gt"><span·class="id"·title="constructor">Gt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:2"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:1"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> |
74 | <br/> | 74 | <br/> |
75 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_antisym"·class="idref"·href="#Zcompare_antisym"><span·class="id"·title="lemma">Zcompare_antisym</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·<a·id="m:4"·class="idref"·href="#m:4"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#CompOpp"><span·class="id"·title="definition">CompOpp</span></a>·(<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:4"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:3"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 75 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_antisym"·class="idref"·href="#Zcompare_antisym"><span·class="id"·title="lemma">Zcompare_antisym</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·<a·id="m:4"·class="idref"·href="#m:4"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#CompOpp"><span·class="id"·title="definition">CompOpp</span></a>·(<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:4"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:3"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> |
76 | <br/> | 76 | <br/> |
77 | </div> | 77 | </div> |
78 | <div·class="doc"> | 78 | <div·class="doc"> |
79 | <a·id="lab | 79 | <a·id="lab912"></a><h1·class="section">Transitivity·of·comparison</h1> |
80 | </div> | 80 | </div> |
81 | <div·class="code"> | 81 | <div·class="code"> |
82 | <br/> | 82 | <br/> |
83 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Lt_trans"·class="idref"·href="#Zcompare_Lt_trans"><span·class="id"·title="lemma">Zcompare_Lt_trans</span></a>·:<br/> | 83 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Lt_trans"·class="idref"·href="#Zcompare_Lt_trans"><span·class="id"·title="lemma">Zcompare_Lt_trans</span></a>·:<br/> |
84 | <span·class="id"·title="keyword">forall</span>·<a·id="n:5"·class="idref"·href="#n:5"><span·class="id"·title="binder">n</span></a>·<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·<a·id="p:7"·class="idref"·href="#p:7"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:5"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:6"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:6"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:7"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:5"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:7"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> | 84 | <span·class="id"·title="keyword">forall</span>·<a·id="n:5"·class="idref"·href="#n:5"><span·class="id"·title="binder">n</span></a>·<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·<a·id="p:7"·class="idref"·href="#p:7"><span·class="id"·title="binder">p</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:5"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:6"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#m:6"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:7"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:5"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#1718f1bc306f7edd524650b393f464a3"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:7"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab893"></a><h1·class="section">Euclidean·Division</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·Initial·Contribution·by·Claude·Marché·and·Xavier·Urbain· | 51 | ·Initial·Contribution·by·Claude·Marché·and·Xavier·Urbain· |
52 | </div> | 52 | </div> |
53 | <div·class="code"> | 53 | <div·class="code"> |
Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">BinInt</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#"><span·class="id"·title="library">ZDivEucl</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Classes.Morphisms.html#"><span·class="id"·title="library">Morphisms</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">BinInt</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#"><span·class="id"·title="library">ZDivEucl</span></a>.<br/> |
50 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 50 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> |
51 | <br/> | 51 | <br/> |
52 | </div> | 52 | </div> |
53 | <div·class="doc"> | 53 | <div·class="doc"> |
54 | <a·id="lab | 54 | <a·id="lab892"></a><h1·class="section">Definitions·of·division·for·binary·integers,·Euclid·convention.</h1> |
55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> |
56 | ·In·this·convention,·the·remainder·is·always·positive. | 56 | ·In·this·convention,·the·remainder·is·always·positive. |
57 | ····For·other·conventions,·see·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·in·file·<span·class="inlinecode"><span·class="id"·title="var">BinIntDef</span></span>. | 57 | ····For·other·conventions,·see·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·in·file·<span·class="inlinecode"><span·class="id"·title="var">BinIntDef</span></span>. |
58 | ····To·avoid·collision·with·the·other·divisions,·we·place·this·one | 58 | ····To·avoid·collision·with·the·other·divisions,·we·place·this·one |
59 | ····under·a·module. | 59 | ····under·a·module. |
Offset 172, 15 lines modified | Offset 172, 15 lines modified | ||
172 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zodd_bool_succ"·class="idref"·href="#Zodd_bool_succ"><span·class="id"·title="abbreviation">Zodd_bool_succ</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd_succ"><span·class="id"·title="lemma">Z.odd_succ</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 172 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zodd_bool_succ"·class="idref"·href="#Zodd_bool_succ"><span·class="id"·title="abbreviation">Zodd_bool_succ</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd_succ"><span·class="id"·title="lemma">Z.odd_succ</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
173 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zodd_bool_pred"·class="idref"·href="#Zodd_bool_pred"><span·class="id"·title="abbreviation">Zodd_bool_pred</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd_pred"><span·class="id"·title="lemma">Z.odd_pred</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 173 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zodd_bool_pred"·class="idref"·href="#Zodd_bool_pred"><span·class="id"·title="abbreviation">Zodd_bool_pred</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd_pred"><span·class="id"·title="lemma">Z.odd_pred</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
174 | <br/> | 174 | <br/> |
175 | </div> | 175 | </div> |
176 | <div·class="doc"> | 176 | <div·class="doc"> |
177 | <a·id="lab | 177 | <a·id="lab804"></a><h1·class="section">Definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.quot2</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.div2</span></span>·and·properties·wrt·<span·class="inlinecode"><span·class="id"·title="var">Zeven</span></span></h1> |
178 | ··and·<span·class="inlinecode"><span·class="id"·title="var">Zodd</span></span>· | 178 | ··and·<span·class="inlinecode"><span·class="id"·title="var">Zodd</span></span>· |
179 | <div·class="paragraph">·</div> | 179 | <div·class="paragraph">·</div> |
180 | ·Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Z.div2</span></span>· | 180 | ·Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Z.div2</span></span>· |
181 | </div> | 181 | </div> |
182 | <div·class="code"> | 182 | <div·class="code"> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab844"></a><h1·class="section">Zgcd_alt·:·an·alternate·version·of·Z.gcd,·based·on·Euclid's·algorithm</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | <div·class="paragraph">·</div> | 51 | <div·class="paragraph">·</div> |
52 | Author:·Pierre·Letouzey | 52 | Author:·Pierre·Letouzey |
Offset 98, 29 lines modified | Offset 98, 29 lines modified | ||
98 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Zmisc.html#"><span·class="id"·title="library">Zmisc</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Zmisc.html#"><span·class="id"·title="library">Zmisc</span></a>.<br/> |
99 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Wf_Z.html#"><span·class="id"·title="library">Wf_Z</span></a>.<br/> | 99 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.Wf_Z.html#"><span·class="id"·title="library">Wf_Z</span></a>.<br/> |
100 | <br/> | 100 | <br/> |
101 | </div> | 101 | </div> |
102 | <div·class="doc"> | 102 | <div·class="doc"> |
103 | <a·id="lab | 103 | <a·id="lab937"></a><h1·class="section">Simplification·lemmas</h1> |
104 | <div·class="paragraph">·</div> | 104 | <div·class="paragraph">·</div> |
105 | ·No·subgoal·or·smaller·subgoals····································· | 105 | ·No·subgoal·or·smaller·subgoals····································· |
106 | </div> | 106 | </div> |
107 | <div·class="code"> | 107 | <div·class="code"> |
108 | <br/> | 108 | <br/> |
109 | #[<span·class="id"·title="var">global</span>]<br/> | 109 | #[<span·class="id"·title="var">global</span>]<br/> |
110 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span><br/> | 110 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span><br/> |
111 | </div> | 111 | </div> |
112 | <div·class="doc"> | 112 | <div·class="doc"> |
113 | <a·id="lab | 113 | <a·id="lab938"></a><h2·class="section">Reversible·simplification·lemmas·(no·loss·of·information)</h2> |
114 | ·Should·clearly·be·declared·as·hints······························· | 114 | ·Should·clearly·be·declared·as·hints······························· |
115 | <div·class="paragraph">·</div> | 115 | <div·class="paragraph">·</div> |
116 | ·Lemmas·ending·by·eq· | 116 | ·Lemmas·ending·by·eq· |
117 | </div> | 117 | </div> |
118 | <div·class="code"> | 118 | <div·class="code"> |
119 | <span·class="id"·title="var">Zsucc_eq_compat</span>·<br/> | 119 | <span·class="id"·title="var">Zsucc_eq_compat</span>·<br/> |
Offset 91, 15 lines modified | Offset 91, 15 lines modified | ||
91 | <li>·module·Zabs2Nat·:·from·Z·to·nat·(via·the·absolute·value) | 91 | <li>·module·Zabs2Nat·:·from·Z·to·nat·(via·the·absolute·value) |
92 | </li> | 92 | </li> |
93 | </ul> | 93 | </ul> |
94 | <div·class="paragraph">·</div> | 94 | <div·class="paragraph">·</div> |
95 | <a·id="lab | 95 | <a·id="lab845"></a><h1·class="section">Chains·of·conversions</h1> |
96 | <div·class="paragraph">·</div> | 96 | <div·class="paragraph">·</div> |
97 | ·When·combining·successive·conversions,·we·have·the·following | 97 | ·When·combining·successive·conversions,·we·have·the·following |
98 | ····commutative·diagram: | 98 | ····commutative·diagram: |
99 | <pre> | 99 | <pre> |
100 | ······--->·Nat·---- | 100 | ······--->·Nat·---- |
Offset 241, 15 lines modified | Offset 241, 15 lines modified | ||
241 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zdivide_mod_minus"·class="idref"·href="#Zdivide_mod_minus"><span·class="id"·title="lemma">Zdivide_mod_minus</span></a>·<a·id="a:44"·class="idref"·href="#a:44"><span·class="id"·title="binder">a</span></a>·<a·id="b:45"·class="idref"·href="#b:45"><span·class="id"·title="binder">b</span></a>·<a·id="c:46"·class="idref"·href="#c:46"><span·class="id"·title="binder">c</span></a>:<br/> | 241 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zdivide_mod_minus"·class="idref"·href="#Zdivide_mod_minus"><span·class="id"·title="lemma">Zdivide_mod_minus</span></a>·<a·id="a:44"·class="idref"·href="#a:44"><span·class="id"·title="binder">a</span></a>·<a·id="b:45"·class="idref"·href="#b:45"><span·class="id"·title="binder">b</span></a>·<a·id="c:46"·class="idref"·href="#c:46"><span·class="id"·title="binder">c</span></a>:<br/> |
242 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a>.<br/> | 242 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:45"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:46"><span·class="id"·title="variable">c</span></a>.<br/> |
243 | <br/> | 243 | <br/> |
244 | </div> | 244 | </div> |
245 | <div·class="doc"> | 245 | <div·class="doc"> |
246 | <a·id="lab | 246 | <a·id="lab805"></a><h1·class="section">Greatest·common·divisor·(gcd).</h1> |
247 | <div·class="paragraph">·</div> | 247 | <div·class="paragraph">·</div> |
248 | ·There·is·no·unicity·of·the·gcd;·hence·we·define·the·predicate | 248 | ·There·is·no·unicity·of·the·gcd;·hence·we·define·the·predicate |
249 | ····<span·class="inlinecode"><span·class="id"·title="var">Zis_gcd</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">b</span></span>·<span·class="inlinecode"><span·class="id"·title="var">g</span></span>·expressing·that·<span·class="inlinecode"><span·class="id"·title="var">g</span></span>·is·a·gcd·of·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">b</span></span>. | 249 | ····<span·class="inlinecode"><span·class="id"·title="var">Zis_gcd</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">b</span></span>·<span·class="inlinecode"><span·class="id"·title="var">g</span></span>·expressing·that·<span·class="inlinecode"><span·class="id"·title="var">g</span></span>·is·a·gcd·of·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">b</span></span>. |
250 | ····(We·show·later·that·the·<span·class="inlinecode"><span·class="id"·title="var">gcd</span></span>·is·actually·unique·if·we·discard·its·sign.)· | 250 | ····(We·show·later·that·the·<span·class="inlinecode"><span·class="id"·title="var">gcd</span></span>·is·actually·unique·if·we·discard·its·sign.)· |
251 | </div> | 251 | </div> |
Offset 67, 30 lines modified | Offset 67, 30 lines modified | ||
67 | <br/> | 67 | <br/> |
68 | </div> | 68 | </div> |
69 | <div·class="doc"> | 69 | <div·class="doc"> |
70 | Properties·of·the·order·relations·on·binary·integers· | 70 | Properties·of·the·order·relations·on·binary·integers· |
71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> |
72 | <a·id="lab | 72 | <a·id="lab926"></a><h1·class="section">Trichotomy</h1> |
73 | </div> | 73 | </div> |
74 | <div·class="code"> | 74 | <div·class="code"> |
75 | <br/> | 75 | <br/> |
76 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Ztrichotomy_inf"·class="idref"·href="#Ztrichotomy_inf"><span·class="id"·title="lemma">Ztrichotomy_inf</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">}</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Ztrichotomy_inf"·class="idref"·href="#Ztrichotomy_inf"><span·class="id"·title="lemma">Ztrichotomy_inf</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.Zorder.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:2"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#53e8e3b7ca0342c8b99a777b3c5faf3a"><span·class="id"·title="notation">}</span></a>.<br/> |
77 | <br/> | 77 | <br/> |
78 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Ztrichotomy"·class="idref"·href="#Ztrichotomy"><span·class="id"·title="lemma">Ztrichotomy</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·<a·id="m:4"·class="idref"·href="#m:4"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>.<br/> | 78 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Ztrichotomy"·class="idref"·href="#Ztrichotomy"><span·class="id"·title="lemma">Ztrichotomy</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·<a·id="m:4"·class="idref"·href="#m:4"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:3"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:4"><span·class="id"·title="variable">m</span></a>.<br/> |
79 | <br/> | 79 | <br/> |
80 | </div> | 80 | </div> |
81 | <div·class="doc"> | 81 | <div·class="doc"> |
82 | <a·id="lab | 82 | <a·id="lab927"></a><h1·class="section">Decidability·of·equality·and·order·on·Z</h1> |
83 | </div> | 83 | </div> |
84 | <div·class="code"> | 84 | <div·class="code"> |
85 | <br/> | 85 | <br/> |
86 | <span·class="id"·title="keyword">Notation</span>·<a·id="dec_eq"·class="idref"·href="#dec_eq"><span·class="id"·title="abbreviation">dec_eq</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq_decidable"><span·class="id"·title="lemma">Z.eq_decidable</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 86 | <span·class="id"·title="keyword">Notation</span>·<a·id="dec_eq"·class="idref"·href="#dec_eq"><span·class="id"·title="abbreviation">dec_eq</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq_decidable"><span·class="id"·title="lemma">Z.eq_decidable</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
87 | <span·class="id"·title="keyword">Notation</span>·<a·id="dec_Zle"·class="idref"·href="#dec_Zle"><span·class="id"·title="abbreviation">dec_Zle</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.le_decidable"><span·class="id"·title="lemma">Z.le_decidable</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 87 | <span·class="id"·title="keyword">Notation</span>·<a·id="dec_Zle"·class="idref"·href="#dec_Zle"><span·class="id"·title="abbreviation">dec_Zle</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.le_decidable"><span·class="id"·title="lemma">Z.le_decidable</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">BinInt</span></a>·<a·class="idref"·href="Coq.setoid_ring.Ring_theory.html#"><span·class="id"·title="library">Ring_theory</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.BinInt.html#"><span·class="id"·title="library">BinInt</span></a>·<a·class="idref"·href="Coq.setoid_ring.Ring_theory.html#"><span·class="id"·title="library">Ring_theory</span></a>.<br/> |
50 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 50 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> |
51 | <br/> | 51 | <br/> |
52 | </div> | 52 | </div> |
53 | <div·class="doc"> | 53 | <div·class="doc"> |
54 | <a·id="lab | 54 | <a·id="lab851"></a><h1·class="section">Power·functions·over·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span></h1> |
55 | <div·class="paragraph">·</div> | 55 | <div·class="paragraph">·</div> |
56 | ·Nota·:·this·file·is·mostly·deprecated.·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.pow</span></span> | 56 | ·Nota·:·this·file·is·mostly·deprecated.·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.pow</span></span> |
57 | ····and·its·usual·properties·are·now·provided·by·module·<span·class="inlinecode"><span·class="id"·title="var">BinInt.Z</span></span>.· | 57 | ····and·its·usual·properties·are·now·provided·by·module·<span·class="inlinecode"><span·class="id"·title="var">BinInt.Z</span></span>.· |
58 | </div> | 58 | </div> |
59 | <div·class="code"> | 59 | <div·class="code"> |
Offset 128, 15 lines modified | Offset 128, 15 lines modified | ||
128 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zpower2_Psize"·class="idref"·href="#Zpower2_Psize"><span·class="id"·title="lemma">Zpower2_Psize</span></a>·<a·id="n:25"·class="idref"·href="#n:25"><span·class="id"·title="binder">n</span></a>·<a·id="p:26"·class="idref"·href="#p:26"><span·class="id"·title="binder">p</span></a>·:<br/> | 128 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zpower2_Psize"·class="idref"·href="#Zpower2_Psize"><span·class="id"·title="lemma">Zpower2_Psize</span></a>·<a·id="n:25"·class="idref"·href="#n:25"><span·class="id"·title="binder">n</span></a>·<a·id="p:26"·class="idref"·href="#p:26"><span·class="id"·title="binder">p</span></a>·:<br/> |
129 | <a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:26"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:25"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.size_nat"><span·class="id"·title="definition">Pos.size_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:26"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:25"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span>.<br/> | 129 | <a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:26"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:25"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.size_nat"><span·class="id"·title="definition">Pos.size_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:26"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:25"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span>.<br/> |
130 | <br/> | 130 | <br/> |
131 | </div> | 131 | </div> |
132 | <div·class="doc"> | 132 | <div·class="doc"> |
133 | <a·id="lab | 133 | <a·id="lab909"></a><h1·class="section">Z.pow·and·modulo</h1> |
134 | </div> | 134 | </div> |
135 | <div·class="code"> | 135 | <div·class="code"> |
136 | <br/> | 136 | <br/> |
137 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zpower_mod"·class="idref"·href="#Zpower_mod"><span·class="id"·title="lemma">Zpower_mod</span></a>·<a·id="p:27"·class="idref"·href="#p:27"><span·class="id"·title="binder">p</span></a>·<a·id="q:28"·class="idref"·href="#q:28"><span·class="id"·title="binder">q</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·:<br/> | 137 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zpower_mod"·class="idref"·href="#Zpower_mod"><span·class="id"·title="lemma">Zpower_mod</span></a>·<a·id="p:27"·class="idref"·href="#p:27"><span·class="id"·title="binder">p</span></a>·<a·id="q:28"·class="idref"·href="#q:28"><span·class="id"·title="binder">q</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·:<br/> |
138 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:27"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#q:28"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:27"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">)^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#q:28"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>.<br/> | 138 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:27"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#q:28"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:27"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">)^</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#q:28"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:29"><span·class="id"·title="variable">n</span></a>.<br/> |
Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.ZArith.Zpow_def.html#"><span·class="id"·title="library">Zpow_def</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.ZArith.Zpow_def.html#"><span·class="id"·title="library">Zpow_def</span></a>.<br/> |
51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 51 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> |
52 | <br/> | 52 | <br/> |
53 | </div> | 53 | </div> |
54 | <div·class="doc"> | 54 | <div·class="doc"> |
55 | <a·id="lab | 55 | <a·id="lab848"></a><h1·class="section">Power·functions·over·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span></h1> |
56 | <div·class="paragraph">·</div> | 56 | <div·class="paragraph">·</div> |
57 | ·Nota·:·this·file·is·mostly·deprecated.·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.pow</span></span> | 57 | ·Nota·:·this·file·is·mostly·deprecated.·The·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Z.pow</span></span> |
58 | ····and·its·usual·properties·are·now·provided·by·module·<span·class="inlinecode"><span·class="id"·title="var">BinInt.Z</span></span>. | 58 | ····and·its·usual·properties·are·now·provided·by·module·<span·class="inlinecode"><span·class="id"·title="var">BinInt.Z</span></span>. |
59 | ····Powers·of·2·are·also·available·there·(see·<span·class="inlinecode"><span·class="id"·title="var">Z.shiftl</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.shiftr</span></span>). | 59 | ····Powers·of·2·are·also·available·there·(see·<span·class="inlinecode"><span·class="id"·title="var">Z.shiftl</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.shiftr</span></span>). |
60 | ····Only·remain·here: | 60 | ····Only·remain·here: |
Offset 149, 15 lines modified | Offset 149, 15 lines modified | ||
149 | <br/> | 149 | <br/> |
150 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_rem_mult"·class="idref"·href="#Z_rem_mult"><span·class="id"·title="lemma">Z_rem_mult</span></a>·<a·id="a:6"·class="idref"·href="#a:6"><span·class="id"·title="binder">a</span></a>·<a·id="b:7"·class="idref"·href="#b:7"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·(<a·class="idref"·href="Coq.ZArith.Zquot.html#a:6"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#b:7"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:7"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 150 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_rem_mult"·class="idref"·href="#Z_rem_mult"><span·class="id"·title="lemma">Z_rem_mult</span></a>·<a·id="a:6"·class="idref"·href="#a:6"><span·class="id"·title="binder">a</span></a>·<a·id="b:7"·class="idref"·href="#b:7"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.rem"><span·class="id"·title="definition">Z.rem</span></a>·(<a·class="idref"·href="Coq.ZArith.Zquot.html#a:6"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#b:7"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:7"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> |
151 | · | 151 | · |
152 | <br/> | 152 | <br/> |
153 | </div> | 153 | </div> |
154 | <div·class="doc"> | 154 | <div·class="doc"> |
155 | <a·id="lab | 155 | <a·id="lab902"></a><h1·class="section">Division·and·Opposite</h1> |
156 | </div> | 156 | </div> |
157 | <div·class="code"> | 157 | <div·class="code"> |
158 | <br/> | 158 | <br/> |
159 | <br/> | 159 | <br/> |
Offset 64, 15 lines modified | Offset 64, 15 lines modified | ||
64 | <br/> | 64 | <br/> |
65 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 65 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> |
66 | <br/> | 66 | <br/> |
67 | </div> | 67 | </div> |
68 | <div·class="doc"> | 68 | <div·class="doc"> |
69 | <a·id="lab | 69 | <a·id="lab936"></a><h1·class="section">Moving·terms·from·one·side·to·the·other·of·an·inequality</h1> |
70 | </div> | 70 | </div> |
71 | <div·class="code"> | 71 | <div·class="code"> |
72 | <br/> | 72 | <br/> |
73 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zne_left"·class="idref"·href="#Zne_left"><span·class="id"·title="lemma">Zne_left</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#m:2"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·(<a·class="idref"·href="Coq.ZArith.auxiliary.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#m:2"><span·class="id"·title="variable">m</span></a>)·0.<br/> | 73 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zne_left"·class="idref"·href="#Zne_left"><span·class="id"·title="lemma">Zne_left</span></a>·<a·id="n:1"·class="idref"·href="#n:1"><span·class="id"·title="binder">n</span></a>·<a·id="m:2"·class="idref"·href="#m:2"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#m:2"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Zne"><span·class="id"·title="definition">Zne</span></a>·(<a·class="idref"·href="Coq.ZArith.auxiliary.html#n:1"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.auxiliary.html#m:2"><span·class="id"·title="variable">m</span></a>)·0.<br/> |
Offset 140, 15 lines modified | Offset 140, 15 lines modified | ||
140 | <br/> | 140 | <br/> |
141 | <span·class="id"·title="keyword">Section</span>·<a·id="Definitions"·class="idref"·href="#Definitions"><span·class="id"·title="section">Definitions</span></a>.<br/> | 141 | <span·class="id"·title="keyword">Section</span>·<a·id="Definitions"·class="idref"·href="#Definitions"><span·class="id"·title="section">Definitions</span></a>.<br/> |
142 | <br/> | 142 | <br/> |
143 | </div> | 143 | </div> |
144 | <div·class="doc"> | 144 | <div·class="doc"> |
145 | <a·id="lab1 | 145 | <a·id="lab1166"></a><h1·class="section">Global,·inductive·definitions.</h1> |
146 | <div·class="paragraph">·</div> | 146 | <div·class="paragraph">·</div> |
147 | ·A·Horner·polynomial·is·either·a·constant,·or·a·product·P·×·(i·+·Q),·where·i· | 147 | ·A·Horner·polynomial·is·either·a·constant,·or·a·product·P·×·(i·+·Q),·where·i· |
148 | ··is·a·variable.· | 148 | ··is·a·variable.· |
149 | </div> | 149 | </div> |
150 | <div·class="code"> | 150 | <div·class="code"> |
Offset 58, 19 lines modified | Offset 58, 19 lines modified | ||
58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>.<br/> |
59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellNatNum.html#"><span·class="id"·title="library">ExtrHaskellNatNum</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellNatNum.html#"><span·class="id"·title="library">ExtrHaskellNatNum</span></a>.<br/> |
60 | <br/> | 60 | <br/> |
61 | </div> | 61 | </div> |
62 | <div·class="doc"> | 62 | <div·class="doc"> |
63 | <a·id="lab | 63 | <a·id="lab1160"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> |
64 | <a·id="lab | 64 | <a·id="lab1161"></a><h1·class="section">by·extracting·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·into·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span>·is·definitively·*not*·a·good·idea.</h1> |
65 | <a·id="lab | 65 | <a·id="lab1162"></a><h1·class="section">See·comments·in·<span·class="inlinecode"><span·class="id"·title="var">ExtrOcamlNatInt.v</span></span>.</h1> |
66 | · | 66 | · |
67 | </div> | 67 | </div> |
68 | <div·class="code"> | 68 | <div·class="code"> |
69 | <br/> | 69 | <br/> |
70 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·"Prelude.Int"·[·"0"·"Prelude.succ"·]<br/> | 70 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·"Prelude.Int"·[·"0"·"Prelude.succ"·]<br/> |
Offset 58, 19 lines modified | Offset 58, 19 lines modified | ||
58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Arith.Arith.html#"><span·class="id"·title="library">Arith</span></a>.<br/> |
59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellNatNum.html#"><span·class="id"·title="library">ExtrHaskellNatNum</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellNatNum.html#"><span·class="id"·title="library">ExtrHaskellNatNum</span></a>.<br/> |
60 | <br/> | 60 | <br/> |
61 | </div> | 61 | </div> |
62 | <div·class="doc"> | 62 | <div·class="doc"> |
63 | <a·id="lab | 63 | <a·id="lab1157"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> |
64 | <a·id="lab | 64 | <a·id="lab1158"></a><h1·class="section">by·extracting·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·into·<span·class="inlinecode"><span·class="id"·title="var">Integer</span></span>·isn't·necessarily·a·good·idea.</h1> |
65 | <a·id="lab | 65 | <a·id="lab1159"></a><h1·class="section">See·comments·in·<span·class="inlinecode"><span·class="id"·title="var">ExtrOcamlNatInt.v</span></span>.</h1> |
66 | </div> | 66 | </div> |
67 | <div·class="code"> | 67 | <div·class="code"> |
68 | <br/> | 68 | <br/> |
69 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·"Prelude.Integer"·[·"0"·"Prelude.succ"·]<br/> | 69 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·=>·"Prelude.Integer"·[·"0"·"Prelude.succ"·]<br/> |
Offset 43, 23 lines modified | Offset 43, 23 lines modified | ||
43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellNatNum</h1> | 43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellNatNum</h1> |
44 | <div·class="code"> | 44 | <div·class="code"> |
45 | </div> | 45 | </div> |
46 | <div·class="doc"> | 46 | <div·class="doc"> |
47 | <a·id="lab | 47 | <a·id="lab1141"></a><h1·class="section">Efficient·(but·uncertified)·extraction·of·usual·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·functions</h1> |
48 | <a·id="lab | 48 | <a·id="lab1142"></a><h1·class="section">into·equivalent·versions·in·Haskell's·Prelude·that·are·defined</h1> |
49 | <a·id="lab | 49 | <a·id="lab1143"></a><h1·class="section">for·any·<span·class="inlinecode"><span·class="id"·title="var">Num</span></span>·typeclass·instances.··Useful·in·combination·with</h1> |
50 | <a·id="lab | 50 | <a·id="lab1144"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="keyword">Extract</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Inductive</span></span>·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·that·maps·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·onto·a·Haskell·type·that</h1> |
51 | <a·id="lab | 51 | <a·id="lab1145"></a><h1·class="section">implements·<span·class="inlinecode"><span·class="id"·title="var">Num</span></span>.</h1> |
52 | · | 52 | · |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
55 | <br/> | 55 | <br/> |
56 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> | 56 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> |
Offset 43, 15 lines modified | Offset 43, 15 lines modified | ||
43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellString</h1> | 43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellString</h1> |
44 | <div·class="code"> | 44 | <div·class="code"> |
45 | </div> | 45 | </div> |
46 | <div·class="doc"> | 46 | <div·class="doc"> |
47 | <a·id="lab | 47 | <a·id="lab1146"></a><h1·class="section">Special·handling·of·ascii·and·strings·for·extraction·to·Haskell.</h1> |
48 | · | 48 | · |
49 | </div> | 49 | </div> |
50 | <div·class="code"> | 50 | <div·class="code"> |
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> | 52 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> |
Offset 58, 19 lines modified | Offset 58, 19 lines modified | ||
58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> | 58 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>.<br/> |
59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellZNum.html#"><span·class="id"·title="library">ExtrHaskellZNum</span></a>.<br/> | 59 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellZNum.html#"><span·class="id"·title="library">ExtrHaskellZNum</span></a>.<br/> |
60 | <br/> | 60 | <br/> |
61 | </div> | 61 | </div> |
62 | <div·class="doc"> | 62 | <div·class="doc"> |
63 | <a·id="lab | 63 | <a·id="lab1163"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> |
64 | <a·id="lab | 64 | <a·id="lab1164"></a><h1·class="section">by·extracting·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·into·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span>·is·definitively·*not*·a·good·idea.</h1> |
65 | <a·id="lab | 65 | <a·id="lab1165"></a><h1·class="section">See·comments·in·<span·class="inlinecode"><span·class="id"·title="var">ExtrOcamlNatInt.v</span></span>.</h1> |
66 | · | 66 | · |
67 | </div> | 67 | </div> |
68 | <div·class="code"> | 68 | <div·class="code"> |
69 | <br/> | 69 | <br/> |
70 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·=>·"Prelude.Int"·[<br/> | 70 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·=>·"Prelude.Int"·[<br/> |
Offset 43, 23 lines modified | Offset 43, 23 lines modified | ||
43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellZNum</h1> | 43 | <h1·class="libtitle">Library·Coq.extraction.ExtrHaskellZNum</h1> |
44 | <div·class="code"> | 44 | <div·class="code"> |
45 | </div> | 45 | </div> |
46 | <div·class="doc"> | 46 | <div·class="doc"> |
47 | <a·id="lab | 47 | <a·id="lab1152"></a><h1·class="section">Efficient·(but·uncertified)·extraction·of·usual·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·functions</h1> |
48 | <a·id="lab | 48 | <a·id="lab1153"></a><h1·class="section">into·equivalent·versions·in·Haskell's·Prelude·that·are·defined</h1> |
49 | <a·id="lab | 49 | <a·id="lab1154"></a><h1·class="section">for·any·<span·class="inlinecode"><span·class="id"·title="var">Num</span></span>·typeclass·instances.··Useful·in·combination·with</h1> |
50 | <a·id="lab | 50 | <a·id="lab1155"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="keyword">Extract</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Inductive</span></span>·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·that·maps·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·onto·a·Haskell·type·that</h1> |
51 | <a·id="lab | 51 | <a·id="lab1156"></a><h1·class="section">implements·<span·class="inlinecode"><span·class="id"·title="var">Num</span></span>.</h1> |
52 | · | 52 | · |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
55 | <br/> | 55 | <br/> |
56 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> | 56 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.extraction.Extraction.html#"><span·class="id"·title="library">Coq.extraction.Extraction</span></a>.<br/> |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <br/> | 51 | <br/> |
52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 52 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> |
53 | <br/> | 53 | <br/> |
54 | </div> | 54 | </div> |
55 | <div·class="doc"> | 55 | <div·class="doc"> |
56 | <a·id="lab2 | 56 | <a·id="lab1230"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">Z.div_mod_to_equations</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.quot_rem_to_equations</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.to_euclidean_division_equations</span></span>:</h1> |
57 | ·····the·tactics·for·preprocessing·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.modulo</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.rem</span></span>· | 57 | ·····the·tactics·for·preprocessing·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.modulo</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.rem</span></span>· |
58 | <div·class="paragraph">·</div> | 58 | <div·class="paragraph">·</div> |
59 | ·These·tactics·use·the·complete·specification·of·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and | 59 | ·These·tactics·use·the·complete·specification·of·<span·class="inlinecode"><span·class="id"·title="var">Z.div</span></span>·and |
60 | ····<span·class="inlinecode"><span·class="id"·title="var">Z.modulo</span></span>·(<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.rem</span></span>,·respectively)·to·remove·these | 60 | ····<span·class="inlinecode"><span·class="id"·title="var">Z.modulo</span></span>·(<span·class="inlinecode"><span·class="id"·title="var">Z.quot</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.rem</span></span>,·respectively)·to·remove·these |
61 | ····functions·from·the·goal·without·losing·information.··The | 61 | ····functions·from·the·goal·without·losing·information.··The |
Offset 526, 16 lines modified | Offset 526, 16 lines modified | ||
526 | <hr/><a·id="global_T"></a><h2>T·</h2> | 526 | <hr/><a·id="global_T"></a><h2>T·</h2> |
527 | <a·href="Coq.Numbers.Cyclic.ZModulo.ZModulo.html#t">t</a>·[definition,·in·<a·href="Coq.Numbers.Cyclic.ZModulo.ZModulo.html">Coq.Numbers.Cyclic.ZModulo.ZModulo</a>]<br/> | 527 | <a·href="Coq.Numbers.Cyclic.ZModulo.ZModulo.html#t">t</a>·[definition,·in·<a·href="Coq.Numbers.Cyclic.ZModulo.ZModulo.html">Coq.Numbers.Cyclic.ZModulo.ZModulo</a>]<br/> |
528 | <a·href="Coq.Init.Nat.html#t">t</a>·[definition,·in·<a·href="Coq.Init.Nat.html">Coq.Init.Nat</a>]<br/> | 528 | <a·href="Coq.Init.Nat.html#t">t</a>·[definition,·in·<a·href="Coq.Init.Nat.html">Coq.Init.Nat</a>]<br/> |
529 | <a·href="Coq.Vectors.Fin.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.Fin.html">Coq.Vectors.Fin</a>]<br/> | 529 | <a·href="Coq.Vectors.Fin.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.Fin.html">Coq.Vectors.Fin</a>]<br/> |
530 | <a·href="Coq.micromega.VarMap.html#t">t</a>·[abbreviation,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> | 530 | <a·href="Coq.micromega.VarMap.html#t">t</a>·[abbreviation,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> |
531 | <a·href="Coq.micromega.VarMap.html#t">t</a>·[inductive,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> | 531 | <a·href="Coq.micromega.VarMap.html#t">t</a>·[inductive,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> |
532 | <a·href="Coq.Vectors.VectorDef.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.VectorDef.html">Coq.Vectors.VectorDef</a>]<br/> | 532 | <a·href="Coq.Vectors.VectorDef.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.VectorDef.html">Coq.Vectors.VectorDef</a>]<br/> |
533 | <a·href="Coq.Program.Tactics.html">Tactics</a>·[library]<br/> | ||
534 | <a·href="Coq.Init.Tactics.html">Tactics</a>·[library]<br/> | 533 | <a·href="Coq.Init.Tactics.html">Tactics</a>·[library]<br/> |
534 | <a·href="Coq.Program.Tactics.html">Tactics</a>·[library]<br/> | ||
535 | <a·href="Coq.ssr.ssreflect.html#tactic_view">tactic_view</a>·[constructor,·in·<a·href="Coq.ssr.ssreflect.html">Coq.ssr.ssreflect</a>]<br/> | 535 | <a·href="Coq.ssr.ssreflect.html#tactic_view">tactic_view</a>·[constructor,·in·<a·href="Coq.ssr.ssreflect.html">Coq.ssr.ssreflect</a>]<br/> |
536 | <a·href="Coq.rtauto.Bintree.html#Tadd">Tadd</a>·[definition,·in·<a·href="Coq.rtauto.Bintree.html">Coq.rtauto.Bintree</a>]<br/> | 536 | <a·href="Coq.rtauto.Bintree.html#Tadd">Tadd</a>·[definition,·in·<a·href="Coq.rtauto.Bintree.html">Coq.rtauto.Bintree</a>]<br/> |
537 | <a·href="Coq.ssr.ssrfun.html#tag">tag</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 537 | <a·href="Coq.ssr.ssrfun.html#tag">tag</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> |
538 | <a·href="Coq.ssr.ssrfun.html#Tag">Tag</a>·[section,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 538 | <a·href="Coq.ssr.ssrfun.html#Tag">Tag</a>·[section,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> |
539 | <a·href="Coq.ssr.ssrfun.html#Tagged">Tagged</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 539 | <a·href="Coq.ssr.ssrfun.html#Tagged">Tagged</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> |
540 | <a·href="Coq.ssr.ssrfun.html#tagged">tagged</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 540 | <a·href="Coq.ssr.ssrfun.html#tagged">tagged</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> |
541 | <a·href="Coq.ssr.ssrfun.html#Tagged2">Tagged2</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 541 | <a·href="Coq.ssr.ssrfun.html#Tagged2">Tagged2</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> |
Offset 958, 16 lines modified | Offset 958, 16 lines modified | ||
958 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s''">WEqProperties_fun.BasicProperties.s''</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 958 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s''">WEqProperties_fun.BasicProperties.s''</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> |
959 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s'">WEqProperties_fun.BasicProperties.s'</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 959 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s'">WEqProperties_fun.BasicProperties.s'</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> |
960 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s">WEqProperties_fun.BasicProperties.s</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 960 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties.s">WEqProperties_fun.BasicProperties.s</a>·[variable,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> |
961 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties">WEqProperties_fun.BasicProperties</a>·[section,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 961 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.BasicProperties">WEqProperties_fun.BasicProperties</a>·[section,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> |
962 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.Add">WEqProperties_fun.Add</a>·[definition,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 962 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.Add">WEqProperties_fun.Add</a>·[definition,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> |
963 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.MP">WEqProperties_fun.MP</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 963 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun.MP">WEqProperties_fun.MP</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> |
964 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun">WEqProperties_fun</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 964 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun">WEqProperties_fun</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> |
965 | <a·href="Coq.Program.Wf.html">Wf</a>·[library]<br/> | ||
966 | <a·href="Coq.Init.Wf.html">Wf</a>·[library]<br/> | 965 | <a·href="Coq.Init.Wf.html">Wf</a>·[library]<br/> |
966 | <a·href="Coq.Program.Wf.html">Wf</a>·[library]<br/> | ||
967 | <a·href="Coq.FSets.FMapFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FMapFacts.html">Coq.FSets.FMapFacts</a>]<br/> | 967 | <a·href="Coq.FSets.FMapFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FMapFacts.html">Coq.FSets.FMapFacts</a>]<br/> |
968 | <a·href="Coq.MSets.MSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 968 | <a·href="Coq.MSets.MSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> |
969 | <a·href="Coq.FSets.FSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FSetFacts.html">Coq.FSets.FSetFacts</a>]<br/> | 969 | <a·href="Coq.FSets.FSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FSetFacts.html">Coq.FSets.FSetFacts</a>]<br/> |
970 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn">WFactsOn</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 970 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn">WFactsOn</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> |
971 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_s_m">WFactsOn.add_s_m</a>·[instance,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 971 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_s_m">WFactsOn.add_s_m</a>·[instance,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> |
972 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_m">WFactsOn.add_m</a>·[instance,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 972 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_m">WFactsOn.add_m</a>·[instance,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> |
973 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_neq_b">WFactsOn.add_neq_b</a>·[lemma,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 973 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn.add_neq_b">WFactsOn.add_neq_b</a>·[lemma,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> |
Offset 520, 18 lines modified | Offset 520, 18 lines modified | ||
520 | <td><a·href="index_record_Z.html">Z</a></td> | 520 | <td><a·href="index_record_Z.html">Z</a></td> |
521 | <td>_</td> | 521 | <td>_</td> |
522 | <td>other</td> | 522 | <td>other</td> |
523 | <td>(166·entries)</td> | 523 | <td>(166·entries)</td> |
524 | </tr> | 524 | </tr> |
525 | </table> | 525 | </table> |
526 | <hr/><a·id="library_T"></a><h2>T·(library)</h2> | 526 | <hr/><a·id="library_T"></a><h2>T·(library)</h2> |
527 | <a·href="Coq.Program.Tactics.html">Tactics</a>·<br/> | ||
528 | <a·href="Coq.Init.Tactics.html">Tactics</a>·<br/> | 527 | <a·href="Coq.Init.Tactics.html">Tactics</a>·<br/> |
529 | <a·href="Coq. | 528 | <a·href="Coq.Program.Tactics.html">Tactics</a>·<br/> |
530 | <a·href="Coq.micromega.Tauto.html">Tauto</a>·<br/> | 529 | <a·href="Coq.micromega.Tauto.html">Tauto</a>·<br/> |
530 | <a·href="Coq.Init.Tauto.html">Tauto</a>·<br/> | ||
531 | <a·href="Coq.Wellfounded.Transitive_Closure.html">Transitive_Closure</a>·<br/> | 531 | <a·href="Coq.Wellfounded.Transitive_Closure.html">Transitive_Closure</a>·<br/> |
532 | <br/><br/>····<div·id="sidebarWrapper"> | 532 | <br/><br/>····<div·id="sidebarWrapper"> |
533 | ······<div·id="sidebar"> | 533 | ······<div·id="sidebar"> |
534 | ········<div·class="block"> | 534 | ········<div·class="block"> |
535 | ··········<h2·class="title">Navigation</h2> | 535 | ··········<h2·class="title">Navigation</h2> |
536 | ··········<div·class="content"> | 536 | ··········<div·class="content"> |
537 | ············<ul·class="menu"> | 537 | ············<ul·class="menu"> |
Offset 523, 16 lines modified | Offset 523, 16 lines modified | ||
523 | <td>(166·entries)</td> | 523 | <td>(166·entries)</td> |
524 | </tr> | 524 | </tr> |
525 | </table> | 525 | </table> |
526 | <hr/><a·id="library_W"></a><h2>W·(library)</h2> | 526 | <hr/><a·id="library_W"></a><h2>W·(library)</h2> |
527 | <a·href="Coq.Logic.WeakFan.html">WeakFan</a>·<br/> | 527 | <a·href="Coq.Logic.WeakFan.html">WeakFan</a>·<br/> |
528 | <a·href="Coq.Wellfounded.Wellfounded.html">Wellfounded</a>·<br/> | 528 | <a·href="Coq.Wellfounded.Wellfounded.html">Wellfounded</a>·<br/> |
529 | <a·href="Coq.Wellfounded.Well_Ordering.html">Well_Ordering</a>·<br/> | 529 | <a·href="Coq.Wellfounded.Well_Ordering.html">Well_Ordering</a>·<br/> |
530 | <a·href="Coq.Program.Wf.html">Wf</a>·<br/> | ||
531 | <a·href="Coq.Init.Wf.html">Wf</a>·<br/> | 530 | <a·href="Coq.Init.Wf.html">Wf</a>·<br/> |
531 | <a·href="Coq.Program.Wf.html">Wf</a>·<br/> | ||
532 | <a·href="Coq.Arith.Wf_nat.html">Wf_nat</a>·<br/> | 532 | <a·href="Coq.Arith.Wf_nat.html">Wf_nat</a>·<br/> |
533 | <a·href="Coq.ZArith.Wf_Z.html">Wf_Z</a>·<br/> | 533 | <a·href="Coq.ZArith.Wf_Z.html">Wf_Z</a>·<br/> |
534 | <a·href="Coq.Logic.WKL.html">WKL</a>·<br/> | 534 | <a·href="Coq.Logic.WKL.html">WKL</a>·<br/> |
535 | <br/><br/>····<div·id="sidebarWrapper"> | 535 | <br/><br/>····<div·id="sidebarWrapper"> |
536 | ······<div·id="sidebar"> | 536 | ······<div·id="sidebar"> |
537 | ········<div·class="block"> | 537 | ········<div·class="block"> |
538 | ··········<h2·class="title">Navigation</h2> | 538 | ··········<h2·class="title">Navigation</h2> |