Offset 1, 9 lines modified | Offset 1, 9 lines modified | ||
1 | ·19520add216e4f81ac1f8ed69860ae43·8759968·debug·optional·coq-dbgsym_8.20.0+dfsg-1_amd64.deb | 1 | ·19520add216e4f81ac1f8ed69860ae43·8759968·debug·optional·coq-dbgsym_8.20.0+dfsg-1_amd64.deb |
2 | · | 2 | ·566b118244772954ab46930db0cdaf34·76949060·math·optional·coq_8.20.0+dfsg-1_amd64.deb |
3 | ·2f0ca551ef8790d3ac6909739996f371·637876·debug·optional·coqide-dbgsym_8.20.0+dfsg-1_amd64.deb | 3 | ·2f0ca551ef8790d3ac6909739996f371·637876·debug·optional·coqide-dbgsym_8.20.0+dfsg-1_amd64.deb |
4 | ·438cdcef1b92cf49a909ffc1776542f8·1927168·math·optional·coqide_8.20.0+dfsg-1_amd64.deb | 4 | ·438cdcef1b92cf49a909ffc1776542f8·1927168·math·optional·coqide_8.20.0+dfsg-1_amd64.deb |
5 | ·5a5b46d479e6e43643935a08d9e174cd·2515372·debug·optional·libcoq-core-ocaml-dbgsym_8.20.0+dfsg-1_amd64.deb | 5 | ·5a5b46d479e6e43643935a08d9e174cd·2515372·debug·optional·libcoq-core-ocaml-dbgsym_8.20.0+dfsg-1_amd64.deb |
6 | ·781805f5986f52ede177b9ddeac3ea48·69384828·ocaml·optional·libcoq-core-ocaml-dev_8.20.0+dfsg-1_amd64.deb | ||
7 | ·daf7da471ccbc78cc3c90e0636b28491·25866644·ocaml·optional·libcoq-core-ocaml_8.20.0+dfsg-1_amd64.deb | ||
8 | · | 6 | ·256194bb59799b850336b3733925e843·69383416·ocaml·optional·libcoq-core-ocaml-dev_8.20.0+dfsg-1_amd64.deb |
7 | ·6e5b9b9dcdc9c56110471a4362e38ee1·25870140·ocaml·optional·libcoq-core-ocaml_8.20.0+dfsg-1_amd64.deb | ||
8 | ·11b56c29dd77e5d21567743f376f2d61·23529348·math·optional·libcoq-stdlib_8.20.0+dfsg-1_amd64.deb |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2024-11-20·09:37:25.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2024-11-20·09:37:25.000000·debian-binary |
2 | -rw-r--r--···0········0········0·····22 | 2 | -rw-r--r--···0········0········0·····2276·2024-11-20·09:37:25.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·7694 | 3 | -rw-r--r--···0········0········0·76946592·2024-11-20·09:37:25.000000·data.tar.xz |
Offset 3, 25 lines modified | Offset 3, 25 lines modified | ||
3 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/bin/ | 3 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/bin/ |
4 | -rwxr-xr-x···0·root·········(0)·root·········(0)······891·2024-11-20·09:37:25.000000·./usr/bin/coq-makefile-make-both-single-timing-files | 4 | -rwxr-xr-x···0·root·········(0)·root·········(0)······891·2024-11-20·09:37:25.000000·./usr/bin/coq-makefile-make-both-single-timing-files |
5 | -rwxr-xr-x···0·root·········(0)·root·········(0)······931·2024-11-20·09:37:25.000000·./usr/bin/coq-makefile-make-both-time-files | 5 | -rwxr-xr-x···0·root·········(0)·root·········(0)······931·2024-11-20·09:37:25.000000·./usr/bin/coq-makefile-make-both-time-files |
6 | -rwxr-xr-x···0·root·········(0)·root·········(0)······697·2024-11-20·09:37:25.000000·./usr/bin/coq-makefile-make-one-time-file | 6 | -rwxr-xr-x···0·root·········(0)·root·········(0)······697·2024-11-20·09:37:25.000000·./usr/bin/coq-makefile-make-one-time-file |
7 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1347848·2024-11-20·09:37:25.000000·./usr/bin/coq-tex | 7 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1347848·2024-11-20·09:37:25.000000·./usr/bin/coq-tex |
8 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2714824·2024-11-20·09:37:25.000000·./usr/bin/coq_makefile | 8 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2714824·2024-11-20·09:37:25.000000·./usr/bin/coq_makefile |
9 | -rwxr-xr-x···0·root·········(0)·root·········(0)·20123048·2024-11-20·09:37:25.000000·./usr/bin/coqc | 9 | -rwxr-xr-x···0·root·········(0)·root·········(0)·20123048·2024-11-20·09:37:25.000000·./usr/bin/coqc |
10 | -rwxr-xr-x···0·root·········(0)·root·········(0)·50325 | 10 | -rwxr-xr-x···0·root·········(0)·root·········(0)·50325793·2024-11-20·09:37:25.000000·./usr/bin/coqc.byte |
11 | -rwxr-xr-x···0·root·········(0)·root·········(0)··6356136·2024-11-20·09:37:25.000000·./usr/bin/coqchk | 11 | -rwxr-xr-x···0·root·········(0)·root·········(0)··6356136·2024-11-20·09:37:25.000000·./usr/bin/coqchk |
12 | -rwxr-xr-x···0·root·········(0)·root·········(0)··3003720·2024-11-20·09:37:25.000000·./usr/bin/coqdep | 12 | -rwxr-xr-x···0·root·········(0)·root·········(0)··3003720·2024-11-20·09:37:25.000000·./usr/bin/coqdep |
13 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2867112·2024-11-20·09:37:25.000000·./usr/bin/coqdoc | 13 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2867112·2024-11-20·09:37:25.000000·./usr/bin/coqdoc |
14 | -rwxr-xr-x···0·root·········(0)·root·········(0)·508825 | 14 | -rwxr-xr-x···0·root·········(0)·root·········(0)·50882583·2024-11-20·09:37:25.000000·./usr/bin/coqidetop.byte |
15 | -rwxr-xr-x···0·root·········(0)·root·········(0)·20455272·2024-11-20·09:37:25.000000·./usr/bin/coqidetop.opt | 15 | -rwxr-xr-x···0·root·········(0)·root·········(0)·20455272·2024-11-20·09:37:25.000000·./usr/bin/coqidetop.opt |
16 | -rwxr-xr-x···0·root·········(0)·root·········(0)··6652008·2024-11-20·09:37:25.000000·./usr/bin/coqnative | 16 | -rwxr-xr-x···0·root·········(0)·root·········(0)··6652008·2024-11-20·09:37:25.000000·./usr/bin/coqnative |
17 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1665992·2024-11-20·09:37:25.000000·./usr/bin/coqpp | 17 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1665992·2024-11-20·09:37:25.000000·./usr/bin/coqpp |
18 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2075176·2024-11-20·09:37:25.000000·./usr/bin/coqtimelog2html | 18 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2075176·2024-11-20·09:37:25.000000·./usr/bin/coqtimelog2html |
19 | -rwxr-xr-x···0·root·········(0)·root·········(0)·20123016·2024-11-20·09:37:25.000000·./usr/bin/coqtop | 19 | -rwxr-xr-x···0·root·········(0)·root·········(0)·20123016·2024-11-20·09:37:25.000000·./usr/bin/coqtop |
20 | -rwxr-xr-x···0·root·········(0)·root·········(0)·737112 | 20 | -rwxr-xr-x···0·root·········(0)·root·········(0)·73711259·2024-11-20·09:37:25.000000·./usr/bin/coqtop.byte |
21 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1005320·2024-11-20·09:37:25.000000·./usr/bin/coqwc | 21 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1005320·2024-11-20·09:37:25.000000·./usr/bin/coqwc |
22 | -rwxr-xr-x···0·root·········(0)·root·········(0)·20123944·2024-11-20·09:37:25.000000·./usr/bin/coqworker.opt | 22 | -rwxr-xr-x···0·root·········(0)·root·········(0)·20123944·2024-11-20·09:37:25.000000·./usr/bin/coqworker.opt |
23 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1534184·2024-11-20·09:37:25.000000·./usr/bin/coqworkmgr | 23 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1534184·2024-11-20·09:37:25.000000·./usr/bin/coqworkmgr |
24 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2568072·2024-11-20·09:37:25.000000·./usr/bin/csdpcert | 24 | -rwxr-xr-x···0·root·········(0)·root·········(0)··2568072·2024-11-20·09:37:25.000000·./usr/bin/csdpcert |
25 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1561800·2024-11-20·09:37:25.000000·./usr/bin/ocamllibdep | 25 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1561800·2024-11-20·09:37:25.000000·./usr/bin/ocamllibdep |
26 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1804680·2024-11-20·09:37:25.000000·./usr/bin/votour | 26 | -rwxr-xr-x···0·root·········(0)·root·········(0)··1804680·2024-11-20·09:37:25.000000·./usr/bin/votour |
27 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/ | 27 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/ |
Offset 2928796, 216568 lines modified | Offset 2928796, 216568 lines modified | ||
02cb09b0:·4040·4084·95a6·be00·0000·4f00·0000·0600··@@@.......O..... | 02cb09b0:·4040·4084·95a6·be00·0000·4f00·0000·0600··@@@.......O..... | ||
02cb09c0:·0000·2000·0000·16a0·2f2f·776f·726b·7370··..·.....//worksp | 02cb09c0:·0000·2000·0000·16a0·2f2f·776f·726b·7370··..·.....//worksp | ||
02cb09d0:·6163·655f·726f·6f74·a034·2f77·6f72·6b73··ace_root.4/works | 02cb09d0:·6163·655f·726f·6f74·a034·2f77·6f72·6b73··ace_root.4/works | ||
02cb09e0:·7061·6365·5f72·6f6f·742f·636c·6962·a009··pace_root/clib.. | 02cb09e0:·7061·6365·5f72·6f6f·742f·636c·6962·a009··pace_root/clib.. | ||
02cb09f0:·242f·776f·726b·7370·6163·655f·726f·6f74··$/workspace_root | 02cb09f0:·242f·776f·726b·7370·6163·655f·726f·6f74··$/workspace_root | ||
02cb0a00:·2f63·6c69·622f·2e63·6c69·622e·6f62·6a73··/clib/.clib.objs | 02cb0a00:·2f63·6c69·622f·2e63·6c69·622e·6f62·6a73··/clib/.clib.objs | ||
02cb0a10:·2f62·7974·6540·0007·6aa4·8495·a6be·0000··/byte@..j....... | 02cb0a10:·2f62·7974·6540·0007·6aa4·8495·a6be·0000··/byte@..j....... | ||
02cb0a20:·9d8 | 02cb0a20:·9d80·0000·186e·0000·6ba8·0000·6a81·a008··.....n..k...j... | ||
02cb0a30:·0000·2f00·0124·1027·556e·6963·6f64·65b0··../..$.'Unicode. | 02cb0a30:·0000·2f00·0124·1027·556e·6963·6f64·65b0··../..$.'Unicode. | ||
02cb0a40:·c026·5f6e·6f6e·655f·4040·00ff·0402·4141··.&_none_@@....AA | 02cb0a40:·c026·5f6e·6f6e·655f·4040·00ff·0402·4141··.&_none_@@....AA | ||
02cb0a50:·223f·3f41·40d0·4040·4040·40a0·4040·4040··"??A@.@@@@@.@@@@ | 02cb0a50:·223f·3f41·40d0·4040·4040·40a0·4040·4040··"??A@.@@@@@.@@@@ | ||
02cb0a60:·a008·0000·2f00·0123·a004·0904·0841·0405··..../..#.....A.. | 02cb0a60:·a008·0000·2f00·0123·a004·0904·0841·0405··..../..#.....A.. | Diff chunk too large, falling back to line-by-line diff (3477 lines added, 3477 lines removed) | |
02cb0a70:·41b0·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0··A............... | 02cb0a70:·41b0·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0··A............... | ||
02cb0a80:·b0b0·b0b0·b0b0·b2b0·b0b0·b0b0·b0b1·aba | 02cb0a80:·b0b0·b0b0·b0b0·b2b0·b0b0·b0b0·b0b1·aba7··................ | ||
02cb0a90:· | 02cb0a90:·b2b2·b2b2·b2b2·b2b2·b2b2·b2b2·b1b1·b1b1··................ | ||
02cb0aa0:·b1b1·b1b1·b1b1·b1b1·b1b1·b1b1·b1 | 02cb0aa0:·b1b1·b1b1·b1b1·b1b1·b1b1·b1b1·b140·a325··.............@.% | ||
02cb0ab0:· | 02cb0ab0:·6172·7261·7948·0800·003b·00a0·c090·4002··arrayH...;....@. | ||
02cb0ac0:·0 | 02cb0ac0:·05f5·e100·404d·4041·0401·4140·a07f·40a0··....@M@A..A@..@. | ||
02cb0ad0:· | 02cb0ad0:·4040·4040·044c·4040·4092·0408·a324·626f··@@@@.L@@@....$bo | ||
02cb0ae0:·6f6 | 02cb0ae0:·6f6c·4508·0000·3b00·4040·a2a0·e0a3·2566··olE...;.@@....%f | ||
02cb0af0:·6 | 02cb0af0:·616c·7365·5e90·4040·0456·4092·0403·a0e0··alse^.@@.V@..... | ||
02cb0b00:· | 02cb0b00:·a324·7472·7565·5f90·4040·045c·4092·0403··.$true_.@@.\@... | ||
02cb0b10:· | 02cb0b10:·4040·4140·4040·4040·045d·4041·4092·0410··@@A@@@@@.]@A@... | ||
02cb0b20:· | 02cb0b20:·a324·6368·6172·4208·0000·3b00·4040·0418··.$charB...;.@@.. | ||
02cb0b30:· | 02cb0b30:·4140·4040·4040·0461·4041·4092·0403·a323··A@@@@@.a@A@....# | ||
02cb0b40:· | 02cb0b40:·6578·6e47·0800·003b·0040·4040·4140·4040··exnG...;.@@@A@@@ | ||
02cb0b50:·4040· | 02cb0b50:·4040·0465·4040·4092·0403·a335·6578·7465··@@.e@@@....5exte | ||
02cb0b60:·6 | 02cb0b60:·6e73·696f·6e5f·636f·6e73·7472·7563·746f··nsion_constructo | ||
02cb0b70:· | 02cb0b70:·7250·0800·003b·0040·4004·2041·4040·4040··rP...;.@@.·A@@@@ | ||
02cb0b80:·40 | 02cb0b80:·4004·6940·4040·9204·03a3·2566·6c6f·6174··@.i@@@....%float | ||
02cb0b90:· | 02cb0b90:·4408·0000·3b00·4040·0424·4140·4040·4040··D...;.@@.$A@@@@@ | ||
02cb0ba0:· | 02cb0ba0:·046d·4040·4092·0403·a32a·666c·6f61·7461··.m@@@....*floata | ||
02cb0bb0:· | 02cb0bb0:·7272·6179·5108·0000·3b00·4040·0428·4140··rrayQ...;.@@.(A@ | ||
02cb0bc0:·4040·4040· | 02cb0bc0:·4040·4040·0471·4040·4092·0403·a323·696e··@@@@.q@@@....#in | ||
02cb0bd0:· | 02cb0bd0:·7441·0800·003b·0040·4004·2c41·4040·4040··tA...;.@@.,A@@@@ | ||
02cb0be0:·40 | 02cb0be0:·4004·7540·4140·9204·03a3·2569·6e74·3332··@.u@A@....%int32 | ||
02cb0bf0:· | 02cb0bf0:·4c08·0000·3b00·4040·0430·4140·4040·4040··L...;.@@.0A@@@@@ | ||
02cb0c00:· | 02cb0c00:·0479·4040·4092·0403·a325·696e·7436·344d··.y@@@....%int64M | ||
02cb0c10:· | 02cb0c10:·0800·003b·0040·4004·3441·4040·4040·4004··...;.@@.4A@@@@@. | ||
02cb0c20:· | 02cb0c20:·7d40·4040·9204·03a3·266c·617a·795f·744e··}@@@....&lazy_tN | ||
02cb0c30:· | 02cb0c30:·0800·003b·00a0·c004·3a02·05f5·e100·404f··...;....:.....@O | ||
02cb0c40:·4 | 02cb0c40:·4041·043a·4140·a059·40a0·4040·4040·0485··@A.:A@.Y@.@@@@.. | ||
02cb0c50:· | 02cb0c50:·4040·4092·0407·a324·6c69·7374·4908·0000··@@@....$listI... | ||
02cb0c60:· | 02cb0c60:·3b00·a0c0·0442·0205·f5e1·0040·5040·41a2··;....B.....@P@A. | ||
02cb0c70:·a | 02cb0c70:·a0e0·a322·5b5d·6190·4040·0491·4092·0403··..."[]a.@@..@... | ||
02cb0c80:· | 02cb0c80:·a0e0·a322·3a3a·6290·a004·0ea0·c0b3·9004··..."::b......... | ||
02cb0c90:· | 02cb0c90:·16a0·0413·4090·4002·05f5·e100·4051·4040··....@.@.....@Q@@ | ||
02cb0ca0:· | 02cb0ca0:·049e·4092·040a·4040·4140·a059·40a0·4040··..@...@@A@.Y@.@@ | ||
02cb0cb0:·4040· | 02cb0cb0:·4040·04a1·4040·4092·041b·a329·6e61·7469··@@..@@@....)nati | ||
02cb0cc0:· | 02cb0cc0:·7665·696e·744b·0800·003b·0040·4004·5c41··veintK...;.@@.\A | ||
02cb0cd0:·4 | 02cb0cd0:·4040·4040·4004·a540·4040·9204·03a3·266f··@@@@@..@@@....&o | ||
02cb0ce0:· | 02cb0ce0:·7074·696f·6e4a·0800·003b·00a0·c004·6202··ptionJ...;....b. | ||
02cb0cf0:·0 | 02cb0cf0:·05f5·e100·4053·4041·a2a0·e0a3·244e·6f6e··....@S@A....$Non | ||
02cb0d00:·6 | 02cb0d00:·6563·9040·4004·b140·9204·03a0·e0a3·2453··ec.@@..@......$S | ||
02cb0d10:· | 02cb0d10:·6f6d·6564·90a0·040e·4040·04b8·4092·0404··omed....@@..@... | ||
02cb0d20:· | 02cb0d20:·4040·4140·a059·40a0·4040·4040·04bb·4040··@@A@.Y@.@@@@..@@ | ||
02cb0d30:·40 | 02cb0d30:·4092·0415·a326·7374·7269·6e67·4f08·0000··@....&stringO... | ||
02cb0d40:· | 02cb0d40:·3b00·4040·0476·4140·4040·4040·04bf·4040··;.@@.vA@@@@@..@@ | ||
02cb0d50:·40 | 02cb0d50:·4092·0403·a325·6279·7465·7343·0800·003b··@....%bytesC...; | ||
02cb0d60:· | 02cb0d60:·0040·4004·7a41·4040·4040·4004·c340·4040··.@@.zA@@@@@..@@@ | ||
02cb0d70:· | 02cb0d70:·9204·03a3·2475·6e69·7446·0800·003b·0040··....$unitF...;.@ | ||
02cb0d80:·40 | 02cb0d80:·40a2·a0e0·a322·2829·6090·4040·04cd·4092··@...."()`.@@..@. | ||
02cb0d90:· | 02cb0d90:·0403·4040·4140·4040·4040·04ce·4041·4092··..@@A@@@@@..@A@. | ||
02cb0da0:· | 02cb0da0:·040a·a32e·4173·7365·7274·5f66·6169·6c75··....Assert_failu | ||
02cb0db0:·7 | 02cb0db0:·7265·5c08·0000·2300·9004·7140·90a0·c092··re\...#...q@.... | ||
02cb0dc0:· | 02cb0dc0:·a0c0·b390·041f·4090·4002·05f5·e100·404a··......@.@.....@J | ||
02cb0dd0:· | 02cb0dd0:·a0c0·b390·046e·4090·4002·05f5·e100·4040··.....n@.@.....@@ | ||
02cb0de0:· | 02cb0de0:·a004·0540·0205·f5e1·0040·5640·4041·04e2··...@.....@V@@A.. | ||
02cb0df0:· | 02cb0df0:·a0b0·a03d·6f63·616d·6c2e·7761·726e·5f6f··...=ocaml.warn_o | ||
02cb0e00:·6 | 02cb0e00:·6e5f·6c69·7465·7261·6c5f·7061·7474·6572··n_literal_patter | ||
02cb0e10:· | 02cb0e10:·6e04·e604·9d04·e640·9204·17a3·3044·6976··n......@....0Div | ||
02cb0e20:· | 02cb0e20:·6973·696f·6e5f·6279·5f7a·6572·6f59·0800··ision_by_zeroY.. | ||
02cb0e30:·00 | 02cb0e30:·0023·0004·1840·9040·4041·04eb·a0b0·a004··.#...@.@@A...... | ||
02cb0e40:·0 | 02cb0e40:·0904·ee04·a504·ee40·9204·07a3·2b45·6e64··.......@....+End | ||
02cb0e50:· | 02cb0e50:·5f6f·665f·6669·6c65·5808·0000·2300·0420··_of_fileX...#..· | ||
02cb0e60:· | 02cb0e60:·4090·4040·4104·f3a0·b0a0·0411·04f6·04ad··@.@@A........... | ||
02cb0e70:· | 02cb0e70:·04f6·4092·0407·a327·4661·696c·7572·6555··..@....'FailureU | ||
02cb0e80:· | 02cb0e80:·0800·0023·0004·2840·90a0·0424·4040·4104··...#..(@...$@@A. | ||
02cb0e90:· | 02cb0e90:·fca0·b0a0·041a·04ff·04b6·04ff·4092·0408··............@... | ||
02cb0ea0:· | 02cb0ea0:·a330·496e·7661·6c69·645f·6172·6775·6d65··.0Invalid_argume | ||
02cb0eb0:· | 02cb0eb0:·6e74·5408·0000·2300·0431·4090·a004·2d40··ntT...#..1@...-@ | ||
02cb0ec0:· | 02cb0ec0:·4041·0501·05a0·b0a0·0423·0501·0804·bf05··@A.......#...... | ||
02cb0ed0:·0 | 02cb0ed0:·0108·4092·0408·a32d·4d61·7463·685f·6661··..@....-Match_fa | ||
02cb0ee0:· | 02cb0ee0:·696c·7572·6552·0800·0023·0004·3a40·90a0··ilureR...#..:@.. | ||
02cb0ef0:· | 02cb0ef0:·c092·a004·39a0·0435·a004·3640·0205·f5e1··....9..5..6@.... | ||
02cb0f00:·0 | 02cb0f00:·0040·5c40·4041·0501·13a0·b0a0·0431·0501··.@\@@A.......1.. | ||
02cb0f10:· | 02cb0f10:·1604·cd05·0116·4092·040d·a329·4e6f·745f··......@....)Not_ | ||
02cb0f20:·6 | 02cb0f20:·666f·756e·6456·0800·0023·0004·4840·9040··foundV...#..H@.@ | ||
02cb0f30:·40 | 02cb0f30:·4041·0501·1ba0·b0a0·0439·0501·1e04·d505··@A.......9...... | ||
02cb0f40:·0 | 02cb0f40:·011e·4092·0407·a32d·4f75·745f·6f66·5f6d··..@....-Out_of_m | ||
02cb0f50:·6 | 02cb0f50:·656d·6f72·7953·0800·0023·0004·5040·9040··emoryS...#..P@.@ | ||
02cb0f60:·40 | 02cb0f60:·4041·0501·23a0·b0a0·0441·0501·2604·dd05··@A..#....A..&... | ||
02cb0f70:·0 | 02cb0f70:·0126·4092·0407·a32e·5374·6163·6b5f·6f76··.&@.....Stack_ov | ||
02cb0f80:· | 02cb0f80:·6572·666c·6f77·5a08·0000·2300·0458·4090··erflowZ...#..X@. | ||
02cb0f90:· | 02cb0f90:·4040·4105·012b·a0b0·a004·4905·012e·04e5··@@A..+....I..... | ||
02cb0fa0:· | 02cb0fa0:·0501·2e40·9204·07a3·2e53·7973·5f62·6c6f··...@.....Sys_blo | ||
02cb0fb0:·6 | 02cb0fb0:·636b·6564·5f69·6f5b·0800·0023·0004·6040··cked_io[...#..`@ | ||
02cb0fc0:· | 02cb0fc0:·9040·4041·0501·33a0·b0a0·0451·0501·3604··.@@A..3....Q..6. | ||
02cb0fd0:· | 02cb0fd0:·ed05·0136·4092·0407·a329·5379·735f·6572··...6@....)Sys_er | ||
02cb0fe0:· | 02cb0fe0:·726f·7257·0800·0023·0004·6840·90a0·0464··rorW...#..h@...d | ||
02cb0ff0:· | 02cb0ff0:·4040·4105·013c·a0b0·a004·5a05·013f·04f6··@@A..<....Z..?.. | ||
02cb1000:· | 02cb1000:·0501·3f40·9204·08a3·3a55·6e64·6566·696e··..?@....:Undefin | ||
02cb1010:·6 | 02cb1010:·6564·5f72·6563·7572·7369·7665·5f6d·6f64··ed_recursive_mod | ||
02cb1020:· | 02cb1020:·756c·655d·0800·0023·0004·7140·90a0·c092··ule]...#..q@.... | ||
02cb1030:·a0 | 02cb1030:·a004·70a0·046c·a004·6d40·0205·f5e1·0040··..p..l..m@.....@ | ||
02cb1040:· | 02cb1040:·6340·4041·0501·4aa0·b0a0·0468·0501·4d05··c@@A..J....h..M. | ||
02cb1050:·01 | 02cb1050:·0104·0501·4d40·9204·0d90·9226·5374·646c··....M@.....&Stdl | ||
02cb1060:· | 02cb1060:·6962·9226·4f70·7469·6f6e·b126·7374·6174··ib.&Option.&stat | ||
02cb1070:· | 02cb1070:·7573·0101·0e41·0800·003b·0040·40a2·a0e0··us...A...;.@@... | ||
02cb1080:· | 02cb1080:·a026·4c65·7474·6572·0101·0f90·4040·b0c0··.&Letter....@@.. | ||
02cb1090:· | 02cb1090:·2f63·6c69·622f·756e·6963·6f64·652e·6d6c··/clib/unicode.ml | ||
02cb10a0:· | 02cb10a0:·4d01·02be·0102·ccc0·0402·4d01·02be·0102··M.........M..... | ||
02cb10b0:· | 02cb10b0:·d240·40a1·0501·6241·a0e0·a029·4964·656e··.@@...bA...)Iden | ||
02cb10c0:· | 02cb10c0:·7450·6172·7401·0110·9040·40b0·c004·0a4d··tPart....@@....M | ||
02cb10d0:· | 02cb10d0:·0102·be01·02d3·c004·0b4d·0102·be01·02de··.........M...... | ||
02cb10e0:· | 02cb10e0:·4040·a105·016b·42a0·e0a0·2653·796d·626f··@@...kB...&Symbo | ||
02cb10f0:· | 02cb10f0:·6c01·0111·9040·40b0·c004·134d·0102·be01··l....@@....M.... | ||
02cb1100:·c004·1 | 02cb1100:·02df·c004·144d·0102·be01·02e7·4040·a105··.....M......@@.. | ||
02cb1110:· | 02cb1110:·0174·43a0·e0a0·2849·6465·6e74·5365·7001··.tC...(IdentSep. | ||
02cb1120:· | 02cb1120:·0112·9040·40b0·c004·1c4d·0102·be01·02e8··...@@....M...... | ||
02cb1130:·1 | 02cb1130:·c004·1d4d·0102·be01·02f2·4040·a105·017d··...M......@@...} | ||
02cb1140:· | 02cb1140:·44a0·e0a0·2953·6570·6172·6174·6f72·0101··D...)Separator.. | ||
02cb1150:· | 02cb1150:·1390·4040·b0c0·0425·4d01·02be·0102·f3c0··..@@...%M....... | ||
02cb1160:·4d01·02be·0102·f | 02cb1160:·0426·4d01·02be·0102·fe40·40a1·0501·8645··.&M......@@....E | ||
02cb1170:· | 02cb1170:·a0e0·a027·436f·6e74·726f·6c01·0114·9040··...'Control....@ | ||
02cb1180:· | 02cb1180:·40b0·c004·2e4d·0102·be01·02ff·c004·2f4d··@....M......../M | ||
Max diff block lines reached; 29400188/29881087 bytes (98.39%) of diff not shown. |
Offset 2963595, 216568 lines modified | Offset 2963595, 216568 lines modified | ||
02d388a0:·050f·fd05·0ffc·4040·4084·95a6·be00·0000··......@@@....... | 02d388a0:·050f·fd05·0ffc·4040·4084·95a6·be00·0000··......@@@....... | ||
02d388b0:·4f00·0000·0600·0000·2000·0000·16a0·2f2f··O.......·.....// | 02d388b0:·4f00·0000·0600·0000·2000·0000·16a0·2f2f··O.......·.....// | ||
02d388c0:·776f·726b·7370·6163·655f·726f·6f74·a034··workspace_root.4 | 02d388c0:·776f·726b·7370·6163·655f·726f·6f74·a034··workspace_root.4 | ||
02d388d0:·2f77·6f72·6b73·7061·6365·5f72·6f6f·742f··/workspace_root/ | 02d388d0:·2f77·6f72·6b73·7061·6365·5f72·6f6f·742f··/workspace_root/ | ||
02d388e0:·636c·6962·a009·242f·776f·726b·7370·6163··clib..$/workspac | 02d388e0:·636c·6962·a009·242f·776f·726b·7370·6163··clib..$/workspac | ||
02d388f0:·655f·726f·6f74·2f63·6c69·622f·2e63·6c69··e_root/clib/.cli | 02d388f0:·655f·726f·6f74·2f63·6c69·622f·2e63·6c69··e_root/clib/.cli | ||
02d38900:·622e·6f62·6a73·2f62·7974·6540·0007·6aa4··b.objs/byte@..j. | 02d38900:·622e·6f62·6a73·2f62·7974·6540·0007·6aa4··b.objs/byte@..j. | ||
02d38910:·8495·a6be·0000·9d8 | 02d38910:·8495·a6be·0000·9d80·0000·186e·0000·6ba8··...........n..k. | ||
02d38920:·0000·6a8 | 02d38920:·0000·6a81·a008·0000·2f00·0124·1027·556e··..j...../..$.'Un | ||
02d38930:·6963·6f64·65b0·c026·5f6e·6f6e·655f·4040··icode..&_none_@@ | 02d38930:·6963·6f64·65b0·c026·5f6e·6f6e·655f·4040··icode..&_none_@@ | ||
02d38940:·00ff·0402·4141·223f·3f41·40d0·4040·4040··....AA"??A@.@@@@ | 02d38940:·00ff·0402·4141·223f·3f41·40d0·4040·4040··....AA"??A@.@@@@ | ||
02d38950:·40a0·4040·4040·a008·0000·2f00·0123·a004··@.@@@@..../..#.. | 02d38950:·40a0·4040·4040·a008·0000·2f00·0123·a004··@.@@@@..../..#.. | ||
02d38960:·0904·0841·0405·41b0·b0b0·b0b0·b0b0·b0b0··...A..A......... | 02d38960:·0904·0841·0405·41b0·b0b0·b0b0·b0b0·b0b0··...A..A......... | Diff chunk too large, falling back to line-by-line diff (18636 lines added, 18636 lines removed) | |
02d38970:·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0·b2b0·b0b0··................ | 02d38970:·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0·b2b0·b0b0··................ | ||
02d38980:·b0b0·b0b1·aba | 02d38980:·b0b0·b0b1·aba7·b2b2·b2b2·b2b2·b2b2·b2b2··................ | ||
02d38990:·b2b2·b | 02d38990:·b2b2·b1b1·b1b1·b1b1·b1b1·b1b1·b1b1·b1b1··................ | ||
02d389a0:·b1b1·b1 | 02d389a0:·b1b1·b140·a325·6172·7261·7948·0800·003b··...@.%arrayH...; | ||
02d389b0:· | 02d389b0:·00a0·c090·4002·05f5·e100·404d·4041·0401··....@.....@M@A.. | ||
02d389c0:· | 02d389c0:·4140·a07f·40a0·4040·4040·044c·4040·4092··A@..@.@@@@.L@@@. | ||
02d389d0:· | 02d389d0:·0408·a324·626f·6f6c·4508·0000·3b00·4040··...$boolE...;.@@ | ||
02d389e0:· | 02d389e0:·a2a0·e0a3·2566·616c·7365·5e90·4040·0456··....%false^.@@.V | ||
02d389f0:· | 02d389f0:·4092·0403·a0e0·a324·7472·7565·5f90·4040··@......$true_.@@ | ||
02d38a00:· | 02d38a00:·045c·4092·0403·4040·4140·4040·4040·045d··.\@...@@A@@@@@.] | ||
02d38a10:· | 02d38a10:·4041·4092·0410·a324·6368·6172·4208·0000··@A@....$charB... | ||
02d38a20:· | 02d38a20:·3b00·4040·0418·4140·4040·4040·0461·4041··;.@@..A@@@@@.a@A | ||
02d38a30:·4 | 02d38a30:·4092·0403·a323·6578·6e47·0800·003b·0040··@....#exnG...;.@ | ||
02d38a40:·4040·4 | 02d38a40:·4040·4140·4040·4040·0465·4040·4092·0403··@@A@@@@@.e@@@... | ||
02d38a50:· | 02d38a50:·a335·6578·7465·6e73·696f·6e5f·636f·6e73··.5extension_cons | ||
02d38a60:·7 | 02d38a60:·7472·7563·746f·7250·0800·003b·0040·4004··tructorP...;.@@. | ||
02d38a70:·04 | 02d38a70:·2041·4040·4040·4004·6940·4040·9204·03a3···A@@@@@.i@@@.... | ||
02d38a80:· | 02d38a80:·2566·6c6f·6174·4408·0000·3b00·4040·0424··%floatD...;.@@.$ | ||
02d38a90:· | 02d38a90:·4140·4040·4040·046d·4040·4092·0403·a32a··A@@@@@.m@@@....* | ||
02d38aa0:· | 02d38aa0:·666c·6f61·7461·7272·6179·5108·0000·3b00··floatarrayQ...;. | ||
02d38ab0:· | 02d38ab0:·4040·0428·4140·4040·4040·0471·4040·4092··@@.(A@@@@@.q@@@. | ||
02d38ac0:· | 02d38ac0:·0403·a323·696e·7441·0800·003b·0040·4004··...#intA...;.@@. | ||
02d38ad0:· | 02d38ad0:·2c41·4040·4040·4004·7540·4140·9204·03a3··,A@@@@@.u@A@.... | ||
02d38ae0:· | 02d38ae0:·2569·6e74·3332·4c08·0000·3b00·4040·0430··%int32L...;.@@.0 | ||
02d38af0:· | 02d38af0:·4140·4040·4040·0479·4040·4092·0403·a325··A@@@@@.y@@@....% | ||
02d38b00:· | 02d38b00:·696e·7436·344d·0800·003b·0040·4004·3441··int64M...;.@@.4A | ||
02d38b10:·4 | 02d38b10:·4040·4040·4004·7d40·4040·9204·03a3·266c··@@@@@.}@@@....&l | ||
02d38b20:·6 | 02d38b20:·617a·795f·744e·0800·003b·00a0·c004·3a02··azy_tN...;....:. | ||
02d38b30:·0 | 02d38b30:·05f5·e100·404f·4041·043a·4140·a059·40a0··....@O@A.:A@.Y@. | ||
02d38b40:· | 02d38b40:·4040·4040·0485·4040·4092·0407·a324·6c69··@@@@..@@@....$li | ||
02d38b50:· | 02d38b50:·7374·4908·0000·3b00·a0c0·0442·0205·f5e1··stI...;....B.... | ||
02d38b60:· | 02d38b60:·0040·5040·41a2·a0e0·a322·5b5d·6190·4040··.@P@A...."[]a.@@ | ||
02d38b70:· | 02d38b70:·0491·4092·0403·a0e0·a322·3a3a·6290·a004··..@......"::b... | ||
02d38b80:·0 | 02d38b80:·0ea0·c0b3·9004·16a0·0413·4090·4002·05f5··..........@.@... | ||
02d38b90:· | 02d38b90:·e100·4051·4040·049e·4092·040a·4040·4140··..@Q@@..@...@@A@ | ||
02d38ba0:· | 02d38ba0:·a059·40a0·4040·4040·04a1·4040·4092·041b··.Y@.@@@@..@@@... | ||
02d38bb0:· | 02d38bb0:·a329·6e61·7469·7665·696e·744b·0800·003b··.)nativeintK...; | ||
02d38bc0:· | 02d38bc0:·0040·4004·5c41·4040·4040·4004·a540·4040··.@@.\A@@@@@..@@@ | ||
02d38bd0:· | 02d38bd0:·9204·03a3·266f·7074·696f·6e4a·0800·003b··....&optionJ...; | ||
02d38be0:· | 02d38be0:·00a0·c004·6202·05f5·e100·4053·4041·a2a0··....b.....@S@A.. | ||
02d38bf0:· | 02d38bf0:·e0a3·244e·6f6e·6563·9040·4004·b140·9204··..$Nonec.@@..@.. | ||
02d38c00:·0 | 02d38c00:·03a0·e0a3·2453·6f6d·6564·90a0·040e·4040··....$Somed....@@ | ||
02d38c10:· | 02d38c10:·04b8·4092·0404·4040·4140·a059·40a0·4040··..@...@@A@.Y@.@@ | ||
02d38c20:·4040· | 02d38c20:·4040·04bb·4040·4092·0415·a326·7374·7269··@@..@@@....&stri | ||
02d38c30:·6 | 02d38c30:·6e67·4f08·0000·3b00·4040·0476·4140·4040··ngO...;.@@.vA@@@ | ||
02d38c40:·4040· | 02d38c40:·4040·04bf·4040·4092·0403·a325·6279·7465··@@..@@@....%byte | ||
02d38c50:· | 02d38c50:·7343·0800·003b·0040·4004·7a41·4040·4040··sC...;.@@.zA@@@@ | ||
02d38c60:·40 | 02d38c60:·4004·c340·4040·9204·03a3·2475·6e69·7446··@..@@@....$unitF | ||
02d38c70:· | 02d38c70:·0800·003b·0040·40a2·a0e0·a322·2829·6090··...;.@@...."()`. | ||
02d38c80:· | 02d38c80:·4040·04cd·4092·0403·4040·4140·4040·4040··@@..@...@@A@@@@@ | ||
02d38c90:· | 02d38c90:·04ce·4041·4092·040a·a32e·4173·7365·7274··..@A@.....Assert | ||
02d38ca0:· | 02d38ca0:·5f66·6169·6c75·7265·5c08·0000·2300·9004··_failure\...#... | ||
02d38cb0:· | 02d38cb0:·7140·90a0·c092·a0c0·b390·041f·4090·4002··q@..........@.@. | ||
02d38cc0:·0 | 02d38cc0:·05f5·e100·404a·a0c0·b390·046e·4090·4002··....@J.....n@.@. | ||
02d38cd0:·0 | 02d38cd0:·05f5·e100·4040·a004·0540·0205·f5e1·0040··....@@...@.....@ | ||
02d38ce0:· | 02d38ce0:·5640·4041·04e2·a0b0·a03d·6f63·616d·6c2e··V@@A.....=ocaml. | ||
02d38cf0:· | 02d38cf0:·7761·726e·5f6f·6e5f·6c69·7465·7261·6c5f··warn_on_literal_ | ||
02d38d00:· | 02d38d00:·7061·7474·6572·6e04·e604·9d04·e640·9204··pattern......@.. | ||
02d38d10:· | 02d38d10:·17a3·3044·6976·6973·696f·6e5f·6279·5f7a··..0Division_by_z | ||
02d38d20:· | 02d38d20:·6572·6f59·0800·0023·0004·1840·9040·4041··eroY...#...@.@@A | ||
02d38d30:· | 02d38d30:·04eb·a0b0·a004·0904·ee04·a504·ee40·9204··.............@.. | ||
02d38d40:·0 | 02d38d40:·07a3·2b45·6e64·5f6f·665f·6669·6c65·5808··..+End_of_fileX. | ||
02d38d50:·0 | 02d38d50:·0000·2300·0420·4090·4040·4104·f3a0·b0a0··..#..·@.@@A..... | ||
02d38d60:· | 02d38d60:·0411·04f6·04ad·04f6·4092·0407·a327·4661··........@....'Fa | ||
02d38d70:·6 | 02d38d70:·696c·7572·6555·0800·0023·0004·2840·90a0··ilureU...#..(@.. | ||
02d38d80:· | 02d38d80:·0424·4040·4104·fca0·b0a0·041a·04ff·04b6··.$@@A........... | ||
02d38d90:·04 | 02d38d90:·04ff·4092·0408·a330·496e·7661·6c69·645f··..@....0Invalid_ | ||
02d38da0:·6 | 02d38da0:·6172·6775·6d65·6e74·5408·0000·2300·0431··argumentT...#..1 | ||
02d38db0:· | 02d38db0:·4090·a004·2d40·4041·0501·05a0·b0a0·0423··@...-@@A.......# | ||
02d38dc0:· | 02d38dc0:·0501·0804·bf05·0108·4092·0408·a32d·4d61··........@....-Ma | ||
02d38dd0:· | 02d38dd0:·7463·685f·6661·696c·7572·6552·0800·0023··tch_failureR...# | ||
02d38de0:·000 | 02d38de0:·0004·3a40·90a0·c092·a004·39a0·0435·a004··..:@......9..5.. | ||
02d38df0:·3 | 02d38df0:·3640·0205·f5e1·0040·5c40·4041·0501·13a0··6@.....@\@@A.... | ||
02d38e00:·0 | 02d38e00:·b0a0·0431·0501·1604·cd05·0116·4092·040d··...1........@... | ||
02d38e10:· | 02d38e10:·a329·4e6f·745f·666f·756e·6456·0800·0023··.)Not_foundV...# | ||
02d38e20:·000 | 02d38e20:·0004·4840·9040·4041·0501·1ba0·b0a0·0439··..H@.@@A.......9 | ||
02d38e30:· | 02d38e30:·0501·1e04·d505·011e·4092·0407·a32d·4f75··........@....-Ou | ||
02d38e40:· | 02d38e40:·745f·6f66·5f6d·656d·6f72·7953·0800·0023··t_of_memoryS...# | ||
02d38e50:·000 | 02d38e50:·0004·5040·9040·4041·0501·23a0·b0a0·0441··..P@.@@A..#....A | ||
02d38e60:· | 02d38e60:·0501·2604·dd05·0126·4092·0407·a32e·5374··..&....&@.....St | ||
02d38e70:· | 02d38e70:·6163·6b5f·6f76·6572·666c·6f77·5a08·0000··ack_overflowZ... | ||
02d38e80:· | 02d38e80:·2300·0458·4090·4040·4105·012b·a0b0·a004··#..X@.@@A..+.... | ||
02d38e90:· | 02d38e90:·4905·012e·04e5·0501·2e40·9204·07a3·2e53··I........@.....S | ||
02d38ea0:· | 02d38ea0:·7973·5f62·6c6f·636b·6564·5f69·6f5b·0800··ys_blocked_io[.. | ||
02d38eb0:· | 02d38eb0:·0023·0004·6040·9040·4041·0501·33a0·b0a0··.#..`@.@@A..3... | ||
02d38ec0:· | 02d38ec0:·0451·0501·3604·ed05·0136·4092·0407·a329··.Q..6....6@....) | ||
02d38ed0:· | 02d38ed0:·5379·735f·6572·726f·7257·0800·0023·0004··Sys_errorW...#.. | ||
02d38ee0:· | 02d38ee0:·6840·90a0·0464·4040·4105·013c·a0b0·a004··h@...d@@A..<.... | ||
02d38ef0:· | 02d38ef0:·5a05·013f·04f6·0501·3f40·9204·08a3·3a55··Z..?....?@....:U | ||
02d38f00:· | 02d38f00:·6e64·6566·696e·6564·5f72·6563·7572·7369··ndefined_recursi | ||
02d38f10:·7 | 02d38f10:·7665·5f6d·6f64·756c·655d·0800·0023·0004··ve_module]...#.. | ||
02d38f20:· | 02d38f20:·7140·90a0·c092·a004·70a0·046c·a004·6d40··q@......p..l..m@ | ||
02d38f30:·0 | 02d38f30:·0205·f5e1·0040·6340·4041·0501·4aa0·b0a0··.....@c@@A..J... | ||
02d38f40:· | 02d38f40:·0468·0501·4d05·0104·0501·4d40·9204·0d90··.h..M.....M@.... | ||
02d38f50:· | 02d38f50:·9226·5374·646c·6962·9226·4f70·7469·6f6e··.&Stdlib.&Option | ||
02d38f60:· | 02d38f60:·b126·7374·6174·7573·0101·0e41·0800·003b··.&status...A...; | ||
02d38f70:·0 | 02d38f70:·0040·40a2·a0e0·a026·4c65·7474·6572·0101··.@@....&Letter.. | ||
02d38f80:· | 02d38f80:·0f90·4040·b0c0·2f63·6c69·622f·756e·6963··..@@../clib/unic | ||
02d38f90:·6 | 02d38f90:·6f64·652e·6d6c·4d01·02be·0102·ccc0·0402··ode.mlM......... | ||
02d38fa0:·02be·0102· | 02d38fa0:·4d01·02be·0102·d240·40a1·0501·6241·a0e0··M......@@...bA.. | ||
02d38fb0:· | 02d38fb0:·a029·4964·656e·7450·6172·7401·0110·9040··.)IdentPart....@ | ||
02d38fc0:· | 02d38fc0:·40b0·c004·0a4d·0102·be01·02d3·c004·0b4d··@....M.........M | ||
02d38fd0:·be01·02d | 02d38fd0:·0102·be01·02de·4040·a105·016b·42a0·e0a0··......@@...kB... | ||
02d38fe0:· | 02d38fe0:·2653·796d·626f·6c01·0111·9040·40b0·c004··&Symbol....@@... | ||
02d38ff0:· | 02d38ff0:·134d·0102·be01·02df·c004·144d·0102·be01··.M.........M.... | ||
02d39000:· | 02d39000:·02e7·4040·a105·0174·43a0·e0a0·2849·6465··..@@...tC...(Ide | ||
02d39010:· | 02d39010:·6e74·5365·7001·0112·9040·40b0·c004·1c4d··ntSep....@@....M | ||
02d39020:· | 02d39020:·0102·be01·02e8·c004·1d4d·0102·be01·02f2··.........M...... | ||
02d39030:· | 02d39030:·4040·a105·017d·44a0·e0a0·2953·6570·6172··@@...}D...)Separ | ||
02d39040:· | 02d39040:·6174·6f72·0101·1390·4040·b0c0·0425·4d01··ator....@@...%M. | ||
02d39050:· | 02d39050:·02be·0102·f3c0·0426·4d01·02be·0102·fe40··.......&M......@ | ||
02d39060:·4 | 02d39060:·40a1·0501·8645·a0e0·a027·436f·6e74·726f··@....E...'Contro | ||
02d39070:· | 02d39070:·6c01·0114·9040·40b0·c004·2e4d·0102·be01··l....@@....M.... | ||
Max diff block lines reached; 27307982/29880961 bytes (91.39%) of diff not shown. |
Offset 3339204, 65969 lines modified | Offset 3339204, 65969 lines modified | ||
032f3c30:·4105·0ffe·4140·050f·fd05·0ffc·4040·4084··A...A@......@@@. | 032f3c30:·4105·0ffe·4140·050f·fd05·0ffc·4040·4084··A...A@......@@@. | ||
032f3c40:·95a6·be00·0000·4f00·0000·0600·0000·2000··......O.......·. | 032f3c40:·95a6·be00·0000·4f00·0000·0600·0000·2000··......O.......·. | ||
032f3c50:·0000·16a0·2f2f·776f·726b·7370·6163·655f··....//workspace_ | 032f3c50:·0000·16a0·2f2f·776f·726b·7370·6163·655f··....//workspace_ | ||
032f3c60:·726f·6f74·a034·2f77·6f72·6b73·7061·6365··root.4/workspace | 032f3c60:·726f·6f74·a034·2f77·6f72·6b73·7061·6365··root.4/workspace | ||
032f3c70:·5f72·6f6f·742f·636c·6962·a009·242f·776f··_root/clib..$/wo | 032f3c70:·5f72·6f6f·742f·636c·6962·a009·242f·776f··_root/clib..$/wo | ||
032f3c80:·726b·7370·6163·655f·726f·6f74·2f63·6c69··rkspace_root/cli | 032f3c80:·726b·7370·6163·655f·726f·6f74·2f63·6c69··rkspace_root/cli | ||
032f3c90:·622f·2e63·6c69·622e·6f62·6a73·2f62·7974··b/.clib.objs/byt | 032f3c90:·622f·2e63·6c69·622e·6f62·6a73·2f62·7974··b/.clib.objs/byt | ||
032f3ca0:·6540·002d·c6d4·8495·a6be·0000·9d8 | 032f3ca0:·6540·002d·c6d4·8495·a6be·0000·9d80·0000··e@.-............ | ||
032f3cb0:·18 | 032f3cb0:·186e·0000·6ba8·0000·6a81·a008·0000·2f00··.n..k...j...../. | ||
032f3cc0:·0124·1027·556e·6963·6f64·65b0·c026·5f6e··.$.'Unicode..&_n | 032f3cc0:·0124·1027·556e·6963·6f64·65b0·c026·5f6e··.$.'Unicode..&_n | ||
032f3cd0:·6f6e·655f·4040·00ff·0402·4141·223f·3f41··one_@@....AA"??A | 032f3cd0:·6f6e·655f·4040·00ff·0402·4141·223f·3f41··one_@@....AA"??A | ||
032f3ce0:·40d0·4040·4040·40a0·4040·4040·a008·0000··@.@@@@@.@@@@.... | 032f3ce0:·40d0·4040·4040·40a0·4040·4040·a008·0000··@.@@@@@.@@@@.... | ||
032f3cf0:·2f00·0123·a004·0904·0841·0405·41b0·b0b0··/..#.....A..A... | 032f3cf0:·2f00·0123·a004·0904·0841·0405·41b0·b0b0··/..#.....A..A... | Diff chunk too large, falling back to line-by-line diff (3477 lines added, 3477 lines removed) | |
032f3d00:·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0··................ | 032f3d00:·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0·b0b0··................ | ||
032f3d10:·b0b0·b2b0·b0b0·b0b0·b0b1·aba | 032f3d10:·b0b0·b2b0·b0b0·b0b0·b0b1·aba7·b2b2·b2b2··................ | ||
032f3d20:·b2b2·b2b2·b2b2·b2b2·b | 032f3d20:·b2b2·b2b2·b2b2·b2b2·b1b1·b1b1·b1b1·b1b1··................ | ||
032f3d30:·b1b1·b1b1·b1b1·b1b1·b1 | 032f3d30:·b1b1·b1b1·b1b1·b1b1·b140·a325·6172·7261··.........@.%arra | ||
032f3d40:· | 032f3d40:·7948·0800·003b·00a0·c090·4002·05f5·e100··yH...;....@..... | ||
032f3d50:· | 032f3d50:·404d·4041·0401·4140·a07f·40a0·4040·4040··@M@A..A@..@.@@@@ | ||
032f3d60:· | 032f3d60:·044c·4040·4092·0408·a324·626f·6f6c·4508··.L@@@....$boolE. | ||
032f3d70:·0 | 032f3d70:·0000·3b00·4040·a2a0·e0a3·2566·616c·7365··..;.@@....%false | ||
032f3d80:· | 032f3d80:·5e90·4040·0456·4092·0403·a0e0·a324·7472··^.@@.V@......$tr | ||
032f3d90:·7 | 032f3d90:·7565·5f90·4040·045c·4092·0403·4040·4140··ue_.@@.\@...@@A@ | ||
032f3da0:·4040·4040· | 032f3da0:·4040·4040·045d·4041·4092·0410·a324·6368··@@@@.]@A@....$ch | ||
032f3db0:·6 | 032f3db0:·6172·4208·0000·3b00·4040·0418·4140·4040··arB...;.@@..A@@@ | ||
032f3dc0:·4040· | 032f3dc0:·4040·0461·4041·4092·0403·a323·6578·6e47··@@.a@A@....#exnG | ||
032f3dd0:· | 032f3dd0:·0800·003b·0040·4040·4140·4040·4040·0465··...;.@@@A@@@@@.e | ||
032f3de0:· | 032f3de0:·4040·4092·0403·a335·6578·7465·6e73·696f··@@@....5extensio | ||
032f3df0:·6 | 032f3df0:·6e5f·636f·6e73·7472·7563·746f·7250·0800··n_constructorP.. | ||
032f3e00:·00 | 032f3e00:·003b·0040·4004·2041·4040·4040·4004·6940··.;.@@.·A@@@@@.i@ | ||
032f3e10:·4040· | 032f3e10:·4040·9204·03a3·2566·6c6f·6174·4408·0000··@@....%floatD... | ||
032f3e20:· | 032f3e20:·3b00·4040·0424·4140·4040·4040·046d·4040··;.@@.$A@@@@@.m@@ | ||
032f3e30:·40 | 032f3e30:·4092·0403·a32a·666c·6f61·7461·7272·6179··@....*floatarray | ||
032f3e40:· | 032f3e40:·5108·0000·3b00·4040·0428·4140·4040·4040··Q...;.@@.(A@@@@@ | ||
032f3e50:· | 032f3e50:·0471·4040·4092·0403·a323·696e·7441·0800··.q@@@....#intA.. | ||
032f3e60:·00 | 032f3e60:·003b·0040·4004·2c41·4040·4040·4004·7540··.;.@@.,A@@@@@.u@ | ||
032f3e70:·4 | 032f3e70:·4140·9204·03a3·2569·6e74·3332·4c08·0000··A@....%int32L... | ||
032f3e80:· | 032f3e80:·3b00·4040·0430·4140·4040·4040·0479·4040··;.@@.0A@@@@@.y@@ | ||
032f3e90:·40 | 032f3e90:·4092·0403·a325·696e·7436·344d·0800·003b··@....%int64M...; | ||
032f3ea0:· | 032f3ea0:·0040·4004·3441·4040·4040·4004·7d40·4040··.@@.4A@@@@@.}@@@ | ||
032f3eb0:· | 032f3eb0:·9204·03a3·266c·617a·795f·744e·0800·003b··....&lazy_tN...; | ||
032f3ec0:· | 032f3ec0:·00a0·c004·3a02·05f5·e100·404f·4041·043a··....:.....@O@A.: | ||
032f3ed0:· | 032f3ed0:·4140·a059·40a0·4040·4040·0485·4040·4092··A@.Y@.@@@@..@@@. | ||
032f3ee0:· | 032f3ee0:·0407·a324·6c69·7374·4908·0000·3b00·a0c0··...$listI...;... | ||
032f3ef0:· | 032f3ef0:·0442·0205·f5e1·0040·5040·41a2·a0e0·a322··.B.....@P@A...." | ||
032f3f00:· | 032f3f00:·5b5d·6190·4040·0491·4092·0403·a0e0·a322··[]a.@@..@......" | ||
032f3f10:· | 032f3f10:·3a3a·6290·a004·0ea0·c0b3·9004·16a0·0413··::b............. | ||
032f3f20:· | 032f3f20:·4090·4002·05f5·e100·4051·4040·049e·4092··@.@.....@Q@@..@. | ||
032f3f30:· | 032f3f30:·040a·4040·4140·a059·40a0·4040·4040·04a1··..@@A@.Y@.@@@@.. | ||
032f3f40:· | 032f3f40:·4040·4092·041b·a329·6e61·7469·7665·696e··@@@....)nativein | ||
032f3f50:· | 032f3f50:·744b·0800·003b·0040·4004·5c41·4040·4040··tK...;.@@.\A@@@@ | ||
032f3f60:·40 | 032f3f60:·4004·a540·4040·9204·03a3·266f·7074·696f··@..@@@....&optio | ||
032f3f70:·6 | 032f3f70:·6e4a·0800·003b·00a0·c004·6202·05f5·e100··nJ...;....b..... | ||
032f3f80:· | 032f3f80:·4053·4041·a2a0·e0a3·244e·6f6e·6563·9040··@S@A....$Nonec.@ | ||
032f3f90:·40 | 032f3f90:·4004·b140·9204·03a0·e0a3·2453·6f6d·6564··@..@......$Somed | ||
032f3fa0:· | 032f3fa0:·90a0·040e·4040·04b8·4092·0404·4040·4140··....@@..@...@@A@ | ||
032f3fb0:· | 032f3fb0:·a059·40a0·4040·4040·04bb·4040·4092·0415··.Y@.@@@@..@@@... | ||
032f3fc0:· | 032f3fc0:·a326·7374·7269·6e67·4f08·0000·3b00·4040··.&stringO...;.@@ | ||
032f3fd0:· | 032f3fd0:·0476·4140·4040·4040·04bf·4040·4092·0403··.vA@@@@@..@@@... | ||
032f3fe0:· | 032f3fe0:·a325·6279·7465·7343·0800·003b·0040·4004··.%bytesC...;.@@. | ||
032f3ff0:· | 032f3ff0:·7a41·4040·4040·4004·c340·4040·9204·03a3··zA@@@@@..@@@.... | ||
032f4000:· | 032f4000:·2475·6e69·7446·0800·003b·0040·40a2·a0e0··$unitF...;.@@... | ||
032f4010:· | 032f4010:·a322·2829·6090·4040·04cd·4092·0403·4040··."()`.@@..@...@@ | ||
032f4020:·4 | 032f4020:·4140·4040·4040·04ce·4041·4092·040a·a32e··A@@@@@..@A@..... | ||
032f4030:· | 032f4030:·4173·7365·7274·5f66·6169·6c75·7265·5c08··Assert_failure\. | ||
032f4040:·0 | 032f4040:·0000·2300·9004·7140·90a0·c092·a0c0·b390··..#...q@........ | ||
032f4050:· | 032f4050:·041f·4090·4002·05f5·e100·404a·a0c0·b390··..@.@.....@J.... | ||
032f4060:· | 032f4060:·046e·4090·4002·05f5·e100·4040·a004·0540··.n@.@.....@@...@ | ||
032f4070:· | 032f4070:·0205·f5e1·0040·5640·4041·04e2·a0b0·a03d··.....@V@@A.....= | ||
032f4080:· | 032f4080:·6f63·616d·6c2e·7761·726e·5f6f·6e5f·6c69··ocaml.warn_on_li | ||
032f4090:· | 032f4090:·7465·7261·6c5f·7061·7474·6572·6e04·e604··teral_pattern... | ||
032f40a0:· | 032f40a0:·9d04·e640·9204·17a3·3044·6976·6973·696f··...@....0Divisio | ||
032f40b0:·6 | 032f40b0:·6e5f·6279·5f7a·6572·6f59·0800·0023·0004··n_by_zeroY...#.. | ||
032f40c0:· | 032f40c0:·1840·9040·4041·04eb·a0b0·a004·0904·ee04··.@.@@A.......... | ||
032f40d0:· | 032f40d0:·a504·ee40·9204·07a3·2b45·6e64·5f6f·665f··...@....+End_of_ | ||
032f40e0:· | 032f40e0:·6669·6c65·5808·0000·2300·0420·4090·4040··fileX...#..·@.@@ | ||
032f40f0:·4 | 032f40f0:·4104·f3a0·b0a0·0411·04f6·04ad·04f6·4092··A.............@. | ||
032f4100:· | 032f4100:·0407·a327·4661·696c·7572·6555·0800·0023··...'FailureU...# | ||
032f4110:· | 032f4110:·0004·2840·90a0·0424·4040·4104·fca0·b0a0··..(@...$@@A..... | ||
032f4120:· | 032f4120:·041a·04ff·04b6·04ff·4092·0408·a330·496e··........@....0In | ||
032f4130:· | 032f4130:·7661·6c69·645f·6172·6775·6d65·6e74·5408··valid_argumentT. | ||
032f4140:· | 032f4140:·0000·2300·0431·4090·a004·2d40·4041·0501··..#..1@...-@@A.. | ||
032f4150:· | 032f4150:·05a0·b0a0·0423·0501·0804·bf05·0108·4092··.....#........@. | ||
032f4160:·0 | 032f4160:·0408·a32d·4d61·7463·685f·6661·696c·7572··...-Match_failur | ||
032f4170:·6 | 032f4170:·6552·0800·0023·0004·3a40·90a0·c092·a004··eR...#..:@...... | ||
032f4180:· | 032f4180:·39a0·0435·a004·3640·0205·f5e1·0040·5c40··9..5..6@.....@\@ | ||
032f4190:·40 | 032f4190:·4041·0501·13a0·b0a0·0431·0501·1604·cd05··@A.......1...... | ||
032f41a0:·0 | 032f41a0:·0116·4092·040d·a329·4e6f·745f·666f·756e··..@....)Not_foun | ||
032f41b0:·6 | 032f41b0:·6456·0800·0023·0004·4840·9040·4041·0501··dV...#..H@.@@A.. | ||
032f41c0:· | 032f41c0:·1ba0·b0a0·0439·0501·1e04·d505·011e·4092··.....9........@. | ||
032f41d0:· | 032f41d0:·0407·a32d·4f75·745f·6f66·5f6d·656d·6f72··...-Out_of_memor | ||
032f41e0:· | 032f41e0:·7953·0800·0023·0004·5040·9040·4041·0501··yS...#..P@.@@A.. | ||
032f41f0:· | 032f41f0:·23a0·b0a0·0441·0501·2604·dd05·0126·4092··#....A..&....&@. | ||
032f4200:· | 032f4200:·0407·a32e·5374·6163·6b5f·6f76·6572·666c··....Stack_overfl | ||
032f4210:· | 032f4210:·6f77·5a08·0000·2300·0458·4090·4040·4105··owZ...#..X@.@@A. | ||
032f4220:· | 032f4220:·012b·a0b0·a004·4905·012e·04e5·0501·2e40··.+....I........@ | ||
032f4230:· | 032f4230:·9204·07a3·2e53·7973·5f62·6c6f·636b·6564··.....Sys_blocked | ||
032f4240:· | 032f4240:·5f69·6f5b·0800·0023·0004·6040·9040·4041··_io[...#..`@.@@A | ||
032f4250:· | 032f4250:·0501·33a0·b0a0·0451·0501·3604·ed05·0136··..3....Q..6....6 | ||
032f4260:· | 032f4260:·4092·0407·a329·5379·735f·6572·726f·7257··@....)Sys_errorW | ||
032f4270:· | 032f4270:·0800·0023·0004·6840·90a0·0464·4040·4105··...#..h@...d@@A. | ||
032f4280:· | 032f4280:·013c·a0b0·a004·5a05·013f·04f6·0501·3f40··.<....Z..?....?@ | ||
032f4290:· | 032f4290:·9204·08a3·3a55·6e64·6566·696e·6564·5f72··....:Undefined_r | ||
032f42a0:·6 | 032f42a0:·6563·7572·7369·7665·5f6d·6f64·756c·655d··ecursive_module] | ||
032f42b0:· | 032f42b0:·0800·0023·0004·7140·90a0·c092·a004·70a0··...#..q@......p. | ||
032f42c0:·04 | 032f42c0:·046c·a004·6d40·0205·f5e1·0040·6340·4041··.l..m@.....@c@@A | ||
032f42d0:· | 032f42d0:·0501·4aa0·b0a0·0468·0501·4d05·0104·0501··..J....h..M..... | ||
032f42e0:· | 032f42e0:·4d40·9204·0d90·9226·5374·646c·6962·9226··M@.....&Stdlib.& | ||
032f42f0:· | 032f42f0:·4f70·7469·6f6e·b126·7374·6174·7573·0101··Option.&status.. | ||
032f4300:· | 032f4300:·0e41·0800·003b·0040·40a2·a0e0·a026·4c65··.A...;.@@....&Le | ||
032f4310:· | 032f4310:·7474·6572·0101·0f90·4040·b0c0·2f63·6c69··tter....@@../cli | ||
032f4320:· | 032f4320:·622f·756e·6963·6f64·652e·6d6c·4d01·02be··b/unicode.mlM... | ||
032f4330:· | 032f4330:·0102·ccc0·0402·4d01·02be·0102·d240·40a1··......M......@@. | ||
032f4340:·0 | 032f4340:·0501·6241·a0e0·a029·4964·656e·7450·6172··..bA...)IdentPar | ||
032f4350:· | 032f4350:·7401·0110·9040·40b0·c004·0a4d·0102·be01··t....@@....M.... | ||
032f4360:·c004·0 | 032f4360:·02d3·c004·0b4d·0102·be01·02de·4040·a105··.....M......@@.. | ||
032f4370:· | 032f4370:·016b·42a0·e0a0·2653·796d·626f·6c01·0111··.kB...&Symbol... | ||
032f4380:· | 032f4380:·9040·40b0·c004·134d·0102·be01·02df·c004··.@@....M........ | ||
032f4390:·0102·be01·02 | 032f4390:·144d·0102·be01·02e7·4040·a105·0174·43a0··.M......@@...tC. | ||
032f43a0:· | 032f43a0:·e0a0·2849·6465·6e74·5365·7001·0112·9040··..(IdentSep....@ | ||
032f43b0:· | 032f43b0:·40b0·c004·1c4d·0102·be01·02e8·c004·1d4d··@....M.........M | ||
032f43c0:· | 032f43c0:·0102·be01·02f2·4040·a105·017d·44a0·e0a0··......@@...}D... | ||
032f43d0:· | 032f43d0:·2953·6570·6172·6174·6f72·0101·1390·4040··)Separator....@@ | ||
032f43e0:· | 032f43e0:·b0c0·0425·4d01·02be·0102·f3c0·0426·4d01··...%M........&M. | ||
032f43f0:·0 | 032f43f0:·02be·0102·fe40·40a1·0501·8645·a0e0·a027··.....@@....E...' | ||
032f4400:· | 032f4400:·436f·6e74·726f·6c01·0114·9040·40b0·c004··Control....@@... | ||
Max diff block lines reached; 117490765/117971800 bytes (99.59%) of diff not shown. |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2024-11-20·09:37:25.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2024-11-20·09:37:25.000000·debian-binary |
2 | -rw-r--r--···0········0········0····701 | 2 | -rw-r--r--···0········0········0····70128·2024-11-20·09:37:25.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·6931 | 3 | -rw-r--r--···0········0········0·69313096·2024-11-20·09:37:25.000000·data.tar.xz |
Offset 108, 15 lines modified | Offset 108, 15 lines modified | ||
108 | -rw-r--r--···0·root·········(0)·root·········(0)·····7011·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/validate.ml | 108 | -rw-r--r--···0·root·········(0)·root·········(0)·····7011·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/validate.ml |
109 | -rw-r--r--···0·root·········(0)·root·········(0)······753·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/validate.mli | 109 | -rw-r--r--···0·root·········(0)·root·········(0)······753·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/validate.mli |
110 | -rw-r--r--···0·root·········(0)·root·········(0)····15282·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/values.ml | 110 | -rw-r--r--···0·root·········(0)·root·········(0)····15282·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/values.ml |
111 | -rw-r--r--···0·root·········(0)·root·········(0)·····1633·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/values.mli | 111 | -rw-r--r--···0·root·········(0)·root·········(0)·····1633·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/values.mli |
112 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/ | 112 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/ |
113 | -rw-r--r--···0·root·········(0)·root·········(0)····15046·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.cmi | 113 | -rw-r--r--···0·root·········(0)·root·········(0)····15046·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.cmi |
114 | -rw-r--r--···0·root·········(0)·root·········(0)···153109·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.cmt | 114 | -rw-r--r--···0·root·········(0)·root·········(0)···153109·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.cmt |
115 | -rw-r--r--···0·root·········(0)·root·········(0)····4737 | 115 | -rw-r--r--···0·root·········(0)·root·········(0)····47370·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.cmti |
116 | -rw-r--r--···0·root·········(0)·root·········(0)·····5386·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.cmx | 116 | -rw-r--r--···0·root·········(0)·root·········(0)·····5386·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.cmx |
117 | -rw-r--r--···0·root·········(0)·root·········(0)····22530·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.ml | 117 | -rw-r--r--···0·root·········(0)·root·········(0)····22530·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.ml |
118 | -rw-r--r--···0·root·········(0)·root·········(0)·····8277·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.mli | 118 | -rw-r--r--···0·root·········(0)·root·········(0)·····8277·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cArray.mli |
119 | -rw-r--r--···0·root·········(0)·root·········(0)······539·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cEphemeron.cmi | 119 | -rw-r--r--···0·root·········(0)·root·········(0)······539·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cEphemeron.cmi |
120 | -rw-r--r--···0·root·········(0)·root·········(0)····11423·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cEphemeron.cmt | 120 | -rw-r--r--···0·root·········(0)·root·········(0)····11423·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cEphemeron.cmt |
121 | -rw-r--r--···0·root·········(0)·root·········(0)·····3858·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cEphemeron.cmti | 121 | -rw-r--r--···0·root·········(0)·root·········(0)·····3858·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cEphemeron.cmti |
122 | -rw-r--r--···0·root·········(0)·root·········(0)·····2010·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cEphemeron.cmx | 122 | -rw-r--r--···0·root·········(0)·root·········(0)·····2010·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/cEphemeron.cmx |
Offset 275, 27 lines modified | Offset 275, 27 lines modified | ||
275 | -rw-r--r--···0·root·········(0)·root·········(0)····17162·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.cmt | 275 | -rw-r--r--···0·root·········(0)·root·········(0)····17162·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.cmt |
276 | -rw-r--r--···0·root·········(0)·root·········(0)·····4725·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.cmti | 276 | -rw-r--r--···0·root·········(0)·root·········(0)·····4725·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.cmti |
277 | -rw-r--r--···0·root·········(0)·root·········(0)·····1273·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.cmx | 277 | -rw-r--r--···0·root·········(0)·root·········(0)·····1273·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.cmx |
278 | -rw-r--r--···0·root·········(0)·root·········(0)·····2663·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.ml | 278 | -rw-r--r--···0·root·········(0)·root·········(0)·····2663·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.ml |
279 | -rw-r--r--···0·root·········(0)·root·········(0)·····1306·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.mli | 279 | -rw-r--r--···0·root·········(0)·root·········(0)·····1306·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/range.mli |
280 | -rw-r--r--···0·root·········(0)·root·········(0)·····1445·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.cmi | 280 | -rw-r--r--···0·root·········(0)·root·········(0)·····1445·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.cmi |
281 | -rw-r--r--···0·root·········(0)·root·········(0)····23410·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.cmt | 281 | -rw-r--r--···0·root·········(0)·root·········(0)····23410·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.cmt |
282 | -rw-r--r--···0·root·········(0)·root·········(0)·····83 | 282 | -rw-r--r--···0·root·········(0)·root·········(0)·····8369·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.cmti |
283 | -rw-r--r--···0·root·········(0)·root·········(0)·····1466·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.cmx | 283 | -rw-r--r--···0·root·········(0)·root·········(0)·····1466·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.cmx |
284 | -rw-r--r--···0·root·········(0)·root·········(0)·····3442·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.ml | 284 | -rw-r--r--···0·root·········(0)·root·········(0)·····3442·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.ml |
285 | -rw-r--r--···0·root·········(0)·root·········(0)·····2141·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.mli | 285 | -rw-r--r--···0·root·········(0)·root·········(0)·····2141·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/sList.mli |
286 | -rw-r--r--···0·root·········(0)·root·········(0)······437·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.cmi | 286 | -rw-r--r--···0·root·········(0)·root·········(0)······437·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.cmi |
287 | -rw-r--r--···0·root·········(0)·root·········(0)····19791·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.cmt | 287 | -rw-r--r--···0·root·········(0)·root·········(0)····19791·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.cmt |
288 | -rw-r--r--···0·root·········(0)·root·········(0)·····31 | 288 | -rw-r--r--···0·root·········(0)·root·········(0)·····3141·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.cmti |
289 | -rw-r--r--···0·root·········(0)·root·········(0)·····1002·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.cmx | 289 | -rw-r--r--···0·root·········(0)·root·········(0)·····1002·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.cmx |
290 | -rw-r--r--···0·root·········(0)·root·········(0)·····5268·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.ml | 290 | -rw-r--r--···0·root·········(0)·root·········(0)·····5268·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.ml |
291 | -rw-r--r--···0·root·········(0)·root·········(0)·····1379·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.mli | 291 | -rw-r--r--···0·root·········(0)·root·········(0)·····1379·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/segmenttree.mli |
292 | -rw-r--r--···0·root·········(0)·root·········(0)······647·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.cmi | 292 | -rw-r--r--···0·root·········(0)·root·········(0)······647·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.cmi |
293 | -rw-r--r--···0·root·········(0)·root·········(0)·····8955·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.cmt | 293 | -rw-r--r--···0·root·········(0)·root·········(0)·····8955·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.cmt |
294 | -rw-r--r--···0·root·········(0)·root·········(0)·····433 | 294 | -rw-r--r--···0·root·········(0)·root·········(0)·····4334·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.cmti |
295 | -rw-r--r--···0·root·········(0)·root·········(0)·····1104·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.cmx | 295 | -rw-r--r--···0·root·········(0)·root·········(0)·····1104·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.cmx |
296 | -rw-r--r--···0·root·········(0)·root·········(0)·····1658·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.ml | 296 | -rw-r--r--···0·root·········(0)·root·········(0)·····1658·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.ml |
297 | -rw-r--r--···0·root·········(0)·root·········(0)·····1421·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.mli | 297 | -rw-r--r--···0·root·········(0)·root·········(0)·····1421·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/store.mli |
298 | -rw-r--r--···0·root·········(0)·root·········(0)·····1374·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/terminal.cmi | 298 | -rw-r--r--···0·root·········(0)·root·········(0)·····1374·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/terminal.cmi |
299 | -rw-r--r--···0·root·········(0)·root·········(0)····42190·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/terminal.cmt | 299 | -rw-r--r--···0·root·········(0)·root·········(0)····42190·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/terminal.cmt |
300 | -rw-r--r--···0·root·········(0)·root·········(0)·····7169·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/terminal.cmti | 300 | -rw-r--r--···0·root·········(0)·root·········(0)·····7169·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/terminal.cmti |
301 | -rw-r--r--···0·root·········(0)·root·········(0)·····1676·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/terminal.cmx | 301 | -rw-r--r--···0·root·········(0)·root·········(0)·····1676·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/terminal.cmx |
Offset 304, 15 lines modified | Offset 304, 15 lines modified | ||
304 | -rw-r--r--···0·root·········(0)·root·········(0)·····1316·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.cmi | 304 | -rw-r--r--···0·root·········(0)·root·········(0)·····1316·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.cmi |
305 | -rw-r--r--···0·root·········(0)·root·········(0)····20112·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.cmt | 305 | -rw-r--r--···0·root·········(0)·root·········(0)····20112·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.cmt |
306 | -rw-r--r--···0·root·········(0)·root·········(0)·····7103·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.cmti | 306 | -rw-r--r--···0·root·········(0)·root·········(0)·····7103·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.cmti |
307 | -rw-r--r--···0·root·········(0)·root·········(0)······904·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.cmx | 307 | -rw-r--r--···0·root·········(0)·root·········(0)······904·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.cmx |
308 | -rw-r--r--···0·root·········(0)·root·········(0)·····2531·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.ml | 308 | -rw-r--r--···0·root·········(0)·root·········(0)·····2531·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.ml |
309 | -rw-r--r--···0·root·········(0)·root·········(0)·····2058·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.mli | 309 | -rw-r--r--···0·root·········(0)·root·········(0)·····2058·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/trie.mli |
310 | -rw-r--r--···0·root·········(0)·root·········(0)······907·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.cmi | 310 | -rw-r--r--···0·root·········(0)·root·········(0)······907·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.cmi |
311 | -rw-r--r--···0·root·········(0)·root·········(0)····827 | 311 | -rw-r--r--···0·root·········(0)·root·········(0)····82734·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.cmt |
312 | -rw-r--r--···0·root·········(0)·root·········(0)·····5909·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.cmti | 312 | -rw-r--r--···0·root·········(0)·root·········(0)·····5909·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.cmti |
313 | -rw-r--r--···0·root·········(0)·root·········(0)·····2185·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.cmx | 313 | -rw-r--r--···0·root·········(0)·root·········(0)·····2185·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.cmx |
314 | -rw-r--r--···0·root·········(0)·root·········(0)····15342·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.ml | 314 | -rw-r--r--···0·root·········(0)·root·········(0)····15342·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.ml |
315 | -rw-r--r--···0·root·········(0)·root·········(0)·····2647·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.mli | 315 | -rw-r--r--···0·root·········(0)·root·········(0)·····2647·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicode.mli |
316 | -rw-r--r--···0·root·········(0)·root·········(0)·····1081·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicodetable.cmi | 316 | -rw-r--r--···0·root·········(0)·root·········(0)·····1081·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicodetable.cmi |
317 | -rw-r--r--···0·root·········(0)·root·········(0)····62527·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicodetable.cmt | 317 | -rw-r--r--···0·root·········(0)·root·········(0)····62527·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicodetable.cmt |
318 | -rw-r--r--···0·root·········(0)·root·········(0)·····6523·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicodetable.cmti | 318 | -rw-r--r--···0·root·········(0)·root·········(0)·····6523·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/unicodetable.cmti |
Offset 935, 2027 lines modified | Offset 935, 2027 lines modified | ||
00003a60:·0ae7·d8f6·f4a0·a026·5374·646c·6962·9030··.......&Stdlib.0 | 00003a60:·0ae7·d8f6·f4a0·a026·5374·646c·6962·9030··.......&Stdlib.0 | ||
00003a70:·e8d9·af45·8547·c450·80a7·1b9a·6eae·d658··...E.G.P....n..X | 00003a70:·e8d9·af45·8547·c450·80a7·1b9a·6eae·d658··...E.G.P....n..X | ||
00003a80:·a0a0·3843·616d·6c69·6e74·6572·6e61·6c46··..8CamlinternalF | 00003a80:·a0a0·3843·616d·6c69·6e74·6572·6e61·6c46··..8CamlinternalF | ||
00003a90:·6f72·6d61·7442·6173·6963·7390·302e·f2d9··ormatBasics.0... | 00003a90:·6f72·6d61·7442·6173·6963·7390·302e·f2d9··ormatBasics.0... | ||
00003aa0:·1ced·81f6·c72f·852b·ab8a·b406·e040·8495··...../.+.....@.. | 00003aa0:·1ced·81f6·c72f·852b·ab8a·b406·e040·8495··...../.+.....@.. | ||
00003ab0:·a6be·0000·0004·0000·0002·0000·0005·0000··................ | 00003ab0:·a6be·0000·0004·0000·0002·0000·0005·0000··................ | Diff chunk too large, falling back to line-by-line diff (2020 lines added, 2020 lines removed) | |
00003ac0:·0005·a090·4040·4361·6d6c·3139·3939·5430··....@@Caml1999T0 | 00003ac0:·0005·a090·4040·4361·6d6c·3139·3939·5430··....@@Caml1999T0 | ||
00003ad0:·3334·8495·a6bd·1381·fc2 | 00003ad0:·3334·8495·a6bd·1381·fc25·85dc·1cfd·5d83··34.......%....]. | ||
00003ae0:·fb | 00003ae0:·fb4f·83f1·4028·b52f·fd00·58e5·f003·ee45··.O..@(./..X....E | ||
00003af0:· | 00003af0:·45a6·1248·1038·2ea9·31ea·d01f·3bd9·fbde··E..H.8..1...;... | ||
00003b00:· | 00003b00:·7be6·f663·422f·ae30·bbc8·60fa·e44b·4ccf··{..cB/.0..`..KL. | ||
00003b10:· | 00003b10:·f172·18e6·165b·c8bf·cabd·bcd1·05ab·bae1··.r...[.......... | ||
00003b20:·5 | 00003b20:·5f81·b016·1d37·8143·adb0·aa9c·c3ed·e350··_....7.C.......P | ||
00003b30:· | 00003b30:·0b1b·446d·f78e·6bed·8a31·5903·7412·0813··..Dm..k..1Y.t... | ||
00003b40:· | 00003b40:·f312·193a·e79c·4aa3·704a·32e2·dfbc·e740··...:..J.pJ2....@ | ||
00003b50:· | 00003b50:·2c23·3ed6·1f32·304f·7720·5eeb·3810·1c65··,#>..20Ow·^.8..e | ||
00003b60:· | 00003b60:·2f47·f985·f3ce·4715·86a5·55d8·47f5·0957··/G....G...U.G..W | ||
00003b70:· | 00003b70:·e79e·27e0·0e0d·bc8f·b73e·129f·4383·11df··..'......>..C... | ||
00003b80:· | 00003b80:·c703·2f49·bc09·8ade·6a17·f130·bc45·2235··../I....j..0.E"5 | ||
00003b90:· | 00003b90:·8b78·23f1·483c·1671·4a45·7440·8b4b·7c91··.x#.H<.qJEt@.K|. | ||
00003ba0:· | 00003ba0:·a883·2556·a192·c7c0·a1f7·8aa4·6cde·ef41··..%V........l..A | ||
00003bb0:· | 00003bb0:·4d96·44b1·c6b1·fb63·072a·c27b·366f·9ff7··M.D....c.*.{6o.. | ||
00003bc0:· | 00003bc0:·7cde·c76f·dee7·f8e0·0801·d6cd·a2c8·9037··|..o...........7 | ||
00003bd0:· | 00003bd0:·efd9·bc3f·7a28·f05e·04f7·86dc·c738·7864··...?z(.^.....8xd | ||
00003be0:· | 00003be0:·f056·a547·f979·945d·b8c0·6b5c·e6fd·2e92··.V.G.y.]..k\.... | ||
00003bf0:·3 | 00003bf0:·3394·89a7·c3b9·45e5·7d21·f75b·de5b·79bf··3.....E.}!.[.[y. | ||
00003c00:· | 00003c00:·c0fb·58b3·6560·9ee6·f25e·6b3a·b1a3·bc3c··..X.e`...^k:...< | ||
00003c10:· | 00003c10:·ca2c·5ce0·3586·9753·a7dc·540a·379f·7577··.,\.5..S..T.7.uw | ||
00003c20:· | 00003c20:·cc29·9db4·f9ec·e184·c251·675d·1556·46a5··.).......Qg].VF. | ||
00003c30:· | 00003c30:·d427·ecfc·f1a4·c255·eaf4·2902·2613·8671··.'.....U..).&..q | ||
00003c40:· | 00003c40:·72dd·7b5b·5100·9b52·39e4·8eb7·46f2·5ed0··r.{[Q..R9...F.^. | ||
00003c50:· | 00003c50:·4f27·f0be·6fd1·8fce·c9fb·15cd·3926·ef9d··O'..o.......9&.. | ||
00003c60:· | 00003c60:·3f9c·49de·0779·91bc·3f22·6704·2c59·7dff··?.I..y..?"g.,Y}. | ||
00003c70:· | 00003c70:·a319·85ad·b8b0·dede·3799·82dc·6f19·ba89··........7...o... | ||
00003c80:· | 00003c80:·696b·29a3·7587·00d3·8706·87a2·838d·e07b··ik).u..........{ | ||
00003c90:· | 00003c90:·41ae·26f1·7ec4·fbb8·90fb·b7f7·7b57·addd··A.&.~.......{W.. | ||
00003ca0:· | 00003ca0:·a46a·f499·65dd·3b80·d6bd·3ead·9180·4785··.j..e.;...>...G. | ||
00003cb0:· | 00003cb0:·dc0b·72af·8d8e·6060·6be3·9e4d·05ee·29c8··..r...``k..M..). | ||
00003cc0:· | 00003cc0:·73bf·adee·9bb8·8fb7·26c0·bd11·f7f1·d63d··s.......&......= | ||
00003cd0:·dc7 | 00003cd0:·dcf3·701f·6f27·573d·750f·e7de·86fb·15ee··..p.o'W=u....... | ||
00003ce0:· | 00003ce0:·55b8·d7ee·3db8·47ba·f772·1fe5·1eca·fdcf··U...=.G..r...... | ||
00003cf0:· | 00003cf0:·7d76·9f42·7b14·dad7·69ef·41fb·6b7b·34ed··}v.B{...i.A.k{4. | ||
00003d00:· | 00003d00:·bbb4·e7d2·9e49·fb25·eda9·eda7·eddf·dad7··.....I.%........ | ||
00003d10:· | 00003d10:·681f·a23d·88f6·62ed·c3da·63b5·87db·33b5··h..=..b...c...3. | ||
00003d20:· | 00003d20:·5f6a·7f68·7843·c3e7·191e·cff0·190c·bf66··_j.hxC.........f | ||
00003d30:· | 00003d30:·f830·c383·195e·81e1·a70c·1f64·7820·c3e3··.0...^.....dx·.. | ||
00003d40:· | 00003d40:·18fe·39fc·89e1·4d0c·af36·bc86·e1b5·86cf··..9...M..6...... | ||
00003d50:· | 00003d50:·1ade·1dbe·1d5e·51d2·5f48·fa09·4937·21e9··.....^Q._H..I7!. | ||
00003d60:· | 00003d60:·7292·de97·7433·49bf·20e9·1224·3d82·a4e7··r...t3I.·..$=... | ||
00003d70:· | 00003d70:·257d·279d·48d2·8724·7d2e·e9ce·a4cf·48ba··%}'.H..$}.....H. | ||
00003d80:·8 | 00003d80:·8ca4·eba4·7b48·fa32·e960·4997·4a7a·54d2··....{H.2.`I.JzT. | ||
00003d90:· | 00003d90:·5d10·be05·e1f9·081f·82f0·6f84·df40·f80b··].........o..@.. | ||
00003da0:· | 00003da0:·842f·23fc·17e1·2110·9e8a·f00a·089f·4478··./#...!.......Dx | ||
00003db0:· | 00003db0:·24c2·0b11·3e88·f053·e175·08ef·42f0·60e2··$...>..S.u..B.`. | ||
00003dc0:· | 00003dc0:·3435·8259·b73d·5570·6fb5·5ea5·5c99·5856··45.Y.=Upo.^.\.XV | ||
00003dd0:· | 00003dd0:·307d·3a11·0bbf·1ce8·9757·b8c0·6bec·c7fd··0}:......W..k... | ||
00003de0:· | 00003de0:·2692·b373·cabc·1b64·8db7·3614·bc1e·f771··&..s...d..6....q | ||
00003df0:· | 00003df0:·0bc1·fb89·13bc·7e13·7c06·c177·f0a0·d9d4··......~.|..w.... | ||
00003e00:· | 00003e00:·04bf·77fd·10cc·c15b·0042·cc90·9c23·f012··..w....[.B...#.. | ||
00003e10:· | 00003e10:·bce6·123c·96e0·4304·83c1·e0f7·ae24·1828··...<..C......$.( | ||
00003e20:· | 00003e20:·2145·48ce·5625·c16b·24c1·1b09·1e00·13c1··!EH.V%.k$....... | ||
00003e30:· | 00003e30:·a000·c1ef·5d53·0851·110c·0683·4172·ce11··....]S.Q....Ar.. | ||
00003e40:· | 00003e40:·a40b·5ecb·050f·173c·8b60·f02d·f8bd·eb8b··..^....<.`.-.... | ||
00003e50:·0 | 00003e50:·0060·0483·df03·9233·8a60·f05a·44f0·1f82··.`.....3.`.ZD... | ||
00003e60:· | 00003e60:·8f21·4307·bf77·9d11·fc91·335a·3078·1d16··.!C..w....3Z0x.. | ||
00003e70:· | 00003e70:·fc57·f001·0469·0483·dfbb·ba05·b382·3e72··.W...i........>r | ||
00003e80:· | 00003e80:·ae0a·7e7f·e891·f353·f060·e86c·5d0c·5e2b··..~....S.`.l].^+ | ||
00003e90:· | 00003e90:·059f·14bc·14cb·b2c1·e0ad·7ec1·b3df·2db0··..........~...-. | ||
00003ea0:· | 00003ea0:·3c72·5e81·65af·4f60·4f02·7b98·c562·8f6c··<r^.e.O`O.{..b.l | ||
00003eb0:· | 00003eb0:·561e·f6fb·0efb·1d39·cfe1·80bd·dea0·0dfb··V......9........ | ||
00003ec0:· | 00003ec0:·bd2b·178b·86fd·19bc·9c29·08c3·5e4b·c05e··.+.......)..^K.^ | ||
00003ed0:· | 00003ed0:·77b1·5e2c·924d·b2ec·cec2·5eef·8b55·80ad··w.^,.M....^..U.. | ||
00003ee0:· | 00003ee0:·e6fc·8465·af11·60af·95ec·11f6·07b0·5fb2··...e..`......._. | ||
00003ef0:·3 | 00003ef0:·3ed8·ef51·73a6·4ad9·6b28·7b1d·26c6·e260··>..Qs.J.k({.&..` | ||
00003f00:· | 00003f00:·bf77·256b·b2df·cc32·9665·bf77·3d93·c1b2··.w%k...2.e.w=... | ||
00003f10:· | 00003f10:·60cf·77ed·9be6·8c82·65af·45b0·d768·6919··`.w.....e.E..hi. | ||
00003f20:· | 00003f20:·d8ef·5d35·b01e·d8ef·b12c·fbbd·ebd8·18ab··..]5.....,...... | ||
00003f30:· | 00003f30:·23e7·2f96·bdd6·62af·39b0·2cfb·bdab·66ab··#./...b.9.,...f. | ||
00003f40:· | 00003f40:·58b6·0f6d·4fec·f7ae·4496·c8de·e52c·64cf··X..mO...D....,d. | ||
00003f50:· | 00003f50:·5eff·d86b·1021·5896·fdde·7504·fb02·0996··^..k.!X...u..... | ||
00003f60:· | 00003f60:·3584·f43d·69ce·80fc·205d·f341·ba36·c19e··5..=i...·].A.6.. | ||
00003f70:· | 00003f70:·6051·b029·583c·48df·bbaa·e85b·c106·e97b··`Q.)X<H....[...{ | ||
00003f80:· | 00003f80:·4d34·6734·6590·aec7·205d·b360·5bb0·2fd8··M4g4e...·].`[./. | ||
00003f90:· | 00003f90:·095c·b012·201d·061b·83d5·82f4·bdab·207d··.\..·.........·} | ||
00003fa0:· | 00003fa0:·cf2e·e728·4e90·ae99·205d·cb98·1100·0248··...(N...·].....H | ||
00003fb0:· | 00003fb0:·dfbb·d260·0d70·636b·b06f·2c10·3c1b·3a90··...`.pck.o,.<.:. | ||
00003fc0:· | 00003fc0:·be07·cdf9·8974·a4eb·38a4·6bb8·1b4c·38a4··.....t..8.k..L8. | ||
00003fd0:· | 00003fd0:·ef5d·e358·1a4d·568e·5551·2247·ce6d·1e90··.].X.MV.UQ"G.m.. | ||
00003fe0:·e | 00003fe0:·ae37·205d·3be7·e8ea·3420·7def·bacf·90be··.7·];...4·}..... | ||
00003ff0:· | 00003ff0:·777d·b262·3872·24b5·70e4·6c85·2485·74fd··w}.b8r$.p.l.$.t. | ||
00004000:· | 00004000:·8474·0d65·5926·a4ef·5da5·ac8b·74a7·03e9··.t.eY&..]...t... | ||
00004010:·7 | 00004010:·7bd7·fccc·f985·167e·5de8·d753·6a95·d0bf··{......~]..Sj... | ||
00004020:· | 00004020:·77c5·6303·9150·9773·9f3d·bfce·f3eb·1d3c··w.c..P.s.=.....< | ||
00004030:· | 00004030:·7adc·61e9·6cf0·d3e5·cc26·cdaf·afbf·fe01··z.a.l....&...... | ||
00004040:· | 00004040:·2488·9033·ffde·7508·4be6·27c2·8629·22c0··$..3..u.K.'..)". | ||
00004050:· | 00004050:·0010·fc7b·d72d·bfe6·bbee·b99c·1790·f26b··...{.-.........k | ||
00004060:· | 00004060:·28bf·36c2·1660·8093·7fef·7a00·abe4·3fc2··(.6..`....z...?. | ||
00004070:· | 00004070:·1680·2409·0244·febd·ab8f·53ef·ccd9·eeff··..$..D....S..... | ||
00004080:· | 00004080:·f5dc·af95·2c61·22f7·ef5d·9bb0·7056·2701··....,a"..]..pV'. | ||
00004090:· | 00004090:·b890·cb19·4589·5f8b·f8f5·9304·40fc·7bd7··....E._.....@.{. | ||
000040a0:· | 000040a0:·28ac·0729·53d2·febd·eb58·33e7·af77·fd5a··(..)S....X3..w.Z | ||
000040b0:· | 000040b0:·ebd7·0a50·61ab·b058·ffde·9501·96ea·6f80··...Pa..X......o. | ||
000040c0:· | 000040c0:·35de·0a7b·85fd·853f·7a5c·ce8b·1001·af0f··5..{...?z\...... | ||
000040d0:·0 | 000040d0:·01af·378b·45af·10f0·7bd7·2cac·20e0·b5b0··..7.E...{.,.·... | ||
000040e0:· | 000040e0:·256c·6159·16f8·bdab·9e3a·cc9c·fbde·00af··%laY.....:...... | ||
000040f0:· | 000040f0:·3500·5e3b·c07a·611f·6021·60d5·00cf·46c0··5.^;.za.`!`...F. | ||
00004100:· | 00004100:·5270·23e7·1802·e0b5·03c0·6b09·d898·05c3··Rp#.......k..... | ||
00004110:· | 00004110:·8661·f7d8·2dc0·8b61·1b00·7e02·0a2a·6081··.a..-..a..~..*`. | ||
00004120:· | 00004120:·4700·78b8·9c89·0001·5ef7·005e·8f61·c9b0··G.x.....^..^.a.. | ||
00004130:·1 | 00004130:·16b0·6558·3ce0·2f60·cdb0·399c·3672·8603··..eX<./`..9.6r.. | ||
00004140:· | 00004140:·1e78·3d03·787d·06cd·3506·f07b·573e·9605··.x=.x}..5..{W>.. | ||
00004150:·f0 | 00004150:·f018·b069·d812·6a42·00bf·777d·cb99·0350··...i..jB..w}...P | ||
00004160:· | 00004160:·03f0·1a0d·78bd·86cd·8065·c396·01bf·776d··....x....e....wm | ||
00004170:· | 00004170:·c32e·3560·ddb0·5cc0·1f37·b0aa·91b3·1310··..5`..\..7...... | ||
00004180:· | 00004180:·784d·045e·bf61·e1b0·1cb0·c0ef·5de3·b041··xM.^.a......]..A | ||
00004190:· | 00004190:·e0fb·5823·e0dd·724e·74e8·e89a·85a3·6b39··..X#..rNt.....k9 | ||
000041a0:· | 000041a0:·ec1c·960e·3be8·e87b·d70e·5814·3c38·7a08··....;..{..X.<8z. | ||
000041b0:· | 000041b0:·47d7·7c34·72c6·7374·743d·e7e8·ba8e·9d3b··G.|4r.stt=.....; | ||
000041c0:· | 000041c0:·7d47·dfbb·e261·3738·3aab·670d·9a3d·658e··}G...a78:.g..=e. | ||
000041d0:· | 000041d0:·be77·0d20·e73d·098e·ae21·38ba·0681·e5e3··.w.·.=...!8..... | ||
000041e0:· | 000041e0:·e5e8·7bd7·3eac·1611·fc5c·39fa·de95·cad1··..{.>....\9..... | ||
000041f0:· | 000041f0:·35df·8c9c·a134·39ba·5672·743d·028b·e4e8··5....49.Vrt=.... | ||
00004200:·7 | 00004200:·7bd7·3f6c·1119·39ff·d871·744d·3dba·0654··{.?l..9..qtM=..T | ||
00004210:· | 00004210:·c2dd·d1f7·ae26·b074·4731·7266·1efd·e89a··.....&.tG1rf.... | ||
00004220:· | 00004220:·c6d1·f509·2ccb·b2ec·8ca3·ef5d·07bd·5821··....,......]..X! | ||
00004230:· | 00004230:·05a1·1147·673b·7a21·160d·46ce·62ca·a36b··...Gg;z!..F.b..k | ||
Max diff block lines reached; -1/279259 bytes (-0.00%) of diff not shown. |
Offset 85, 440 lines modified | Offset 85, 440 lines modified | ||
00000540:·2c63·443b·a0a0·2653·7464·6c69·6290·30e8··,cD;..&Stdlib.0. | 00000540:·2c63·443b·a0a0·2653·7464·6c69·6290·30e8··,cD;..&Stdlib.0. | ||
00000550:·d9af·4585·47c4·5080·a71b·9a6e·aed6·58a0··..E.G.P....n..X. | 00000550:·d9af·4585·47c4·5080·a71b·9a6e·aed6·58a0··..E.G.P....n..X. | ||
00000560:·a038·4361·6d6c·696e·7465·726e·616c·466f··.8CamlinternalFo | 00000560:·a038·4361·6d6c·696e·7465·726e·616c·466f··.8CamlinternalFo | ||
00000570:·726d·6174·4261·7369·6373·9030·2ef2·d91c··rmatBasics.0.... | 00000570:·726d·6174·4261·7369·6373·9030·2ef2·d91c··rmatBasics.0.... | ||
00000580:·ed81·f6c7·2f85·2bab·8ab4·06e0·4084·95a6··..../.+.....@... | 00000580:·ed81·f6c7·2f85·2bab·8ab4·06e0·4084·95a6··..../.+.....@... | ||
00000590:·be00·0000·0400·0000·0200·0000·0500·0000··................ | 00000590:·be00·0000·0400·0000·0200·0000·0500·0000··................ | Diff chunk too large, falling back to line-by-line diff (433 lines added, 433 lines removed) | |
000005a0:·05a0·9040·4043·616d·6c31·3939·3954·3033··...@@Caml1999T03 | 000005a0:·05a0·9040·4043·616d·6c31·3939·3954·3033··...@@Caml1999T03 | ||
000005b0:·3484·95a6·bd10·b57 | 000005b0:·3484·95a6·bd10·b570·8184·4d97·3dde·47db··4......p..M.=.G. | ||
000005c0:· | 000005c0:·6d28·b52f·fd00·583d·d700·7a4f·3547·5220··m(./..X=..zO5GR· | ||
000005d0:· | 000005d0:·4662·b4e9·5535·e8ee·607e·fe5d·32e7·ef9a··Fb..U5..`~.]2... | ||
000005e0:· | 000005e0:·6f57·55d5·cae7·778f·0cf2·3013·63f8·c192··oWU...w...0.c... | ||
000005f0:· | 000005f0:·98ce·a3c6·ebba·bb86·838e·506c·ac90·9473··..........Pl...s | ||
00000600:· | 00000600:·51df·30ff·0238·13d3·2982·942e·037f·cc1e··Q.0..8..)....... | ||
00000610:· | 00000610:·5931·45d0·851a·bc34·7f31·d64d·482e·e96d··Y1E....4.1.MH..m | ||
00000620:· | 00000620:·0361·0451·0466·04de·b301·80a0·6a3c·bb7e··.a.Q.f......j<.~ | ||
00000630:· | 00000630:·33c2·6741·f86c·97d8·d5e5·2fde·3103·b524··3.gA.l..../.1..$ | ||
00000640:· | 00000640:·24de·8378·7fe2·25f1·9ebb·89bd·5d0d·c57b··$..x..%.....]..{ | ||
00000650:· | 00000650:·f707·e767·cfcf·7221·cb2a·2da4·103d·f619··...g..r!.*-..=.. | ||
00000660:· | 00000660:·f792·f730·5dc4·fbae·7bc9·bb04·de73·10ef··...0]...{....s.. | ||
00000670:· | 00000670:·7c7e·78c7·a477·3dba·ee36·63ae·b1cf·e1b6··|~x..w=..6c..... | ||
00000680:· | 00000680:·9914·80c9·fbba·eae2·e8ac·6ebb·b6d1·3e1b··..........n...>. | ||
00000690:· | 00000690:·e6b3·5b62·5797·6d78·c733·ac3d·a35e·5995··..[bW.mx.3.=.^Y. | ||
000006a0:·4 | 000006a0:·4ad8·8a35·67d9·671b·b71b·cb00·f637·d8e3··J..5g.g......7.. | ||
000006b0:· | 000006b0:·8c6d·d0b2·07bd·1862·3468·a821·8316·f68e··.m.....b4h.!.... | ||
000006c0:· | 000006c0:·72f6·dd33·1238·4da4·15c3·b0b6·cebe·0fb8··r..3.8M......... | ||
000006d0:· | 000006d0:·d81e·bf20·a7e7·d847·619f·6ff6·5c8f·c088··...·...Ga.o.\... | ||
000006e0:· | 000006e0:·d373·ec5f·9faa·63c5·27d8·ebd9·e1ee·2ebc··.s._..c.'....... | ||
000006f0:· | 000006f0:·2d6e·f625·d8af·cd82·7d37·c0b3·8204·7b1c··-n.%....}7....{. | ||
00000700:· | 00000700:·8076·63df·bdb6·08f6·1d82·fd02·3cb0·c71d··.vc.........<... | ||
00000710:· | 00000710:·d8e3·b5b7·b0ec·bb1b·cade·ae1d·76b0·effe··............v... | ||
00000720:·7 | 00000720:·72e3·b337·3e2b·15bb·616c·2879·a2a6·4a53··r..7>+..al(y..JS | ||
00000730:· | 00000730:·cf32·2d71·5725·8e54·cfd2·ac99·365b·499e··.2-qW%.T....6[I. | ||
00000740:· | 00000740:·3432·35c9·302a·49e3·f185·4c32·d650·2a1f··425.0*I...L2.P*. | ||
00000750:· | 00000750:·38e3·d6b2·f7ea·d0e9·ba5d·17b0·56bd·61d1··8........]..V.a. | ||
00000760:· | 00000760:·6c65·131e·d810·6662·3f46·9e65·e459·2c2f··le....fb?F.e.Y,/ | ||
00000770:· | 00000770:·dcb6·20c6·7ed5·a3c3·736e·1bca·b48f·a3c3··..·.~...sn...... | ||
00000780:· | 00000780:·ab02·d6a6·270a·9584·0d61·d922·459e·55e4··....'....a."E.U. | ||
00000790:·d9 | 00000790:·d92b·6b02·d6de·cc2a·48d8·b46f·59e3·6e41··.+k....*H..oY.nA | ||
000007a0:·d | 000007a0:·8164·ddf6·7675·77db·f8ac·f7d9·2cb1·ab03··.d..vuw.....,... | ||
000007b0:· | 000007b0:·d4dd·4c70·43c1·ddbd·ca5a·cead·18fb·072e··..LpC....Z...... | ||
000007c0:· | 000007c0:·9e5e·e1b6·ca7e·5d75·341d·eb0e·e326·34c8··.^...~]u4....&4. | ||
000007d0:· | 000007d0:·b380·3c6b·2576·7579·668f·6532·ac55·75e0··..<k%vuyf.e2.Uu. | ||
000007e0:· | 000007e0:·79fd·78bd·442c·ebca·988b·bd8d·cbc5·beb9··y.x.D,.......... | ||
000007f0:· | 000007f0:·d877·ffd1·c1b3·3a78·964a·ecea·32b9·2685··.w....:x.J..2.&. | ||
00000800:· | 00000800:·228b·a421·87c0·ee78·695c·59ab·6714·12d7··"..!...xi\Y.g... | ||
00000810:· | 00000810:·9479·a352·a596·b856·23b5·30e5·0d8b·0ab5··.y.R...V#.0..... | ||
00000820:·9 | 00000820:·9a95·5966·8ac3·aa95·b819·5579·9ab6·92ea··..Yf......Uy.... | ||
00000830:· | 00000830:·dc72·24e7·648f·010e·c5e1·4a1f·b9a5·2fa8··.r$.d.....J.../. | ||
00000840:· | 00000840:·39a3·2acd·d4d0·dbd4·2c3d·23e5·948b·2003··9.*.....,=#...·. | ||
00000850:· | 00000850:·2df4·66c3·9559·e8cc·4c8d·a64a·39e5·1c90··-.f..Y..L..J9... | ||
00000860:· | 00000860:·3a83·43ad·4aab·990d·9da9·5856·9a72·32ec··:.C.J.....XV.r2. | ||
00000870:· | 00000870:·b950·9d58·a86d·a6a2·557c·e45e·f660·005d··.P.X.m..U|.^.`.] | ||
00000880:· | 00000880:·ece7·622e·5d96·aa9a·4aa3·d294·d342·8b7a··..b.]...J....B.z | ||
00000890:· | 00000890:·9656·5864·70b4·1995·79a3·659d·5141·728c··.VXdp...y.e.QAr. | ||
000008a0:· | 000008a0:·fc5c·bc36·1177·cb13·1e39·29ba·9437·d336··.\.6.w...9)..7.6 | ||
000008b0:· | 000008b0:·b3a1·33aa·d3c9·8f5c·2141·776d·22ae·1714··..3....\!Awm"... | ||
000008c0:· | 000008c0:·57a2·999d·9932·b3cc·2641·7242·2cb9·b07b··W....2..&ArB,..{ | ||
000008d0:·e | 000008d0:·e24a·55a5·5dcd·6e34·5ca9·9ab7·d989·ce4e··.JU.].n4\......N | ||
000008e0:· | 000008e0:·1c4d·4b09·ce18·7665·dd5c·005d·dc55·51f2··.MK...ve.\.].UQ. | ||
000008f0:· | 000008f0:·70e9·f0da·5dee·fa42·7abd·4430·250e·eb66··p...]..Bz.D0%..f | ||
00000900:· | 00000900:·d26c·3315·57a6·a9cc·2957·803e·637c·f4d8··.l3.W...)W.>c|.. | ||
00000910:· | 00000910:·f144·354f·aca4·5c0e·5069·a99e·9952·cae9··.D5O..\.Pi...R.. | ||
00000920:· | 00000920:·b142·e634·716a·ba94·6b61·067c·f14a·555a··.B.4qj..ka.|.JUZ | ||
00000930:· | 00000930:·a152·4939·4318·865a·79a2·5592·a4a2·9ca8··.RI9C..Zy.U..... | ||
00000940:· | 00000940:·a95e·a14b·3939·52d4·d32c·b34c·9576·fac8··.^.K99R..,.L.v.. | ||
00000950:·a | 00000950:·ade9·0ec0·e5c2·d26d·2e56·7357·3d3a·dce6··.......m.VsW=:.. | ||
00000960:· | 00000960:·e275·eac8·911d·3943·d80d·2dcc·971d·3943··.u....9C..-...9C | ||
00000970:· | 00000970:·988e·acaf·44a9·a979·4bca·6179·b1b2·e4ea··....D..yK.ay.... | ||
00000980:· | 00000980:·7015·7576·060d·edb6·94d3·800a·9109·aca6··p.uv............ | ||
00000990:· | 00000990:·0c91·403d·4da5·9c79·b95a·2653·4f13·2957··..@=M..y.Z&SO.)W | ||
000009a0:· | 000009a0:·5eae·6e2c·4c39·5a13·9586·de6c·4ab9·3097··^.n,L9Z....lJ.0. | ||
000009b0:· | 000009b0:·abfb·0a0e·556b·5838·353d·d1da·ec44·cdf4··....UkX85=...D.. | ||
000009c0:· | 000009c0:·2cd5·adb2·48ce·cbe5·ea86·726e·9548·b92d··,...H.....rn.H.- | ||
000009d0:· | 000009d0:·4b2e·131c·adaa·9694·6b72·b95a·d6b2·ee2b··K.......kr.Z...+ | ||
000009e0:· | 000009e0:·b312·0ba7·26e5·0ce1·2897·6b15·53a6·379a··....&...(.k.S.7. | ||
000009f0:· | 000009f0:·4d29·6708·d3e9·7672·43d1·a9a4·1c92·cbd5··M)g...vrC....... | ||
00000a00:· | 00000a00:·ddb0·dbdd·8d9b·0d6e·d992·2b6b·2afd·3a94··.......n..+k*.:. | ||
00000a10:· | 00000a10:·c5bd·5e75·f885·e4f5·122f·3843·c3e1·684a··..^u...../8C..hJ | ||
00000a20:· | 00000a20:·b9c6·8327·4f1e·3b33·f48d·db8d·5f12·bc5e··...'O.;3...._..^ | ||
00000a30:· | 00000a30:·228d·db34·6ef7·9ed8·d5d5·f16c·1dcf·4a31··"..4n......l..J1 | ||
00000a40:· | 00000a40:·6f56·4e6a·6a4e·499f·a6cc·5bcd·4997·49a7··oVNjjNI...[.I.I. | ||
00000a50:· | 00000a50:·544d·cd1b·59a6·38da·9514·f994·078e·0e63··TM..Y.8........c | ||
00000a60:· | 00000a60:·bcca·0eb8·8f5e·ddb3·f244·cfd9·922e·ab5b··.....^...D.....[ | ||
00000a70:· | 00000a70:·a5ea·74b3·a2d5·5026·9c5d·c838·73a9·a939··..t...P&.].8s..9 | ||
00000a80:· | 00000a80:·454a·e905·f57a·8901·e077·78c8·06ff·e833··EJ...z...wx....3 | ||
00000a90:· | 00000a90:·7228·01df·800f·3082·0ac0·ff00·2900·6f04··r(....0.....).o. | ||
00000aa0:· | 00000aa0:·c431·040c·d404·1278·1f10·e0d8·f939·c01f··.1.....x.....9.. | ||
00000ab0:·0 | 00000ab0:·04c0·cf00·6f10·fa31·0812·2184·1145·4451··....o..1..!..EDQ | ||
00000ac0:· | 00000ac0:·e38b·45b1·2d7e·425a·fc8e·fe8c·e877·e08a··..E.-~BZ.....w.. | ||
00000ad0:· | 00000ad0:·3e3c·e8b0·07d1·4fe8·a7dd·9067·885f·ca2f··><....O....g._./ | ||
00000ae0:· | 00000ae0:·86c6·8e41·35d8·b9cd·dde2·6257·97ff·fc18··...A5.....bW.... | ||
00000af0:· | 00000af0:·026b·4b1c·edca·0aad·f120·e20f·f317·f1e7··.kK......·...... | ||
00000b00:· | 00000b00:·a662·6f97·99fe·e1df·6929·a0fb·d970·25b0··.bo.....i)...p%. | ||
00000b10:·c | 00000b10:·c37f·c21d·197c·fe19·f6fc·39c4·c8d3·d542··.....|....9....B | ||
00000b20:· | 00000b20:·eebf·8300·991f·b790·020a·64fe·2939·2a90··..........d.)9*. | ||
00000b30:· | 00000b30:·f073·c1c0·2e3f·06e1·2508·a0cb·0f67·1d23··.s...?..%....g.# | ||
00000b40:·a | 00000b40:·aaf9·bb58·855b·3f19·ad3f·ebcf·617e·5003··...X.[?..?..a~P. | ||
00000b50:· | 00000b50:·113e·68b3·4198·ffa0·6d26·0d80·b64f·e958··.>h.A...m&...O.X | ||
00000b60:· | 00000b60:·d16c·31f9·15f8·0ff8·056d·3399·0162·7015··.l1......m3..bp. | ||
00000b70:·7 | 00000b70:·bd35·737b·15bb·ba3c·e5c7·0f58·7ba3·6169··.5s{...<...X{.ai | ||
00000b80:· | 00000b80:·502a·41fd·b0bf·c99f·7b8a·bd5d·587a·c9bf··P*A.....{..]Xz.. | ||
00000b90:· | 00000b90:·eb3e·6241·247f·d38f·fc15·bc40·22a6·8dfc··.>bA$......@"... | ||
00000ba0:· | 00000ba0:·7ffc·19f6·3f52·faf1·8d8b·81fd·607c·60d2··....?R......`|`. | ||
00000bb0:· | 00000bb0:·a768·5fb6·dc62·b93d·6357·9717·f8f1·0d6b··.h_..b.=cW.....k | ||
00000bc0:· | 00000bc0:·ab54·3267·795b·0a7f·5967·71df·e77e·50f8··.T2gy[..Ygq..~P. | ||
00000bd0:· | 00000bd0:·77f8·775b·f971·fbe3·f646·c395·5728·599a··w.w[.q...F..W(Y. | ||
00000be0:· | 00000be0:·316f·4d37·1a56·ba65·89a3·7b41·f75a·dce7··1oM7.V.e..{A.Z.. | ||
00000bf0:· | 00000bf0:·9662·6f17·028d·6e17·8cee·0ddd·7b2a·b850··.bo...n.....{*.P | ||
00000c00:· | 00000c00:·800f·a53f·f785·eeb3·a0fb·2d9a·b8c7·47e4··...?......-...G. | ||
00000c10:· | 00000c10:·c0b1·e7fe·83fb·171c·7dc1·840e·f286·02b7··........}....... | ||
00000c20:· | 00000c20:·08dc·96b9·c736·66a9·c9c4·e7de·857b·1dee··.....6f......{.. | ||
00000c30:· | 00000c30:·7347·b1b7·ab0a·0264·2cf0·dce7·f2bd·0d8d··sG.....d,....... | ||
00000c40:· | 00000c40:·6480·815f·31d4·09f7·5df7·d985·fb2b·e4dc··d.._1...]....+.. | ||
00000c50:· | 00000c50:·e337·af30·6e9a·7b06·ee65·dc2a·b250·c1bb··.7.0n.{..e.*.P.. | ||
00000c60:· | 00000c60:·bd17·585c·5bc5·b555·6eee·710d·6b67·a9d9··..X\[..Un.q.kg.. | ||
00000c70:· | 00000c70:·43cd·7d8c·fb35·f7b9·a3ec·edea·d35b·f7bb··C.}..5.......[.. | ||
00000c80:· | 00000c80:·6e25·54e0·ee83·5c25·f74b·30c0·ea1e·1bb9··n%T...\%.K0..... | ||
00000c90:· | 00000c90:·d733·c53d·ce72·8fb9·74dd·3de6·dea6·2803··.3.=.r..t.=...(. | ||
00000ca0:· | 00000ca0:·280e·4591·28ca·fd15·299a·38c1·448f·fb42··(.E.(...).8.D..B | ||
00000cb0:·4 | 00000cb0:·4f60·ae1d·ee45·0a40·ba77·bacf·31ee·13f5··O`...E.@.w..1... | ||
00000cc0:· | 00000cc0:·b8c7·38ae·1f24·62dc·2362·c4e3·ee94·2822··..8..$b.#b....(" | ||
00000cd0:· | 00000cd0:·886b·fb5c·6b8b·5d5d·6ee0·1ec7·acd5·2acd··.k.\k.]]n.....*. | ||
00000ce0:· | 00000ce0:·ac24·d8bd·ac0f·7d37·e17b·0cb0·fb86·ddbf··.$....}7.{...... | ||
00000cf0:· | 00000cf0:·bb07·19ae·95e1·5aaa·b249·1044·dfed·7c5f··......Z..I.D..|_ | ||
00000d00:· | 00000d00:·04c5·f7dc·17d8·dbc5·88d1·f7ee·183c·b8d6··.............<.. | ||
00000d10:· | 00000d10:·836b·a7d4·9366·e268·5924·55a9·d270·a51a··.k...f.hY$U..p.. | ||
Max diff block lines reached; -1/60239 bytes (-0.00%) of diff not shown. |
Offset 22, 175 lines modified | Offset 22, 176 lines modified | ||
00000150:·1f8a·e0de·a0a0·2653·7464·6c69·6290·30e8··......&Stdlib.0. | 00000150:·1f8a·e0de·a0a0·2653·7464·6c69·6290·30e8··......&Stdlib.0. | ||
00000160:·d9af·4585·47c4·5080·a71b·9a6e·aed6·58a0··..E.G.P....n..X. | 00000160:·d9af·4585·47c4·5080·a71b·9a6e·aed6·58a0··..E.G.P....n..X. | ||
00000170:·a038·4361·6d6c·696e·7465·726e·616c·466f··.8CamlinternalFo | 00000170:·a038·4361·6d6c·696e·7465·726e·616c·466f··.8CamlinternalFo | ||
00000180:·726d·6174·4261·7369·6373·9030·2ef2·d91c··rmatBasics.0.... | 00000180:·726d·6174·4261·7369·6373·9030·2ef2·d91c··rmatBasics.0.... | ||
00000190:·ed81·f6c7·2f85·2bab·8ab4·06e0·4084·95a6··..../.+.....@... | 00000190:·ed81·f6c7·2f85·2bab·8ab4·06e0·4084·95a6··..../.+.....@... | ||
000001a0:·be00·0000·0400·0000·0200·0000·0500·0000··................ | 000001a0:·be00·0000·0400·0000·0200·0000·0500·0000··................ | ||
000001b0:·05a0·9040·4043·616d·6c31·3939·3954·3033··...@@Caml1999T03 | 000001b0:·05a0·9040·4043·616d·6c31·3939·3954·3033··...@@Caml1999T03 | ||
000001c0:·3484·95a6·bd0f·94 | 000001c0:·3484·95a6·bd0f·9475·ad48·857e·9b44·9873··4......u.H.~.D.s | ||
000001d0:·28b5·2ffd·0058· | 000001d0:·28b5·2ffd·0058·6553·006a·9218·1f52·605e··(./..XeS.j...R`^ | ||
000001e0:·d574·fec9·9b12·cf33·9706·d370·e9a4·1175··.t.....3...p...u | |||
000001f0:·04f9·bea3·bb08·83d1·f1ed·8a27·ef29·e96f··...........'.).o | |||
00000200:·7fd8·4526·443e·f145·76f1·7adb·92b6·dda4··..E&D>.Ev.z..... | |||
00000210:·b26b·abb1·add3·8564·9e45·1bcb·52ad·321a··.k.....d.E..R.2. | |||
00000220:·9599·513a·ced6·b643·44da·2437·3492·76a7··..Q:...CD.$74.v. | |||
00000230:·1dd3·01d2·01d6·012b·496c·1803·aff7·62e9··.......+Il....b. | |||
00000240:·d08a·6287·227b·9072·c10c·8e17·20fa·e218··..b."{.r....·... | |||
00000250:·0c99·838e·68f5·ac15·43de·f053·846f·a845··....h...C..S.o.E | |||
00000260:·1952·8519·96e6·1e5d·1696·8760·c8a6·bde4··.R.....]...`.... | |||
00000270:·b338·fbc0·0c05·c1f9·eaa4·2c43·9e20·44e3··.8........,C.·D. | |||
00000280:·6b65·577b·7886·dce0·4598·b4a0·f760·6e0d··keW{x...E....`n. | |||
00000290:·e6f8·a4b6·3d98·7b6c·f5e8·f142·366d·10bc··....=.{l...B6m.. | |||
000002a0:·95ea·856c·da2c·740f·d4a3·c50b·c290·b223··...l.,t........# | |||
000002b0:·3fb3·b67d·346b·9681·07ca·9021·053a·76e0··?..}4k.....!.:v. | |||
000002c0:·2138·0e68·7c63·c8a3·49fb·aed3·f8da·205f··!8.h|c..I.....·_ | |||
000002d0:·93f6·1f44·43b6·7e68·2f83·af18·d282·49fb··...DC.~h/.....I. | |||
000002e0:·070a·b3fe·62a1·1671·fe58·385f·115b·ad64··....b..q.X8_.[.d | |||
000002f0:·1f20·914c·da3f·0f56·b236·48a2·9913·7a46··.·.L.?.V.6H...zF | |||
00000300:·1f0c·b933·69df·7df7·1fc4·b2b1·50c3·904d··...3i.}.....P..M | |||
00000310:·5bc8·a48d·1658·11f4·5e31·64d3·66e1·7f07··[....X..^1d.f... | |||
00000320:·ccb9·0543·fa98·b4ff·6f99·ffff·fb39·d8df··...C....o....9.. | |||
00000330:·fdec·9e82·dfa4·0883·723f·d6f6·06c1·b6ad··........r?...... | |||
00000340:·4c30·f3c2·d08b·21bf·4913·274e·5e60·c2e4··L0....!.I.'N^`.. | |||
00000350:·1598·ff7b·7360·db56·68cc·a731·ff3f·15f7··...{s`.Vh..1.?.. | |||
00000360:·54fc·c765·d65a·e0bc·05ce·855c·1086·1253··T..e.Z.....\...S | |||
00000370:·ad0b·7e3a·6a65·0bca·bb21·da18·e8c9·aa85··..~:je...!...... | |||
00000380:·65b1·665d·458d·6f3e·12af·0bc7·aa57·6139··e.f]E.o>.....Wa9 | |||
00000390:·7cd5·227c·9392·3c58·f5aa·a8b1·156d·9864··|."|..<X.....m.d | |||
000003a0:·c3ba·d2d5·bba1·aa36·69a6·eb2b·d7da·d55a··.......6i..+...Z | |||
000003b0:·6b4b·0bea·45b4·36d4·557c·a9af·5c71·beda··kK..E.6.U|..\q.. | |||
000003c0:·d3d8·c2aa·0593·6057·acb3·d0ca·aa57·c55b··......`W.....W.[ | |||
000003d0:·2d18·7365·5815·af11·91ba·038b·9311·6a7b··-.seX.........j{ | |||
000003e0:·efb1·1360·9eb1·fdb3·2cce·9825·532b·b592··...`....,..%S+.. | |||
000003f0:·d528·10e6·7d99·6697·2a94·bba4·591b·6a8d··.(..}.f.*...Y.j. | |||
00000400:·2dac·c80e·e5d8·74b6·6d25·e30e·723a·3e61··-.....t.m%..r:>a | |||
00000410:·fa5f·72da·845c·c2e9·46e1·9570·ea64·698a··._r..\..F..p.di. | |||
00000420:·d31d·8494·1a14·a79b·fae7·c070·4409·e50a··...........pD... | |||
00000430:·529c·6e27·4e37·adf6·ff51·9cd6·9c96·509c··R.n'N7...Q....P. | |||
00000440:·aac0·430f·3afc·3771·5a3a·2dbb·dfc0·690a··..C.:.7qZ:-...i. | |||
00000450:·d499·387d·52fb·c7e1·09be·36c6·7de7·f884··..8}R.....6.}... | |||
00000460:·c6b4·7f08·2046·a66f·c2f4·35c8·307d·c974··....·F.o..5.0}.t | |||
00000470:·232e·b356·d29c·6e03·dc2d·9207·83d9·5d8c··#..V..n..-....]. | |||
00000480:·d769·99c0·8c39·8539·dde5·3672·fadd·ffcc··.i...9.9..6r.... | |||
00000490:·e9ff·9153·23a7·2ea7·dd27·71ba·bfcb·d9ff··...S#....'q..... | |||
000004a0:·3dec·d0fd·fb5c·7a99·d3ff·1bac·8a5b·150f··=....\z......[.. | |||
000004b0:·7299·b5b2·a256·de0d·5557·83b4·cc2f·bb66··r....V..UW.../.f | |||
000004c0:·76b9·9fc8·2994·ffcf·d9cf·b3bf·fbb1·7b13··v...).........{. | |||
000004d0:·a807·39ad·319b·fc09·d455·4ec7·b1e6·3530··..9.1....UN...50 | |||
000004e0:·32ed·fd3f·f8a0·e250·545c·c865·d64a·21a7··2..?...PT\.e.J!. | |||
000004f0:·bb2b·c05d·37d0·64cb·b16d·2bbb·5b2a·378d··.+.]7.d..m+.[*7. | |||
00000500:·d9fd·8f0c·4de3·1e1b·b4d6·055d·7a48·8636··....M......]zH.6 | |||
00000510:·f2f8·562c·2bbb·6218·fb6c·c872·597c·5fd6··..V,+.b..l.rY|_. | |||
00000520:·852b·e841·a69c·1609·7318·da19·f286·2a5f··.+.A....s.....*_ | |||
00000530:·96cb·227d·196c·b1c4·d910·8a64·0089·920c··.."}.l.....d.... | |||
00000540:·be42·2bcb·2ca4·cfd3·4328·d265·6816·6698··.B+.,...C(.eh.f. | |||
00000550:·85b1·5e99·a563·3f27·d200·a744·2e1c·cb2f··..^..c?'...D.../ | |||
00000560:·96ce·3e33·a43b·4d92·c4dc·53e6·a6d5·848c··..>3.;M...S..... | |||
00000570:·3eed·5170·22c7·20a2·b185·c58a·428f·e5ba··>.Qp".·.....B... | |||
00000580:·a027·c33d·3624·1753·e61e·9f88·5901·901b··.'.=6$.S....Y... | |||
00000590:·6415·462c·785f·ac57·66b9·f04e·0e32·0a27··d.F,x_.Wf..N.2.' | |||
000005a0:·e6f8·44cc·2339·b419·b066·ad2b·bb3f·6c48··..D.#9...f.+.?lH | |||
000005b0:·2166·cbc4·a1d5·da4b·6281·5e68·f505·5938··!f.....Kb.^h..Y8 | |||
000005c0:·b370·e829·8960·97bb·6576·ff44·49cc·fd37··.p.).`..ev.DI..7 | |||
000005d0:·c813·5a6d·8f7f·648e·9b8d·6d0b·34b5·a686··..Zm..d...m.4... | |||
000005e0:·c562·fdf8·682a·61f3·1236·d711·c3ac·63ad··.b..h*a..6....c. | |||
000005f0:·1b6a·9cbf·2121·1f9d·5ad3·f508·f9f4·546d··.j..!!..Z.....Tm | |||
00000600:·5474·c359·52d6·a955·46c2·e642·3621·5b0e··Tt.YR..UF..B6![. | |||
00000610:·ccb3·4492·3268·65f6·47aa·6aec·69f1·8a62··..D.2he.G.j.i..b | |||
00000620:·575f·3987·4015·83ac·53ad·1191·5a2b·4d0d··W_9.@...S...Z+M. | |||
00000630:·b2fd·772e·b356·d200·61d9·fb3b·1bee·1f09··..w..V..a..;.... | |||
00000640:·476b·70b4·dcdd·064e·839c·46d9·afe2·688a··Gkp....N..F...h. | |||
00000650:·a3af·241c·2d3f·c7e7·5251·5147·7d01·ea2a··..$.-?..RQQG}..* | |||
00000660:·9759·4362·3a12·d391·88e0·f55e·555f·55b5··.YCb:......^U_U. | |||
00000670:·e2f5·8456·5a55·414f·165a·8d2f·be75·85a4··...VZUAO.Z./.u.. | |||
00000680:·aa33·8b64·8b3c·d8ad·d8ab·617e·5511·2967··.3.d.<....a~U.)g | |||
00000690:·b0ae·7445·aaaa·7a34·c4d1·9c2f·c251·269a··..tE..z4.../.Q&. | |||
000006a0:·1a88·70b4·6688·868e·a33d·dc05·1674·dcbf··..p.f....=...t.. | |||
000006b0:·0f8e·f270·b44c·7174·868e·a37b·0767·8428··...p.Lqt...{.g.( | |||
000006c0:·c551·19ca·e790·1cf9·1c1c·a5e1·68d9·3d19··.Q..........h.=. | |||
000006d0:·4e47·708a·83d3·3286·184e·e867·0810·ea39··NGp...2..N.g...9 | |||
000006e0:·d493·b8cc·5ab9·0047·f701·ee49·31a4·9c41··....Z..G...I1..A | |||
000006f0:·99dd·c558·ee32·9c42·711a·0067·86d3·f23b··...X.2.Bq..g...; | |||
00000700:·9f4b·2bdc·0a47·ff5d·98ae·a717·7199·b59a··.K+..G.]....q... | |||
00000710:·8ad7·549c·88cb·ea30·8bd5·b6aa·1663·b01e··..T....0.....c.. | |||
00000720:·385f·7d5d·387f·3604·4259·9c6b·16ab·0b7b··8_}]8.6.BY.k...{ | |||
00000730:·b566·8583·8323·53d5·ac6e·8e6a·043e·aa52··.f...#S..n.j.>.R | |||
00000740:·8dc0·47bd·b9aa·faba·7575·2353·5523·5d57··..G.....uu#SU#]W | |||
00000750:·4aaa·1ada·22ab·f1b5·35eb·fb65·51f4·b467··J..."...5..eQ..g | |||
00000760:·a4ad·f66c·f8d5·d50a·8542·5508·7064·b566··...l.....BU.pd.f | |||
00000770:·06e7·a8d6·e05c·1c15·821b·59ad·99b9·39aa··.....\....Y...9. | |||
00000780:·3537·1787·aa5a·240f·a6aa·4da0·d372·7f16··57...Z$...M..r.. | |||
00000790:·4e97·fc18·4e99·a670·ba04·0ca7·4f38·fd28··N...N..p....O8.( | |||
000007a0:·b5ff·2c9c·7ae1·d405·2a8e·3062·8a53·a629··..,.z...*.0b.S.) | |||
000007b0:·0d04·3f73·3a5e·e1b4·0aa7·7bef·99d3·b107··..?s:^....{..... | |||
000007c0:·4779·7074·effd·400f·e494·3673·5abe·021c··Gypt..@...6sZ... | |||
000007d0:·1d8f·385a·fee8·7414·80a3·e56f·3adb·b6a2··..8Z..t....o:... | |||
000007e0:·53eb·de88·1235·e013·6abc·d001·1010·3c1f··S....5..j.....<. | |||
000007f0:·ecd8·c084·1536·238f·d3bd·a168·0a81·8125··.....6#....h...% | |||
00000800:·2462·6085·d181·0476·c790·440b·9bd1·e7de··$b`....v..D..... | |||
00000810:·4d00·dc10·0293·1c1f·a484·10c3·832d·1660··M............-.` | |||
00000820:·e20b·94cd·287e·57f4·72b4·070b·3310·d0c3··....(~W.r...3... | |||
00000830:·20cc·d3e1·b1f7·7f8d·b96a·e268·22c0·8002···........j.h"... | |||
00000840:·5740·5902·8b2d·a6b0·62a5·b219·ff63·58f6··W@Y..-..b....cX. | |||
00000850:·111c·dd46·7074·17c1·d13d·0447·77dd·5be7··...Fpt...=.Gw.[. | |||
00000860:·1cb2·ece7·2589·4861·5692·4ab9·ccd1·65be··....%.HaV.J...e. | |||
00000870:·34be·a798·eff4·7261·1f0c·4b3e·bd88·49d6··4.....ra..K>..I. | |||
00000880:·7512·bd0b·7aa7·8c4f·28a5·8b63·342c·3da7··u...z..O(..c4,=. | |||
00000890:·17d1·e5d9·d048·9f58·7a4e·2fa1·1653·3628··.....H.XzN/..S6( | |||
000008a0:·1cd4·03a9·182e·3a29·c5f0·054f·3a76·b076··......:)...O:v.v | |||
000008b0:·f050·4ab5·2e38·c3d2·737a·b17a·d64a·8947··.PJ..8..sz.z.J.G | |||
000008c0:·ad8c·6a5d·f043·f59c·5e44·fb61·1b86·b1ef··..j].C..^D.a.... | |||
000008d0:·cba7·1d3a·63ec·9df0·6d9d·688a·4e2f·363a··...:c...m.h.N/6: | |||
000008e0:·4e36·949c·5e74·5246·7d29·7c5b·a950·8ca5··N6..^tRF})|[.P.. | |||
000008f0:·1cd8·86b6·6de5·8b38·4a83·c4b2·f70a·4769··....m..8J.....Gi | |||
00000900:·a460·d95b·e694·4608·cbde·3426·0d0f·2c7b··.`.[..F...4&..,{ | |||
00000910:·3f0b·4638·37c2·794f·1102·3827·80f3·0966··?.F87.yO..8'...f | |||
00000920:·40ad·b433·e4b3·a3d3·3364·004e·8abb·1477··@..3....3d.N...w | |||
00000930:·9e1b·140e·51b5·22b6·df1d·52bf·0bb6·6240··....Q."...R...b@ | |||
Max diff block lines reached; -1/23745 bytes (-0.00%) of diff not shown. |
Offset 35, 237 lines modified | Offset 35, 237 lines modified | ||
00000220:·01ec·28d5·1825·a0a0·2653·7464·6c69·6290··..(..%..&Stdlib. | 00000220:·01ec·28d5·1825·a0a0·2653·7464·6c69·6290··..(..%..&Stdlib. | ||
00000230:·30e8·d9af·4585·47c4·5080·a71b·9a6e·aed6··0...E.G.P....n.. | 00000230:·30e8·d9af·4585·47c4·5080·a71b·9a6e·aed6··0...E.G.P....n.. | ||
00000240:·58a0·a038·4361·6d6c·696e·7465·726e·616c··X..8Camlinternal | 00000240:·58a0·a038·4361·6d6c·696e·7465·726e·616c··X..8Camlinternal | ||
00000250:·466f·726d·6174·4261·7369·6373·9030·2ef2··FormatBasics.0.. | 00000250:·466f·726d·6174·4261·7369·6373·9030·2ef2··FormatBasics.0.. | ||
00000260:·d91c·ed81·f6c7·2f85·2bab·8ab4·06e0·4084··....../.+.....@. | 00000260:·d91c·ed81·f6c7·2f85·2bab·8ab4·06e0·4084··....../.+.....@. | ||
00000270:·95a6·be00·0000·0400·0000·0200·0000·0500··................ | 00000270:·95a6·be00·0000·0400·0000·0200·0000·0500··................ | ||
00000280:·0000·05a0·9040·4043·616d·6c31·3939·3954··.....@@Caml1999T | 00000280:·0000·05a0·9040·4043·616d·6c31·3939·3954··.....@@Caml1999T | ||
00000290:·3033·3484·95a6·bd0f·9c4 | 00000290:·3033·3484·95a6·bd0f·9c4c·bd71·8a20·aa59··034......L.q.·.Y | ||
000002a0:·a8 | 000002a0:·a83d·28b5·2ffd·0058·1d72·00fa·be7c·2849··.=(./..X.r...|(I | ||
000002b0:·30a2·d574·3f8a·be1a·89b1·0423·1600·826a··0..t?......#...j | |||
000002c0:·a6a5·0e90·5bdf·22f3·d5c1·b016·89a3·a333··....[."........3 | |||
000002d0:·22c0·1c22·b22f·ffdd·3db2·ff2d·d4ec·36e3··".."./..=..-..6. | |||
000002e0:·c9e0·1d09·2d94·2dfb·3d50·6b7c·fbce·3c95··....-.-.=Pk|..<. | |||
000002f0:·b3d1·1800·195b·714e·9252·520b·8502·6502··.....[qN.RR...e. | |||
00000300:·6802·4874·474d·e217·a361·2c33·1194·c548··h.HtGM...a,3...H | |||
00000310:·9cd2·4be7·a48a·9408·d646·1c25·c6b0·ccbc··..K......F.%.... | |||
00000320:·52e9·a5eb·4009·378a·366c·8bd5·c458·7943··R...@.7.6l...XyC | |||
00000330:·72e9·9630·d1c2·9b58·8b95·e211·12dd·112b··r..0...X.......+ | |||
00000340:·7dd8·9c87·cdb9·9d94·a759·e945·71e9·864c··}........Y.Eq..L | |||
00000350:·2943·6cbb·398d·5e8c·f681·5e54·68f4·a35b··)Cl.9.^...^Th..[ | |||
00000360:·200f·9bcd·a7c3·2e39·31a2·2340·040c·7eb5···......91.#@..~. | |||
00000370:·584d·8cd1·4222·0a74·00b4·d776·f3e9·b054··XM..B".t...v...T | |||
00000380:·c411·9f10·c3c9·bea8·afc9·8f4e·0e27·6bc4··...........N.'k. | |||
00000390:·8623·2e4b·0f2a·067a·232e·3f30·168a·b170··.#.K.*.z#.?0...p | |||
000003a0:·f4a4·38c8·6736·6261·ff4c·7dd8·fce6·0765··..8.g6ba.L}....e | |||
000003b0:·e476·d97c·16ac·c922·c262·d958·c1e3·0dfc··.v.|...".b.X.... | |||
000003c0:·bc5a·ac1c·3149·c25e·3a36·e020·01c9·911c··.Z..1I.^:6.·.... | |||
000003d0:·27e5·17de·8ae8·d218·2271·8993·e9e8·cc40··'......."q.....@ | |||
000003e0:·720a·bfb1·2477·7458·7c91·85cd·260d·db44··r...$wtX|...&..D | |||
000003f0:·a522·baab·ccc5·0c87·e251·11a5·0f42·f12b··.".......Q...B.+ | |||
00000400:·a1c4·1d5d·d593·32fc·70d4·577a·2112·9d10··...]..2.p.Wz!... | |||
00000410:·ff64·40f8·226c·0e63·4d32·bb5c·84cd·a62c··.d@."l.cM2.\..., | |||
00000420:·830c·7274·5759·09ef·4a53·8eee·2a83·817d··..rtWY..JS..*..} | |||
00000430:·9251·497e·6011·1d10·5490·9cec·2e1f·9531··.QI~`...T......1 | |||
00000440:·dc09·1eb8·a3e3·214a·9225·5da0·0455·5086··......!J.%]..UP. | |||
00000450:·9f8e·8e8b·cd3d·0c56·861f·115d·0d36·f70f··.....=.V...].6.. | |||
00000460:·028f·6e4b·93d2·13c1·9a8e·4e8b·cdfd·278d··..nK......N...'. | |||
00000470:·6239·bb8d·2519·8ab3·5828·7e64·88cb·2c58··b9..%...X(~d..,X | |||
00000480:·89ae·059b·fb2f·0ab3·6022·ba14·9cac·d0e8··...../..`"...... | |||
00000490:·3dcd·8ae8·409b·7bd8·1bb1·9f25·866f·6359··=...@.{....%.ocY | |||
000004a0:·4477·9547·9b33·47c0·24e8·d574·7457·19cc··Dw.G.3G.$..ttW.. | |||
000004b0:·3f11·288a·b222·ba99·cdfd·bf11·fbff·9f7f··?.(..".......... | |||
000004c0:·85fc·3027·0bfb·28cf·5203·0fa7·6fee·b207··..0'..(.R...o... | |||
000004d0:·386f·1c3d·1ddd·5351·8d19·4304·1248·3ccc··8o.=..SQ..C..H<. | |||
000004e0:·fe67·5605·2c96·0d90·3562·776c·3e33·8e7d··.gV.,...5bwl>3.} | |||
000004f0:·d8ff·b79d·fa20·fb4f·8e50·db4a·6d10·5a76··.....·.O.P.Jm.Zv | |||
00000500:·775e·f2d6·c48b·a170·53ee·cf18·2ebb·9cb3··w^.....pS....... | |||
00000510:·093b·6203·61fd·c770·2886·b19d·dd39·1369··.;b.a..p(....9.i | |||
00000520:·2fd0·e6cd·4424·f9cc·3f81·5dfa·ff7f·d89b··/...D$..?.]..... | |||
00000530:·ff2c·0d58·2c9b·ffa6·2ab5·956a·27b5·ecee··.,.X,...*..j'... | |||
00000540:·7cc0·6618·01dd·250e·158b·0216·cb26·c3a6··|.f...%......&.. | |||
00000550:·ce7c·72b1·323d·683b·f550·5a76·f7a4·3693··.|r.2=h;.PZv..6. | |||
00000560:·da47·1f68·7be1·512c·491f·d907·ce5e·bbf3··.G.h{.Q,I....^.. | |||
00000570:·c6e6·a105·ba95·70a8·ae76·38f3·99c3·a358··......p..v8....X | |||
00000580:·2ae9·b086·582c·9bad·eaff·6468·b03d·836d··*...X,....dh.=.m | |||
00000590:·1270·a177·6bdf·edb9·815e·d4c5·4fe5·2d71··.p.wk....^..O.-q | |||
000005a0:·d1cd·b959·431d·ff1f·d4ad·aa9a·e083·fa15··...YC........... | |||
000005b0:·4ce0·41fd·6a0d·f53b·cab8·e102·0b63·50df··L.A.j..;.....cP. | |||
000005c0:·f282·99cf·7c41·1d0d·ea27·1aea·63c6·a09e··....|A...'..c... | |||
000005d0:·b988·2ad1·503f·9f10·0305·2933·d4ab·72d4··..*.P?....)3..r. | |||
000005e0:·61d4·99e8·1253·4089·e067·7b66·3b46·867a··a....S@..g{f;F.z | |||
000005f0:·46c0·0907·ea4b·d483·c881·faf9·4dda·4e7d··F....K......M.N} | |||
00000600:·f942·fddf·43b2·1dc5·f615·ef96·5809·06ea··.B..C.......X... | |||
00000610:·3c7f·0375·aba4·2468·a02e·c586·c416·eae2··<..u..$h........ | |||
00000620:·0947·68a1·ee44·61a0·fe82·112a·4079·f245··.Gh..Da....*@y.E | |||
00000630:·444e·d43d·1c53·46dd·46fd·5ca2·5e84·13f5··DN.=.SF.F.\.^... | |||
00000640:·6c85·6a80·c112·f521·c4d4·286c·8307·817a··l.j....!..(l...z | |||
00000650:·120e·f520·d487·5021·9e28·4902·f4b2·7dc4··...·..P!.(I...}. | |||
00000660:·b695·96dd·9d42·d4f3·01dd·2526·89e4·509f··.....B....%&..P. | |||
00000670:·80ba·8b12·a17e·fe50·dba9·7f51·ffdf·49c0··.....~.P...Q..I. | |||
00000680:·f601·b6ab·e04a·281b·d175·3d40·dd3e·04d4··.....J(..u=@.>.. | |||
00000690:·adfe·1fa0·ee00·8da3·fd89·762e·dacf·3009··..........v...0. | |||
000006a0:·5003·0a38·4b1c·333b·d0b2·b14d·6d53·6951··P..8K.3;...MmSiQ | |||
000006b0:·cf06·74e3·4a28·1b5e·d3ae·a65d·0f39·dacf··..t.J(.^...].9.. | |||
000006c0:·176a·3bb5·c71e·edff·2cdb·456d·2e6a·87f0··.j;.....,.Em.j.. | |||
000006d0:·ba32·7b85·b826·4d57·2441·ef62·ac74·5f52··.2{..&MW$A.b.t_R | |||
000006e0:·38bc·dec5·a587·c7a1·db73·2346·bb98·87a3··8........s#F.... | |||
000006f0:·dd2a·cd54·1bed·5ab4·7fd5·ee5f·8cf6·35da··.*.T..Z...._..5. | |||
00000700:·4f35·edf9·8cf6·ecc5·a339·a3a6·3d08·ef1f··O5.......9..=... | |||
00000710:·d299·e1e5·d5a4·3133·aedd·2463·f59f·457b··......13..$c..E{ | |||
00000720:·9a30·edb8·f62d·ed54·4078·9b69·27b3·fbdf··.0...-.T@x.i'... | |||
00000730:·4561·e632·ac49·c6ea·a9ac·de89·31b5·93a8··Ea.2.I......1... | |||
00000740:·cdd4·b2bb·138a·f65c·40a6·c3e4·d27e·c27e··.......\@....~.~ | |||
00000750:·4bbb·0fed·66fb·c3fe·bfb4·ffe7·dacd·f66b··K...f..........k | |||
00000760:·610f·437b·8609·e57f·1550·803d·aced·d4ff··a.C{.....P.=.... | |||
00000770:·d0fe·7f84·0cb5·b5d4·9ef2·34bb·75a0·63cf··..........4.u.c. | |||
00000780:·fc2a·b44b·09e5·2fca·0f7b·13f6·3c78·5f5c··.*.K../..{..<x_\ | |||
00000790:·fb10·eb80·15b2·5454·df83·f70b·eda6·b9f3··......TT........ | |||
000007a0:·704c·ab9c·1f86·156a·df6a·2bb5·ecee·3ca1··pL.....j.j+...<. | |||
000007b0:·3d0b·09e9·a681·f8ab·e9e4·d813·f648·3bb9··=............H;. | |||
000007c0:·3234·2292·937d·20ad·54da·c999·b1d9·150c··24"..}·.T....... | |||
000007d0:·de68·a22d·86a3·3e72·bccd·f018·a3e1·f0ab··.h.-..>r........ | |||
000007e0:·615a·b894·818e·2984·511c·471c·a56d·c4e5··aZ....).Q.G..m.. | |||
000007f0:·8869·e1ed·d230·f9d1·2ef9·91df·d394·ebe3··.i...0.......... | |||
00000800:·73a3·7aba·7bba·89ee·f561·62b2·4241·abc1··s.z.{....ab.BA.. | |||
00000810:·6a35·58dd·0409·894b·8f76·772e·398a·4fe5··j5X....K.vw.9.O. | |||
00000820:·cdbb·a358·bb18·fc6a·5769·8a51·1322·2943··...X...jWi.Q.")C | |||
00000830:·a018·8a1f·39e2·a88b·3179·e4f2·dc9e·9e58··....9...1y.....X | |||
00000840:·2c86·b4c1·9517·567b·61f5·50cb·ee4e·7214··,.....V{a.P..Nr. | |||
00000850:·cb9b·ec1b·cb50·9c5d·5ae8·5d25·2947·43b7··.....P.]Z.]%)GC. | |||
00000860:·0766·24e5·c8e8·964f·4edf·8883·1287·ee8d··.f$....ON....... | |||
00000870:·eac2·ea27·ac27·2c21·9b87·a7dc·32c4·3628··...'.',!....2.6( | |||
00000880:·11c4·51b8·89cf·2d43·af24·3f92·84dd·9a28··..Q...-C.$?....( | |||
00000890:·8e49·d704·71e8·e2a7·29f7·5e9e·fb01·eb1f··.I..q...).^..... | |||
000008a0:·d6b2·bb93·c7c9·4dce·0f63·621d·4c01·d6af··......M..cb.L... | |||
000008b0:·786a·5d89·7520·eb3a·d677·df47·f52f·f29a··xj].u·.:.w.G./.. | |||
000008c0:·eae6·cec6·9659·f22d·eb4d·41d6·fd9f·069b··.....Y.-.MA..... | |||
000008d0:·b7cd·bb04·0c85·2b6f·066d·fd14·629d·00eb··......+o.m..b... | |||
000008e0:·0fe6·bf65·3d88·f513·f642·ac1d·d59f·8bb9··...e=....B...... | |||
000008f0:·b3b1·42b6·4c00·d6cd·07b1·28e1·98d9·c69a··..B.L.....(..... | |||
00000900:·d9ea·c158·bd51·dba9·afc9·bc9b·bcbf·96dd··...X.Q.......... | |||
00000910:·9d7e·5437·7313·06ba·3116·2f4a·112a·938e··.~T7s...1./J.*.. | |||
00000920:·2e67·fe3a·aadf·51bd·8eea·4ca8·7833·793b··.g.:..Q...L.x3y; | |||
00000930:·b5ec·0ea9·3652·6d24·216b·4675·2e30·1faa··....6Rm$!kFu.0.. | |||
00000940:·9f56·548f·a1fa·99cf·7ce6·339f·f9cc·0fab··.VT.....|.3..... | |||
00000950:·ca0f·1b62·1db0·55f9·77d5·7ba8·be45·55f5··...b..U.w.{..EU. | |||
00000960:·f38b·da4e·a951·53fd·7fe9·01ef·06bc·6b41··...N.QS.......kA | |||
00000970:·64d3·15cb·f0bb·5780·c8a6·5b13·2f09·82de··d.....W...[./... | |||
00000980:·2569·34ef·5e09·222f·1079·9bee·929b·32d5··%i4.^."/.y....2. | |||
00000990:·593f·4575·ab2e·68a0·a8ae·0316·4c54·2fa2··Y?Eu..h.....LT/. | |||
000009a0:·4c75·3267·c430·b000·11d5·87a8·7ef6·50fd··Lu2g.0......~.P. | |||
000009b0:·8aa9·030c·f052·bd4b·ad55·bfd5·9554·3366··.....R.K.U...T3f | |||
000009c0:·2bc8·8df5·06c4·366e·d9dd·2943·f5ac·4037··+.....6n..)C..@7 | |||
000009d0:·761a·b14d·c7a9·7a92·eae3·53f5·f39d·b49d··v..M..z...S..... | |||
000009e0:·22c9·eaff·7e90·615b·0cdb·33fc·5492·e1d2··"...~.a[..3.T... | |||
000009f0:·eda0·a9ba·133f·ab6e·e563·0509·d581·aab0··.....?.n.c...... | |||
00000a00:·52fd·a836·55af·42c5·5218·60c0·aa43·a97e··R..6U.B.R.`..C.~ | |||
Max diff block lines reached; -1/32243 bytes (-0.00%) of diff not shown. |
Offset 1, 5173 lines modified | Offset 1, 5171 lines modified | Diff chunk too large, falling back to line-by-line diff (5170 lines added, 5172 lines removed) | |
00000000:·4361·6d6c·3139·3939·5430·3334·8495·a6bd··Caml1999T034.... | 00000000:·4361·6d6c·3139·3939·5430·3334·8495·a6bd··Caml1999T034.... | ||
00000010:·1485·86 | 00000010:·1485·860e·8de5·6f82·e148·8ae5·5b8a·da6c··......o..H..[..l | ||
00000020:·28b5·2ffd·0058· | 00000020:·28b5·2ffd·0058·c401·067e·8088·631d·4710··(./..X...~..c.G. | ||
00000030:·504a·6738· | 00000030:·504a·6738·d46b·33a3·06e8·e45a·f03f·b21e··PJg8.k3....Z.?.. | ||
00000040:· | 00000040:·232a·40fe·86f0·bf38·79ca·3d25·d427·9361··#*@....8y.=%.'.a | ||
00000050:· | 00000050:·e1c2·891b·1dc7·7c25·5655·7544·4444·44d1··......|%VUuDDDD. | ||
00000060:· | 00000060:·0c63·a579·0ce4·f86b·9821·2282·5fb5·aa07··.c.y...k.!"._... | ||
00000070:· | 00000070:·60f2·890d·7204·151e·2d1d·d11c·6e7d·7e3f··`...r...-...n}~? | ||
00000080:· | 00000080:·5804·e6f1·d863·4ed7·4b70·94e5·6882·2305··X....cN.Kp..h.#. | ||
00000090:· | 00000090:·0c00·c3e4·2f4c·3cf6·9281·793c·9eca·2247··..../L<...y<.."G | ||
000000a0:· | 000000a0:·7ba8·034c·54a6·0409·3cda·43df·c3e4·c1a3··{..LT...<.C..... | ||
000000b0:· | 000000b0:·0298·841c·09c0·b484·c94a·98bc·76b1·30fc··.........J..v.0. | ||
000000c0:· | 000000c0:·6d28·c0e4·69d4·d046·0ded·d94e·9fdf·0f16··m(..i..F...N.... | ||
000000d0:· | 000000d0:·cee9·fa1e·9f9f·1f26·1f4e·8154·04a9·90b2··.......&.N.T.... | ||
000000e0:· | 000000e0:·a469·8f34·2d02·3b5b·84c9·4498·d8a8·d698··.i.4-.;[..D..... | ||
000000f0:· | 000000f0:·fc03·fe70·4c36·63f2·3f18·a4c9·cec2·3199··...pL6c.?.....1. | ||
00000100:· | 00000100:·8fc9·3998·bce2·60f2·ff7e·fc1d·a5aa·0a26··..9...`..~.....& | ||
00000110:· | 00000110:·4bd7·2726·1f8a·c9af·b364·4415·4c96·62f2··K.'&.....dD.L.b. | ||
00000120:· | 00000120:·5ae5·00a3·3d54·01a3·fd93·8cc9·1f33·2534··Z...=T.......3%4 | ||
00000130:· | 00000130:·da3f·1338·da3f·7798·3c2d·c462·b20b·26af··.?.8.?w.<-.b..&. | ||
00000140:· | 00000140:·6c03·c029·2d9c·d246·d9d9·bf3c·1e83·8282··l..)-..F...<.... | ||
00000150:· | 00000150:·7c7e·cb66·a274·4955·75a2·2864·e9e1·748b··|~.f.tIUu.(d..t. | ||
00000160:· | 00000160:·4906·2080·4dcb·a369·ad58·3159·aad6·381a··I.·.M..i.X1Y..8. | ||
00000170:· | 00000170:·715a·31a7·c592·268d·b3e4·2126·87a9·b3e4··qZ1...&...!&.... | ||
00000180:· | 00000180:·df89·c94d·4c5e·e7f8·721c·3159·55c1·5466··...ML^..r.1YU.Tf | ||
00000190:· | 00000190:·f74f·cd92·6d58·729b·2573·8932·c548·8ad1··.O..mXr.%s.2.H.. | ||
000001a0:· | 000001a0:·fe29·7844·80d1·fe29·8494·c492·9158·f22a··.)xD...).....X.* | ||
000001b0:· | 000001b0:·d7d6·b469·4d4b·b8b3·4b56·49d8·d501·7817··...iMK..KVI...x. | ||
000001c0:·4 | 000001c0:·43c7·a090·16bf·0643·fe06·433e·0743·46ac··C......C..C>.CF. | ||
000001d0:· | 000001d0:·e089·4bee·61c9·eb83·78ce·c3d2·8a23·71c9··..K.a...x....#q. | ||
000001e0:· | 000001e0:·31ba·fe9f·7935·6d8c·a63d·e086·25ab·5e63··1...y5m..=..%.^c | ||
000001f0:· | 000001f0:·7607·8500·f9eb·b3ea·2071·5560·55bf·0cf9··v.......·qU`U... | ||
00000200:·2 | 00000200:·272c·19cd·9257·2d5f·868a·187a·12d1·60c4··',...W-_...z..`. | ||
00000210:· | 00000210:·5431·7474·8444·97d4·1546·498f·c8eb·90ff··T1tt.D...FI..... | ||
00000220:· | 00000220:·1396·6cc2·9257·1086·7c2e·174d·6bd5·b406··..l..W..|..Mk... | ||
00000230:· | 00000230:·48d5·0d82·2c5d·0797·8c63·69c8·de92·014b··H...,]...ci....K | ||
00000240:·2 | 00000240:·2e81·6947·605a·294d·8a10·3160·c9ab·014b··..iG`Z)M..1`...K | ||
00000250:· | 00000250:·6682·e082·2517·c0e4·811b·62d8·7104·898e··f...%.....b.q... | ||
00000260:· | 00000260:·2517·4e95·f82d·6159·7201·690a·686a·5a15··%.N..-aYr.i.hjZ. | ||
00000270:· | 00000270:·4d4b·e50c·d39e·c0b4·5376·5688·d11e·6ab7··MK......SvV...j. | ||
00000280:· | 00000280:·14c0·929b·2c89·d025·302f·add9·c387·df8f··....,..%0/...... | ||
00000290:· | 00000290:·3fc0·bf25·ab40·8204·ca2d·19c7·9207·0630··?..%.@...-.....0 | ||
000002a0:· | 000002a0:·ad14·a625·4006·2587·5133·018e·92d9·2ced··...%@.%.Q3....,. | ||
000002b0:· | 000002b0:·0e4b·2bc0·1cdb·9ad1·fe79·b464·be3a·3aa3··.K+......y.d.::. | ||
000002c0:· | 000002c0:·3d34·0538·4ae6·5a1a·40c9·62c9·474b·3992··=4.8J.Z.@.b.GK9. | ||
000002d0:· | 000002d0:·6350·7567·eff0·f45c·905a·f2d1·d2f3·6809··cPug...\.Z....h. | ||
000002e0:· | 000002e0:·8e92·6d30·ed16·d30e·b0b3·bbe4·1fc5·92df··..m0............ | ||
000002f0:· | 000002f0:·28c9·19ed·9f3b·4b9e·fe75·9458·ef76·dc8c··(....;K..u.X.v.. | ||
00000300:· | 00000300:·de8c·f6cf·1494·5c38·8d33·da43·cf28·cd51··......\8.3.C.(.Q | ||
00000310:· | 00000310:·f21b·a524·de28·4561·da26·4c1b·a588·a56d··...$.(Ea.&L....m | ||
00000320:· | 00000320:·b3b4·50d2·8cf6·d031·4a3d·2899·0725·3534··..P....1J=(..%54 | ||
00000330:· | 00000330:·7c19·458d·c08c·c28c·c48c·c68c·5c50·b24a··|.E.........\P.J | ||
00000340:· | 00000340:·66b4·7f96·1999·8951·7298·193a·58da·0d96··f......Qr..:X... | ||
00000350:· | 00000350:·f6c9·ced6·29b9·4b49·0699·d210·25c3·2dad··....).KI....%.-. | ||
00000360:· | 00000360:·dad2·36b9·d11e·4ac3·68c6·1025·4b30·44c9··..6...J.h..%K0D. | ||
00000370:· | 00000370:·5a6a·9c29·3d51·b210·25af·656a·3176·63ec··Zj.)=Q..%.ej1vc. | ||
00000380:· | 00000380:·9a45·2160·8a14·214a·5e97·2859·89d2·de5e··.E!`..!J^.(Y...^ | ||
00000390:· | 00000390:·064b·3bc1·d23a·d9d9·259e·69de·d2e2·58da··.K;..:..%.i...X. | ||
000003a0:· | 000003a0:·0076·3686·d11e·1a55·eaa1·e43e·a534·b12b··.v6....U...>.4.+ | ||
000003b0:· | 000003b0:·162d·5c60·6569·bdd8·f252·7297·52d8·7169··.-\`ei...Rr.R.qi | ||
000003c0:· | 000003c0:·a396·9649·9124·ff84·3f32·da3f·7524·1126··...I.$..?2.?u$.& | ||
000003d0:· | 000003d0:·194b·6957·28ed·919d·259e·a953·1292·d1fe··.KiW(...%..S.... | ||
000003e0:·2 | 000003e0:·29e6·08f5·0444·1233·6984·34da·43fb·9208··)....D.3i.4.C... | ||
000003f0:· | 000003f0:·939c·a4e4·a43c·22c9·4024·7925·8321·b52b··.....<".@$y%.!.+ | ||
00000400:· | 00000400:·b55b·f644·8001·a024·0291·e495·8824·c301··.[.D...$.....$.. | ||
00000410:· | 00000410:·e282·d2a6·a0b4·4aa2·cc24·594c·92d7·b128··......J..$YL...( | ||
00000420:· | 00000420:·9e5d·9e5d·3226·4d9c·04a0·8098·24af·2524··.].]2&M.....$.%$ | ||
00000430:· | 00000430:·b98c·1f61·9207·50da·254a·9b44·c968·ffec··...a..P.%J.D.h.. | ||
00000440:· | 00000440:·4b82·20c9·d224·af62·27b6·cdce·b6d9·d931··K.·..$.b'......1 | ||
00000450:· | 00000450:·2449·9628·1993·2679·5d20·c958·9204·8f3c··$I.(..&y]·.X...< | ||
00000460:· | 00000460:·2d2d·d2d2·2ea1·a1b4·2f94·1689·0aa3·3d34··--....../.....=4 | ||
00000470:·2 | 00000470:·2f09·4a92·0548·721e·7d8c·7e8c·808c·8250··/.J..Hr.}.~....P | ||
00000480:· | 00000480:·1809·19ed·9f27·1a32·2a32·aa4b·325d·9251··.....'.2*2.K2].Q | ||
00000490:· | 00000490:·4989·a495·93b4·4658·20f9·073b·0a51·4848··I.....FX·..;.QHH | ||
000004a0:·1 | 000004a0:·1644·da1f·481b·b8b3·c433·8dc1·4c0a·45fb··.D..H....3..L.E. | ||
000004b0:· | 000004b0:·e792·c419·6430·6cb3·839a·3249·14ed·a142··....d0l...2I...B | ||
000004c0:· | 000004c0:·0431·07a9·68b4·872e·a184·1109·0cc9·5249··.1..h.........RI | ||
000004d0:· | 000004d0:·4508·25f9·574a·f29c·35da·3f51·2479·fa7b··E.%.WJ..5.?Q$y.{ | ||
000004e0:· | 000004e0:·a1c3·449d·9e24·cfd9·3207·83a4·354c·5a22··..D..$..2...5LZ" | ||
000004f0:· | 000004f0:·43a8·80e4·3247·bc71·a302·9277·9013·c40c··C...2G.q...w.... | ||
00000500:· | 00000500:·92d7·c701·d267·c468·c40e·bc41·63e0·9d5d··.....g.h...Ac..] | ||
00000510:· | 00000510:·d2be·25ed·102e·6190·6c08·4407·4727·20c6··..%...a.l.D.G'·. | ||
00000520:· | 00000520:·1e7c·58c3·d400·c986·4d86·4749·8b22·6985··.|X.....M.GI."i. | ||
00000530:· | 00000530:·1c80·e47f·8117·ed9f·5590·3cfd·6338·b382··........U.<.c8.. | ||
00000540:· | 00000540:·d959·2961·0d45·fbaf·db80·8314·242f·41f2··.Y)a.E......$/A. | ||
00000550:· | 00000550:·9a83·c86f·c1ab·541d·3304·8664·1490·768a··...o..T.3..d..v. | ||
00000560:· | 00000560:·b483·2a18·91ce·901c·4542·c3c2·0a67·48e6··..*.....EB...gH. | ||
00000570:· | 00000570:·4382·a168·ff4c·4acd·90bc·fe05·e601·041c··C..h.LJ......... | ||
00000580:· | 00000580:·eeb8·4085·3400·132e·3b84·4b8c·485a·2192··..@.4...;.K.HZ!. | ||
00000590:· | 00000590:·b688·12a4·1582·b482·2714·eda1·4c48·3490··........'...LH4. | ||
000005a0:· | 000005a0:·3c03·c92f·4c91·9822·118a·4698·168d·6122··<../L.."..F...a" | ||
000005b0:· | 000005b0:·5925·a168·ff24·53b4·7f96·4142·f211·121f··Y%.h.$S...AB.... | ||
000005c0:· | 000005c0:·0048·3b03·6983·348f·3c74·6440·d1fe·b974··.H;.i.4.<td@...t | ||
000005d0:· | 000005d0:·74e4·e2d1·d251·b13d·7696·78a6·0d1c·50a5··t....Q.=v.x...P. | ||
000005e0:· | 000005e0:·68ff·3482·c103·0eac·5e32·d052·b487·3a79··h.4.....^2.R..:y | ||
000005f0:· | 000005f0:·1d79·4d10·1a78·39f2·da85·830d·bc1c·b905··.yM..x9......... | ||
00000600:· | 00000600:·0fba·7c70·e8c1·0675·b864·30c1·f483·2c12··..|p...u.d0...,. | ||
00000610:· | 00000610:·1c2d·0347·fb03·8226·4736·6281·1a41·9323··.-.G...&G6b..A.# | ||
00000620:· | 00000620:·5fa9·a007·130a·faf4·4698·000f·4713·1f71··_.......F...G..q | ||
00000630:· | 00000630:·5e47·863b·5ab4·a3f5·9316·ed9f·4e62·47ee··^G.;Z.......NbG. | ||
00000640:· | 00000640:·3a5a·c00a·a1d8·91f1·8ebc·5211·6129·da3f··:Z........R.a).? | ||
00000650:· | 00000650:·a38e·c28e·bcfe·8a52·6a89·4961·d11e·6a3c··.......Rj.Ia..j< | ||
00000660:· | 00000660:·4a22·da89·5a29·61a2·7ac5·3824·c4d1·fa70··J"..Z)a.z.8$...p | ||
00000670:· | 00000670:·b47f·4247·cb73·b43e·0a50·71c4·75e4·ada3··..BG.s.>.Pq.u... | ||
00000680:· | 00000680:·3901·3879·2200·9401·0888·2285·e8c8·4347··9.8y"....."...CG | ||
00000690:· | 00000690:·7158·50b1·29a8·d83e·a80a·3355·ecc8·5251··qXP.)..>..3U..RQ | ||
000006a0:· | 000006a0:·a7c2·3a52·2c5e·8acd·db59·e299·fef5·f128··..:R,^...Y.....( | ||
000006b0:· | 000006b0:·da3f·a508·0102·d845·4512·2243·b654·d4a9··.?.....EE."C.T.. | ||
000006c0:· | 000006c0:·b01a·1575·2a8c·5684·0415·eea2·c26b·1810··...u*.V......k.. | ||
000006d0:· | 000006d0:·883b·8bb8·b362·448a·1c31·92d4·4585·5731··.;...bD..1..E.W1 | ||
000006e0:·2 | 000006e0:·2a1c·06b0·47c5·3691·6273·0429·5461·292a··*...G.6.bs.)Ta)* | ||
000006f0:·b | 000006f0:·bc82·9df9·6067·3fd8·d930·c1c1·2142·cc48··....`g?..0..!B.H | ||
00000700:·115 | 00000700:·51e1·9550·85a5·2afe·ea54·3884·147b·9862··Q..P..*..T8..{.b | ||
00000710:·f | 00000710:·f77a·6ca9·e8a1·c274·2abc·46bb·38b0·b30e··.zl....t*.F.8... | ||
00000720:· | 00000720:·ec2c·1820·90c0·204c·e854·78e5·53e1·1c2a··.,.·..·L.Tx.S..* | ||
00000730:· | 00000730:·72fc·a5a9·5831·15cb·b7b3·c433·0592·6279··r...X1.....3..by | ||
00000740:· | 00000740:·a458·3d1d·457b·e895·0a35·154e·5371·f736··.X=.E{...5.NSq.6 | ||
00000750:· | 00000750:·4757·6777·87a7·97b7·d754·61a6·0a37·1629··GWgw.....Ta..7.) | ||
00000760:· | 00000760:·d699·62f1·e418·9906·23af·7f51·b47f·f240··..b.....#..Q...@ | ||
00000770:· | 00000770:·94c2·1714·ad04·458b·6367·8967·3a63·4bab··......E.cg.g:cK. | ||
00000780:·6 | 00000780:·68ff·9cd1·5583·868e·b0a7·9715·b431·3111··h...U........11. | ||
00000790:·5 | 00000790:·52bc·a9a5·fd60·4494·c26d·5254·ada9·90c2··R....`D..mRT.... | ||
000007a0:· | 000007a0:·22a4·f0aa·0603·08bb·20ec·ae35·e000·040f··".......·..5.... | ||
000007b0:· | 000007b0:·0c21·420a·af26·a470·093f·7230·da18·8cd6··.!B..&.p.?r0.... | ||
000007c0:·8 | 000007c0:·8e2c·8214·b692·c2eb·da10·6876·d1ec·b245··.,........hv...E | ||
000007d0:· | 000007d0:·a04a·6028·8195·145e·1948·e105·0011·305a··.J`(...^.H....0Z | ||
Max diff block lines reached; -1/713683 bytes (-0.00%) of diff not shown. |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2024-11-20·09:37:25.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2024-11-20·09:37:25.000000·debian-binary |
2 | -rw-r--r--···0········0········0·····3264·2024-11-20·09:37:25.000000·control.tar.xz | 2 | -rw-r--r--···0········0········0·····3264·2024-11-20·09:37:25.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·2586 | 3 | -rw-r--r--···0········0········0·25866684·2024-11-20·09:37:25.000000·data.tar.xz |
Offset 9, 15 lines modified | Offset 9, 15 lines modified | ||
9 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/boot/ | 9 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/boot/ |
10 | -rw-r--r--···0·root·········(0)·root·········(0)····27377·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/boot/boot.cma | 10 | -rw-r--r--···0·root·········(0)·root·········(0)····27377·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/boot/boot.cma |
11 | -rw-r--r--···0·root·········(0)·root·········(0)····45120·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/boot/boot.cmxs | 11 | -rw-r--r--···0·root·········(0)·root·········(0)····45120·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/boot/boot.cmxs |
12 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/ | 12 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/ |
13 | -rw-r--r--···0·root·········(0)·root·········(0)···271849·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/coq_checklib.cma | 13 | -rw-r--r--···0·root·········(0)·root·········(0)···271849·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/coq_checklib.cma |
14 | -rw-r--r--···0·root·········(0)·root·········(0)···355408·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/coq_checklib.cmxs | 14 | -rw-r--r--···0·root·········(0)·root·········(0)···355408·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/checklib/coq_checklib.cmxs |
15 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/ | 15 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/ |
16 | -rw-r--r--···0·root·········(0)·root·········(0)···735 | 16 | -rw-r--r--···0·root·········(0)·root·········(0)···735401·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/clib.cma |
17 | -rw-r--r--···0·root·········(0)·root·········(0)···731744·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/clib.cmxs | 17 | -rw-r--r--···0·root·········(0)·root·········(0)···731744·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/clib/clib.cmxs |
18 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/ | 18 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/ |
19 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/byte/ | 19 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/byte/ |
20 | -rw-r--r--···0·root·········(0)·root·········(0)·····3178·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/byte/byte_config.cma | 20 | -rw-r--r--···0·root·········(0)·root·········(0)·····3178·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/byte/byte_config.cma |
21 | -rw-r--r--···0·root·········(0)·root·········(0)·····3896·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/config.cma | 21 | -rw-r--r--···0·root·········(0)·root·········(0)·····3896·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/config.cma |
22 | -rw-r--r--···0·root·········(0)·root·········(0)····25384·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/config.cmxs | 22 | -rw-r--r--···0·root·········(0)·root·········(0)····25384·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/config/config.cmxs |
23 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/coqworkmgrapi/ | 23 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-core/coqworkmgrapi/ |
Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
00000000:·4361·6d6c·3139·3939·4130·3334·0009·58 | 00000000:·4361·6d6c·3139·3939·4130·3334·0009·58a7··Caml1999A034..X. | ||
00000010:·5400·0000·9e01·0000·2900·0000·2a00·0000··T.......)...*... | 00000010:·5400·0000·9e01·0000·2900·0000·2a00·0000··T.......)...*... | ||
00000020:·0100·0000·0100·0000·0b00·0000·1b00·0000··................ | 00000020:·0100·0000·0100·0000·0b00·0000·1b00·0000··................ | ||
00000030:·2200·0000·0a00·0000·4700·0000·0800·0000··".......G....... | 00000030:·2200·0000·0a00·0000·4700·0000·0800·0000··".......G....... | ||
00000040:·0b00·0000·4700·0000·0700·0000·0c00·0000··....G........... | 00000040:·0b00·0000·4700·0000·0700·0000·0c00·0000··....G........... | ||
00000050:·4700·0000·0600·0000·0d00·0000·4700·0000··G...........G... | 00000050:·4700·0000·0600·0000·0d00·0000·4700·0000··G...........G... | ||
00000060:·0400·0000·0e00·0000·4600·0000·0f00·0000··........F....... | 00000060:·0400·0000·0e00·0000·4600·0000·0f00·0000··........F....... | ||
00000070:·4300·0000·3e00·0000·0600·0000·0000·0000··C...>........... | 00000070:·4300·0000·3e00·0000·0600·0000·0000·0000··C...>........... | ||
Offset 1969, 43995 lines modified | Offset 1969, 43995 lines modified | ||
00007b00:·1500·0000·1000·0000·1200·0000·0800·0000··................ | 00007b00:·1500·0000·1000·0000·1200·0000·0800·0000··................ | ||
00007b10:·1200·0000·0a00·0000·1200·0000·0c00·0000··................ | 00007b10:·1200·0000·0a00·0000·1200·0000·0c00·0000··................ | ||
00007b20:·1200·0000·1300·0000·1200·0000·1100·0000··................ | 00007b20:·1200·0000·1300·0000·1200·0000·1100·0000··................ | ||
00007b30:·1200·0000·1700·0000·1200·0000·1a00·0000··................ | 00007b30:·1200·0000·1700·0000·1200·0000·1a00·0000··................ | ||
00007b40:·1200·0000·1300·0000·1200·0000·2300·0000··............#... | 00007b40:·1200·0000·1300·0000·1200·0000·2300·0000··............#... | ||
00007b50:·3e00·0000·0e00·0000·0000·0000·1300·0000··>............... | 00007b50:·3e00·0000·0e00·0000·0000·0000·1300·0000··>............... | Diff chunk too large, falling back to line-by-line diff (1637 lines added, 1637 lines removed) | |
00007b60:·1c00·0000·3900·0000·0000·0000·8495·a6bd··....9........... | 00007b60:·1c00·0000·3900·0000·0000·0000·8495·a6bd··....9........... | ||
00007b70:·12fb·7 | 00007b70:·12fb·7c82·bb48·b06e·81d7·2881·d501·28b5··..|..H.n..(...(. | ||
00007b80:·2ffd·0058· | 00007b80:·2ffd·0058·9def·01ca·a6b6·934f·1010·6a59··/..X.......O..jY | ||
00007b90:·0d07·c | 00007b90:·0d07·022c·5907·c581·c971·52c3·6ccb·b88e··...,Y....qR.l... | ||
00007ba0:· | 00007ba0:·15bf·c4ef·895f·eb2a·03de·1d75·a686·cc6e··....._.*...u...n | ||
00007bb0:· | 00007bb0:·d303·f3c9·9847·483d·7619·03db·fbf7·0c1a··.....GH=v....... | ||
00007bc0:· | 00007bc0:·6372·839b·ec2a·1ba3·089d·19a9·eb91·60e3··cr...*........`. | ||
00007bd0:· | 00007bd0:·dcf7·e5ca·118a·2443·db2e·fd47·0914·090c··......$C...G.... | ||
00007be0:·0 | 00007be0:·0942·4c9f·62e9·773c·e005·613a·91e9·3cd0··.BL.b.w<..a:..<. | ||
00007bf0:· | 00007bf0:·980c·607b·68f8·1998·7e66·6686·15cb·e619··..`{h...~ff..... | ||
00007c00:· | 00007c00:·3e00·c323·b1b4·43a9·49fc·0de2·0b20·447c··>..#..C.I....·D| | ||
00007c10:· | 00007c10:·12c3·13e0·c80d·966d·8b57·8b6f·220b·3406··.......m.W.o".4. | ||
00007c20:· | 00007c20:·db66·c53f·8b3f·0091·2a50·a752·8c8a·ed2a··.f.?.?..*P.R...* | ||
00007c30:· | 00007c30:·e399·28fe·0f0e·60c4·96cf·196c·ab31·9e89··..(...`....l.1.. | ||
00007c40:· | 00007c40:·f180·683c·cc1c·d97e·6aba·10c6·ab2f·ac51··..h<...~j..../.Q | ||
00007c50:· | 00007c50:·aa62·d90c·9e9e·7cfa·0f79·9684·d91d·d247··.b....|..y.....G | ||
00007c60:· | 00007c60:·acdc·d221·565e·8039·0166·e99c·9581·304b··...!V^.9.f....0K | ||
00007c70:·5 | 00007c70:·5fdb·6ab4·b2ee·8f99·ed22·de48·a1c4·ba5e··_.j......".H...^ | ||
00007c80:· | 00007c80:·88f4·112b·b3dd·4482·3cc4·ca6c·0bb1·724b··...+..D.<..l..rK | ||
00007c90:· | 00007c90:·a53e·ac8c·6765·a90e·2bb7·c8be·6165·1b56··.>..ge..+...ae.V | ||
00007ca0:· | 00007ca0:·96d6·b032·9d95·a5d2·392b·27db·382b·bbb0··...2....9+'.8+.. | ||
00007cb0:· | 00007cb0:·32b2·a52b·bf59·592a·6db3·3252·8595·d9ac··2..+.YY*m.2R.... | ||
00007cc0:· | 00007cc0:·ccf6·092b·23a1·a5f0·f434·4f57·4180·e23b··...+#....4OWA..; | ||
00007cd0:· | 00007cd0:·c941·c677·d2a8·bb17·e3d8·36d2·f86e·7734··.A.w......6..nw4 | ||
00007ce0:· | 00007ce0:·abc3·f86e·bb7f·bcb2·ab46·eaba·4a28·d832··...n.....F..J(.2 | ||
00007cf0:·5f | 00007cf0:·397c·5f9f·715d·598d·d475·9f5c·ecd2·fb4e··9|_.q]Y..u.\...N | ||
00007d00:· | 00007d00:·c548·c348·5fa8·70b9·7442·a1cd·6513·25cb··.H.H_.p.tB..e.%. | ||
00007d10:· | 00007d10:·204f·5f5c·3244·a85f·2e9d·50a6·d768·8db2···O_\2D._..P..h.. | ||
00007d20:· | 00007d20:·367a·c7ac·aeb4·a6e6·d897·f100·b6b1·40bd··6z............@. | ||
00007d30:· | 00007d30:·01a8·2325·f1f4·3c4f·5f91·2380·6503·411d··..#%..<O_.#.e.A. | ||
00007d40:· | 00007d40:·0fd4·97ca·cc28·8065·9b30·ce84·f11a·2d8a··.....(.e.0....-. | ||
00007d50:· | 00007d50:·c498·7ad4·d40d·b061·090d·964d·21c6·df18··..z....a...M!... | ||
00007d60:· | 00007d60:·1f92·1545·06cb·1251·e33f·d438·9422·b8b4··...E...Q.?.8.".. | ||
00007d70:· | 00007d70:·d06a·5b9b·e51a·7b4a·0d99·6259·256e·dc85··.j[...{J..bY%n.. | ||
00007d80:· | 00007d80:·1bcf·e029·aaae·638e·34d6·55b2·3d82·65d5··...)..c.4.U.=.e. | ||
00007d90:· | 00007d90:·12b2·8073·fdc1·d638·8aec·6639·7891·a5b5··...s...8..f9x... | ||
00007da0:·d | 00007da0:·cde1·1cc5·d144·4d16·e048·13ce·d116·d94d··.....DM..H.....M | ||
00007db0:· | 00007db0:·c44f·2d01·a2b5·af88·aa0f·a81a·8f3b·3932··.O-..........;92 | ||
00007dc0:· | 00007dc0:·6820·14d4·389a·6c85·b450·0b82·a686·8098··h·..8.l..P...... | ||
00007dd0:· | 00007dd0:·9a11·1d6b·0f3d·2a47·d9ee·2177·6aad·038d··...k.=*G..!wj... | ||
00007de0:· | 00007de0:·cad1·96ed·de21·47c5·baa1·7214·c976·2ba0··.....!G...r..v+. | ||
00007df0:· | 00007df0:·5c39·dad2·ceda·a172·b4a5·52a9·f4b5·ad14··\9.....r..R..... | ||
00007e00:· | 00007e00:·d0ee·a454·75a4·aa47·f98f·efd6·80e3·f1dd··...Tu..G........ | ||
00007e10:· | 00007e10:·b647·e4f1·dd6a·1db3·8eef·768b·06d6·f1dd··.G...j....v..... | ||
00007e20:·c2f1·f8 | 00007e20:·1a39·b2c7·774b·c2f1·f86e·b968·18d5·ce35··.9..wK...n.h...5 | ||
00007e30:· | 00007e30:·f634·be11·1081·67c6·edcc·3857·13ea·dd3a··.4....g...8W...: | ||
00007e40:· | 00007e40:·0025·06f5·6eab·8e61·50ef·f6c6·14ae·f625··.%..n..aP......% | ||
00007e50:· | 00007e50:·5025·cd25·d8d3·0bc5·aa9a·fa8c·a977·d2e9··P%.%.........w.. | ||
00007e60:· | 00007e60:·dd66·3961·39bd·5be6·cad2·2ba7·770b·048a··.f9a9.[...+.w... | ||
00007e70:· | 00007e70:·56fb·57d8·96d4·2b56·8314·c6cd·60fc·c657··V.W...+V....`..W | ||
00007e80:·a | 00007e80:·a777·6b73·0a72·7ab7·ac13·3bbd·5ba0·5314··.wks.rz...;.[.S. | ||
00007e90:· | 00007e90:·ea99·ccae·a772·ab8b·f954·726d·3d99·52ef··.....r...Trm=.R. | ||
00007ea0:· | 00007ea0:·9205·47fd·511f·bac6·778b·81d1·f86e·8530··..G.Q...w....n.0 | ||
00007eb0:· | 00007eb0:·1adf·2da0·a629·9ade·2dcd·c980·95a5·687a··..-..)..-.....hz | ||
00007ec0:· | 00007ec0:·b781·bc18·df2d·134d·0680·2ab7·a04c·30b1··.....-.M..*..L0. | ||
00007ed0:· | 00007ed0:·27d5·abec·0275·2d50·4f3a·97f1·dd2e·8d5e··'....u-PO:.....^ | ||
00007ee0:· | 00007ee0:·c677·7bc5·b854·b9cb·f86e·a918·9350·ef54··.w{..T...n...P.T | ||
00007ef0:· | 00007ef0:·2ee9·da82·3e9d·ccaf·19ef·1112·3878·ba06··....>.......8x.. | ||
00007f00:· | 00007f00:·4f0f·e629·be5b·15c6·a0f1·ddaa·2b87·9102··O..).[......+... | ||
00007f10:· | 00007f10:·8def·d687·7108·75f9·5476·3997·4fc2·c08e··....q.u.Tv9.O... | ||
00007f20:· | 00007f20:·2f02·ecb1·e951·4d5f·9f03·9e3b·4518·e116··/....QM_...;E... | ||
00007f30:·f1 | 00007f30:·bf14·5f2f·451d·88ef·d687·e29d·a917·480b··.._/E.........H. | ||
00007f40:· | 00007f40:·2a18·7f82·f1b4·b310·c705·1a5a·78c1·8e0a··*..........Zx... | ||
00007f50:· | 00007f50:·b6f5·6436·bd3f·7218·60bc·95f1·52a0·8996··..d6.?r.`...R... | ||
00007f60:· | 00007f60:·a002·0969·6e50·2fb6·7c42·bd3e·6c68·a1f8··...inP/.|B.>lh.. | ||
00007f70:· | 00007f70:·37c5·f7d1·60cc·061e·0480·831a·d443·9d4a··7...`........C.J | ||
00007f80:· | 00007f80:·b127·33ea·ed11·0447·f157·c5f3·b192·058b··.'3....G.W...... | ||
00007f90:· | 00007f90:·972b·5a66·50c7·b69e·4ca7·570b·0b94·7831··.+ZfP...L.W...x1 | ||
00007fa0:· | 00007fa0:·e295·602a·12a1·9e8e·5334·a892·5744·862c··..`*....S4..WD., | ||
00007fb0:· | 00007fb0:·30ac·b110·e2bb·4d80·e8ab·cd20·cbd5·1806··0.....M....·.... | ||
00007fc0:· | 00007fc0:·f1dd·b244·a71d·50a8·3c24·be5b·1ec4·3e2a··...D..P.<$.[..>* | ||
00007fd0:· | 00007fd0:·c791·f166·3171·89e1·9318·9e00·3ce2·bbed··...f1q......<... | ||
00007fe0:· | 00007fe0:·118d·88ef·f688·5844·7cb7·3e22·0bea·9534··......XD|.>"...4 | ||
00007ff0:· | 00007ff0:·9960·4ca5·135a·e345·2af1·86cf·0d3f·c409··.`L..Z.E*....?.. | ||
00008000:· | 00008000:·6c52·7063·d602·0bd3·1b88·1822·8fae·c6ae··lRpc.......".... | ||
00008010:· | 00008010:·1045·80b0·4a87·ef96·896d·86ef·9686·210a··.E..J....m....!. | ||
00008020:· | 00008020:·c377·8b67·d846·7d33·8c09·5542·c7be·96ce··.w.g.F}3..UB.... | ||
00008030:· | 00008030:·ad18·2f4b·23b3·85e9·5898·0e04·ed64·86ef··../K#...X....d.. | ||
00008040:· | 00008040:·d6cc·b06c·f86e·d10c·07a0·9619·be5b·0f86··...l.n.......[.. | ||
00008050:· | 00008050:·6cd4·8329·9950·6693·b905·6d2e·bd98·5b4f··l..).Pf...m...[O | ||
00008060:· | 00008060:·268d·778a·9088·e943·4cdf·c102·2fc3·775b··&.w....CL.../.w[ | ||
00008070:· | 00008070:·83ca·d20b·86ef·9683·211b·954f·f862·ca78··........!..O.b.x | ||
00008080:· | 00008080:·9b66·c0bc·b8fb·e26e·6a00·bedb·1b80·53e0··.f.....nj.....S. | ||
00008090:·b | 00008090:·bbcd·32b4·01f8·6e5b·283d·35c3·9a5b·5e4b··..2...n[(=5..[^K | ||
000080a0:· | 000080a0:·3165·d773·39f5·32db·ac41·7a14·e96b·2ae8··1e.s9.2..Az..k*. | ||
000080b0:· | 000080b0:·c225·ce8f·750b·f0dd·9601·92a9·3c7c·328b··.%..u.......<|2. | ||
000080c0:· | 000080c0:·6f12·0bac·b4b8·042d·de01·edbe·77ab·c3e7··o......-....w... | ||
000080d0:· | 000080d0:·7bb7·3f7c·3e7c·ef96·03df·18df·bb81·af87··{.?|>|.......... | ||
000080e0:· | 000080e0:·efdd·eef9·f9de·6d9e·df97·ba42·7dd5·1774··......m....B}..t | ||
000080f0:· | 000080f0:·6c0b·4ab6·6c36·bd0a·7409·59f1·1f2b·ee85··l.J.l6..t.Y..+.. | ||
00008100:· | 00008100:·762c·bc77·5b01·4f0b·efdd·3e7b·5978·ef36··v,.w[.O...>{Yx.6 | ||
00008110:· | 00008110:·e76b·e1ff·0adb·aafa·828e·c178·8df4·a85a··.k.........x...Z | ||
00008120:· | 00008120:·f1aa·15bf·8076·b61b·c9c2·0f1d·136b·32a1··.....v.......k2. | ||
00008130:· | 00008130:·d210·4181·04dc·43c0·3d8b·a686·025e·159e··..A...C.=....^.. | ||
00008140:· | 00008140:·159e·007e·285f·cce7·5309·d665·7c83·dc6a··...~(_..S..e|..j | ||
00008150:· | 00008150:·430f·74fb·0347·dd1b·3943·2743·f746·92c5··C.t..G..9C'C.F.. | ||
00008160:· | 00008160:·d0bd·914b·dc04·e027·be3c·7a58·23f4·a8d0··...K...'.<zX#... | ||
00008170:· | 00008170:·c3b4·74e4·f871·f321·a7c7·ed8d·8461·4eee··..t..q.!.....aN. | ||
00008180:· | 00008180:·8dc4·2157·27f7·6e79·c8ed·7086·27f7·6e83··..!W'.ny..p.'.n. | ||
00008190:·c | 00008190:·c87d·9186·91be·81ce·2e8e·a12e·86f3·8fdf··.}.............. | ||
000081a0:· | 000081a0:·19f6·b5f5·dc6a·12e6·fcda·da12·1b63·1216··.....j.......c.. | ||
000081b0:· | 000081b0:·06b6·c5a4·49f1·f6ea·5026·607b·10db·9524··....I...P&`{...$ | ||
000081c0:· | 000081c0:·ddde·c8a5·9bd2·ed8d·34de·84b7·3792·bdb9··........4...7... | ||
000081d0:· | 000081d0:·39f3·d882·2e9f·4ba7·d38b·e3cd·0a7c·14f8··9.....K......|.. | ||
000081e0:· | 000081e0:·486e·1850·408b·f4f1·e6cc·2685·889c·0910··Hn.P@.....&..... | ||
000081f0:· | 000081f0:·7a23·d75b·b320·0d23·9de2·f899·3c95·4d98··z#.[.·.#....<.M. | ||
00008200:· | 00008200:·5e2d·376c·d6af·599f·c0cb·6fe4·1394·d01b··^-7l..Y...o..... | ||
00008210:· | 00008210:·6925·f421·5635·d230·d2d7·5523·0d23·9d02··i%.!V5.0..U#.#.. | ||
00008220:· | 00008220:·ff25·1897·123a·7c5b·5dc9·9cdf·6419·dd6a··.%...:|[]...d..j | ||
00008230:· | 00008230:·bfbf·f924·acc9·a439·044b·a816·c8f7·8385··...$...9.K...... | ||
00008240:·3 | 00008240:·39a1·cdb0·b6f8·9ebd·5780·9ce8·fdce·30a8··9.......W.....0. | ||
Max diff block lines reached; 5843864/6070989 bytes (96.26%) of diff not shown. |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2024-11-20·09:37:25.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2024-11-20·09:37:25.000000·debian-binary |
2 | -rw-r--r--···0········0········0····6306 | 2 | -rw-r--r--···0········0········0····63068·2024-11-20·09:37:25.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·2346 | 3 | -rw-r--r--···0········0········0·23466088·2024-11-20·09:37:25.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.20.0+dfsg-1 | 3 | Version:·8.20.0+dfsg-1 |
4 | Architecture:·amd64 | 4 | Architecture:·amd64 |
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:·14618 | 6 | Installed-Size:·146181 |
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.20.0+dfsg-1),·libcoq-stdlib-p29e7 | 10 | Provides:·coq-theories·(=·8.20.0+dfsg-1),·libcoq-stdlib-p29e7 |
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 2419, 81 lines modified | Offset 2419, 81 lines modified | ||
2419 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/share/doc/coq-theories/html/ | 2419 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/share/doc/coq-theories/html/ |
2420 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/ | 2420 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/ |
2421 | -rw-r--r--···0·root·········(0)·root·········(0)·····1904·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/README.md.gz | 2421 | -rw-r--r--···0·root·········(0)·root·········(0)·····1904·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/README.md.gz |
2422 | -rw-r--r--···0·root·········(0)·root·········(0)·····4564·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/changelog.Debian.gz | 2422 | -rw-r--r--···0·root·········(0)·root·········(0)·····4564·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/changelog.Debian.gz |
2423 | -rw-r--r--···0·root·········(0)·root·········(0)·····8307·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/copyright | 2423 | -rw-r--r--···0·root·········(0)·root·········(0)·····8307·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/copyright |
2424 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/ | 2424 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/ |
2425 | -rw-r--r--···0·root·········(0)·root·········(0)·····3005·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith.html | 2425 | -rw-r--r--···0·root·········(0)·root·········(0)·····3005·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith.html |
2426 | -rw-r--r--···0·root·········(0)·root·········(0)···10784 | 2426 | -rw-r--r--···0·root·········(0)·root·········(0)···107843·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Arith_base.html |
2427 | -rw-r--r--···0·root·········(0)·root·········(0)····55999·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Between.html | 2427 | -rw-r--r--···0·root·········(0)·root·········(0)····55999·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Between.html |
2428 | -rw-r--r--···0·root·········(0)·root·········(0)····15676·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Bool_nat.html | 2428 | -rw-r--r--···0·root·········(0)·root·········(0)····15676·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Bool_nat.html |
2429 | -rw-r--r--···0·root·········(0)·root·········(0)····22063·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Cantor.html | 2429 | -rw-r--r--···0·root·········(0)·root·········(0)····22063·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Cantor.html |
2430 | -rw-r--r--···0·root·········(0)·root·········(0)····13934·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare.html | 2430 | -rw-r--r--···0·root·········(0)·root·········(0)····13934·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare.html |
2431 | -rw-r--r--···0·root·········(0)·root·········(0)····63890·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare_dec.html | 2431 | -rw-r--r--···0·root·········(0)·root·········(0)····63890·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Compare_dec.html |
2432 | -rw-r--r--···0·root·········(0)·root·········(0)····130 | 2432 | -rw-r--r--···0·root·········(0)·root·········(0)····13018·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.EqNat.html |
2433 | -rw-r--r--···0·root·········(0)·root·········(0)····13946·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Euclid.html | 2433 | -rw-r--r--···0·root·········(0)·root·········(0)····13946·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Euclid.html |
2434 | -rw-r--r--···0·root·········(0)·root·········(0)·····7289·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Factorial.html | 2434 | -rw-r--r--···0·root·········(0)·root·········(0)·····7289·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Factorial.html |
2435 | -rw-r--r--···0·root·········(0)·root·········(0)···3595 | 2435 | -rw-r--r--···0·root·········(0)·root·········(0)···359544·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.PeanoNat.html |
2436 | -rw-r--r--···0·root·········(0)·root·········(0)·····8974·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Peano_dec.html | 2436 | -rw-r--r--···0·root·········(0)·root·········(0)·····8974·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Peano_dec.html |
2437 | -rw-r--r--···0·root·········(0)·root·········(0)····79061·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Wf_nat.html | 2437 | -rw-r--r--···0·root·········(0)·root·········(0)····79061·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Arith.Wf_nat.html |
2438 | -rw-r--r--···0·root·········(0)·root·········(0)····40548·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Array.PArray.html | 2438 | -rw-r--r--···0·root·········(0)·root·········(0)····40548·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Array.PArray.html |
2439 | -rw-r--r--···0·root·········(0)·root·········(0)···228730·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bool.html | 2439 | -rw-r--r--···0·root·········(0)·root·········(0)···228730·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bool.html |
2440 | -rw-r--r--···0·root·········(0)·root·········(0)····16144·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolEq.html | 2440 | -rw-r--r--···0·root·········(0)·root·········(0)····16144·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolEq.html |
2441 | -rw-r--r--···0·root·········(0)·root·········(0)····28687·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolOrder.html | 2441 | -rw-r--r--···0·root·········(0)·root·········(0)····28687·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolOrder.html |
2442 | -rw-r--r--···0·root·········(0)·root·········(0)····34692·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bvector.html | 2442 | -rw-r--r--···0·root·········(0)·root·········(0)····34692·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bvector.html |
2443 | -rw-r--r--···0·root·········(0)·root·········(0)····10524·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.DecBool.html | 2443 | -rw-r--r--···0·root·········(0)·root·········(0)····10524·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.DecBool.html |
2444 | -rw-r--r--···0·root·········(0)·root·········(0)····14176·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.IfProp.html | 2444 | -rw-r--r--···0·root·········(0)·root·········(0)····14176·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.IfProp.html |
2445 | -rw-r--r--···0·root·········(0)·root·········(0)····22507·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Sumbool.html | 2445 | -rw-r--r--···0·root·········(0)·root·········(0)····22507·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Sumbool.html |
2446 | -rw-r--r--···0·root·········(0)·root·········(0)·····9445·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Zerob.html | 2446 | -rw-r--r--···0·root·········(0)·root·········(0)·····9445·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Zerob.html |
2447 | -rw-r--r--···0·root·········(0)·root·········(0)····3329 | 2447 | -rw-r--r--···0·root·········(0)·root·········(0)····33296·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.CEquivalence.html |
2448 | -rw-r--r--···0·root·········(0)·root·········(0)···15300 | 2448 | -rw-r--r--···0·root·········(0)·root·········(0)···153005·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.CMorphisms.html |
2449 | -rw-r--r--···0·root·········(0)·root·········(0)····952 | 2449 | -rw-r--r--···0·root·········(0)·root·········(0)····95257·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.CRelationClasses.html |
2450 | -rw-r--r--···0·root·········(0)·root·········(0)····1469 | 2450 | -rw-r--r--···0·root·········(0)·root·········(0)····14695·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.DecidableClass.html |
2451 | -rw-r--r--···0·root·········(0)·root·········(0)····4130 | 2451 | -rw-r--r--···0·root·········(0)·root·········(0)····41300·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.EquivDec.html |
2452 | -rw-r--r--···0·root·········(0)·root·········(0)····3325 | 2452 | -rw-r--r--···0·root·········(0)·root·········(0)····33254·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Equivalence.html |
2453 | -rw-r--r--···0·root·········(0)·root·········(0)·····690 | 2453 | -rw-r--r--···0·root·········(0)·root·········(0)·····6905·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Init.html |
2454 | -rw-r--r--···0·root·········(0)·root·········(0)···16174 | 2454 | -rw-r--r--···0·root·········(0)·root·········(0)···161745·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Morphisms.html |
2455 | -rw-r--r--···0·root·········(0)·root·········(0)····2601 | 2455 | -rw-r--r--···0·root·········(0)·root·········(0)····26017·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Morphisms_Prop.html |
2456 | -rw-r--r--···0·root·········(0)·root·········(0)····1502 | 2456 | -rw-r--r--···0·root·········(0)·root·········(0)····15024·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.Morphisms_Relations.html |
2457 | -rw-r--r--···0·root·········(0)·root·········(0)···1296 | 2457 | -rw-r--r--···0·root·········(0)·root·········(0)···129667·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.RelationClasses.html |
2458 | -rw-r--r--···0·root·········(0)·root·········(0)····6188 | 2458 | -rw-r--r--···0·root·········(0)·root·········(0)····61887·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.RelationPairs.html |
2459 | -rw-r--r--···0·root·········(0)·root·········(0)····2748 | 2459 | -rw-r--r--···0·root·········(0)·root·········(0)····27486·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.SetoidClass.html |
2460 | -rw-r--r--···0·root·········(0)·root·········(0)····3290 | 2460 | -rw-r--r--···0·root·········(0)·root·········(0)····32903·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.SetoidDec.html |
2461 | -rw-r--r--···0·root·········(0)·root·········(0)····3342 | 2461 | -rw-r--r--···0·root·········(0)·root·········(0)····33426·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.SetoidTactics.html |
2462 | -rw-r--r--···0·root·········(0)·root·········(0)·····3600·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.AdmitAxiom.html | 2462 | -rw-r--r--···0·root·········(0)·root·········(0)·····3600·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.AdmitAxiom.html |
2463 | -rw-r--r--···0·root·········(0)·root·········(0)····36191·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq818.html | 2463 | -rw-r--r--···0·root·········(0)·root·········(0)····36191·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq818.html |
2464 | -rw-r--r--···0·root·········(0)·root·········(0)·····2919·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq819.html | 2464 | -rw-r--r--···0·root·········(0)·root·········(0)·····2919·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq819.html |
2465 | -rw-r--r--···0·root·········(0)·root·········(0)·····2701·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq820.html | 2465 | -rw-r--r--···0·root·········(0)·root·········(0)·····2701·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq820.html |
2466 | -rw-r--r--···0·root·········(0)·root·········(0)···638 | 2466 | -rw-r--r--···0·root·········(0)·root·········(0)···638817·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapAVL.html |
2467 | -rw-r--r--···0·root·········(0)·root·········(0)···4914 | 2467 | -rw-r--r--···0·root·········(0)·root·········(0)···491484·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapFacts.html |
2468 | -rw-r--r--···0·root·········(0)·root·········(0)···249549·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapFullAVL.html | 2468 | -rw-r--r--···0·root·········(0)·root·········(0)···249549·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapFullAVL.html |
2469 | -rw-r--r--···0·root·········(0)·root·········(0)···1342 | 2469 | -rw-r--r--···0·root·········(0)·root·········(0)···134217·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapInterface.html |
2470 | -rw-r--r--···0·root·········(0)·root·········(0)···312563·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapList.html | 2470 | -rw-r--r--···0·root·········(0)·root·········(0)···312563·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapList.html |
2471 | -rw-r--r--···0·root·········(0)·root·········(0)···272480·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapPositive.html | 2471 | -rw-r--r--···0·root·········(0)·root·········(0)···272480·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapPositive.html |
2472 | -rw-r--r--···0·root·········(0)·root·········(0)···273119·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapWeakList.html | 2472 | -rw-r--r--···0·root·········(0)·root·········(0)···273119·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapWeakList.html |
2473 | -rw-r--r--···0·root·········(0)·root·········(0)·····4419·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMaps.html | 2473 | -rw-r--r--···0·root·········(0)·root·········(0)·····4419·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMaps.html |
2474 | -rw-r--r--···0·root·········(0)·root·········(0)·····8980·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetAVL.html | 2474 | -rw-r--r--···0·root·········(0)·root·········(0)·····8980·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetAVL.html |
2475 | -rw-r--r--···0·root·········(0)·root·········(0)···24111 | 2475 | -rw-r--r--···0·root·········(0)·root·········(0)···241118·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetBridge.html |
2476 | -rw-r--r--···0·root·········(0)·root·········(0)···241 | 2476 | -rw-r--r--···0·root·········(0)·root·········(0)···241705·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetCompat.html |
2477 | -rw-r--r--···0·root·········(0)·root·········(0)···253708·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetDecide.html | 2477 | -rw-r--r--···0·root·········(0)·root·········(0)···253708·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetDecide.html |
2478 | -rw-r--r--···0·root·········(0)·root·········(0)···24469 | 2478 | -rw-r--r--···0·root·········(0)·root·········(0)···244692·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetEqProperties.html |
2479 | -rw-r--r--···0·root·········(0)·root·········(0)····98369·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetFacts.html | 2479 | -rw-r--r--···0·root·········(0)·root·········(0)····98369·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetFacts.html |
2480 | -rw-r--r--···0·root·········(0)·root·········(0)···2295 | 2480 | -rw-r--r--···0·root·········(0)·root·········(0)···229591·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetInterface.html |
2481 | -rw-r--r--···0·root·········(0)·root·········(0)·····5845·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetList.html | 2481 | -rw-r--r--···0·root·········(0)·root·········(0)·····5845·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetList.html |
2482 | -rw-r--r--···0·root·········(0)·root·········(0)···284090·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetPositive.html | 2482 | -rw-r--r--···0·root·········(0)·root·········(0)···284090·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetPositive.html |
2483 | -rw-r--r--···0·root·········(0)·root·········(0)···3308 | 2483 | -rw-r--r--···0·root·········(0)·root·········(0)···330840·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetProperties.html |
2484 | -rw-r--r--···0·root·········(0)·root·········(0)····30502·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetToFiniteSet.html | 2484 | -rw-r--r--···0·root·········(0)·root·········(0)····30502·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetToFiniteSet.html |
2485 | -rw-r--r--···0·root·········(0)·root·········(0)·····6058·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetWeakList.html | 2485 | -rw-r--r--···0·root·········(0)·root·········(0)·····6058·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetWeakList.html |
2486 | -rw-r--r--···0·root·········(0)·root·········(0)·····5771·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSets.html | 2486 | -rw-r--r--···0·root·········(0)·root·········(0)·····5771·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSets.html |
2487 | -rw-r--r--···0·root·········(0)·root·········(0)····43972·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatAxioms.html | 2487 | -rw-r--r--···0·root·········(0)·root·········(0)····43972·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatAxioms.html |
2488 | -rw-r--r--···0·root·········(0)·root·········(0)·····3707·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatClass.html | 2488 | -rw-r--r--···0·root·········(0)·root·········(0)·····3707·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatClass.html |
2489 | -rw-r--r--···0·root·········(0)·root·········(0)·····8314·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatLemmas.html | 2489 | -rw-r--r--···0·root·········(0)·root·········(0)·····8314·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatLemmas.html |
2490 | -rw-r--r--···0·root·········(0)·root·········(0)····21337·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatOps.html | 2490 | -rw-r--r--···0·root·········(0)·root·········(0)····21337·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatOps.html |
2491 | -rw-r--r--···0·root·········(0)·root·········(0)·····5273·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.Floats.html | 2491 | -rw-r--r--···0·root·········(0)·root·········(0)·····5273·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.Floats.html |
2492 | -rw-r--r--···0·root·········(0)·root·········(0)····2973 | 2492 | -rw-r--r--···0·root·········(0)·root·········(0)····29731·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.PrimFloat.html |
2493 | -rw-r--r--···0·root·········(0)·root·········(0)···160758·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.SpecFloat.html | 2493 | -rw-r--r--···0·root·········(0)·root·········(0)···160758·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.SpecFloat.html |
2494 | -rw-r--r--···0·root·········(0)·root·········(0)···709026·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Byte.html | 2494 | -rw-r--r--···0·root·········(0)·root·········(0)···709026·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Byte.html |
2495 | -rw-r--r--···0·root·········(0)·root·········(0)···124431·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Datatypes.html | 2495 | -rw-r--r--···0·root·········(0)·root·········(0)···124431·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Datatypes.html |
2496 | -rw-r--r--···0·root·········(0)·root·········(0)····67742·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Decimal.html | 2496 | -rw-r--r--···0·root·········(0)·root·········(0)····67742·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Decimal.html |
2497 | -rw-r--r--···0·root·········(0)·root·········(0)····83097·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Hexadecimal.html | 2497 | -rw-r--r--···0·root·········(0)·root·········(0)····83097·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Hexadecimal.html |
2498 | -rw-r--r--···0·root·········(0)·root·········(0)···532725·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Logic.html | 2498 | -rw-r--r--···0·root·········(0)·root·········(0)···532725·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Logic.html |
2499 | -rw-r--r--···0·root·········(0)·root·········(0)·····2829·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Ltac.html | 2499 | -rw-r--r--···0·root·········(0)·root·········(0)·····2829·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Ltac.html |
Offset 2548, 122 lines modified | Offset 2548, 122 lines modified | ||
2548 | -rw-r--r--···0·root·········(0)·root·········(0)·····7490·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.PropFacts.html | 2548 | -rw-r--r--···0·root·········(0)·root·········(0)·····7490·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.PropFacts.html |
2549 | -rw-r--r--···0·root·········(0)·root·········(0)·····7646·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.RelationalChoice.html | 2549 | -rw-r--r--···0·root·········(0)·root·········(0)·····7646·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.RelationalChoice.html |
2550 | -rw-r--r--···0·root·········(0)·root·········(0)·····3397·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.SetIsType.html | 2550 | -rw-r--r--···0·root·········(0)·root·········(0)·····3397·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.SetIsType.html |
2551 | -rw-r--r--···0·root·········(0)·root·········(0)····17187·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.SetoidChoice.html | 2551 | -rw-r--r--···0·root·········(0)·root·········(0)····17187·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.SetoidChoice.html |
2552 | -rw-r--r--···0·root·········(0)·root·········(0)·····9458·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.StrictProp.html | 2552 | -rw-r--r--···0·root·········(0)·root·········(0)·····9458·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.StrictProp.html |
2553 | -rw-r--r--···0·root·········(0)·root·········(0)····57550·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.WKL.html | 2553 | -rw-r--r--···0·root·········(0)·root·········(0)····57550·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.WKL.html |
2554 | -rw-r--r--···0·root·········(0)·root·········(0)····23285·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.WeakFan.html | 2554 | -rw-r--r--···0·root·········(0)·root·········(0)····23285·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.WeakFan.html |
2555 | -rw-r--r--···0·root·········(0)·root·········(0)···198 | 2555 | -rw-r--r--···0·root·········(0)·root·········(0)···198616·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetAVL.html |
2556 | -rw-r--r--···0·root·········(0)·root·········(0)···2535 | 2556 | -rw-r--r--···0·root·········(0)·root·········(0)···253522·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetDecide.html |
2557 | -rw-r--r--···0·root·········(0)·root·········(0)···24542 | 2557 | -rw-r--r--···0·root·········(0)·root·········(0)···245422·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetEqProperties.html |
2558 | -rw-r--r--···0·root·········(0)·root·········(0)···14762 | 2558 | -rw-r--r--···0·root·········(0)·root·········(0)···147625·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetFacts.html |
2559 | -rw-r--r--···0·root·········(0)·root·········(0)···2398 | 2559 | -rw-r--r--···0·root·········(0)·root·········(0)···239887·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetGenTree.html |
2560 | -rw-r--r--···0·root·········(0)·root·········(0)···34577 | 2560 | -rw-r--r--···0·root·········(0)·root·········(0)···345778·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetInterface.html |
2561 | -rw-r--r--···0·root·········(0)·root·········(0)···2034 | 2561 | -rw-r--r--···0·root·········(0)·root·········(0)···203414·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetList.html |
2562 | -rw-r--r--···0·root·········(0)·root·········(0)···233427·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetPositive.html | 2562 | -rw-r--r--···0·root·········(0)·root·········(0)···233427·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetPositive.html |
2563 | -rw-r--r--···0·root·········(0)·root·········(0)···3322 | 2563 | -rw-r--r--···0·root·········(0)·root·········(0)···332295·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetProperties.html |
2564 | -rw-r--r--···0·root·········(0)·root·········(0)···463 | 2564 | -rw-r--r--···0·root·········(0)·root·········(0)···463907·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetRBT.html |
2565 | -rw-r--r--···0·root·········(0)·root·········(0)····3036 | 2565 | -rw-r--r--···0·root·········(0)·root·········(0)····30365·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetToFiniteSet.html |
2566 | -rw-r--r--···0·root·········(0)·root·········(0)···1279 | 2566 | -rw-r--r--···0·root·········(0)·root·········(0)···127910·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetWeakList.html |
2567 | -rw-r--r--···0·root·········(0)·root·········(0)·····5306·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSets.html | 2567 | -rw-r--r--···0·root·········(0)·root·········(0)·····5306·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSets.html |
2568 | -rw-r--r--···0·root·········(0)·root·········(0)···281095·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.BinNat.html | 2568 | -rw-r--r--···0·root·········(0)·root·········(0)···281095·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.BinNat.html |
2569 | -rw-r--r--···0·root·········(0)·root·········(0)····99064·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.BinNatDef.html | 2569 | -rw-r--r--···0·root·········(0)·root·········(0)····99064·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.BinNatDef.html |
2570 | -rw-r--r--···0·root·········(0)·root·········(0)·····7411·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.NArith.html | 2570 | -rw-r--r--···0·root·········(0)·root·········(0)·····7411·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.NArith.html |
2571 | -rw-r--r--···0·root·········(0)·root·········(0)····88281·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndec.html | 2571 | -rw-r--r--···0·root·········(0)·root·········(0)····88281·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndec.html |
2572 | -rw-r--r--···0·root·········(0)·root·········(0)·····8571·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndiv_def.html | 2572 | -rw-r--r--···0·root·········(0)·root·········(0)·····8571·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndiv_def.html |
2573 | -rw-r--r--···0·root·········(0)·root·········(0)·····6254·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ngcd_def.html | 2573 | -rw-r--r--···0·root·········(0)·root·········(0)·····6254·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ngcd_def.html |
2574 | -rw-r--r--···0·root·········(0)·root·········(0)····69143·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Nnat.html | 2574 | -rw-r--r--···0·root·········(0)·root·········(0)····69143·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Nnat.html |
2575 | -rw-r--r--···0·root·········(0)·root·········(0)·····3820·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Nsqrt_def.html | 2575 | -rw-r--r--···0·root·········(0)·root·········(0)·····3820·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Nsqrt_def.html |
2576 | -rw-r--r--···0·root·········(0)·root·········(0)····1173 | 2576 | -rw-r--r--···0·root·········(0)·root·········(0)····11732·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.AltBinNotations.html |
2577 | -rw-r--r--···0·root·········(0)·root·········(0)····1556 | 2577 | -rw-r--r--···0·root·········(0)·root·········(0)····15560·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.BinNums.html |
2578 | -rw-r--r--···0·root·········(0)·root·········(0)·····4226·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.CarryType.html | 2578 | -rw-r--r--···0·root·········(0)·root·········(0)·····4226·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.CarryType.html |
2579 | -rw-r--r--···0·root·········(0)·root·········(0)···21024 | 2579 | -rw-r--r--···0·root·········(0)·root·········(0)···210247·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html |
2580 | -rw-r--r--···0·root·········(0)·root·········(0)····14968·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.DoubleType.html | 2580 | -rw-r--r--···0·root·········(0)·root·········(0)····14968·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.DoubleType.html |
2581 | -rw-r--r--···0·root·········(0)·root·········(0)····5472 | 2581 | -rw-r--r--···0·root·········(0)·root·········(0)····54726·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.NZCyclic.html |
2582 | -rw-r--r--···0·root·········(0)·root·········(0)····7729 | 2582 | -rw-r--r--···0·root·········(0)·root·········(0)····77295·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Cyclic63.html |
2583 | -rw-r--r--···0·root·········(0)·root·········(0)····18492·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.PrimInt63.html | 2583 | -rw-r--r--···0·root·········(0)·root·········(0)····18492·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.PrimInt63.html |
2584 | -rw-r--r--···0·root·········(0)·root·········(0)····1922 | 2584 | -rw-r--r--···0·root·········(0)·root·········(0)····19221·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Ring63.html |
2585 | -rw-r--r--···0·root·········(0)·root·········(0)···103930·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Sint63.html | 2585 | -rw-r--r--···0·root·········(0)·root·········(0)···103930·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Sint63.html |
2586 | -rw-r--r--···0·root·········(0)·root·········(0)···476321·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Uint63.html | 2586 | -rw-r--r--···0·root·········(0)·root·········(0)···476321·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Uint63.html |
2587 | -rw-r--r--···0·root·········(0)·root·········(0)···15191 | 2587 | -rw-r--r--···0·root·········(0)·root·········(0)···151917·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalFacts.html |
2588 | -rw-r--r--···0·root·········(0)·root·········(0)····2085 | 2588 | -rw-r--r--···0·root·········(0)·root·········(0)····20857·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalN.html |
2589 | -rw-r--r--···0·root·········(0)·root·········(0)····601 | 2589 | -rw-r--r--···0·root·········(0)·root·········(0)····60109·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalNat.html |
2590 | -rw-r--r--···0·root·········(0)·root·········(0)····7825 | 2590 | -rw-r--r--···0·root·········(0)·root·········(0)····78255·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalPos.html |
2591 | -rw-r--r--···0·root·········(0)·root·········(0)····5283 | 2591 | -rw-r--r--···0·root·········(0)·root·········(0)····52836·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalQ.html |
2592 | -rw-r--r--···0·root·········(0)·root·········(0)····1656 | 2592 | -rw-r--r--···0·root·········(0)·root·········(0)····16562·2024-11-20·09:37:25.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalR.html |
Max diff block lines reached; 33987/63218 bytes (53.76%) of diff not shown. |
Offset 54, 15 lines modified | Offset 54, 15 lines modified | ||
54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.EqNat.html#"><span·class="id"·title="library">EqNat</span></a>.<br/> | 54 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.EqNat.html#"><span·class="id"·title="library">EqNat</span></a>.<br/> |
55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Wf_nat.html#"><span·class="id"·title="library">Wf_nat</span></a>.<br/> | 55 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Arith.Wf_nat.html#"><span·class="id"·title="library">Wf_nat</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="lab2"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">arith</span></span>·hint·database</h1> |
60 | </div> | 60 | </div> |
61 | <div·class="code"> | 61 | <div·class="code"> |
62 | <br/> | 62 | <br/> |
63 | #[<span·class="id"·title="var">global</span>]<br/> | 63 | #[<span·class="id"·title="var">global</span>]<br/> |
64 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">eq_nat_refl</span>:·<span·class="id"·title="var">arith</span>.<br/> | 64 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">eq_nat_refl</span>:·<span·class="id"·title="var">arith</span>.<br/> |
Offset 76, 15 lines modified | Offset 76, 15 lines modified | ||
76 | #[<span·class="id"·title="var">global</span>]<br/> | 76 | #[<span·class="id"·title="var">global</span>]<br/> |
77 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">in_int_Sp_q</span>·<span·class="id"·title="var">exists_le_S</span>·<span·class="id"·title="var">exists_S_le</span>:·<span·class="id"·title="var">arith</span>.<br/> | 77 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">in_int_Sp_q</span>·<span·class="id"·title="var">exists_le_S</span>·<span·class="id"·title="var">exists_S_le</span>:·<span·class="id"·title="var">arith</span>.<br/> |
78 | <br/> | 78 | <br/> |
79 | </div> | 79 | </div> |
80 | <div·class="doc"> | 80 | <div·class="doc"> |
81 | <a·id="lab | 81 | <a·id="lab3"></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> |
82 | </div> | 82 | </div> |
83 | <div·class="code"> | 83 | <div·class="code"> |
84 | #[<span·class="id"·title="var">global</span>]<br/> | 84 | #[<span·class="id"·title="var">global</span>]<br/> |
85 | <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/> | 85 | <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/> |
86 | <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/> | 86 | <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/> |
87 | <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/> | 87 | <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="lab1"></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 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="lab4"></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 163, 15 lines modified | Offset 163, 15 lines modified | ||
163 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nat.le"·class="idref"·href="#Nat.le"><span·class="id"·title="definition">le</span></a>·:=·<a·class="idref"·href="Coq.Init.Peano.html#le"><span·class="id"·title="inductive">Peano.le</span></a>.<br/> | 163 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nat.le"·class="idref"·href="#Nat.le"><span·class="id"·title="definition">le</span></a>·:=·<a·class="idref"·href="Coq.Init.Peano.html#le"><span·class="id"·title="inductive">Peano.le</span></a>.<br/> |
164 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nat.lt"·class="idref"·href="#Nat.lt"><span·class="id"·title="definition">lt</span></a>·:=·<a·class="idref"·href="Coq.Init.Peano.html#lt"><span·class="id"·title="definition">Peano.lt</span></a>.<br/> | 164 | <span·class="id"·title="keyword">Definition</span>·<a·id="Nat.lt"·class="idref"·href="#Nat.lt"><span·class="id"·title="definition">lt</span></a>·:=·<a·class="idref"·href="Coq.Init.Peano.html#lt"><span·class="id"·title="definition">Peano.lt</span></a>.<br/> |
165 | <br/> | 165 | <br/> |
166 | </div> | 166 | </div> |
167 | <div·class="doc"> | 167 | <div·class="doc"> |
168 | <a·id="lab | 168 | <a·id="lab5"></a><h2·class="section">Basic·specifications·:·pred·add·sub·mul</h2> |
169 | </div> | 169 | </div> |
170 | <div·class="code"> | 170 | <div·class="code"> |
171 | <br/> | 171 | <br/> |
172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pred_succ"·class="idref"·href="#Nat.pred_succ"><span·class="id"·title="lemma">pred_succ</span></a>·<a·id="n:15"·class="idref"·href="#n:15"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.pred"><span·class="id"·title="definition">pred</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:15"><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.Arith.PeanoNat.html#n:15"><span·class="id"·title="variable">n</span></a>.<br/> | 172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pred_succ"·class="idref"·href="#Nat.pred_succ"><span·class="id"·title="lemma">pred_succ</span></a>·<a·id="n:15"·class="idref"·href="#n:15"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.pred"><span·class="id"·title="definition">pred</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:15"><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.Arith.PeanoNat.html#n:15"><span·class="id"·title="variable">n</span></a>.<br/> |
173 | · | 173 | · |
Offset 205, 15 lines modified | Offset 205, 15 lines modified | ||
205 | <br/> | 205 | <br/> |
206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.lt_succ_r"·class="idref"·href="#Nat.lt_succ_r"><span·class="id"·title="lemma">lt_succ_r</span></a>·<a·id="n:33"·class="idref"·href="#n:33"><span·class="id"·title="binder">n</span></a>·<a·id="m:34"·class="idref"·href="#m:34"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:33"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#::nat_scope:x_'<'_x"><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.Arith.PeanoNat.html#m:34"><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.Arith.PeanoNat.html#n:33"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:34"><span·class="id"·title="variable">m</span></a>.<br/> | 206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.lt_succ_r"·class="idref"·href="#Nat.lt_succ_r"><span·class="id"·title="lemma">lt_succ_r</span></a>·<a·id="n:33"·class="idref"·href="#n:33"><span·class="id"·title="binder">n</span></a>·<a·id="m:34"·class="idref"·href="#m:34"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:33"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#::nat_scope:x_'<'_x"><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.Arith.PeanoNat.html#m:34"><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.Arith.PeanoNat.html#n:33"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:34"><span·class="id"·title="variable">m</span></a>.<br/> |
207 | <br/> | 207 | <br/> |
208 | </div> | 208 | </div> |
209 | <div·class="doc"> | 209 | <div·class="doc"> |
210 | <a·id="lab | 210 | <a·id="lab6"></a><h2·class="section">Boolean·comparisons</h2> |
211 | </div> | 211 | </div> |
212 | <div·class="code"> | 212 | <div·class="code"> |
213 | <br/> | 213 | <br/> |
214 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.eqb_eq"·class="idref"·href="#Nat.eqb_eq"><span·class="id"·title="lemma">eqb_eq</span></a>·<a·id="n:35"·class="idref"·href="#n:35"><span·class="id"·title="binder">n</span></a>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:36"><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.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.Arith.PeanoNat.html#n:35"><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.Arith.PeanoNat.html#m:36"><span·class="id"·title="variable">m</span></a>.<br/> | 214 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.eqb_eq"·class="idref"·href="#Nat.eqb_eq"><span·class="id"·title="lemma">eqb_eq</span></a>·<a·id="n:35"·class="idref"·href="#n:35"><span·class="id"·title="binder">n</span></a>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:36"><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.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.Arith.PeanoNat.html#n:35"><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.Arith.PeanoNat.html#m:36"><span·class="id"·title="variable">m</span></a>.<br/> |
Offset 237, 27 lines modified | Offset 237, 27 lines modified | ||
237 | · | 237 | · |
238 | <br/> | 238 | <br/> |
239 | <br/> | 239 | <br/> |
240 | </div> | 240 | </div> |
241 | <div·class="doc"> | 241 | <div·class="doc"> |
242 | <a·id="lab | 242 | <a·id="lab7"></a><h2·class="section">Decidability·of·equality·over·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>.</h2> |
243 | </div> | 243 | </div> |
244 | <div·class="code"> | 244 | <div·class="code"> |
245 | <br/> | 245 | <br/> |
246 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.eq_dec"·class="idref"·href="#Nat.eq_dec"><span·class="id"·title="lemma">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:45"·class="idref"·href="#n:45"><span·class="id"·title="binder">n</span></a>·<a·id="m:46"·class="idref"·href="#m:46"><span·class="id"·title="binder">m</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.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:45"><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.Arith.PeanoNat.html#m:46"><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.Arith.PeanoNat.html#n:45"><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.Arith.PeanoNat.html#m:46"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 246 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.eq_dec"·class="idref"·href="#Nat.eq_dec"><span·class="id"·title="lemma">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:45"·class="idref"·href="#n:45"><span·class="id"·title="binder">n</span></a>·<a·id="m:46"·class="idref"·href="#m:46"><span·class="id"·title="binder">m</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.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:45"><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.Arith.PeanoNat.html#m:46"><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.Arith.PeanoNat.html#n:45"><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.Arith.PeanoNat.html#m:46"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> |
247 | <br/> | 247 | <br/> |
248 | </div> | 248 | </div> |
249 | <div·class="doc"> | 249 | <div·class="doc"> |
250 | <a·id="lab | 250 | <a·id="lab8"></a><h2·class="section">Ternary·comparison</h2> |
251 | <div·class="paragraph">·</div> | 251 | <div·class="paragraph">·</div> |
252 | ·With·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·it·would·be·easier·to·prove·first·<span·class="inlinecode"><span·class="id"·title="var">compare_spec</span></span>, | 252 | ·With·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·it·would·be·easier·to·prove·first·<span·class="inlinecode"><span·class="id"·title="var">compare_spec</span></span>, |
253 | ····then·the·properties·below.·But·then·we·wouldn't·be·able·to | 253 | ····then·the·properties·below.·But·then·we·wouldn't·be·able·to |
254 | ····benefit·from·functor·<span·class="inlinecode"><span·class="id"·title="var">BoolOrderFacts</span></span>· | 254 | ····benefit·from·functor·<span·class="inlinecode"><span·class="id"·title="var">BoolOrderFacts</span></span>· |
255 | </div> | 255 | </div> |
Offset 278, 15 lines modified | Offset 278, 15 lines modified | ||
278 | <br/> | 278 | <br/> |
279 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.compare_succ"·class="idref"·href="#Nat.compare_succ"><span·class="id"·title="lemma">compare_succ</span></a>·<a·id="n:55"·class="idref"·href="#n:55"><span·class="id"·title="binder">n</span></a>·<a·id="m:56"·class="idref"·href="#m:56"><span·class="id"·title="binder">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.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:55"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#4a243c6f4b9487508e7110341eeedb0b"><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.Arith.PeanoNat.html#m:56"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:55"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:56"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 279 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.compare_succ"·class="idref"·href="#Nat.compare_succ"><span·class="id"·title="lemma">compare_succ</span></a>·<a·id="n:55"·class="idref"·href="#n:55"><span·class="id"·title="binder">n</span></a>·<a·id="m:56"·class="idref"·href="#m:56"><span·class="id"·title="binder">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.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:55"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#4a243c6f4b9487508e7110341eeedb0b"><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.Arith.PeanoNat.html#m:56"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#n:55"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:56"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> |
280 | · | 280 | · |
281 | <br/> | 281 | <br/> |
282 | </div> | 282 | </div> |
283 | <div·class="doc"> | 283 | <div·class="doc"> |
284 | <a·id="lab | 284 | <a·id="lab9"></a><h2·class="section">Minimum,·maximum</h2> |
285 | </div> | 285 | </div> |
286 | <div·class="code"> | 286 | <div·class="code"> |
287 | <br/> | 287 | <br/> |
288 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.max_l"·class="idref"·href="#Nat.max_l"><span·class="id"·title="lemma">max_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:57"·class="idref"·href="#n:57"><span·class="id"·title="binder">n</span></a>·<a·id="m:58"·class="idref"·href="#m:58"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:58"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><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.Arith.PeanoNat.html#Nat.max"><span·class="id"·title="definition">max</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:58"><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.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>.<br/> | 288 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.max_l"·class="idref"·href="#Nat.max_l"><span·class="id"·title="lemma">max_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:57"·class="idref"·href="#n:57"><span·class="id"·title="binder">n</span></a>·<a·id="m:58"·class="idref"·href="#m:58"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:58"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><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.Arith.PeanoNat.html#Nat.max"><span·class="id"·title="definition">max</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:58"><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.Arith.PeanoNat.html#n:57"><span·class="id"·title="variable">n</span></a>.<br/> |
289 | · | 289 | · |
Offset 328, 15 lines modified | Offset 328, 15 lines modified | ||
328 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.strong_induction_le"·class="idref"·href="#Nat.strong_induction_le"><span·class="id"·title="lemma">strong_induction_le</span></a>·(<a·id="A:65"·class="idref"·href="#A:65"><span·class="id"·title="binder">A</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>)·:<br/> | 328 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.strong_induction_le"·class="idref"·href="#Nat.strong_induction_le"><span·class="id"·title="lemma">strong_induction_le</span></a>·(<a·id="A:65"·class="idref"·href="#A:65"><span·class="id"·title="binder">A</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>)·:<br/> |
329 | <a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</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#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:66"·class="idref"·href="#n:66"><span·class="id"·title="binder">n</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">forall</span>·<a·id="m:67"·class="idref"·href="#m:67"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:67"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:66"><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.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:67"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</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:66"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:68"·class="idref"·href="#n:68"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:68"><span·class="id"·title="variable">n</span></a>.<br/> | 329 | <a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</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#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:66"·class="idref"·href="#n:66"><span·class="id"·title="binder">n</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">forall</span>·<a·id="m:67"·class="idref"·href="#m:67"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:67"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:66"><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.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#m:67"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</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:66"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:68"·class="idref"·href="#n:68"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Arith.PeanoNat.html#A:65"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:68"><span·class="id"·title="variable">n</span></a>.<br/> |
330 | · | 330 | · |
331 | <br/> | 331 | <br/> |
332 | </div> | 332 | </div> |
333 | <div·class="doc"> | 333 | <div·class="doc"> |
334 | <a·id="lab1 | 334 | <a·id="lab10"></a><h2·class="section">Power</h2> |
335 | </div> | 335 | </div> |
336 | <div·class="code"> | 336 | <div·class="code"> |
337 | <br/> | 337 | <br/> |
338 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pow_neg_r"·class="idref"·href="#Nat.pow_neg_r"><span·class="id"·title="lemma">pow_neg_r</span></a>·<a·id="a:69"·class="idref"·href="#a:69"><span·class="id"·title="binder">a</span></a>·<a·id="b:70"·class="idref"·href="#b:70"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#b:70"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Peano.html#::nat_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.Arith.PeanoNat.html#a:69"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:70"><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/> | 338 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pow_neg_r"·class="idref"·href="#Nat.pow_neg_r"><span·class="id"·title="lemma">pow_neg_r</span></a>·<a·id="a:69"·class="idref"·href="#a:69"><span·class="id"·title="binder">a</span></a>·<a·id="b:70"·class="idref"·href="#b:70"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#b:70"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Peano.html#::nat_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.Arith.PeanoNat.html#a:69"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:70"><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/> |
339 | · | 339 | · |
Offset 346, 27 lines modified | Offset 346, 27 lines modified | ||
346 | <br/> | 346 | <br/> |
347 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pow_succ_r"·class="idref"·href="#Nat.pow_succ_r"><span·class="id"·title="lemma">pow_succ_r</span></a>·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>·<a·id="b:73"·class="idref"·href="#b:73"><span·class="id"·title="binder">b</span></a>·:·0<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><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.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><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.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><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.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a>.<br/> | 347 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.pow_succ_r"·class="idref"·href="#Nat.pow_succ_r"><span·class="id"·title="lemma">pow_succ_r</span></a>·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>·<a·id="b:73"·class="idref"·href="#b:73"><span·class="id"·title="binder">b</span></a>·:·0<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><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.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><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.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><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.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#a:72"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Nat.html#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Arith.PeanoNat.html#b:73"><span·class="id"·title="variable">b</span></a>.<br/> |
348 | · | 348 | · |
349 | <br/> | 349 | <br/> |
350 | </div> | 350 | </div> |
351 | <div·class="doc"> | 351 | <div·class="doc"> |
352 | <a·id="lab1 | 352 | <a·id="lab11"></a><h2·class="section">Square</h2> |
353 | </div> | 353 | </div> |
354 | <div·class="code"> | 354 | <div·class="code"> |
355 | <br/> | 355 | <br/> |
356 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.square_spec"·class="idref"·href="#Nat.square_spec"><span·class="id"·title="lemma">square_spec</span></a>·<a·id="n:74"·class="idref"·href="#n:74"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.square"><span·class="id"·title="definition">square</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><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.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>.<br/> | 356 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Nat.square_spec"·class="idref"·href="#Nat.square_spec"><span·class="id"·title="lemma">square_spec</span></a>·<a·id="n:74"·class="idref"·href="#n:74"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Arith.PeanoNat.html#Nat.square"><span·class="id"·title="definition">square</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><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.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Arith.PeanoNat.html#n:74"><span·class="id"·title="variable">n</span></a>.<br/> |
357 | · | 357 | · |
358 | <br/> | 358 | <br/> |
359 | </div> | 359 | </div> |
360 | <div·class="doc"> | 360 | <div·class="doc"> |
Max diff block lines reached; 23871/45215 bytes (52.79%) of diff not shown. |
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="lab302"></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="lab303"></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 134, 15 lines modified | Offset 134, 15 lines modified | ||
134 | <br/> | 134 | <br/> |
135 | <span·class="id"·title="keyword">Lemma</span>·<a·id="not_false_iff_true"·class="idref"·href="#not_false_iff_true"><span·class="id"·title="lemma">not_false_iff_true</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:9"·class="idref"·href="#b:9"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b:9"><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.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</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#b:9"><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.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 135 | <span·class="id"·title="keyword">Lemma</span>·<a·id="not_false_iff_true"·class="idref"·href="#not_false_iff_true"><span·class="id"·title="lemma">not_false_iff_true</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:9"·class="idref"·href="#b:9"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b:9"><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.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</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#b:9"><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.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> |
136 | <br/> | 136 | <br/> |
137 | </div> | 137 | </div> |
138 | <div·class="doc"> | 138 | <div·class="doc"> |
139 | <a·id="lab | 139 | <a·id="lab304"></a><h1·class="section">Order·on·booleans</h1> |
140 | </div> | 140 | </div> |
141 | <div·class="code"> | 141 | <div·class="code"> |
142 | <br/> | 142 | <br/> |
143 | #[·<span·class="id"·title="var">local</span>·]·<span·class="id"·title="keyword">Definition</span>·<a·id="le"·class="idref"·href="#le"><span·class="id"·title="definition">le</span></a>·(<a·id="b1:10"·class="idref"·href="#b1:10"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:11"·class="idref"·href="#b2:11"><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>)·:=<br/> | 143 | #[·<span·class="id"·title="var">local</span>·]·<span·class="id"·title="keyword">Definition</span>·<a·id="le"·class="idref"·href="#le"><span·class="id"·title="definition">le</span></a>·(<a·id="b1:10"·class="idref"·href="#b1:10"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:11"·class="idref"·href="#b2:11"><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>)·:=<br/> |
144 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:10"><span·class="id"·title="variable">b1</span></a>·<span·class="id"·title="keyword">with</span><br/> | 144 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:10"><span·class="id"·title="variable">b1</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 176, 15 lines modified | Offset 176, 15 lines modified | ||
176 | <span·class="id"·title="keyword">Lemma</span>·<a·id="compare_spec"·class="idref"·href="#compare_spec"><span·class="id"·title="lemma">compare_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:22"·class="idref"·href="#b1:22"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:23"·class="idref"·href="#b2:23"><span·class="id"·title="binder">b2</span></a>,<br/> | 176 | <span·class="id"·title="keyword">Lemma</span>·<a·id="compare_spec"·class="idref"·href="#compare_spec"><span·class="id"·title="lemma">compare_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:22"·class="idref"·href="#b1:22"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:23"·class="idref"·href="#b2:23"><span·class="id"·title="binder">b2</span></a>,<br/> |
177 | <a·class="idref"·href="Coq.Init.Datatypes.html#CompareSpec"><span·class="id"·title="inductive">CompareSpec</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><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:23"><span·class="id"·title="variable">b2</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#lt"><span·class="id"·title="definition">lt</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#lt"><span·class="id"·title="definition">lt</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#compare"><span·class="id"·title="definition">compare</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>).<br/> | 177 | <a·class="idref"·href="Coq.Init.Datatypes.html#CompareSpec"><span·class="id"·title="inductive">CompareSpec</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><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:23"><span·class="id"·title="variable">b2</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#lt"><span·class="id"·title="definition">lt</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#lt"><span·class="id"·title="definition">lt</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>)·(<a·class="idref"·href="Coq.Bool.Bool.html#compare"><span·class="id"·title="definition">compare</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:22"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:23"><span·class="id"·title="variable">b2</span></a>).<br/> |
178 | · | 178 | · |
179 | <br/> | 179 | <br/> |
180 | </div> | 180 | </div> |
181 | <div·class="doc"> | 181 | <div·class="doc"> |
182 | <a·id="lab | 182 | <a·id="lab305"></a><h1·class="section">Equality</h1> |
183 | </div> | 183 | </div> |
184 | <div·class="code"> | 184 | <div·class="code"> |
185 | <br/> | 185 | <br/> |
186 | <span·class="id"·title="keyword">Definition</span>·<a·id="eqb"·class="idref"·href="#eqb"><span·class="id"·title="definition">eqb</span></a>·(<a·id="b1:24"·class="idref"·href="#b1:24"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:25"·class="idref"·href="#b2:25"><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.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 186 | <span·class="id"·title="keyword">Definition</span>·<a·id="eqb"·class="idref"·href="#eqb"><span·class="id"·title="definition">eqb</span></a>·(<a·id="b1:24"·class="idref"·href="#b1:24"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:25"·class="idref"·href="#b2:25"><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.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> |
187 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:24"><span·class="id"·title="variable">b1</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b2:25"><span·class="id"·title="variable">b2</span></a>·<span·class="id"·title="keyword">with</span><br/> | 187 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:24"><span·class="id"·title="variable">b1</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b2:25"><span·class="id"·title="variable">b2</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 219, 15 lines modified | Offset 219, 15 lines modified | ||
219 | <br/> | 219 | <br/> |
220 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_false_iff"·class="idref"·href="#eqb_false_iff"><span·class="id"·title="lemma">eqb_false_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:38"·class="idref"·href="#a:38"><span·class="id"·title="binder">a</span></a>·<a·id="b:39"·class="idref"·href="#b:39"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#a:38"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:39"><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.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</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#a:38"><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.Bool.Bool.html#b:39"><span·class="id"·title="variable">b</span></a>.<br/> | 220 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_false_iff"·class="idref"·href="#eqb_false_iff"><span·class="id"·title="lemma">eqb_false_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:38"·class="idref"·href="#a:38"><span·class="id"·title="binder">a</span></a>·<a·id="b:39"·class="idref"·href="#b:39"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#a:38"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:39"><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.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</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#a:38"><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.Bool.Bool.html#b:39"><span·class="id"·title="variable">b</span></a>.<br/> |
221 | <br/> | 221 | <br/> |
222 | </div> | 222 | </div> |
223 | <div·class="doc"> | 223 | <div·class="doc"> |
224 | <a·id="lab | 224 | <a·id="lab306"></a><h1·class="section">A·synonym·of·<span·class="inlinecode"><span·class="id"·title="keyword">if</span></span>·on·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span></h1> |
225 | </div> | 225 | </div> |
226 | <div·class="code"> | 226 | <div·class="code"> |
227 | <br/> | 227 | <br/> |
228 | <span·class="id"·title="keyword">Definition</span>·<a·id="ifb"·class="idref"·href="#ifb"><span·class="id"·title="definition">ifb</span></a>·(<a·id="b1:40"·class="idref"·href="#b1:40"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:41"·class="idref"·href="#b2:41"><span·class="id"·title="binder">b2</span></a>·<a·id="b3:42"·class="idref"·href="#b3:42"><span·class="id"·title="binder">b3</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.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 228 | <span·class="id"·title="keyword">Definition</span>·<a·id="ifb"·class="idref"·href="#ifb"><span·class="id"·title="definition">ifb</span></a>·(<a·id="b1:40"·class="idref"·href="#b1:40"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:41"·class="idref"·href="#b2:41"><span·class="id"·title="binder">b2</span></a>·<a·id="b3:42"·class="idref"·href="#b3:42"><span·class="id"·title="binder">b3</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.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> |
229 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:40"><span·class="id"·title="variable">b1</span></a>·<span·class="id"·title="keyword">with</span><br/> | 229 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:40"><span·class="id"·title="variable">b1</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 238, 30 lines modified | Offset 238, 30 lines modified | ||
238 | <br/> | 238 | <br/> |
239 | <span·class="id"·title="keyword">Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">bool_scope</span>.<br/> | 239 | <span·class="id"·title="keyword">Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">bool_scope</span>.<br/> |
240 | <br/> | 240 | <br/> |
241 | </div> | 241 | </div> |
242 | <div·class="doc"> | 242 | <div·class="doc"> |
243 | <a·id="lab | 243 | <a·id="lab307"></a><h1·class="section">De·Morgan·laws</h1> |
244 | </div> | 244 | </div> |
245 | <div·class="code"> | 245 | <div·class="code"> |
246 | <br/> | 246 | <br/> |
247 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_orb"·class="idref"·href="#negb_orb"><span·class="id"·title="lemma">negb_orb</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:44"·class="idref"·href="#b1:44"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:45"·class="idref"·href="#b2:45"><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.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:44"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:45"><span·class="id"·title="variable">b2</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#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:44"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::bool_scope:x_'&&'_x"><span·class="id"·title="notation">&&</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:45"><span·class="id"·title="variable">b2</span></a>.<br/> | 247 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_orb"·class="idref"·href="#negb_orb"><span·class="id"·title="lemma">negb_orb</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:44"·class="idref"·href="#b1:44"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:45"·class="idref"·href="#b2:45"><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.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:44"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:45"><span·class="id"·title="variable">b2</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#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:44"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::bool_scope:x_'&&'_x"><span·class="id"·title="notation">&&</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:45"><span·class="id"·title="variable">b2</span></a>.<br/> |
248 | <br/> | 248 | <br/> |
249 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_andb"·class="idref"·href="#negb_andb"><span·class="id"·title="lemma">negb_andb</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:46"·class="idref"·href="#b1:46"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:47"·class="idref"·href="#b2:47"><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.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:46"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::bool_scope:x_'&&'_x"><span·class="id"·title="notation">&&</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:47"><span·class="id"·title="variable">b2</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#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:46"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:47"><span·class="id"·title="variable">b2</span></a>.<br/> | 249 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_andb"·class="idref"·href="#negb_andb"><span·class="id"·title="lemma">negb_andb</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:46"·class="idref"·href="#b1:46"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:47"·class="idref"·href="#b2:47"><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.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Bool.Bool.html#b1:46"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::bool_scope:x_'&&'_x"><span·class="id"·title="notation">&&</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:47"><span·class="id"·title="variable">b2</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#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b1:46"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:47"><span·class="id"·title="variable">b2</span></a>.<br/> |
250 | <br/> | 250 | <br/> |
251 | </div> | 251 | </div> |
252 | <div·class="doc"> | 252 | <div·class="doc"> |
253 | <a·id="lab | 253 | <a·id="lab308"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">negb</span></span></h1> |
254 | </div> | 254 | </div> |
255 | <div·class="code"> | 255 | <div·class="code"> |
256 | <br/> | 256 | <br/> |
257 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_involutive"·class="idref"·href="#negb_involutive"><span·class="id"·title="lemma">negb_involutive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:48"·class="idref"·href="#b:48"><span·class="id"·title="binder">b</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.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:48"><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.Bool.Bool.html#b:48"><span·class="id"·title="variable">b</span></a>.<br/> | 257 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_involutive"·class="idref"·href="#negb_involutive"><span·class="id"·title="lemma">negb_involutive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:48"·class="idref"·href="#b:48"><span·class="id"·title="binder">b</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.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:48"><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.Bool.Bool.html#b:48"><span·class="id"·title="variable">b</span></a>.<br/> |
Offset 295, 15 lines modified | Offset 295, 15 lines modified | ||
295 | <br/> | 295 | <br/> |
296 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_false_iff"·class="idref"·href="#negb_false_iff"><span·class="id"·title="lemma">negb_false_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:60"·class="idref"·href="#b:60"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:60"><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.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</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#b:60"><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.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 296 | <span·class="id"·title="keyword">Lemma</span>·<a·id="negb_false_iff"·class="idref"·href="#negb_false_iff"><span·class="id"·title="lemma">negb_false_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:60"·class="idref"·href="#b:60"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b:60"><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.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</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#b:60"><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.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>.<br/> |
297 | <br/> | 297 | <br/> |
298 | </div> | 298 | </div> |
299 | <div·class="doc"> | 299 | <div·class="doc"> |
300 | <a·id="lab | 300 | <a·id="lab309"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">orb</span></span></h1> |
301 | </div> | 301 | </div> |
302 | <div·class="code"> | 302 | <div·class="code"> |
303 | <br/> | 303 | <br/> |
304 | <span·class="id"·title="keyword">Lemma</span>·<a·id="orb_true_iff"·class="idref"·href="#orb_true_iff"><span·class="id"·title="lemma">orb_true_iff</span></a>·:<br/> | 304 | <span·class="id"·title="keyword">Lemma</span>·<a·id="orb_true_iff"·class="idref"·href="#orb_true_iff"><span·class="id"·title="lemma">orb_true_iff</span></a>·:<br/> |
305 | <span·class="id"·title="keyword">forall</span>·<a·id="b1:61"·class="idref"·href="#b1:61"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:62"·class="idref"·href="#b2:62"><span·class="id"·title="binder">b2</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b1:61"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:62"><span·class="id"·title="variable">b2</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#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.Bool.Bool.html#b1:61"><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.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:62"><span·class="id"·title="variable">b2</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#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 305 | <span·class="id"·title="keyword">forall</span>·<a·id="b1:61"·class="idref"·href="#b1:61"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:62"·class="idref"·href="#b2:62"><span·class="id"·title="binder">b2</span></a>,·<a·class="idref"·href="Coq.Bool.Bool.html#b1:61"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span·class="id"·title="notation">||</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:62"><span·class="id"·title="variable">b2</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#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.Bool.Bool.html#b1:61"><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.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#b2:62"><span·class="id"·title="variable">b2</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#true"><span·class="id"·title="constructor">true</span></a>.<br/> |
Offset 423, 15 lines modified | Offset 423, 15 lines modified | ||
423 | #[<span·class="id"·title="var">global</span>]<br/> | 423 | #[<span·class="id"·title="var">global</span>]<br/> |
424 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">orb_comm</span>·<span·class="id"·title="var">orb_assoc</span>:·<span·class="id"·title="var">bool</span>.<br/> | 424 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">orb_comm</span>·<span·class="id"·title="var">orb_assoc</span>:·<span·class="id"·title="var">bool</span>.<br/> |
425 | <br/> | 425 | <br/> |
Max diff block lines reached; 13088/32272 bytes (40.56%) of diff not shown. |
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="lab299"></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 88, 15 lines modified | Offset 88, 15 lines modified | ||
88 | #[<span·class="id"·title="var">global</span>]<br/> | 88 | #[<span·class="id"·title="var">global</span>]<br/> |
89 | <span·class="id"·title="keyword">Instance</span>·<a·id="le_compat"·class="idref"·href="#le_compat"><span·class="id"·title="instance">le_compat</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.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.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.Bool.Bool.html#le"><span·class="id"·title="definition">Bool.le</span></a>.<br/> | 89 | <span·class="id"·title="keyword">Instance</span>·<a·id="le_compat"·class="idref"·href="#le_compat"><span·class="id"·title="instance">le_compat</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.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.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.Bool.Bool.html#le"><span·class="id"·title="definition">Bool.le</span></a>.<br/> |
90 | · | 90 | · |
91 | <br/> | 91 | <br/> |
92 | </div> | 92 | </div> |
93 | <div·class="doc"> | 93 | <div·class="doc"> |
94 | <a·id="lab | 94 | <a·id="lab300"></a><h1·class="section">Strict·order·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span></h1> |
95 | </div> | 95 | </div> |
96 | <div·class="code"> | 96 | <div·class="code"> |
97 | <br/> | 97 | <br/> |
98 | <span·class="id"·title="keyword">Lemma</span>·<a·id="lt_irrefl"·class="idref"·href="#lt_irrefl"><span·class="id"·title="lemma">lt_irrefl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:7"·class="idref"·href="#b:7"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:7"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations.::bool_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:7"><span·class="id"·title="variable">b</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Lemma</span>·<a·id="lt_irrefl"·class="idref"·href="#lt_irrefl"><span·class="id"·title="lemma">lt_irrefl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b:7"·class="idref"·href="#b:7"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:7"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations.::bool_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b:7"><span·class="id"·title="variable">b</span></a>.<br/> |
99 | · | 99 | · |
Offset 123, 15 lines modified | Offset 123, 15 lines modified | ||
123 | <br/> | 123 | <br/> |
124 | <span·class="id"·title="keyword">Lemma</span>·<a·id="le_lteq"·class="idref"·href="#le_lteq"><span·class="id"·title="lemma">le_lteq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:19"·class="idref"·href="#b1:19"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:20"·class="idref"·href="#b2:20"><span·class="id"·title="binder">b2</span></a>,·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</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#b2:20"><span·class="id"·title="variable">b2</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.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations.::bool_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><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.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>.<br/> | 124 | <span·class="id"·title="keyword">Lemma</span>·<a·id="le_lteq"·class="idref"·href="#le_lteq"><span·class="id"·title="lemma">le_lteq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="b1:19"·class="idref"·href="#b1:19"><span·class="id"·title="binder">b1</span></a>·<a·id="b2:20"·class="idref"·href="#b2:20"><span·class="id"·title="binder">b2</span></a>,·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</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#b2:20"><span·class="id"·title="variable">b2</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.BoolOrder.html#b1:19"><span·class="id"·title="variable">b1</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#BoolNotations.::bool_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Bool.BoolOrder.html#b1:19"><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.BoolOrder.html#b2:20"><span·class="id"·title="variable">b2</span></a>.<br/> |
125 | · | 125 | · |
126 | <br/> | 126 | <br/> |
127 | </div> | 127 | </div> |
128 | <div·class="doc"> | 128 | <div·class="doc"> |
129 | <a·id="lab | 129 | <a·id="lab301"></a><h1·class="section">Order·structures</h1> |
130 | </div> | 130 | </div> |
131 | <div·class="code"> | 131 | <div·class="code"> |
132 | <br/> | 132 | <br/> |
133 | #[<span·class="id"·title="var">global</span>]<br/> | 133 | #[<span·class="id"·title="var">global</span>]<br/> |
134 | <span·class="id"·title="keyword">Instance</span>·<a·id="le_preorder"·class="idref"·href="#le_preorder"><span·class="id"·title="instance">le_preorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#PreOrder"><span·class="id"·title="class">PreOrder</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#le"><span·class="id"·title="definition">Bool.le</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Instance</span>·<a·id="le_preorder"·class="idref"·href="#le_preorder"><span·class="id"·title="instance">le_preorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#PreOrder"><span·class="id"·title="class">PreOrder</span></a>·<a·class="idref"·href="Coq.Bool.Bool.html#le"><span·class="id"·title="definition">Bool.le</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="lab760"></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="lab751"></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 74, 15 lines modified | Offset 74, 15 lines modified | ||
74 | <br/> | 74 | <br/> |
75 | <br/> | 75 | <br/> |
76 | </div> | 76 | </div> |
77 | <div·class="doc"> | 77 | <div·class="doc"> |
78 | <a·id="lab | 78 | <a·id="lab752"></a><h1·class="section">Morphisms.</h1> |
79 | <div·class="paragraph">·</div> | 79 | <div·class="paragraph">·</div> |
80 | ···We·now·turn·to·the·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·and·declare·standard·instances. | 80 | ···We·now·turn·to·the·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·and·declare·standard·instances. |
81 | ···These·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="tactic">setoid_rewrite</span></span>·tactic·later.· | 81 | ···These·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="tactic">setoid_rewrite</span></span>·tactic·later.· |
82 | <div·class="paragraph">·</div> | 82 | <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="lab757"></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 450, 15 lines modified | Offset 450, 15 lines modified | ||
450 | <br/> | 450 | <br/> |
451 | </div> | 451 | </div> |
452 | <div·class="doc"> | 452 | <div·class="doc"> |
453 | We·can·already·dualize·all·these·properties.· | 453 | We·can·already·dualize·all·these·properties.· |
454 | <div·class="paragraph">·</div> | 454 | <div·class="paragraph">·</div> |
455 | <a·id="lab | 455 | <a·id="lab758"></a><h1·class="section">Standard·instances.</h1> |
456 | </div> | 456 | </div> |
457 | <div·class="code"> | 457 | <div·class="code"> |
458 | <br/> | 458 | <br/> |
459 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">reduce_hyp</span>·<span·class="id"·title="var">H</span>·:=<br/> | 459 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">reduce_hyp</span>·<span·class="id"·title="var">H</span>·:=<br/> |
460 | <span·class="id"·title="keyword">match</span>·<span·class="id"·title="keyword">type</span>·<span·class="id"·title="keyword">of</span>·<span·class="id"·title="var">H</span>·<span·class="id"·title="keyword">with</span><br/> | 460 | <span·class="id"·title="keyword">match</span>·<span·class="id"·title="keyword">type</span>·<span·class="id"·title="keyword">of</span>·<span·class="id"·title="var">H</span>·<span·class="id"·title="keyword">with</span><br/> |
Offset 603, 15 lines modified | Offset 603, 15 lines modified | ||
603 | <br/> | 603 | <br/> |
604 | <span·class="id"·title="keyword">Global·Instance</span>·<a·id="relation_implication_preorder"·class="idref"·href="#relation_implication_preorder"><span·class="id"·title="instance">relation_implication_preorder</span></a>·:·<a·class="idref"·href="Coq.Classes.CRelationClasses.html#PreOrder"><span·class="id"·title="class">PreOrder</span></a>·(@<a·class="idref"·href="Coq.Classes.CRelationClasses.html#subrelation"><span·class="id"·title="class">subrelation</span></a>·<a·class="idref"·href="Coq.Classes.CRelationClasses.html#Binary.A"><span·class="id"·title="variable">A</span></a>).<br/> | 604 | <span·class="id"·title="keyword">Global·Instance</span>·<a·id="relation_implication_preorder"·class="idref"·href="#relation_implication_preorder"><span·class="id"·title="instance">relation_implication_preorder</span></a>·:·<a·class="idref"·href="Coq.Classes.CRelationClasses.html#PreOrder"><span·class="id"·title="class">PreOrder</span></a>·(@<a·class="idref"·href="Coq.Classes.CRelationClasses.html#subrelation"><span·class="id"·title="class">subrelation</span></a>·<a·class="idref"·href="Coq.Classes.CRelationClasses.html#Binary.A"><span·class="id"·title="variable">A</span></a>).<br/> |
605 | · | 605 | · |
606 | <br/> | 606 | <br/> |
607 | </div> | 607 | </div> |
608 | <div·class="doc"> | 608 | <div·class="doc"> |
609 | <a·id="lab | 609 | <a·id="lab759"></a><h3·class="section">Partial·Order.</h3> |
610 | ···A·partial·order·is·a·preorder·which·is·additionally·antisymmetric. | 610 | ···A·partial·order·is·a·preorder·which·is·additionally·antisymmetric. |
611 | ···We·give·an·equivalent·definition,·up-to·an·equivalence·crelation | 611 | ···We·give·an·equivalent·definition,·up-to·an·equivalence·crelation |
612 | ···on·the·carrier.· | 612 | ···on·the·carrier.· |
613 | </div> | 613 | </div> |
614 | <div·class="code"> | 614 | <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="lab755"></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="lab753"></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="lab761"></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="lab747"></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="lab749"></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 70, 15 lines modified | Offset 70, 15 lines modified | ||
70 | <span·class="id"·title="keyword">Generalizable·Variables</span>·<span·class="id"·title="var">A</span>·<span·class="id"·title="var">eqA</span>·<span·class="id"·title="var">B</span>·<span·class="id"·title="var">C</span>·<span·class="id"·title="var">D</span>·<span·class="id"·title="var">R</span>·<span·class="id"·title="var">RA</span>·<span·class="id"·title="var">RB</span>·<span·class="id"·title="var">RC</span>·<span·class="id"·title="var">m</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>.<br/> | 70 | <span·class="id"·title="keyword">Generalizable·Variables</span>·<span·class="id"·title="var">A</span>·<span·class="id"·title="var">eqA</span>·<span·class="id"·title="var">B</span>·<span·class="id"·title="var">C</span>·<span·class="id"·title="var">D</span>·<span·class="id"·title="var">R</span>·<span·class="id"·title="var">RA</span>·<span·class="id"·title="var">RB</span>·<span·class="id"·title="var">RC</span>·<span·class="id"·title="var">m</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>.<br/> |
71 | <span·class="id"·title="keyword">Local·Obligation</span>·<span·class="id"·title="keyword">Tactic</span>·:=·<span·class="id"·title="tactic">try</span>·<span·class="id"·title="tactic">solve</span>·[·<span·class="id"·title="var">simpl_relation</span>·].<br/> | 71 | <span·class="id"·title="keyword">Local·Obligation</span>·<span·class="id"·title="keyword">Tactic</span>·:=·<span·class="id"·title="tactic">try</span>·<span·class="id"·title="tactic">solve</span>·[·<span·class="id"·title="var">simpl_relation</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="lab750"></a><h1·class="section">Morphisms.</h1> |
76 | <div·class="paragraph">·</div> | 76 | <div·class="paragraph">·</div> |
77 | ···We·now·turn·to·the·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·and·declare·standard·instances. | 77 | ···We·now·turn·to·the·definition·of·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·and·declare·standard·instances. |
78 | ···These·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="tactic">setoid_rewrite</span></span>·tactic·later.· | 78 | ···These·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="tactic">setoid_rewrite</span></span>·tactic·later.· |
79 | <div·class="paragraph">·</div> | 79 | <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="lab754"></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="lab762"></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, 8003 lines modified | Offset 103, 8003 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 | Diff chunk too large, falling back to line-by-line diff (7996 lines added, 7996 lines removed) | |
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·3434·223e·3c2f·613e·3c68·3120··lab744"></a><h1· | ||
000006e0:· | 000006e0:·636c·6173·733d·2273·6563·7469·6f6e·223e··class="section"> | ||
000006f0:· | 000006f0:·5479·7065·636c·6173·732d·6261·7365·6420··Typeclass-based· | ||
00000700:· | 00000700:·7265·6c61·7469·6f6e·732c·2074·6163·7469··relations,·tacti | ||
00000710:·6 | 00000710:·6373·2061·6e64·2073·7461·6e64·6172·6420··cs·and·standard· | ||
00000720:· | 00000720:·696e·7374·616e·6365·733c·2f68·313e·0a0a··instances</h1>.. | ||
00000730:·0a | 00000730:·0a3c·6469·7620·636c·6173·733d·2270·6172··.<div·class="par | ||
00000740:· | 00000740:·6167·7261·7068·223e·203c·2f64·6976·3e0a··agraph">·</div>. | ||
00000750:·0a | 00000750:·0a20·2020·5468·6973·2069·7320·7468·6520··.···This·is·the· | ||
00000760:· | 00000760:·6261·7369·6320·7468·656f·7279·206e·6565··basic·theory·nee | ||
00000770:·6 | 00000770:·6465·6420·746f·2066·6f72·6d61·6c69·7a65··ded·to·formalize | ||
00000780:· | 00000780:·206d·6f72·7068·6973·6d73·2061·6e64·2073···morphisms·and·s | ||
00000790:· | 00000790:·6574·6f69·6473·2e0a·0a3c·6469·7620·636c··etoids...<div·cl | ||
000007a0:·6 | 000007a0:·6173·733d·2270·6172·6167·7261·7068·223e··ass="paragraph"> | ||
000007b0:· | 000007b0:·203c·2f64·6976·3e0a·0a20·2020·4175·7468···</div>..···Auth | ||
000007c0:·6 | 000007c0:·6f72·3a20·4d61·7474·6869·6575·2053·6f7a··or:·Matthieu·Soz | ||
000007d0:· | 000007d0:·6561·750a·2020·2049·6e73·7469·7475·7469··eau.···Instituti | ||
000007e0:·6 | 000007e0:·6f6e·3a20·4c52·492c·2043·4e52·5320·554d··on:·LRI,·CNRS·UM | ||
000007f0:· | 000007f0:·5220·3836·3233·202d·2055·6e69·7665·7273··R·8623·-·Univers | ||
00000800:· | 00000800:·6974·7920·5061·7269·7320·5375·640a·0a3c··ity·Paris·Sud..< | ||
00000810:· | 00000810:·2f64·6976·3e0a·3c64·6976·2063·6c61·7373··/div>.<div·class | ||
00000820:· | 00000820:·3d22·636f·6465·223e·0a0a·3c62·722f·3e0a··="code">..<br/>. | ||
00000830:· | 00000830:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
00000840:·2 | 00000840:·2074·6974·6c65·3d22·6b65·7977·6f72·6422···title="keyword" | ||
00000850:· | 00000850:·3e52·6571·7569·7265·3c2f·7370·616e·3e20··>Require</span>· | ||
00000860:· | 00000860:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
00000870:·2 | 00000870:·2074·6974·6c65·3d22·6b65·7977·6f72·6422···title="keyword" | ||
00000880:· | 00000880:·3e45·7870·6f72·743c·2f73·7061·6e3e·203c··>Export</span>·< | ||
00000890:· | 00000890:·6120·636c·6173·733d·2269·6472·6566·2220··a·class="idref"· | ||
000008a0:· | 000008a0:·6872·6566·3d22·436f·712e·436c·6173·7365··href="Coq.Classe | ||
000008b0:· | 000008b0:·732e·496e·6974·2e68·746d·6c23·223e·3c73··s.Init.html#"><s | ||
000008c0:·7 | 000008c0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
000008d0:· | 000008d0:·6974·6c65·3d22·6c69·6272·6172·7922·3e43··itle="library">C | ||
000008e0:· | 000008e0:·6f71·2e43·6c61·7373·6573·2e49·6e69·743c··oq.Classes.Init< | ||
000008f0:· | 000008f0:·2f73·7061·6e3e·3c2f·613e·2e3c·6272·2f3e··/span></a>.<br/> | ||
00000900:· | 00000900:·0a3c·7370·616e·2063·6c61·7373·3d22·6964··.<span·class="id | ||
00000910:· | 00000910:·2220·7469·746c·653d·226b·6579·776f·7264··"·title="keyword | ||
00000920:· | 00000920:·223e·5265·7175·6972·653c·2f73·7061·6e3e··">Require</span> | ||
00000930:· | 00000930:·203c·7370·616e·2063·6c61·7373·3d22·6964···<span·class="id | ||
00000940:· | 00000940:·2220·7469·746c·653d·226b·6579·776f·7264··"·title="keyword | ||
00000950:· | 00000950:·223e·496d·706f·7274·3c2f·7370·616e·3e20··">Import</span>· | ||
00000960:· | 00000960:·3c61·2063·6c61·7373·3d22·6964·7265·6622··<a·class="idref" | ||
00000970:·2 | 00000970:·2068·7265·663d·2243·6f71·2e50·726f·6772···href="Coq.Progr | ||
00000980:· | 00000980:·616d·2e42·6173·6963·732e·6874·6d6c·2322··am.Basics.html#" | ||
00000990:· | 00000990:·3e3c·7370·616e·2063·6c61·7373·3d22·6964··><span·class="id | ||
000009a0:· | 000009a0:·2220·7469·746c·653d·226c·6962·7261·7279··"·title="library | ||
000009b0:· | 000009b0:·223e·436f·712e·5072·6f67·7261·6d2e·4261··">Coq.Program.Ba | ||
000009c0:· | 000009c0:·7369·6373·3c2f·7370·616e·3e3c·2f61·3e2e··sics</span></a>. | ||
000009d0:· | 000009d0:·3c62·722f·3e0a·3c73·7061·6e20·636c·6173··<br/>.<span·clas | ||
000009e0:·73 | 000009e0:·733d·2269·6422·2074·6974·6c65·3d22·6b65··s="id"·title="ke | ||
000009f0:· | 000009f0:·7977·6f72·6422·3e52·6571·7569·7265·3c2f··yword">Require</ | ||
00000a00:· | 00000a00:·7370·616e·3e20·3c73·7061·6e20·636c·6173··span>·<span·clas | ||
00000a10:·73 | 00000a10:·733d·2269·6422·2074·6974·6c65·3d22·6b65··s="id"·title="ke | ||
00000a20:· | 00000a20:·7977·6f72·6422·3e49·6d70·6f72·743c·2f73··yword">Import</s | ||
00000a30:·7 | 00000a30:·7061·6e3e·203c·6120·636c·6173·733d·2269··pan>·<a·class="i | ||
00000a40:·6 | 00000a40:·6472·6566·2220·6872·6566·3d22·436f·712e··dref"·href="Coq. | ||
00000a50:· | 00000a50:·5072·6f67·7261·6d2e·5461·6374·6963·732e··Program.Tactics. | ||
00000a60:· | 00000a60:·6874·6d6c·2322·3e3c·7370·616e·2063·6c61··html#"><span·cla | ||
00000a70:· | 00000a70:·7373·3d22·6964·2220·7469·746c·653d·226c··ss="id"·title="l | ||
00000a80:·6 | 00000a80:·6962·7261·7279·223e·436f·712e·5072·6f67··ibrary">Coq.Prog | ||
00000a90:· | 00000a90:·7261·6d2e·5461·6374·6963·733c·2f73·7061··ram.Tactics</spa | ||
00000aa0:·6 | 00000aa0:·6e3e·3c2f·613e·2e3c·6272·2f3e·0a3c·7370··n></a>.<br/>.<sp | ||
00000ab0:· | 00000ab0:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | ||
00000ac0:· | 00000ac0:·746c·653d·226b·6579·776f·7264·223e·5265··tle="keyword">Re | ||
00000ad0:· | 00000ad0:·7175·6972·653c·2f73·7061·6e3e·203c·7370··quire</span>·<sp | ||
00000ae0:· | 00000ae0:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | ||
00000af0:· | 00000af0:·746c·653d·226b·6579·776f·7264·223e·496d··tle="keyword">Im | ||
00000b00:· | 00000b00:·706f·7274·3c2f·7370·616e·3e20·3c61·2063··port</span>·<a·c | ||
00000b10:·6 | 00000b10:·6c61·7373·3d22·6964·7265·6622·2068·7265··lass="idref"·hre | ||
00000b20:·6 | 00000b20:·663d·2243·6f71·2e52·656c·6174·696f·6e73··f="Coq.Relations | ||
00000b30:· | 00000b30:·2e52·656c·6174·696f·6e5f·4465·6669·6e69··.Relation_Defini | ||
00000b40:· | 00000b40:·7469·6f6e·732e·6874·6d6c·2322·3e3c·7370··tions.html#"><sp | ||
00000b50:· | 00000b50:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | ||
00000b60:· | 00000b60:·746c·653d·226c·6962·7261·7279·223e·436f··tle="library">Co | ||
00000b70:· | 00000b70:·712e·5265·6c61·7469·6f6e·732e·5265·6c61··q.Relations.Rela | ||
00000b80:· | 00000b80:·7469·6f6e·5f44·6566·696e·6974·696f·6e73··tion_Definitions | ||
00000b90:· | 00000b90:·3c2f·7370·616e·3e3c·2f61·3e2e·3c62·722f··</span></a>.<br/ | ||
00000ba0:· | 00000ba0:·3e0a·0a3c·6272·2f3e·0a3c·7370·616e·2063··>..<br/>.<span·c | ||
00000bb0:·6 | 00000bb0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
00000bc0:· | 00000bc0:·226b·6579·776f·7264·223e·4765·6e65·7261··"keyword">Genera | ||
00000bd0:·6 | 00000bd0:·6c69·7a61·626c·6520·5661·7269·6162·6c65··lizable·Variable | ||
00000be0:· | 00000be0:·733c·2f73·7061·6e3e·203c·7370·616e·2063··s</span>·<span·c | ||
00000bf0:·6 | 00000bf0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
00000c00:· | 00000c00:·2276·6172·223e·413c·2f73·7061·6e3e·203c··"var">A</span>·< | ||
00000c10:· | 00000c10:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00000c20:· | 00000c20:·7469·746c·653d·2276·6172·223e·423c·2f73··title="var">B</s | ||
00000c30:·7 | 00000c30:·7061·6e3e·203c·7370·616e·2063·6c61·7373··pan>·<span·class | ||
00000c40:· | 00000c40:·3d22·6964·2220·7469·746c·653d·2276·6172··="id"·title="var | ||
00000c50:· | 00000c50:·223e·433c·2f73·7061·6e3e·203c·7370·616e··">C</span>·<span | ||
00000c60:· | 00000c60:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
00000c70:·6 | 00000c70:·653d·2276·6172·223e·443c·2f73·7061·6e3e··e="var">D</span> | ||
00000c80:· | 00000c80:·203c·7370·616e·2063·6c61·7373·3d22·6964···<span·class="id | ||
00000c90:· | 00000c90:·2220·7469·746c·653d·2276·6172·223e·523c··"·title="var">R< | ||
00000ca0:· | 00000ca0:·2f73·7061·6e3e·203c·7370·616e·2063·6c61··/span>·<span·cla | ||
00000cb0:· | 00000cb0:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
00000cc0:· | 00000cc0:·6172·223e·533c·2f73·7061·6e3e·203c·7370··ar">S</span>·<sp | ||
00000cd0:· | 00000cd0:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | ||
00000ce0:· | 00000ce0:·746c·653d·2276·6172·223e·543c·2f73·7061··tle="var">T</spa | ||
00000cf0:·6 | 00000cf0:·6e3e·203c·7370·616e·2063·6c61·7373·3d22··n>·<span·class=" | ||
00000d00:· | 00000d00:·6964·2220·7469·746c·653d·2276·6172·223e··id"·title="var"> | ||
00000d10:· | 00000d10:·553c·2f73·7061·6e3e·203c·7370·616e·2063··U</span>·<span·c | ||
00000d20:·6 | 00000d20:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
00000d30:· | 00000d30:·2276·6172·223e·6c3c·2f73·7061·6e3e·203c··"var">l</span>·< | ||
00000d40:· | 00000d40:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00000d50:· | 00000d50:·7469·746c·653d·2276·6172·223e·6571·413c··title="var">eqA< | ||
00000d60:· | 00000d60:·2f73·7061·6e3e·203c·7370·616e·2063·6c61··/span>·<span·cla | ||
00000d70:· | 00000d70:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
00000d80:· | 00000d80:·6172·223e·6571·423c·2f73·7061·6e3e·203c··ar">eqB</span>·< | ||
00000d90:· | 00000d90:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00000da0:· | 00000da0:·7469·746c·653d·2276·6172·223e·6571·433c··title="var">eqC< | ||
00000db0:· | 00000db0:·2f73·7061·6e3e·203c·7370·616e·2063·6c61··/span>·<span·cla | ||
00000dc0:· | 00000dc0:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
00000dd0:· | 00000dd0:·6172·223e·6571·443c·2f73·7061·6e3e·2e3c··ar">eqD</span>.< | ||
00000de0:· | 00000de0:·6272·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469··br/>..<br/>.</di | ||
00000df0:· | 00000df0:·763e·0a0a·3c64·6976·2063·6c61·7373·3d22··v>..<div·class=" | ||
00000e00:· | 00000e00:·646f·6322·3e0a·5765·2061·6c6c·6f77·2074··doc">.We·allow·t | ||
00000e10:· | 00000e10:·6f20·756e·666f·6c64·2074·6865·203c·7370··o·unfold·the·<sp | ||
00000e20:· | 00000e20:·616e·2063·6c61·7373·3d22·696e·6c69·6e65··an·class="inline | ||
00000e30:·6 | 00000e30:·636f·6465·223e·3c73·7061·6e20·636c·6173··code"><span·clas | ||
Max diff block lines reached; -1/1103934 bytes (-0.00%) of diff not shown. |
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="lab748"></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="lab743"></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="lab742"></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="lab756"></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="lab | 51 | <a·id="lab218"></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 84, 15 lines modified | Offset 84, 15 lines modified | ||
84 | <span·class="id"·title="keyword">Notation</span>·<a·id="0ecba978737ceb119698c5cbbee795eb"·class="idref"·href="#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">"</span></a>s·#1"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#fst"><span·class="id"·title="definition">fst</span></a>·<span·class="id"·title="var">s</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·9,·<span·class="id"·title="var">format</span>·"s·'#1'")·:·<span·class="id"·title="var">pair_scope</span>.<br/> | 84 | <span·class="id"·title="keyword">Notation</span>·<a·id="0ecba978737ceb119698c5cbbee795eb"·class="idref"·href="#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">"</span></a>s·#1"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#fst"><span·class="id"·title="definition">fst</span></a>·<span·class="id"·title="var">s</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·9,·<span·class="id"·title="var">format</span>·"s·'#1'")·:·<span·class="id"·title="var">pair_scope</span>.<br/> |
85 | <span·class="id"·title="keyword">Notation</span>·<a·id="3434f18bfdd992fed799ae34b564c3f9"·class="idref"·href="#3434f18bfdd992fed799ae34b564c3f9"><span·class="id"·title="notation">"</span></a>s·#2"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#snd"><span·class="id"·title="definition">snd</span></a>·<span·class="id"·title="var">s</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·9,·<span·class="id"·title="var">format</span>·"s·'#2'")·:·<span·class="id"·title="var">pair_scope</span>.<br/> | 85 | <span·class="id"·title="keyword">Notation</span>·<a·id="3434f18bfdd992fed799ae34b564c3f9"·class="idref"·href="#3434f18bfdd992fed799ae34b564c3f9"><span·class="id"·title="notation">"</span></a>s·#2"·:=·(<a·class="idref"·href="Coq.Init.Datatypes.html#snd"><span·class="id"·title="definition">snd</span></a>·<span·class="id"·title="var">s</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·9,·<span·class="id"·title="var">format</span>·"s·'#2'")·:·<span·class="id"·title="var">pair_scope</span>.<br/> |
86 | <br/> | 86 | <br/> |
87 | </div> | 87 | </div> |
88 | <div·class="doc"> | 88 | <div·class="doc"> |
89 | <a·id="lab | 89 | <a·id="lab219"></a><h1·class="section">The·Raw·functor</h1> |
90 | <div·class="paragraph">·</div> | 90 | <div·class="paragraph">·</div> |
91 | ···Functor·of·pure·functions·+·separate·proofs·of·invariant | 91 | ···Functor·of·pure·functions·+·separate·proofs·of·invariant |
92 | ···preservation· | 92 | ···preservation· |
93 | </div> | 93 | </div> |
Offset 110, 19 lines modified | Offset 110, 19 lines modified | ||
110 | #[<span·class="id"·title="var">global</span>]<br/> | 110 | #[<span·class="id"·title="var">global</span>]<br/> |
111 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Transparent</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.key"><span·class="id"·title="definition">key</span></a>·:·<span·class="id"·title="var">core</span>.<br/> | 111 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Transparent</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.key"><span·class="id"·title="definition">key</span></a>·:·<span·class="id"·title="var">core</span>.<br/> |
112 | <br/> | 112 | <br/> |
113 | </div> | 113 | </div> |
114 | <div·class="doc"> | 114 | <div·class="doc"> |
115 | <a·id="lab | 115 | <a·id="lab220"></a><h1·class="section">Trees</h1> |
116 | <div·class="paragraph">·</div> | 116 | <div·class="paragraph">·</div> |
117 | <a·id="lab | 117 | <a·id="lab221"></a><h1·class="section">Trees</h1> |
118 | <div·class="paragraph">·</div> | 118 | <div·class="paragraph">·</div> |
119 | ···The·fifth·field·of·<span·class="inlinecode"><span·class="id"·title="var">Node</span></span>·is·the·height·of·the·tree· | 119 | ···The·fifth·field·of·<span·class="inlinecode"><span·class="id"·title="var">Node</span></span>·is·the·height·of·the·tree· |
120 | </div> | 120 | </div> |
121 | <div·class="code"> | 121 | <div·class="code"> |
Offset 146, 15 lines modified | Offset 146, 15 lines modified | ||
146 | <br/> | 146 | <br/> |
147 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Types</span>·<span·class="id"·title="var">m</span>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>.<br/> | 147 | <span·class="id"·title="keyword">Implicit</span>·<span·class="id"·title="keyword">Types</span>·<span·class="id"·title="var">m</span>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>.<br/> |
148 | <br/> | 148 | <br/> |
149 | </div> | 149 | </div> |
150 | <div·class="doc"> | 150 | <div·class="doc"> |
151 | <a·id="lab | 151 | <a·id="lab222"></a><h1·class="section">Basic·functions·on·trees:·height·and·cardinal</h1> |
152 | </div> | 152 | </div> |
153 | <div·class="code"> | 153 | <div·class="code"> |
154 | <br/> | 154 | <br/> |
155 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.height"·class="idref"·href="#Raw.height"><span·class="id"·title="definition">height</span></a>·(<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>)·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.int"><span·class="id"·title="abbreviation">int</span></a>·:=<br/> | 155 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.height"·class="idref"·href="#Raw.height"><span·class="id"·title="definition">height</span></a>·(<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>)·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.int"><span·class="id"·title="abbreviation">int</span></a>·:=<br/> |
156 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#m:6"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 156 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#m:6"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 169, 39 lines modified | Offset 169, 39 lines modified | ||
169 | |·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">r</span>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.FSets.FMapAVL.html#cardinal:9"><span·class="id"·title="definition">cardinal</span></a>·<span·class="id"·title="var">l</span>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#cardinal:9"><span·class="id"·title="definition">cardinal</span></a>·<span·class="id"·title="var">r</span>)<br/> | 169 | |·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">r</span>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.FSets.FMapAVL.html#cardinal:9"><span·class="id"·title="definition">cardinal</span></a>·<span·class="id"·title="var">l</span>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#cardinal:9"><span·class="id"·title="definition">cardinal</span></a>·<span·class="id"·title="var">r</span>)<br/> |
170 | <span·class="id"·title="keyword">end</span>.<br/> | 170 | <span·class="id"·title="keyword">end</span>.<br/> |
171 | <br/> | 171 | <br/> |
172 | </div> | 172 | </div> |
173 | <div·class="doc"> | 173 | <div·class="doc"> |
174 | <a·id="lab | 174 | <a·id="lab223"></a><h1·class="section">Empty·Map</h1> |
175 | </div> | 175 | </div> |
176 | <div·class="code"> | 176 | <div·class="code"> |
177 | <br/> | 177 | <br/> |
178 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 178 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.t"><span·class="id"·title="abbreviation">t</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> |
179 | <br/> | 179 | <br/> |
180 | </div> | 180 | </div> |
181 | <div·class="doc"> | 181 | <div·class="doc"> |
182 | <a·id="lab | 182 | <a·id="lab224"></a><h1·class="section">Emptyness·test</h1> |
183 | </div> | 183 | </div> |
184 | <div·class="code"> | 184 | <div·class="code"> |
185 | <br/> | 185 | <br/> |
186 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·id="m:11"·class="idref"·href="#m:11"><span·class="id"·title="binder">m</span></a>·:=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#m:11"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·|·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<span·class="id"·title="keyword">end</span>.<br/> | 186 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·id="m:11"·class="idref"·href="#m:11"><span·class="id"·title="binder">m</span></a>·:=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#m:11"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·|·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<span·class="id"·title="keyword">end</span>.<br/> |
187 | <br/> | 187 | <br/> |
188 | </div> | 188 | </div> |
189 | <div·class="doc"> | 189 | <div·class="doc"> |
190 | <a·id="lab | 190 | <a·id="lab225"></a><h1·class="section">Membership</h1> |
191 | <div·class="paragraph">·</div> | 191 | <div·class="paragraph">·</div> |
192 | ·The·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·function·is·deciding·membership.·It·exploits·the·<span·class="inlinecode"><span·class="id"·title="var">bst</span></span>·property | 192 | ·The·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·function·is·deciding·membership.·It·exploits·the·<span·class="inlinecode"><span·class="id"·title="var">bst</span></span>·property |
193 | ····to·achieve·logarithmic·complexity.· | 193 | ····to·achieve·logarithmic·complexity.· |
194 | </div> | 194 | </div> |
195 | <div·class="code"> | 195 | <div·class="code"> |
Offset 228, 15 lines modified | Offset 228, 15 lines modified | ||
228 | <span·class="id"·title="keyword">end</span><br/> | 228 | <span·class="id"·title="keyword">end</span><br/> |
229 | <span·class="id"·title="keyword">end</span>.<br/> | 229 | <span·class="id"·title="keyword">end</span>.<br/> |
230 | <br/> | 230 | <br/> |
231 | </div> | 231 | </div> |
232 | <div·class="doc"> | 232 | <div·class="doc"> |
233 | <a·id="lab | 233 | <a·id="lab226"></a><h1·class="section">Helper·functions</h1> |
234 | <div·class="paragraph">·</div> | 234 | <div·class="paragraph">·</div> |
235 | ·<span·class="inlinecode"><span·class="id"·title="var">create</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·creates·a·node,·assuming·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span> | 235 | ·<span·class="inlinecode"><span·class="id"·title="var">create</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·creates·a·node,·assuming·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span> |
236 | ····to·be·balanced·and·<span·class="inlinecode">|<span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode">-</span>·<span·class="inlinecode"><span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span>|</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2</span>.· | 236 | ····to·be·balanced·and·<span·class="inlinecode">|<span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode">-</span>·<span·class="inlinecode"><span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span>|</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2</span>.· |
237 | </div> | 237 | </div> |
238 | <div·class="code"> | 238 | <div·class="code"> |
Offset 291, 15 lines modified | Offset 291, 15 lines modified | ||
291 | <span·class="id"·title="keyword">else</span><br/> | 291 | <span·class="id"·title="keyword">else</span><br/> |
292 | <a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.create"><span·class="id"·title="definition">create</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#l:25"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#x:26"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#d:27"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#r:28"><span·class="id"·title="variable">r</span></a>.<br/> | 292 | <a·class="idref"·href="Coq.FSets.FMapAVL.html#Raw.create"><span·class="id"·title="definition">create</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#l:25"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#x:26"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#d:27"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#r:28"><span·class="id"·title="variable">r</span></a>.<br/> |
Max diff block lines reached; 88512/97261 bytes (91.00%) of diff not shown. |
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="lab124"></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 72, 15 lines modified | Offset 72, 15 lines modified | ||
72 | #[<span·class="id"·title="var">global</span>]<br/> | 72 | #[<span·class="id"·title="var">global</span>]<br/> |
73 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Extern</span>·1·(<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<span·class="id"·title="var">_</span>)·=>·<span·class="id"·title="tactic">constructor</span>;·<span·class="id"·title="tactic">congruence</span>·:·<span·class="id"·title="var">core</span>.<br/> | 73 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Extern</span>·1·(<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<span·class="id"·title="var">_</span>)·=>·<span·class="id"·title="tactic">constructor</span>;·<span·class="id"·title="tactic">congruence</span>·:·<span·class="id"·title="var">core</span>.<br/> |
74 | <br/> | 74 | <br/> |
75 | </div> | 75 | </div> |
76 | <div·class="doc"> | 76 | <div·class="doc"> |
77 | <a·id="lab2 | 77 | <a·id="lab125"></a><h1·class="section">Facts·about·weak·maps</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="WFacts_fun"·class="idref"·href="#WFacts_fun"><span·class="id"·title="module">WFacts_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.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#E"><span·class="id"·title="module">E</span></a>).<br/> | 81 | <span·class="id"·title="keyword">Module</span>·<a·id="WFacts_fun"·class="idref"·href="#WFacts_fun"><span·class="id"·title="module">WFacts_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.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#E"><span·class="id"·title="module">E</span></a>).<br/> |
Offset 99, 15 lines modified | Offset 99, 15 lines modified | ||
99 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.MapsTo_fun"·class="idref"·href="#WFacts_fun.MapsTo_fun"><span·class="id"·title="lemma">MapsTo_fun</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="elt:9"·class="idref"·href="#elt:9"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)·<a·id="m:10"·class="idref"·href="#m:10"><span·class="id"·title="binder">m</span></a>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>·(<a·id="e:12"·class="idref"·href="#e:12"><span·class="id"·title="binder">e</span></a>·<a·id="e':13"·class="idref"·href="#e':13"><span·class="id"·title="binder">e'</span></a>:<a·class="idref"·href="Coq.FSets.FMapFacts.html#elt:9"><span·class="id"·title="variable">elt</span></a>),<br/> | 99 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.MapsTo_fun"·class="idref"·href="#WFacts_fun.MapsTo_fun"><span·class="id"·title="lemma">MapsTo_fun</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="elt:9"·class="idref"·href="#elt:9"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)·<a·id="m:10"·class="idref"·href="#m:10"><span·class="id"·title="binder">m</span></a>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>·(<a·id="e:12"·class="idref"·href="#e:12"><span·class="id"·title="binder">e</span></a>·<a·id="e':13"·class="idref"·href="#e':13"><span·class="id"·title="binder">e'</span></a>:<a·class="idref"·href="Coq.FSets.FMapFacts.html#elt:9"><span·class="id"·title="variable">elt</span></a>),<br/> |
100 | <a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#x:11"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:12"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:10"><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.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#x:11"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e':13"><span·class="id"·title="variable">e'</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:10"><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.FSets.FMapFacts.html#e:12"><span·class="id"·title="variable">e</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a><a·class="idref"·href="Coq.FSets.FMapFacts.html#e':13"><span·class="id"·title="variable">e'</span></a>.<br/> | 100 | <a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#x:11"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:12"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:10"><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.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#x:11"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e':13"><span·class="id"·title="variable">e'</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:10"><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.FSets.FMapFacts.html#e:12"><span·class="id"·title="variable">e</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a><a·class="idref"·href="Coq.FSets.FMapFacts.html#e':13"><span·class="id"·title="variable">e'</span></a>.<br/> |
101 | <br/> | 101 | <br/> |
102 | </div> | 102 | </div> |
103 | <div·class="doc"> | 103 | <div·class="doc"> |
104 | <a·id="lab2 | 104 | <a·id="lab126"></a><h2·class="section">Specifications·written·using·equivalences</h2> |
105 | </div> | 105 | </div> |
106 | <div·class="code"> | 106 | <div·class="code"> |
107 | <br/> | 107 | <br/> |
108 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.IffSpec"·class="idref"·href="#WFacts_fun.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> | 108 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.IffSpec"·class="idref"·href="#WFacts_fun.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> |
109 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.IffSpec.elt"·class="idref"·href="#WFacts_fun.IffSpec.elt"><span·class="id"·title="variable">elt</span></a>·<a·id="WFacts_fun.IffSpec.elt'"·class="idref"·href="#WFacts_fun.IffSpec.elt'"><span·class="id"·title="variable">elt'</span></a>·<a·id="WFacts_fun.IffSpec.elt''"·class="idref"·href="#WFacts_fun.IffSpec.elt''"><span·class="id"·title="variable">elt''</span></a>:·<span·class="id"·title="keyword">Type</span>.<br/> | 109 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.IffSpec.elt"·class="idref"·href="#WFacts_fun.IffSpec.elt"><span·class="id"·title="variable">elt</span></a>·<a·id="WFacts_fun.IffSpec.elt'"·class="idref"·href="#WFacts_fun.IffSpec.elt'"><span·class="id"·title="variable">elt'</span></a>·<a·id="WFacts_fun.IffSpec.elt''"·class="idref"·href="#WFacts_fun.IffSpec.elt''"><span·class="id"·title="variable">elt''</span></a>:·<span·class="id"·title="keyword">Type</span>.<br/> |
Offset 256, 15 lines modified | Offset 256, 15 lines modified | ||
256 | <span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.map_mapsto_iff"><span·class="id"·title="lemma">map_mapsto_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.map_in_iff"><span·class="id"·title="lemma">map_in_iff</span></a>·||<br/> | 256 | <span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.map_mapsto_iff"><span·class="id"·title="lemma">map_mapsto_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.map_in_iff"><span·class="id"·title="lemma">map_in_iff</span></a>·||<br/> |
257 | <span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.mapi_in_iff"><span·class="id"·title="lemma">mapi_in_iff</span></a>)).<br/> | 257 | <span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.mapi_in_iff"><span·class="id"·title="lemma">mapi_in_iff</span></a>)).<br/> |
258 | <br/> | 258 | <br/> |
259 | </div> | 259 | </div> |
260 | <div·class="doc"> | 260 | <div·class="doc"> |
261 | <a·id="lab2 | 261 | <a·id="lab127"></a><h2·class="section">Specifications·written·using·boolean·predicates</h2> |
262 | </div> | 262 | </div> |
263 | <div·class="code"> | 263 | <div·class="code"> |
264 | <br/> | 264 | <br/> |
265 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.BoolSpec"·class="idref"·href="#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 265 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.BoolSpec"·class="idref"·href="#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> |
Offset 395, 15 lines modified | Offset 395, 15 lines modified | ||
395 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.Equal_mapsto_iff"·class="idref"·href="#WFacts_fun.Equal_mapsto_iff"><span·class="id"·title="lemma">Equal_mapsto_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m1:211"·class="idref"·href="#m1:211"><span·class="id"·title="binder">m1</span></a>·<a·id="m2:212"·class="idref"·href="#m2:212"><span·class="id"·title="binder">m2</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.Equalities.elt"><span·class="id"·title="variable">elt</span></a>,<br/> | 395 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.Equal_mapsto_iff"·class="idref"·href="#WFacts_fun.Equal_mapsto_iff"><span·class="id"·title="lemma">Equal_mapsto_iff</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m1:211"·class="idref"·href="#m1:211"><span·class="id"·title="binder">m1</span></a>·<a·id="m2:212"·class="idref"·href="#m2:212"><span·class="id"·title="binder">m2</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.Equalities.elt"><span·class="id"·title="variable">elt</span></a>,<br/> |
396 | <a·class="idref"·href="Coq.FSets.FMapFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m1:211"><span·class="id"·title="variable">m1</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m2:212"><span·class="id"·title="variable">m2</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><span·class="id"·title="keyword">forall</span>·<a·id="k:213"·class="idref"·href="#k:213"><span·class="id"·title="binder">k</span></a>·<a·id="e:214"·class="idref"·href="#e:214"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:213"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:214"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m1:211"><span·class="id"·title="variable">m1</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.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:213"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:214"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m2:212"><span·class="id"·title="variable">m2</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>.<br/> | 396 | <a·class="idref"·href="Coq.FSets.FMapFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m1:211"><span·class="id"·title="variable">m1</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m2:212"><span·class="id"·title="variable">m2</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><span·class="id"·title="keyword">forall</span>·<a·id="k:213"·class="idref"·href="#k:213"><span·class="id"·title="binder">k</span></a>·<a·id="e:214"·class="idref"·href="#e:214"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:213"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:214"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m1:211"><span·class="id"·title="variable">m1</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.FSets.FMapFacts.html#M.MapsTo"><span·class="id"·title="axiom">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:213"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#e:214"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m2:212"><span·class="id"·title="variable">m2</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>.<br/> |
397 | <br/> | 397 | <br/> |
398 | </div> | 398 | </div> |
399 | <div·class="doc"> | 399 | <div·class="doc"> |
400 | <a·id="lab2 | 400 | <a·id="lab128"></a><h1·class="section">Relations·between·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">Equiv</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equivb</span></span>.</h1> |
401 | <div·class="paragraph">·</div> | 401 | <div·class="paragraph">·</div> |
402 | ·First,·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">Equiv</span></span>·with·Leibniz·on·elements.· | 402 | ·First,·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">Equiv</span></span>·with·Leibniz·on·elements.· |
403 | </div> | 403 | </div> |
404 | <div·class="code"> | 404 | <div·class="code"> |
Offset 457, 15 lines modified | Offset 457, 15 lines modified | ||
457 | <br/> | 457 | <br/> |
458 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.Equalities"><span·class="id"·title="section">Equalities</span></a>.<br/> | 458 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun.Equalities"><span·class="id"·title="section">Equalities</span></a>.<br/> |
459 | <br/> | 459 | <br/> |
460 | </div> | 460 | </div> |
461 | <div·class="doc"> | 461 | <div·class="doc"> |
462 | <a·id="lab2 | 462 | <a·id="lab129"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">Equal</span></span>·is·a·setoid·equality.</h1> |
463 | </div> | 463 | </div> |
464 | <div·class="code"> | 464 | <div·class="code"> |
465 | <br/> | 465 | <br/> |
466 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.Equal_refl"·class="idref"·href="#WFacts_fun.Equal_refl"><span·class="id"·title="lemma">Equal_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="elt:238"·class="idref"·href="#elt:238"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="m:239"·class="idref"·href="#m:239"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#elt:238"><span·class="id"·title="variable">elt</span></a>),·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:239"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:239"><span·class="id"·title="variable">m</span></a>.<br/> | 466 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WFacts_fun.Equal_refl"·class="idref"·href="#WFacts_fun.Equal_refl"><span·class="id"·title="lemma">Equal_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="elt:238"·class="idref"·href="#elt:238"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="m:239"·class="idref"·href="#m:239"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#elt:238"><span·class="id"·title="variable">elt</span></a>),·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:239"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#m:239"><span·class="id"·title="variable">m</span></a>.<br/> |
467 | · | 467 | · |
Offset 541, 28 lines modified | Offset 541, 28 lines modified | ||
541 | <br/> | 541 | <br/> |
542 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>.<br/> | 542 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>.<br/> |
543 | <br/> | 543 | <br/> |
544 | </div> | 544 | </div> |
545 | <div·class="doc"> | 545 | <div·class="doc"> |
546 | <a·id="lab | 546 | <a·id="lab130"></a><h1·class="section">Same·facts·for·self-contained·weak·sets·and·for·full·maps</h1> |
547 | </div> | 547 | </div> |
548 | <div·class="code"> | 548 | <div·class="code"> |
549 | <br/> | 549 | <br/> |
550 | <span·class="id"·title="keyword">Module</span>·<a·id="WFacts"·class="idref"·href="#WFacts"><span·class="id"·title="module">WFacts</span></a>·(<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS"><span·class="id"·title="module">WS</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.E"><span·class="id"·title="module">M.E</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 550 | <span·class="id"·title="keyword">Module</span>·<a·id="WFacts"·class="idref"·href="#WFacts"><span·class="id"·title="module">WFacts</span></a>·(<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS"><span·class="id"·title="module">WS</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts_fun"><span·class="id"·title="module">WFacts_fun</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M.E"><span·class="id"·title="module">M.E</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#M"><span·class="id"·title="module">M</span></a>.<br/> |
551 | <span·class="id"·title="keyword">Module</span>·<a·id="Facts"·class="idref"·href="#Facts"><span·class="id"·title="module">Facts</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts"><span·class="id"·title="module">WFacts</span></a>.<br/> | 551 | <span·class="id"·title="keyword">Module</span>·<a·id="Facts"·class="idref"·href="#Facts"><span·class="id"·title="module">Facts</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WFacts"><span·class="id"·title="module">WFacts</span></a>.<br/> |
552 | <br/> | 552 | <br/> |
553 | </div> | 553 | </div> |
554 | <div·class="doc"> | 554 | <div·class="doc"> |
555 | <a·id="lab | 555 | <a·id="lab131"></a><h1·class="section">Additional·Properties·for·weak·maps</h1> |
556 | <div·class="paragraph">·</div> | 556 | <div·class="paragraph">·</div> |
557 | ····Results·about·<span·class="inlinecode"><span·class="id"·title="tactic">fold</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">elements</span></span>,·induction·principles... | 557 | ····Results·about·<span·class="inlinecode"><span·class="id"·title="tactic">fold</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">elements</span></span>,·induction·principles... |
558 | </div> | 558 | </div> |
Offset 614, 30 lines modified | Offset 614, 30 lines modified | ||
614 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.findA_rev"·class="idref"·href="#WProperties_fun.findA_rev"><span·class="id"·title="lemma">findA_rev</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:284"·class="idref"·href="#l:284"><span·class="id"·title="binder">l</span></a>·<a·id="k:285"·class="idref"·href="#k:285"><span·class="id"·title="binder">k</span></a>,·<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqk"><span·class="id"·title="abbreviation">eqk</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 614 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.findA_rev"·class="idref"·href="#WProperties_fun.findA_rev"><span·class="id"·title="lemma">findA_rev</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:284"·class="idref"·href="#l:284"><span·class="id"·title="binder">l</span></a>·<a·id="k:285"·class="idref"·href="#k:285"><span·class="id"·title="binder">k</span></a>,·<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqk"><span·class="id"·title="abbreviation">eqk</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
615 | <a·class="idref"·href="Coq.Lists.SetoidList.html#findA"><span·class="id"·title="definition">findA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:285"><span·class="id"·title="variable">k</span></a>)·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.SetoidList.html#findA"><span·class="id"·title="definition">findA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:285"><span·class="id"·title="variable">k</span></a>)·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>).<br/> | 615 | <a·class="idref"·href="Coq.Lists.SetoidList.html#findA"><span·class="id"·title="definition">findA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:285"><span·class="id"·title="variable">k</span></a>)·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.SetoidList.html#findA"><span·class="id"·title="definition">findA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFacts.html#WProperties_fun.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#k:285"><span·class="id"·title="variable">k</span></a>)·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·<a·class="idref"·href="Coq.FSets.FMapFacts.html#l:284"><span·class="id"·title="variable">l</span></a>).<br/> |
Max diff block lines reached; 24524/39377 bytes (62.28%) of diff not shown. |
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="lab263"></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 115, 15 lines modified | Offset 115, 15 lines modified | ||
115 | <span·class="id"·title="keyword">Variable</span>·<a·id="AvlProofs.Elt.elt"·class="idref"·href="#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 115 | <span·class="id"·title="keyword">Variable</span>·<a·id="AvlProofs.Elt.elt"·class="idref"·href="#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
116 | <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">r</span>·:·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.t"><span·class="id"·title="abbreviation">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>.<br/> | 116 | <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">r</span>·:·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.t"><span·class="id"·title="abbreviation">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>.<br/> |
117 | <br/> | 117 | <br/> |
118 | </div> | 118 | </div> |
119 | <div·class="doc"> | 119 | <div·class="doc"> |
120 | <a·id="lab | 120 | <a·id="lab264"></a><h1·class="section">AVL·trees</h1> |
121 | <div·class="paragraph">·</div> | 121 | <div·class="paragraph">·</div> |
122 | ·<span·class="inlinecode"><span·class="id"·title="var">avl</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·:·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·is·a·properly·balanced·AVL·tree, | 122 | ·<span·class="inlinecode"><span·class="id"·title="var">avl</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·:·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·is·a·properly·balanced·AVL·tree, |
123 | ····i.e.·for·any·node·the·heights·of·the·two·children | 123 | ····i.e.·for·any·node·the·heights·of·the·two·children |
124 | ····differ·by·at·most·2· | 124 | ····differ·by·at·most·2· |
125 | </div> | 125 | </div> |
Offset 139, 15 lines modified | Offset 139, 15 lines modified | ||
139 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:9"><span·class="id"·title="variable">h</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#I.max"><span·class="id"·title="axiom">max</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:7"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:8"><span·class="id"·title="variable">r</span></a>)·<a·class="idref"·href="Coq.ZArith.Int.html#004c359642fbe9dbd252a6335642f93a"><span·class="id"·title="notation">+</span></a>·1·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 139 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:9"><span·class="id"·title="variable">h</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#I.max"><span·class="id"·title="axiom">max</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:7"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:8"><span·class="id"·title="variable">r</span></a>)·<a·class="idref"·href="Coq.ZArith.Int.html#004c359642fbe9dbd252a6335642f93a"><span·class="id"·title="notation">+</span></a>·1·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
140 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#avl:3"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:7"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:5"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:6"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:8"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:9"><span·class="id"·title="variable">h</span></a>).<br/> | 140 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#avl:3"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:7"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:5"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:6"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:8"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:9"><span·class="id"·title="variable">h</span></a>).<br/> |
141 | <br/> | 141 | <br/> |
142 | </div> | 142 | </div> |
143 | <div·class="doc"> | 143 | <div·class="doc"> |
144 | <a·id="lab | 144 | <a·id="lab265"></a><h1·class="section">Automation·and·dedicated·tactics·about·<span·class="inlinecode"><span·class="id"·title="var">avl</span></span>.</h1> |
145 | </div> | 145 | </div> |
146 | <div·class="code"> | 146 | <div·class="code"> |
147 | <br/> | 147 | <br/> |
148 | #[<span·class="id"·title="var">local</span>]<br/> | 148 | #[<span·class="id"·title="var">local</span>]<br/> |
149 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Constructors</span>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#avl"><span·class="id"·title="inductive">avl</span></a>·:·<span·class="id"·title="var">core</span>.<br/> | 149 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Constructors</span>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#avl"><span·class="id"·title="inductive">avl</span></a>·:·<span·class="id"·title="var">core</span>.<br/> |
Offset 177, 15 lines modified | Offset 177, 15 lines modified | ||
177 | |·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">idtac</span><br/> | 177 | |·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">idtac</span><br/> |
178 | <span·class="id"·title="keyword">end</span>.<br/> | 178 | <span·class="id"·title="keyword">end</span>.<br/> |
179 | <br/> | 179 | <br/> |
180 | </div> | 180 | </div> |
181 | <div·class="doc"> | 181 | <div·class="doc"> |
182 | <a·id="lab | 182 | <a·id="lab266"></a><h1·class="section">Basic·results·about·<span·class="inlinecode"><span·class="id"·title="var">avl</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">height</span></span></h1> |
183 | </div> | 183 | </div> |
184 | <div·class="code"> | 184 | <div·class="code"> |
185 | <br/> | 185 | <br/> |
186 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.avl_node"·class="idref"·href="#AvlProofs.avl_node"><span·class="id"·title="lemma">avl_node</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>·<a·id="e:12"·class="idref"·href="#e:12"><span·class="id"·title="binder">e</span></a>·<a·id="l:13"·class="idref"·href="#l:13"><span·class="id"·title="binder">l</span></a>·<a·id="r:14"·class="idref"·href="#r:14"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:13"><span·class="id"·title="variable">l</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.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:14"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 186 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.avl_node"·class="idref"·href="#AvlProofs.avl_node"><span·class="id"·title="lemma">avl_node</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>·<a·id="e:12"·class="idref"·href="#e:12"><span·class="id"·title="binder">e</span></a>·<a·id="l:13"·class="idref"·href="#l:13"><span·class="id"·title="binder">l</span></a>·<a·id="r:14"·class="idref"·href="#r:14"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:13"><span·class="id"·title="variable">l</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.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:14"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
187 | <a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:'-'_x"><span·class="id"·title="notation">-</span></a>(2)·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:13"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:14"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 187 | <a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:'-'_x"><span·class="id"·title="notation">-</span></a>(2)·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:13"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:14"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
Offset 205, 27 lines modified | Offset 205, 27 lines modified | ||
205 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.height_0"·class="idref"·href="#AvlProofs.height_0"><span·class="id"·title="lemma">height_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:15"·class="idref"·href="#l:15"><span·class="id"·title="binder">l</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</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.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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/> | 205 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.height_0"·class="idref"·href="#AvlProofs.height_0"><span·class="id"·title="lemma">height_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:15"·class="idref"·href="#l:15"><span·class="id"·title="binder">l</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</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.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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/> |
206 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<span·class="id"·title="var">_</span>.<br/> | 206 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:15"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<span·class="id"·title="var">_</span>.<br/> |
207 | <br/> | 207 | <br/> |
208 | </div> | 208 | </div> |
209 | <div·class="doc"> | 209 | <div·class="doc"> |
210 | <a·id="lab | 210 | <a·id="lab267"></a><h1·class="section">Empty·map</h1> |
211 | </div> | 211 | </div> |
212 | <div·class="code"> | 212 | <div·class="code"> |
213 | <br/> | 213 | <br/> |
214 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.empty_avl"·class="idref"·href="#AvlProofs.empty_avl"><span·class="id"·title="lemma">empty_avl</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.empty"><span·class="id"·title="definition">empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>).<br/> | 214 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.empty_avl"·class="idref"·href="#AvlProofs.empty_avl"><span·class="id"·title="lemma">empty_avl</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.empty"><span·class="id"·title="definition">empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Elt.elt"><span·class="id"·title="variable">elt</span></a>).<br/> |
215 | <br/> | 215 | <br/> |
216 | </div> | 216 | </div> |
217 | <div·class="doc"> | 217 | <div·class="doc"> |
218 | <a·id="lab | 218 | <a·id="lab268"></a><h1·class="section">Helper·functions</h1> |
219 | </div> | 219 | </div> |
220 | <div·class="code"> | 220 | <div·class="code"> |
221 | <br/> | 221 | <br/> |
222 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.create_avl"·class="idref"·href="#AvlProofs.create_avl"><span·class="id"·title="lemma">create_avl</span></a>·:<br/> | 222 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.create_avl"·class="idref"·href="#AvlProofs.create_avl"><span·class="id"·title="lemma">create_avl</span></a>·:<br/> |
223 | <span·class="id"·title="keyword">forall</span>·<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="e:18"·class="idref"·href="#e:18"><span·class="id"·title="binder">e</span></a>·<a·id="r:19"·class="idref"·href="#r:19"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:16"><span·class="id"·title="variable">l</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.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:19"><span·class="id"·title="variable">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.ZArith.Int.html#Int.::Int_scope:'-'_x"><span·class="id"·title="notation">-</span></a>(2)·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 223 | <span·class="id"·title="keyword">forall</span>·<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="e:18"·class="idref"·href="#e:18"><span·class="id"·title="binder">e</span></a>·<a·id="r:19"·class="idref"·href="#r:19"><span·class="id"·title="binder">r</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:16"><span·class="id"·title="variable">l</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.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:19"><span·class="id"·title="variable">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.ZArith.Int.html#Int.::Int_scope:'-'_x"><span·class="id"·title="notation">-</span></a>(2)·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·2·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
Offset 257, 15 lines modified | Offset 257, 15 lines modified | ||
257 | <span·class="id"·title="var">omega_max</span><br/> | 257 | <span·class="id"·title="var">omega_max</span><br/> |
258 | <span·class="id"·title="keyword">end</span>.<br/> | 258 | <span·class="id"·title="keyword">end</span>.<br/> |
259 | <br/> | 259 | <br/> |
260 | </div> | 260 | </div> |
261 | <div·class="doc"> | 261 | <div·class="doc"> |
262 | <a·id="lab | 262 | <a·id="lab269"></a><h1·class="section">Insertion</h1> |
263 | </div> | 263 | </div> |
264 | <div·class="code"> | 264 | <div·class="code"> |
265 | <br/> | 265 | <br/> |
266 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.add_avl_1"·class="idref"·href="#AvlProofs.add_avl_1"><span·class="id"·title="lemma">add_avl_1</span></a>·:··<span·class="id"·title="keyword">forall</span>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·<a·id="x:37"·class="idref"·href="#x:37"><span·class="id"·title="binder">x</span></a>·<a·id="e:38"·class="idref"·href="#e:38"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><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><br/> | 266 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.add_avl_1"·class="idref"·href="#AvlProofs.add_avl_1"><span·class="id"·title="lemma">add_avl_1</span></a>·:··<span·class="id"·title="keyword">forall</span>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·<a·id="x:37"·class="idref"·href="#x:37"><span·class="id"·title="binder">x</span></a>·<a·id="e:38"·class="idref"·href="#e:38"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><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><br/> |
267 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:37"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:38"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·0·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:37"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:38"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 267 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:37"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:38"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·0·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:37"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:38"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.ZArith.Int.html#Int.::Int_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.height"><span·class="id"·title="definition">height</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#m:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.Int.html#be4c59c76b318250400dadb817b41e75"><span·class="id"·title="notation"><=</span></a>·1.<br/> |
Offset 275, 15 lines modified | Offset 275, 15 lines modified | ||
275 | #[<span·class="id"·title="var">local</span>]<br/> | 275 | #[<span·class="id"·title="var">local</span>]<br/> |
276 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">add_avl</span>·:·<span·class="id"·title="var">core</span>.<br/> | 276 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">add_avl</span>·:·<span·class="id"·title="var">core</span>.<br/> |
277 | <br/> | 277 | <br/> |
278 | </div> | 278 | </div> |
279 | <div·class="doc"> | 279 | <div·class="doc"> |
280 | <a·id="lab | 280 | <a·id="lab270"></a><h1·class="section">Extraction·of·minimum·binding</h1> |
281 | </div> | 281 | </div> |
282 | <div·class="code"> | 282 | <div·class="code"> |
283 | <br/> | 283 | <br/> |
284 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.remove_min_avl_1"·class="idref"·href="#AvlProofs.remove_min_avl_1"><span·class="id"·title="lemma">remove_min_avl_1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:42"·class="idref"·href="#l:42"><span·class="id"·title="binder">l</span></a>·<a·id="x:43"·class="idref"·href="#x:43"><span·class="id"·title="binder">x</span></a>·<a·id="e:44"·class="idref"·href="#e:44"><span·class="id"·title="binder">e</span></a>·<a·id="r:45"·class="idref"·href="#r:45"><span·class="id"·title="binder">r</span></a>·<a·id="h:46"·class="idref"·href="#h:46"><span·class="id"·title="binder">h</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:42"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:43"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:44"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:45"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:46"><span·class="id"·title="variable">h</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 284 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.remove_min_avl_1"·class="idref"·href="#AvlProofs.remove_min_avl_1"><span·class="id"·title="lemma">remove_min_avl_1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:42"·class="idref"·href="#l:42"><span·class="id"·title="binder">l</span></a>·<a·id="x:43"·class="idref"·href="#x:43"><span·class="id"·title="binder">x</span></a>·<a·id="e:44"·class="idref"·href="#e:44"><span·class="id"·title="binder">e</span></a>·<a·id="r:45"·class="idref"·href="#r:45"><span·class="id"·title="binder">r</span></a>·<a·id="h:46"·class="idref"·href="#h:46"><span·class="id"·title="binder">h</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:42"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:43"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:44"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:45"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:46"><span·class="id"·title="variable">h</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
285 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.remove_min"><span·class="id"·title="definition">remove_min</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:42"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:43"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:44"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:45"><span·class="id"·title="variable">r</span></a><a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">)#1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 285 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.remove_min"><span·class="id"·title="definition">remove_min</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:42"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:43"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:44"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:45"><span·class="id"·title="variable">r</span></a><a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">)#1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> |
Offset 293, 15 lines modified | Offset 293, 15 lines modified | ||
293 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.remove_min_avl"·class="idref"·href="#AvlProofs.remove_min_avl"><span·class="id"·title="lemma">remove_min_avl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:47"·class="idref"·href="#l:47"><span·class="id"·title="binder">l</span></a>·<a·id="x:48"·class="idref"·href="#x:48"><span·class="id"·title="binder">x</span></a>·<a·id="e:49"·class="idref"·href="#e:49"><span·class="id"·title="binder">e</span></a>·<a·id="r:50"·class="idref"·href="#r:50"><span·class="id"·title="binder">r</span></a>·<a·id="h:51"·class="idref"·href="#h:51"><span·class="id"·title="binder">h</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:47"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:48"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:49"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:50"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:51"><span·class="id"·title="variable">h</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 293 | <span·class="id"·title="keyword">Lemma</span>·<a·id="AvlProofs.remove_min_avl"·class="idref"·href="#AvlProofs.remove_min_avl"><span·class="id"·title="lemma">remove_min_avl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:47"·class="idref"·href="#l:47"><span·class="id"·title="binder">l</span></a>·<a·id="x:48"·class="idref"·href="#x:48"><span·class="id"·title="binder">x</span></a>·<a·id="e:49"·class="idref"·href="#e:49"><span·class="id"·title="binder">e</span></a>·<a·id="r:50"·class="idref"·href="#r:50"><span·class="id"·title="binder">r</span></a>·<a·id="h:51"·class="idref"·href="#h:51"><span·class="id"·title="binder">h</span></a>,·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·(<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:47"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:48"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:49"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:50"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#h:51"><span·class="id"·title="variable">h</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
294 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.remove_min"><span·class="id"·title="definition">remove_min</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:47"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:48"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:49"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:50"><span·class="id"·title="variable">r</span></a><a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">)#1</span></a>.<br/> | 294 | <a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.avl"><span·class="id"·title="inductive">avl</span></a>·<a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.FSets.FMapFullAVL.html#AvlProofs.remove_min"><span·class="id"·title="definition">remove_min</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#l:47"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#x:48"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#e:49"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapFullAVL.html#r:50"><span·class="id"·title="variable">r</span></a><a·class="idref"·href="Coq.FSets.FMapAVL.html#0ecba978737ceb119698c5cbbee795eb"><span·class="id"·title="notation">)#1</span></a>.<br/> |
Max diff block lines reached; 12252/32743 bytes (37.42%) of diff not shown. |
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="lab148"></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 131, 15 lines modified | Offset 131, 15 lines modified | ||
131 | <br/> | 131 | <br/> |
132 | <span·class="id"·title="keyword">Definition</span>·<a·id="Cmp"·class="idref"·href="#Cmp"><span·class="id"·title="definition">Cmp</span></a>·(<a·id="elt:1"·class="idref"·href="#elt:1"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="cmp:2"·class="idref"·href="#cmp:2"><span·class="id"·title="binder">cmp</span></a>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#elt:1"><span·class="id"·title="variable">elt</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.FSets.FMapInterface.html#elt:1"><span·class="id"·title="variable">elt</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#bool"><span·class="id"·title="inductive">bool</span></a>)·<a·id="e1:3"·class="idref"·href="#e1:3"><span·class="id"·title="binder">e1</span></a>·<a·id="e2:4"·class="idref"·href="#e2:4"><span·class="id"·title="binder">e2</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapInterface.html#cmp:2"><span·class="id"·title="variable">cmp</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#e1:3"><span·class="id"·title="variable">e1</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#e2:4"><span·class="id"·title="variable">e2</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#true"><span·class="id"·title="constructor">true</span></a>.<br/> | 132 | <span·class="id"·title="keyword">Definition</span>·<a·id="Cmp"·class="idref"·href="#Cmp"><span·class="id"·title="definition">Cmp</span></a>·(<a·id="elt:1"·class="idref"·href="#elt:1"><span·class="id"·title="binder">elt</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="cmp:2"·class="idref"·href="#cmp:2"><span·class="id"·title="binder">cmp</span></a>:<a·class="idref"·href="Coq.FSets.FMapInterface.html#elt:1"><span·class="id"·title="variable">elt</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.FSets.FMapInterface.html#elt:1"><span·class="id"·title="variable">elt</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#bool"><span·class="id"·title="inductive">bool</span></a>)·<a·id="e1:3"·class="idref"·href="#e1:3"><span·class="id"·title="binder">e1</span></a>·<a·id="e2:4"·class="idref"·href="#e2:4"><span·class="id"·title="binder">e2</span></a>·:=·<a·class="idref"·href="Coq.FSets.FMapInterface.html#cmp:2"><span·class="id"·title="variable">cmp</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#e1:3"><span·class="id"·title="variable">e1</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#e2:4"><span·class="id"·title="variable">e2</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#true"><span·class="id"·title="constructor">true</span></a>.<br/> |
133 | <br/> | 133 | <br/> |
134 | </div> | 134 | </div> |
135 | <div·class="doc"> | 135 | <div·class="doc"> |
136 | <a·id="lab | 136 | <a·id="lab149"></a><h2·class="section">Weak·signature·for·maps</h2> |
137 | <div·class="paragraph">·</div> | 137 | <div·class="paragraph">·</div> |
138 | ····No·requirements·for·an·ordering·on·keys·nor·elements,·only·decidability | 138 | ····No·requirements·for·an·ordering·on·keys·nor·elements,·only·decidability |
139 | ····of·equality·on·keys.·First,·a·functorial·signature:· | 139 | ····of·equality·on·keys.·First,·a·functorial·signature:· |
140 | </div> | 140 | </div> |
Offset 552, 15 lines modified | Offset 552, 15 lines modified | ||
552 | <br/> | 552 | <br/> |
553 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>.<br/> | 553 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>.<br/> |
554 | <br/> | 554 | <br/> |
555 | </div> | 555 | </div> |
556 | <div·class="doc"> | 556 | <div·class="doc"> |
557 | <a·id="lab | 557 | <a·id="lab150"></a><h2·class="section">Static·signature·for·Weak·Maps</h2> |
558 | <div·class="paragraph">·</div> | 558 | <div·class="paragraph">·</div> |
559 | ····Similar·to·<span·class="inlinecode"><span·class="id"·title="var">WSfun</span></span>·but·expressed·in·a·self-contained·way.· | 559 | ····Similar·to·<span·class="inlinecode"><span·class="id"·title="var">WSfun</span></span>·but·expressed·in·a·self-contained·way.· |
560 | </div> | 560 | </div> |
561 | <div·class="code"> | 561 | <div·class="code"> |
Offset 571, 15 lines modified | Offset 571, 15 lines modified | ||
571 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS.E"><span·class="id"·title="module">E</span></a>.<br/> | 571 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS.E"><span·class="id"·title="module">E</span></a>.<br/> |
572 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS"><span·class="id"·title="module">WS</span></a>.<br/> | 572 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WS"><span·class="id"·title="module">WS</span></a>.<br/> |
573 | <br/> | 573 | <br/> |
574 | </div> | 574 | </div> |
575 | <div·class="doc"> | 575 | <div·class="doc"> |
576 | <a·id="lab | 576 | <a·id="lab151"></a><h2·class="section">Maps·on·ordered·keys,·functorial·signature</h2> |
577 | </div> | 577 | </div> |
578 | <div·class="code"> | 578 | <div·class="code"> |
579 | <br/> | 579 | <br/> |
580 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Sfun"·class="idref"·href="#Sfun"><span·class="id"·title="module">Sfun</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> | 580 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Sfun"·class="idref"·href="#Sfun"><span·class="id"·title="module">Sfun</span></a>·(<span·class="id"·title="var">E</span>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>).<br/> |
581 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 581 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#E"><span·class="id"·title="module">E</span></a>.<br/> |
Offset 598, 30 lines modified | Offset 598, 30 lines modified | ||
598 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun.elt"><span·class="id"·title="section">elt</span></a>.<br/> | 598 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun.elt"><span·class="id"·title="section">elt</span></a>.<br/> |
599 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>.<br/> | 599 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>.<br/> |
600 | <br/> | 600 | <br/> |
601 | </div> | 601 | </div> |
602 | <div·class="doc"> | 602 | <div·class="doc"> |
603 | <a·id="lab1 | 603 | <a·id="lab152"></a><h2·class="section">Maps·on·ordered·keys,·self-contained·signature</h2> |
604 | </div> | 604 | </div> |
605 | <div·class="code"> | 605 | <div·class="code"> |
606 | <br/> | 606 | <br/> |
607 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="S"·class="idref"·href="#S"><span·class="id"·title="module">S</span></a>.<br/> | 607 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="S"·class="idref"·href="#S"><span·class="id"·title="module">S</span></a>.<br/> |
608 | <span·class="id"·title="keyword">Declare·Module</span>·<a·id="S.E"·class="idref"·href="#S.E"><span·class="id"·title="module">E</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> | 608 | <span·class="id"·title="keyword">Declare·Module</span>·<a·id="S.E"·class="idref"·href="#S.E"><span·class="id"·title="module">E</span></a>·:·<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> |
609 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#S.E"><span·class="id"·title="module">E</span></a>.<br/> | 609 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#S.E"><span·class="id"·title="module">E</span></a>.<br/> |
610 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#S"><span·class="id"·title="module">S</span></a>.<br/> | 610 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#S"><span·class="id"·title="module">S</span></a>.<br/> |
611 | <br/> | 611 | <br/> |
612 | </div> | 612 | </div> |
613 | <div·class="doc"> | 613 | <div·class="doc"> |
614 | <a·id="lab1 | 614 | <a·id="lab153"></a><h2·class="section">Maps·with·ordering·both·on·keys·and·datas</h2> |
615 | </div> | 615 | </div> |
616 | <div·class="code"> | 616 | <div·class="code"> |
617 | <br/> | 617 | <br/> |
618 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Sord"·class="idref"·href="#Sord"><span·class="id"·title="module">Sord</span></a>.<br/> | 618 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Sord"·class="idref"·href="#Sord"><span·class="id"·title="module">Sord</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="lab1 | 49 | <a·id="lab192"></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 89, 15 lines modified | Offset 89, 15 lines modified | ||
89 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.Sort"·class="idref"·href="#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·:=·(<a·class="idref"·href="Coq.Sorting.Sorted.html#sort"><span·class="id"·title="abbreviation">sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.ltk"><span·class="id"·title="abbreviation">ltk</span></a>).<br/> | 89 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.Sort"·class="idref"·href="#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·:=·(<a·class="idref"·href="Coq.Sorting.Sorted.html#sort"><span·class="id"·title="abbreviation">sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.ltk"><span·class="id"·title="abbreviation">ltk</span></a>).<br/> |
90 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.Inf"·class="idref"·href="#Raw.Inf"><span·class="id"·title="abbreviation">Inf</span></a>·:=·(<a·class="idref"·href="Coq.Sorting.Sorted.html#lelistA"><span·class="id"·title="abbreviation">lelistA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.ltk"><span·class="id"·title="abbreviation">ltk</span></a>)).<br/> | 90 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.Inf"·class="idref"·href="#Raw.Inf"><span·class="id"·title="abbreviation">Inf</span></a>·:=·(<a·class="idref"·href="Coq.Sorting.Sorted.html#lelistA"><span·class="id"·title="abbreviation">lelistA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.ltk"><span·class="id"·title="abbreviation">ltk</span></a>)).<br/> |
91 | <br/> | 91 | <br/> |
92 | </div> | 92 | </div> |
93 | <div·class="doc"> | 93 | <div·class="doc"> |
94 | <a·id="lab1 | 94 | <a·id="lab193"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">empty</span></span></h1> |
95 | </div> | 95 | </div> |
96 | <div·class="code"> | 96 | <div·class="code"> |
97 | <br/> | 97 | <br/> |
98 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> |
Offset 112, 15 lines modified | Offset 112, 15 lines modified | ||
112 | <br/> | 112 | <br/> |
113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.empty_sorted"·class="idref"·href="#Raw.empty_sorted"><span·class="id"·title="lemma">empty_sorted</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.empty"><span·class="id"·title="definition">empty</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.empty_sorted"·class="idref"·href="#Raw.empty_sorted"><span·class="id"·title="lemma">empty_sorted</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.empty"><span·class="id"·title="definition">empty</span></a>.<br/> |
114 | <br/> | 114 | <br/> |
115 | </div> | 115 | </div> |
116 | <div·class="doc"> | 116 | <div·class="doc"> |
117 | <a·id="lab1 | 117 | <a·id="lab194"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">is_empty</span></span></h1> |
118 | </div> | 118 | </div> |
119 | <div·class="code"> | 119 | <div·class="code"> |
120 | <br/> | 120 | <br/> |
121 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:7"·class="idref"·href="#l:7"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#l:7"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 121 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:7"·class="idref"·href="#l:7"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#l:7"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> |
Offset 130, 15 lines modified | Offset 130, 15 lines modified | ||
130 | <br/> | 130 | <br/> |
131 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.is_empty_2"·class="idref"·href="#Raw.is_empty_2"><span·class="id"·title="lemma">is_empty_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:9"><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.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.FSets.FMapList.html#Raw.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:9"><span·class="id"·title="variable">m</span></a>.<br/> | 131 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.is_empty_2"·class="idref"·href="#Raw.is_empty_2"><span·class="id"·title="lemma">is_empty_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:9"><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.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.FSets.FMapList.html#Raw.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:9"><span·class="id"·title="variable">m</span></a>.<br/> |
132 | <br/> | 132 | <br/> |
133 | </div> | 133 | </div> |
134 | <div·class="doc"> | 134 | <div·class="doc"> |
135 | <a·id="lab1 | 135 | <a·id="lab195"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">mem</span></span></h1> |
136 | </div> | 136 | </div> |
137 | <div·class="code"> | 137 | <div·class="code"> |
138 | <br/> | 138 | <br/> |
139 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.mem"·class="idref"·href="#Raw.mem"><span·class="id"·title="definition">mem</span></a>·(<a·id="k:10"·class="idref"·href="#k:10"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:11"·class="idref"·href="#s:11"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 139 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.mem"·class="idref"·href="#Raw.mem"><span·class="id"·title="definition">mem</span></a>·(<a·id="k:10"·class="idref"·href="#k:10"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:11"·class="idref"·href="#s:11"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> |
140 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:11"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 140 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:11"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 157, 15 lines modified | Offset 157, 15 lines modified | ||
157 | <br/> | 157 | <br/> |
158 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.mem_2"·class="idref"·href="#Raw.mem_2"><span·class="id"·title="lemma">mem_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:18"·class="idref"·href="#Hm:18"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>)·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.mem"><span·class="id"·title="definition">mem</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><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.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.FSets.FMapList.html#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>.<br/> | 158 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.mem_2"·class="idref"·href="#Raw.mem_2"><span·class="id"·title="lemma">mem_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:18"·class="idref"·href="#Hm:18"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>)·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.mem"><span·class="id"·title="definition">mem</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><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.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.FSets.FMapList.html#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:17"><span·class="id"·title="variable">m</span></a>.<br/> |
159 | <br/> | 159 | <br/> |
160 | </div> | 160 | </div> |
161 | <div·class="doc"> | 161 | <div·class="doc"> |
162 | <a·id="lab1 | 162 | <a·id="lab196"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">find</span></span></h1> |
163 | </div> | 163 | </div> |
164 | <div·class="code"> | 164 | <div·class="code"> |
165 | <br/> | 165 | <br/> |
166 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.find"·class="idref"·href="#Raw.find"><span·class="id"·title="definition">find</span></a>·(<a·id="k:20"·class="idref"·href="#k:20"><span·class="id"·title="binder">k</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:21"·class="idref"·href="#s:21"><span·class="id"·title="binder">s</span></a>:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 166 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.find"·class="idref"·href="#Raw.find"><span·class="id"·title="definition">find</span></a>·(<a·id="k:20"·class="idref"·href="#k:20"><span·class="id"·title="binder">k</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:21"·class="idref"·href="#s:21"><span·class="id"·title="binder">s</span></a>:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> |
167 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:21"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 167 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:21"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 184, 15 lines modified | Offset 184, 15 lines modified | ||
184 | <br/> | 184 | <br/> |
185 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.find_1"·class="idref"·href="#Raw.find_1"><span·class="id"·title="lemma">find_1</span></a>·:··<span·class="id"·title="keyword">forall</span>·<a·id="m:27"·class="idref"·href="#m:27"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:28"·class="idref"·href="#Hm:28"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><span·class="id"·title="variable">m</span></a>)·<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>·<a·id="e:30"·class="idref"·href="#e:30"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.MapsTo"><span·class="id"·title="abbreviation">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:30"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><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.FSets.FMapList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><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.Datatypes.html#Some"><span·class="id"·title="constructor">Some</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:30"><span·class="id"·title="variable">e</span></a>.<br/> | 185 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.find_1"·class="idref"·href="#Raw.find_1"><span·class="id"·title="lemma">find_1</span></a>·:··<span·class="id"·title="keyword">forall</span>·<a·id="m:27"·class="idref"·href="#m:27"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:28"·class="idref"·href="#Hm:28"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><span·class="id"·title="variable">m</span></a>)·<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>·<a·id="e:30"·class="idref"·href="#e:30"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.MapsTo"><span·class="id"·title="abbreviation">MapsTo</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:30"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><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.FSets.FMapList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:27"><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.Datatypes.html#Some"><span·class="id"·title="constructor">Some</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:30"><span·class="id"·title="variable">e</span></a>.<br/> |
186 | <br/> | 186 | <br/> |
187 | </div> | 187 | </div> |
188 | <div·class="doc"> | 188 | <div·class="doc"> |
189 | <a·id="lab1 | 189 | <a·id="lab197"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">add</span></span></h1> |
190 | </div> | 190 | </div> |
191 | <div·class="code"> | 191 | <div·class="code"> |
192 | <br/> | 192 | <br/> |
193 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.add"·class="idref"·href="#Raw.add"><span·class="id"·title="definition">add</span></a>·(<a·id="k:31"·class="idref"·href="#k:31"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="x:32"·class="idref"·href="#x:32"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·(<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 193 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.add"·class="idref"·href="#Raw.add"><span·class="id"·title="definition">add</span></a>·(<a·id="k:31"·class="idref"·href="#k:31"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="x:32"·class="idref"·href="#x:32"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·(<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> |
194 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:33"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 194 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:33"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 225, 15 lines modified | Offset 225, 15 lines modified | ||
225 | <br/> | 225 | <br/> |
226 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.add_sorted"·class="idref"·href="#Raw.add_sorted"><span·class="id"·title="lemma">add_sorted</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:55"·class="idref"·href="#m:55"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:56"·class="idref"·href="#Hm:56"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:55"><span·class="id"·title="variable">m</span></a>)·<a·id="x:57"·class="idref"·href="#x:57"><span·class="id"·title="binder">x</span></a>·<a·id="e:58"·class="idref"·href="#e:58"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:57"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:58"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:55"><span·class="id"·title="variable">m</span></a>).<br/> | 226 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.add_sorted"·class="idref"·href="#Raw.add_sorted"><span·class="id"·title="lemma">add_sorted</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:55"·class="idref"·href="#m:55"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:56"·class="idref"·href="#Hm:56"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:55"><span·class="id"·title="variable">m</span></a>)·<a·id="x:57"·class="idref"·href="#x:57"><span·class="id"·title="binder">x</span></a>·<a·id="e:58"·class="idref"·href="#e:58"><span·class="id"·title="binder">e</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:57"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#e:58"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:55"><span·class="id"·title="variable">m</span></a>).<br/> |
227 | <br/> | 227 | <br/> |
228 | </div> | 228 | </div> |
229 | <div·class="doc"> | 229 | <div·class="doc"> |
230 | <a·id="lab1 | 230 | <a·id="lab198"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">remove</span></span></h1> |
231 | </div> | 231 | </div> |
232 | <div·class="code"> | 232 | <div·class="code"> |
233 | <br/> | 233 | <br/> |
234 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.remove"·class="idref"·href="#Raw.remove"><span·class="id"·title="definition">remove</span></a>·(<a·id="k:59"·class="idref"·href="#k:59"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:60"·class="idref"·href="#s:60"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 234 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.remove"·class="idref"·href="#Raw.remove"><span·class="id"·title="definition">remove</span></a>·(<a·id="k:59"·class="idref"·href="#k:59"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:60"·class="idref"·href="#s:60"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> |
235 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:60"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 235 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapList.html#s:60"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 266, 15 lines modified | Offset 266, 15 lines modified | ||
266 | <br/> | 266 | <br/> |
267 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.remove_sorted"·class="idref"·href="#Raw.remove_sorted"><span·class="id"·title="lemma">remove_sorted</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:82"·class="idref"·href="#m:82"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:83"·class="idref"·href="#Hm:83"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:82"><span·class="id"·title="variable">m</span></a>)·<a·id="x:84"·class="idref"·href="#x:84"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.remove"><span·class="id"·title="definition">remove</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:84"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:82"><span·class="id"·title="variable">m</span></a>).<br/> | 267 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.remove_sorted"·class="idref"·href="#Raw.remove_sorted"><span·class="id"·title="lemma">remove_sorted</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:82"·class="idref"·href="#m:82"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:83"·class="idref"·href="#Hm:83"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:82"><span·class="id"·title="variable">m</span></a>)·<a·id="x:84"·class="idref"·href="#x:84"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Sort"><span·class="id"·title="abbreviation">Sort</span></a>·(<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.remove"><span·class="id"·title="definition">remove</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#x:84"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#m:82"><span·class="id"·title="variable">m</span></a>).<br/> |
268 | <br/> | 268 | <br/> |
269 | </div> | 269 | </div> |
270 | <div·class="doc"> | 270 | <div·class="doc"> |
271 | <a·id="lab1 | 271 | <a·id="lab199"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">elements</span></span></h1> |
272 | </div> | 272 | </div> |
273 | <div·class="code"> | 273 | <div·class="code"> |
274 | <br/> | 274 | <br/> |
275 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.elements"·class="idref"·href="#Raw.elements"><span·class="id"·title="definition">elements</span></a>·(<a·id="m:85"·class="idref"·href="#m:85"><span·class="id"·title="binder">m</span></a>:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapList.html#m:85"><span·class="id"·title="variable">m</span></a>.<br/> | 275 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.elements"·class="idref"·href="#Raw.elements"><span·class="id"·title="definition">elements</span></a>·(<a·id="m:85"·class="idref"·href="#m:85"><span·class="id"·title="binder">m</span></a>:·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapList.html#m:85"><span·class="id"·title="variable">m</span></a>.<br/> |
Max diff block lines reached; 12895/30838 bytes (41.82%) of diff not shown. |
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="lab14 | 49 | <a·id="lab147"></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="lab1 | 49 | <a·id="lab156"></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 87, 15 lines modified | Offset 87, 15 lines modified | ||
87 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.In"·class="idref"·href="#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·:=·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.In"><span·class="id"·title="definition">In</span></a>·(<span·class="id"·title="var">elt</span>:=<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)).<br/> | 87 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.In"·class="idref"·href="#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·:=·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.In"><span·class="id"·title="definition">In</span></a>·(<span·class="id"·title="var">elt</span>:=<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)).<br/> |
88 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.NoDupA"·class="idref"·href="#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.eqk"><span·class="id"·title="abbreviation">eqk</span></a>).<br/> | 88 | <span·class="id"·title="keyword">Notation</span>·<a·id="Raw.NoDupA"·class="idref"·href="#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.eqk"><span·class="id"·title="abbreviation">eqk</span></a>).<br/> |
89 | <br/> | 89 | <br/> |
90 | </div> | 90 | </div> |
91 | <div·class="doc"> | 91 | <div·class="doc"> |
92 | <a·id="lab1 | 92 | <a·id="lab157"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">empty</span></span></h1> |
93 | </div> | 93 | </div> |
94 | <div·class="code"> | 94 | <div·class="code"> |
95 | <br/> | 95 | <br/> |
96 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 96 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.empty"·class="idref"·href="#Raw.empty"><span·class="id"·title="definition">empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> |
Offset 112, 15 lines modified | Offset 112, 15 lines modified | ||
112 | <br/> | 112 | <br/> |
113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.empty_NoDup"·class="idref"·href="#Raw.empty_NoDup"><span·class="id"·title="lemma">empty_NoDup</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.empty"><span·class="id"·title="definition">empty</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.empty_NoDup"·class="idref"·href="#Raw.empty_NoDup"><span·class="id"·title="lemma">empty_NoDup</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.empty"><span·class="id"·title="definition">empty</span></a>.<br/> |
114 | <br/> | 114 | <br/> |
115 | </div> | 115 | </div> |
116 | <div·class="doc"> | 116 | <div·class="doc"> |
117 | <a·id="lab1 | 117 | <a·id="lab158"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">is_empty</span></span></h1> |
118 | </div> | 118 | </div> |
119 | <div·class="code"> | 119 | <div·class="code"> |
120 | <br/> | 120 | <br/> |
121 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:7"·class="idref"·href="#l:7"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#l:7"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 121 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.is_empty"·class="idref"·href="#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:7"·class="idref"·href="#l:7"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#l:7"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> |
Offset 130, 15 lines modified | Offset 130, 15 lines modified | ||
130 | <br/> | 130 | <br/> |
131 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.is_empty_2"·class="idref"·href="#Raw.is_empty_2"><span·class="id"·title="lemma">is_empty_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:9"><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.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.FSets.FMapWeakList.html#Raw.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:9"><span·class="id"·title="variable">m</span></a>.<br/> | 131 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.is_empty_2"·class="idref"·href="#Raw.is_empty_2"><span·class="id"·title="lemma">is_empty_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.is_empty"><span·class="id"·title="definition">is_empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:9"><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.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.FSets.FMapWeakList.html#Raw.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:9"><span·class="id"·title="variable">m</span></a>.<br/> |
132 | <br/> | 132 | <br/> |
133 | </div> | 133 | </div> |
134 | <div·class="doc"> | 134 | <div·class="doc"> |
135 | <a·id="lab1 | 135 | <a·id="lab159"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">mem</span></span></h1> |
136 | </div> | 136 | </div> |
137 | <div·class="code"> | 137 | <div·class="code"> |
138 | <br/> | 138 | <br/> |
139 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.mem"·class="idref"·href="#Raw.mem"><span·class="id"·title="definition">mem</span></a>·(<a·id="k:10"·class="idref"·href="#k:10"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:11"·class="idref"·href="#s:11"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 139 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.mem"·class="idref"·href="#Raw.mem"><span·class="id"·title="definition">mem</span></a>·(<a·id="k:10"·class="idref"·href="#k:10"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:11"·class="idref"·href="#s:11"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> |
140 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:11"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 140 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:11"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 152, 15 lines modified | Offset 152, 15 lines modified | ||
152 | <br/> | 152 | <br/> |
153 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.mem_2"·class="idref"·href="#Raw.mem_2"><span·class="id"·title="lemma">mem_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:18"·class="idref"·href="#Hm:18"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>)·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.mem"><span·class="id"·title="definition">mem</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><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.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.FSets.FMapWeakList.html#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>.<br/> | 153 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.mem_2"·class="idref"·href="#Raw.mem_2"><span·class="id"·title="lemma">mem_2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:18"·class="idref"·href="#Hm:18"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>)·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.mem"><span·class="id"·title="definition">mem</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><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.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.FSets.FMapWeakList.html#Raw.In"><span·class="id"·title="abbreviation">In</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:17"><span·class="id"·title="variable">m</span></a>.<br/> |
154 | <br/> | 154 | <br/> |
155 | </div> | 155 | </div> |
156 | <div·class="doc"> | 156 | <div·class="doc"> |
157 | <a·id="lab1 | 157 | <a·id="lab160"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">find</span></span></h1> |
158 | </div> | 158 | </div> |
159 | <div·class="code"> | 159 | <div·class="code"> |
160 | <br/> | 160 | <br/> |
161 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.find"·class="idref"·href="#Raw.find"><span·class="id"·title="definition">find</span></a>·(<a·id="k:20"·class="idref"·href="#k:20"><span·class="id"·title="binder">k</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:21"·class="idref"·href="#s:21"><span·class="id"·title="binder">s</span></a>:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 161 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.find"·class="idref"·href="#Raw.find"><span·class="id"·title="definition">find</span></a>·(<a·id="k:20"·class="idref"·href="#k:20"><span·class="id"·title="binder">k</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:21"·class="idref"·href="#s:21"><span·class="id"·title="binder">s</span></a>:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> |
162 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:21"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 162 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:21"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 181, 15 lines modified | Offset 181, 15 lines modified | ||
181 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.find_eq"·class="idref"·href="#Raw.find_eq"><span·class="id"·title="lemma">find_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:31"·class="idref"·href="#m:31"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:32"·class="idref"·href="#Hm:32"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>)·<a·id="x:33"·class="idref"·href="#x:33"><span·class="id"·title="binder">x</span></a>·<a·id="x':34"·class="idref"·href="#x':34"><span·class="id"·title="binder">x'</span></a>,<br/> | 181 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.find_eq"·class="idref"·href="#Raw.find_eq"><span·class="id"·title="lemma">find_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:31"·class="idref"·href="#m:31"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:32"·class="idref"·href="#Hm:32"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>)·<a·id="x:33"·class="idref"·href="#x:33"><span·class="id"·title="binder">x</span></a>·<a·id="x':34"·class="idref"·href="#x':34"><span·class="id"·title="binder">x'</span></a>,<br/> |
182 | <a·class="idref"·href="Coq.FSets.FMapWeakList.html#X.eq"><span·class="id"·title="axiom">X.eq</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x':34"><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.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><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.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x':34"><span·class="id"·title="variable">x'</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>.<br/> | 182 | <a·class="idref"·href="Coq.FSets.FMapWeakList.html#X.eq"><span·class="id"·title="axiom">X.eq</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x':34"><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.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><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.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x':34"><span·class="id"·title="variable">x'</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:31"><span·class="id"·title="variable">m</span></a>.<br/> |
183 | <br/> | 183 | <br/> |
184 | </div> | 184 | </div> |
185 | <div·class="doc"> | 185 | <div·class="doc"> |
186 | <a·id="lab1 | 186 | <a·id="lab161"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">add</span></span></h1> |
187 | </div> | 187 | </div> |
188 | <div·class="code"> | 188 | <div·class="code"> |
189 | <br/> | 189 | <br/> |
190 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.add"·class="idref"·href="#Raw.add"><span·class="id"·title="definition">add</span></a>·(<a·id="k:35"·class="idref"·href="#k:35"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="x:36"·class="idref"·href="#x:36"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·(<a·id="s:37"·class="idref"·href="#s:37"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 190 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.add"·class="idref"·href="#Raw.add"><span·class="id"·title="definition">add</span></a>·(<a·id="k:35"·class="idref"·href="#k:35"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="x:36"·class="idref"·href="#x:36"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·(<a·id="s:37"·class="idref"·href="#s:37"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> |
191 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:37"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 191 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:37"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 225, 15 lines modified | Offset 225, 15 lines modified | ||
225 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.add_not_eq"·class="idref"·href="#Raw.add_not_eq"><span·class="id"·title="lemma">add_not_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:68"·class="idref"·href="#m:68"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:69"·class="idref"·href="#Hm:69"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>)·<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·<a·id="a:71"·class="idref"·href="#a:71"><span·class="id"·title="binder">a</span></a>·<a·id="e:72"·class="idref"·href="#e:72"><span·class="id"·title="binder">e</span></a>,<br/> | 225 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.add_not_eq"·class="idref"·href="#Raw.add_not_eq"><span·class="id"·title="lemma">add_not_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:68"·class="idref"·href="#m:68"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:69"·class="idref"·href="#Hm:69"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>)·<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·<a·id="a:71"·class="idref"·href="#a:71"><span·class="id"·title="binder">a</span></a>·<a·id="e:72"·class="idref"·href="#e:72"><span·class="id"·title="binder">e</span></a>,<br/> |
226 | <a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.FSets.FMapWeakList.html#X.eq"><span·class="id"·title="axiom">X.eq</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#a:71"><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.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#a:71"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#e:72"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><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.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>.<br/> | 226 | <a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.FSets.FMapWeakList.html#X.eq"><span·class="id"·title="axiom">X.eq</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#a:71"><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.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.add"><span·class="id"·title="definition">add</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#a:71"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#e:72"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><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.FSets.FMapWeakList.html#Raw.find"><span·class="id"·title="definition">find</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:68"><span·class="id"·title="variable">m</span></a>.<br/> |
227 | <br/> | 227 | <br/> |
228 | </div> | 228 | </div> |
229 | <div·class="doc"> | 229 | <div·class="doc"> |
230 | <a·id="lab1 | 230 | <a·id="lab162"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">remove</span></span></h1> |
231 | </div> | 231 | </div> |
232 | <div·class="code"> | 232 | <div·class="code"> |
233 | <br/> | 233 | <br/> |
234 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.remove"·class="idref"·href="#Raw.remove"><span·class="id"·title="definition">remove</span></a>·(<a·id="k:73"·class="idref"·href="#k:73"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:74"·class="idref"·href="#s:74"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> | 234 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Raw.remove"·class="idref"·href="#Raw.remove"><span·class="id"·title="definition">remove</span></a>·(<a·id="k:73"·class="idref"·href="#k:73"><span·class="id"·title="binder">k</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.key"><span·class="id"·title="definition">key</span></a>)·(<a·id="s:74"·class="idref"·href="#s:74"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">s</span>}·:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>·:=<br/> |
235 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:74"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 235 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#s:74"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 259, 15 lines modified | Offset 259, 15 lines modified | ||
259 | <br/> | 259 | <br/> |
260 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.remove_NoDup"·class="idref"·href="#Raw.remove_NoDup"><span·class="id"·title="lemma">remove_NoDup</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:96"·class="idref"·href="#m:96"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:97"·class="idref"·href="#Hm:97"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:96"><span·class="id"·title="variable">m</span></a>)·<a·id="x:98"·class="idref"·href="#x:98"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.remove"><span·class="id"·title="definition">remove</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:98"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:96"><span·class="id"·title="variable">m</span></a>).<br/> | 260 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Raw.remove_NoDup"·class="idref"·href="#Raw.remove_NoDup"><span·class="id"·title="lemma">remove_NoDup</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="m:96"·class="idref"·href="#m:96"><span·class="id"·title="binder">m</span></a>·(<a·id="Hm:97"·class="idref"·href="#Hm:97"><span·class="id"·title="binder">Hm</span></a>:<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:96"><span·class="id"·title="variable">m</span></a>)·<a·id="x:98"·class="idref"·href="#x:98"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.NoDupA"><span·class="id"·title="abbreviation">NoDupA</span></a>·(<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.remove"><span·class="id"·title="definition">remove</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#x:98"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:96"><span·class="id"·title="variable">m</span></a>).<br/> |
261 | <br/> | 261 | <br/> |
262 | </div> | 262 | </div> |
263 | <div·class="doc"> | 263 | <div·class="doc"> |
264 | <a·id="lab1 | 264 | <a·id="lab163"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">elements</span></span></h1> |
265 | </div> | 265 | </div> |
266 | <div·class="code"> | 266 | <div·class="code"> |
267 | <br/> | 267 | <br/> |
268 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.elements"·class="idref"·href="#Raw.elements"><span·class="id"·title="definition">elements</span></a>·(<a·id="m:99"·class="idref"·href="#m:99"><span·class="id"·title="binder">m</span></a>:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:99"><span·class="id"·title="variable">m</span></a>.<br/> | 268 | <span·class="id"·title="keyword">Definition</span>·<a·id="Raw.elements"·class="idref"·href="#Raw.elements"><span·class="id"·title="definition">elements</span></a>·(<a·id="m:99"·class="idref"·href="#m:99"><span·class="id"·title="binder">m</span></a>:·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.t"><span·class="id"·title="definition">t</span></a>·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#Raw.Elt.elt"><span·class="id"·title="variable">elt</span></a>)·:=·<a·class="idref"·href="Coq.FSets.FMapWeakList.html#m:99"><span·class="id"·title="variable">m</span></a>.<br/> |
Max diff block lines reached; 11099/30619 bytes (36.25%) of diff not shown. |
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="lab1 | 49 | <a·id="lab183"></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="lab142"></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 62, 15 lines modified | Offset 62, 15 lines modified | ||
62 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#"><span·class="id"·title="library">FSetInterface</span></a>.<br/> |
63 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 63 | <span·class="id"·title="keyword">Set·Implicit·Arguments</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="lab143"></a><h1·class="section">From·non-dependent·signature·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·to·dependent·signature·<span·class="inlinecode"><span·class="id"·title="var">Sdep</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">Module</span>·<a·id="DepOfNodep"·class="idref"·href="#DepOfNodep"><span·class="id"·title="module">DepOfNodep</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>)·<:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sdep"><span·class="id"·title="module">Sdep</span></a>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="keyword">Module</span>·<span·class="id"·title="var">E</span>·:=·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M.E"><span·class="id"·title="module">M.E</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Module</span>·<a·id="DepOfNodep"·class="idref"·href="#DepOfNodep"><span·class="id"·title="module">DepOfNodep</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>)·<:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sdep"><span·class="id"·title="module">Sdep</span></a>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="keyword">Module</span>·<span·class="id"·title="var">E</span>·:=·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M.E"><span·class="id"·title="module">M.E</span></a>.<br/> |
72 | <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">bool</span>·<span·class="id"·title="tactic">set</span>.<br/> | 72 | <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">bool</span>·<span·class="id"·title="tactic">set</span>.<br/> |
Offset 240, 15 lines modified | Offset 240, 15 lines modified | ||
240 | <br/> | 240 | <br/> |
241 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetBridge.html#DepOfNodep"><span·class="id"·title="module">DepOfNodep</span></a>.<br/> | 241 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetBridge.html#DepOfNodep"><span·class="id"·title="module">DepOfNodep</span></a>.<br/> |
242 | <br/> | 242 | <br/> |
243 | </div> | 243 | </div> |
244 | <div·class="doc"> | 244 | <div·class="doc"> |
245 | <a·id="lab4 | 245 | <a·id="lab144"></a><h1·class="section">From·dependent·signature·<span·class="inlinecode"><span·class="id"·title="var">Sdep</span></span>·to·non-dependent·signature·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>.</h1> |
246 | </div> | 246 | </div> |
247 | <div·class="code"> | 247 | <div·class="code"> |
248 | <br/> | 248 | <br/> |
249 | <span·class="id"·title="keyword">Module</span>·<a·id="NodepOfDep"·class="idref"·href="#NodepOfDep"><span·class="id"·title="module">NodepOfDep</span></a>·(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sdep"><span·class="id"·title="module">Sdep</span></a>)·<:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="keyword">Module</span>·<span·class="id"·title="var">E</span>·:=·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M.E"><span·class="id"·title="module">M.E</span></a>.<br/> | 249 | <span·class="id"·title="keyword">Module</span>·<a·id="NodepOfDep"·class="idref"·href="#NodepOfDep"><span·class="id"·title="module">NodepOfDep</span></a>·(<span·class="id"·title="var">M</span>:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sdep"><span·class="id"·title="module">Sdep</span></a>)·<:·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="keyword">Module</span>·<span·class="id"·title="var">E</span>·:=·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M.E"><span·class="id"·title="module">M.E</span></a>.<br/> |
250 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M"><span·class="id"·title="module">M</span></a>.<br/> | 250 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetBridge.html#M"><span·class="id"·title="module">M</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="lab1"></a><h1·class="section">Compatibility·functors·between·FSetInterface·and·MSetInterface.</h1> | 49 | <a·id="lab281"></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 61, 15 lines modified | Offset 61, 15 lines modified | ||
61 | <br/> | 61 | <br/> |
62 | <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">relations</span>.<br/> | 62 | <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">relations</span>.<br/> |
63 | <br/> | 63 | <br/> |
64 | </div> | 64 | </div> |
65 | <div·class="doc"> | 65 | <div·class="doc"> |
66 | <a·id="lab2"></a><h1·class="section">From·new·Weak·Sets·to·old·ones</h1> | 66 | <a·id="lab282"></a><h1·class="section">From·new·Weak·Sets·to·old·ones</h1> |
67 | </div> | 67 | </div> |
68 | <div·class="code"> | 68 | <div·class="code"> |
69 | <br/> | 69 | <br/> |
70 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_WSets"·class="idref"·href="#Backport_WSets"><span·class="id"·title="module">Backport_WSets</span></a><br/> | 70 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_WSets"·class="idref"·href="#Backport_WSets"><span·class="id"·title="module">Backport_WSets</span></a><br/> |
71 | (<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType.DecidableType</span></a>)<br/> | 71 | (<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.DecidableType.html#DecidableType"><span·class="id"·title="module">DecidableType.DecidableType</span></a>)<br/> |
Offset 224, 15 lines modified | Offset 224, 15 lines modified | ||
224 | <br/> | 224 | <br/> |
225 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Backport_WSets"><span·class="id"·title="module">Backport_WSets</span></a>.<br/> | 225 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Backport_WSets"><span·class="id"·title="module">Backport_WSets</span></a>.<br/> |
226 | <br/> | 226 | <br/> |
227 | </div> | 227 | </div> |
228 | <div·class="doc"> | 228 | <div·class="doc"> |
229 | <a·id="lab3"></a><h1·class="section">From·new·Sets·to·new·ones</h1> | 229 | <a·id="lab283"></a><h1·class="section">From·new·Sets·to·new·ones</h1> |
230 | </div> | 230 | </div> |
231 | <div·class="code"> | 231 | <div·class="code"> |
232 | <br/> | 232 | <br/> |
233 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_Sets"·class="idref"·href="#Backport_Sets"><span·class="id"·title="module">Backport_Sets</span></a><br/> | 233 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_Sets"·class="idref"·href="#Backport_Sets"><span·class="id"·title="module">Backport_Sets</span></a><br/> |
234 | (<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType.OrderedType</span></a>)<br/> | 234 | (<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrderedType.html#OrderedType"><span·class="id"·title="module">OrderedType.OrderedType</span></a>)<br/> |
Offset 282, 15 lines modified | Offset 282, 15 lines modified | ||
282 | <br/> | 282 | <br/> |
283 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Backport_Sets"><span·class="id"·title="module">Backport_Sets</span></a>.<br/> | 283 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Backport_Sets"><span·class="id"·title="module">Backport_Sets</span></a>.<br/> |
284 | <br/> | 284 | <br/> |
285 | </div> | 285 | </div> |
286 | <div·class="doc"> | 286 | <div·class="doc"> |
287 | <a·id="lab4"></a><h1·class="section">From·old·Weak·Sets·to·new·ones.</h1> | 287 | <a·id="lab284"></a><h1·class="section">From·old·Weak·Sets·to·new·ones.</h1> |
288 | </div> | 288 | </div> |
289 | <div·class="code"> | 289 | <div·class="code"> |
290 | <br/> | 290 | <br/> |
291 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_WSets"·class="idref"·href="#Update_WSets"><span·class="id"·title="module">Update_WSets</span></a><br/> | 291 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_WSets"·class="idref"·href="#Update_WSets"><span·class="id"·title="module">Update_WSets</span></a><br/> |
292 | (<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">Equalities.DecidableType</span></a>)<br/> | 292 | (<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">Equalities.DecidableType</span></a>)<br/> |
Offset 425, 15 lines modified | Offset 425, 15 lines modified | ||
425 | <br/> | 425 | <br/> |
426 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Update_WSets"><span·class="id"·title="module">Update_WSets</span></a>.<br/> | 426 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetCompat.html#Update_WSets"><span·class="id"·title="module">Update_WSets</span></a>.<br/> |
427 | <br/> | 427 | <br/> |
428 | </div> | 428 | </div> |
429 | <div·class="doc"> | 429 | <div·class="doc"> |
430 | <a·id="lab5"></a><h1·class="section">From·old·Sets·to·new·ones.</h1> | 430 | <a·id="lab285"></a><h1·class="section">From·old·Sets·to·new·ones.</h1> |
431 | </div> | 431 | </div> |
432 | <div·class="code"> | 432 | <div·class="code"> |
433 | <br/> | 433 | <br/> |
434 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_Sets"·class="idref"·href="#Update_Sets"><span·class="id"·title="module">Update_Sets</span></a><br/> | 434 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_Sets"·class="idref"·href="#Update_Sets"><span·class="id"·title="module">Update_Sets</span></a><br/> |
435 | (<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">Orders.OrderedType</span></a>)<br/> | 435 | (<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">Orders.OrderedType</span></a>)<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="lab1 | 76 | <a·id="lab167"></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 177, 41 lines modified | Offset 177, 41 lines modified | ||
177 | </pre> | 177 | </pre> |
178 | </li> | 178 | </li> |
179 | </ul> | 179 | </ul> |
180 | <div·class="paragraph">·</div> | 180 | <div·class="paragraph">·</div> |
181 | <a·id="lab1 | 181 | <a·id="lab168"></a><h1·class="section">Facts·and·Tactics·for·Propositional·Logic</h1> |
182 | ······These·lemmas·and·tactics·are·in·a·module·so·that·they·do | 182 | ······These·lemmas·and·tactics·are·in·a·module·so·that·they·do |
183 | ······not·affect·the·namespace·if·you·import·the·enclosing | 183 | ······not·affect·the·namespace·if·you·import·the·enclosing |
184 | ······module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.· | 184 | ······module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.· |
185 | </div> | 185 | </div> |
186 | <div·class="code"> | 186 | <div·class="code"> |
187 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.FSetLogicalFacts"·class="idref"·href="#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> | 187 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.FSetLogicalFacts"·class="idref"·href="#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> |
188 | <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Logic.Decidable.html#"><span·class="id"·title="module">Decidable</span></a>.<br/> | 188 | <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Logic.Decidable.html#"><span·class="id"·title="module">Decidable</span></a>.<br/> |
189 | <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="module">Setoid</span></a>.<br/> | 189 | <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="module">Setoid</span></a>.<br/> |
190 | <br/> | 190 | <br/> |
191 | </div> | 191 | </div> |
192 | <div·class="doc"> | 192 | <div·class="doc"> |
193 | <a·id="lab1 | 193 | <a·id="lab169"></a><h2·class="section">Lemmas·and·Tactics·About·Decidable·Propositions</h2> |
194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> |
195 | <a·id="lab1 | 195 | <a·id="lab170"></a><h2·class="section">Propositional·Equivalences·Involving·Negation</h2> |
196 | ········These·are·all·written·with·the·unfolded·form·of | 196 | ········These·are·all·written·with·the·unfolded·form·of |
197 | ········negation,·since·I·am·not·sure·if·setoid·rewriting·will | 197 | ········negation,·since·I·am·not·sure·if·setoid·rewriting·will |
198 | ········always·perform·conversion.· | 198 | ········always·perform·conversion.· |
199 | <div·class="paragraph">·</div> | 199 | <div·class="paragraph">·</div> |
200 | <a·id="lab1 | 200 | <a·id="lab171"></a><h2·class="section">Tactics·for·Negations</h2> |
201 | </div> | 201 | </div> |
202 | <div·class="code"> | 202 | <div·class="code"> |
203 | <br/> | 203 | <br/> |
204 | <span·class="id"·title="keyword">Tactic·Notation</span>·"fold"·"any"·"not"·:=<br/> | 204 | <span·class="id"·title="keyword">Tactic·Notation</span>·"fold"·"any"·"not"·:=<br/> |
205 | <span·class="id"·title="tactic">repeat</span>·(<br/> | 205 | <span·class="id"·title="tactic">repeat</span>·(<br/> |
Offset 454, 28 lines modified | Offset 454, 28 lines modified | ||
454 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> | 454 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> |
455 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> | 455 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetLogicalFacts"><span·class="id"·title="module">FSetLogicalFacts</span></a>.<br/> |
456 | <br/> | 456 | <br/> |
457 | </div> | 457 | </div> |
458 | <div·class="doc"> | 458 | <div·class="doc"> |
459 | <a·id="lab1 | 459 | <a·id="lab172"></a><h1·class="section">Auxiliary·Tactics</h1> |
460 | ······Again,·these·lemmas·and·tactics·are·in·a·module·so·that | 460 | ······Again,·these·lemmas·and·tactics·are·in·a·module·so·that |
461 | ······they·do·not·affect·the·namespace·if·you·import·the | 461 | ······they·do·not·affect·the·namespace·if·you·import·the |
462 | ······enclosing·module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.·· | 462 | ······enclosing·module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.·· |
463 | </div> | 463 | </div> |
464 | <div·class="code"> | 464 | <div·class="code"> |
465 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.FSetDecideAuxiliary"·class="idref"·href="#WDecide_fun.FSetDecideAuxiliary"><span·class="id"·title="module">FSetDecideAuxiliary</span></a>.<br/> | 465 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecide_fun.FSetDecideAuxiliary"·class="idref"·href="#WDecide_fun.FSetDecideAuxiliary"><span·class="id"·title="module">FSetDecideAuxiliary</span></a>.<br/> |
466 | <br/> | 466 | <br/> |
467 | </div> | 467 | </div> |
468 | <div·class="doc"> | 468 | <div·class="doc"> |
469 | <a·id="lab1 | 469 | <a·id="lab173"></a><h2·class="section">Generic·Tactics</h2> |
470 | ········We·begin·by·defining·a·few·generic,·useful·tactics.· | 470 | ········We·begin·by·defining·a·few·generic,·useful·tactics.· |
471 | <div·class="paragraph">·</div> | 471 | <div·class="paragraph">·</div> |
472 | ·remove·logical·hypothesis·inter-dependencies·(fix·2136).· | 472 | ·remove·logical·hypothesis·inter-dependencies·(fix·2136).· |
473 | </div> | 473 | </div> |
474 | <div·class="code"> | 474 | <div·class="code"> |
Offset 584, 15 lines modified | Offset 584, 15 lines modified | ||
584 | |·<span·class="id"·title="var">H</span>:·<span·class="id"·title="var">_</span>·|-·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">progress</span>·(<span·class="id"·title="var">decompose</span>·<span·class="id"·title="var">record</span>·<span·class="id"·title="var">H</span>);·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 584 | |·<span·class="id"·title="var">H</span>:·<span·class="id"·title="var">_</span>·|-·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">progress</span>·(<span·class="id"·title="var">decompose</span>·<span·class="id"·title="var">record</span>·<span·class="id"·title="var">H</span>);·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> |
585 | <span·class="id"·title="keyword">end</span>).<br/> | 585 | <span·class="id"·title="keyword">end</span>).<br/> |
586 | <br/> | 586 | <br/> |
587 | </div> | 587 | </div> |
588 | <div·class="doc"> | 588 | <div·class="doc"> |
589 | <a·id="lab1 | 589 | <a·id="lab174"></a><h2·class="section">Discarding·Irrelevant·Hypotheses</h2> |
590 | ········We·will·want·to·clear·the·context·of·any | 590 | ········We·will·want·to·clear·the·context·of·any |
591 | ········non-FSet-related·hypotheses·in·order·to·increase·the | 591 | ········non-FSet-related·hypotheses·in·order·to·increase·the |
592 | ········speed·of·the·tactic.··To·do·this,·we·will·need·to·be | 592 | ········speed·of·the·tactic.··To·do·this,·we·will·need·to·be |
593 | ········able·to·decide·which·are·relevant.··We·do·this·by·making | 593 | ········able·to·decide·which·are·relevant.··We·do·this·by·making |
594 | ········a·simple·inductive·definition·classifying·the | 594 | ········a·simple·inductive·definition·classifying·the |
595 | ········propositions·of·interest.· | 595 | ········propositions·of·interest.· |
Offset 664, 15 lines modified | Offset 664, 15 lines modified | ||
664 | <span·class="id"·title="keyword">else</span>·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 664 | <span·class="id"·title="keyword">else</span>·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> |
665 | <span·class="id"·title="keyword">end</span>).<br/> | 665 | <span·class="id"·title="keyword">end</span>).<br/> |
666 | <br/> | 666 | <br/> |
667 | </div> | 667 | </div> |
668 | <div·class="doc"> | 668 | <div·class="doc"> |
669 | <a·id="lab1 | 669 | <a·id="lab175"></a><h2·class="section">Turning·Set·Operators·into·Propositional·Connectives</h2> |
670 | ········The·lemmas·from·<span·class="inlinecode"><span·class="id"·title="var">FSetFacts</span></span>·will·be·used·to·break·down | 670 | ········The·lemmas·from·<span·class="inlinecode"><span·class="id"·title="var">FSetFacts</span></span>·will·be·used·to·break·down |
671 | ········set·operations·into·propositional·formulas·built·over | 671 | ········set·operations·into·propositional·formulas·built·over |
672 | ········the·predicates·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·applied·only·to | 672 | ········the·predicates·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·applied·only·to |
673 | ········variables.··We·are·going·to·use·them·with·<span·class="inlinecode"><span·class="id"·title="tactic">autorewrite</span></span>. | 673 | ········variables.··We·are·going·to·use·them·with·<span·class="inlinecode"><span·class="id"·title="tactic">autorewrite</span></span>. |
674 | ········ | 674 | ········ |
675 | </div> | 675 | </div> |
Offset 690, 15 lines modified | Offset 690, 15 lines modified | ||
690 | <br/> | 690 | <br/> |
691 | <span·class="id"·title="keyword">Global·Hint·Rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetDecideAuxiliary.eq_refl_iff"><span·class="id"·title="lemma">eq_refl_iff</span></a>·:·<span·class="id"·title="var">set_eq_simpl</span>.<br/> | 691 | <span·class="id"·title="keyword">Global·Hint·Rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetDecide.html#WDecide_fun.FSetDecideAuxiliary.eq_refl_iff"><span·class="id"·title="lemma">eq_refl_iff</span></a>·:·<span·class="id"·title="var">set_eq_simpl</span>.<br/> |
692 | <br/> | 692 | <br/> |
693 | </div> | 693 | </div> |
694 | <div·class="doc"> | 694 | <div·class="doc"> |
695 | <a·id="lab1 | 695 | <a·id="lab176"></a><h2·class="section">Decidability·of·FSet·Propositions</h2> |
Max diff block lines reached; 7276/14994 bytes (48.53%) of diff not shown. |
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="lab154"></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="lab277"></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 81, 15 lines modified | Offset 81, 15 lines modified | ||
81 | <span·class="id"·title="keyword">Notation</span>·<a·id="WFacts_fun.eq_dec"·class="idref"·href="#WFacts_fun.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·:=·<a·class="idref"·href="Coq.FSets.FSetFacts.html#E.eq_dec"><span·class="id"·title="axiom">E.eq_dec</span></a>.<br/> | 81 | <span·class="id"·title="keyword">Notation</span>·<a·id="WFacts_fun.eq_dec"·class="idref"·href="#WFacts_fun.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·:=·<a·class="idref"·href="Coq.FSets.FSetFacts.html#E.eq_dec"><span·class="id"·title="axiom">E.eq_dec</span></a>.<br/> |
82 | <span·class="id"·title="keyword">Definition</span>·<a·id="WFacts_fun.eqb"·class="idref"·href="#WFacts_fun.eqb"><span·class="id"·title="definition">eqb</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>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#y:2"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 82 | <span·class="id"·title="keyword">Definition</span>·<a·id="WFacts_fun.eqb"·class="idref"·href="#WFacts_fun.eqb"><span·class="id"·title="definition">eqb</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>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#y:2"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> |
83 | <br/> | 83 | <br/> |
84 | </div> | 84 | </div> |
85 | <div·class="doc"> | 85 | <div·class="doc"> |
86 | <a·id="lab | 86 | <a·id="lab278"></a><h1·class="section">Specifications·written·using·equivalences</h1> |
87 | </div> | 87 | </div> |
88 | <div·class="code"> | 88 | <div·class="code"> |
89 | <br/> | 89 | <br/> |
90 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.IffSpec"·class="idref"·href="#WFacts_fun.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> | 90 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.IffSpec"·class="idref"·href="#WFacts_fun.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> |
91 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.IffSpec.s"·class="idref"·href="#WFacts_fun.IffSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFacts_fun.IffSpec.s'"·class="idref"·href="#WFacts_fun.IffSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFacts_fun.IffSpec.s''"·class="idref"·href="#WFacts_fun.IffSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 91 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.IffSpec.s"·class="idref"·href="#WFacts_fun.IffSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFacts_fun.IffSpec.s'"·class="idref"·href="#WFacts_fun.IffSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFacts_fun.IffSpec.s''"·class="idref"·href="#WFacts_fun.IffSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> |
Offset 175, 15 lines modified | Offset 175, 15 lines modified | ||
175 | ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.union_iff"><span·class="id"·title="lemma">union_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.inter_iff"><span·class="id"·title="lemma">inter_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.diff_iff"><span·class="id"·title="lemma">diff_iff</span></a><br/> | 175 | ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.union_iff"><span·class="id"·title="lemma">union_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.inter_iff"><span·class="id"·title="lemma">inter_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.diff_iff"><span·class="id"·title="lemma">diff_iff</span></a><br/> |
176 | ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.empty_iff"><span·class="id"·title="lemma">empty_iff</span></a>)).<br/> | 176 | ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.empty_iff"><span·class="id"·title="lemma">empty_iff</span></a>)).<br/> |
177 | <br/> | 177 | <br/> |
178 | </div> | 178 | </div> |
179 | <div·class="doc"> | 179 | <div·class="doc"> |
180 | <a·id="lab | 180 | <a·id="lab279"></a><h1·class="section">Specifications·written·using·boolean·predicates</h1> |
181 | </div> | 181 | </div> |
182 | <div·class="code"> | 182 | <div·class="code"> |
183 | <br/> | 183 | <br/> |
184 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.BoolSpec"·class="idref"·href="#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 184 | <span·class="id"·title="keyword">Section</span>·<a·id="WFacts_fun.BoolSpec"·class="idref"·href="#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> |
185 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.BoolSpec.s"·class="idref"·href="#WFacts_fun.BoolSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFacts_fun.BoolSpec.s'"·class="idref"·href="#WFacts_fun.BoolSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFacts_fun.BoolSpec.s''"·class="idref"·href="#WFacts_fun.BoolSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 185 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFacts_fun.BoolSpec.s"·class="idref"·href="#WFacts_fun.BoolSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFacts_fun.BoolSpec.s'"·class="idref"·href="#WFacts_fun.BoolSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFacts_fun.BoolSpec.s''"·class="idref"·href="#WFacts_fun.BoolSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> |
Offset 239, 15 lines modified | Offset 239, 15 lines modified | ||
239 | <br/> | 239 | <br/> |
240 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 240 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#WFacts_fun.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> |
241 | <br/> | 241 | <br/> |
242 | </div> | 242 | </div> |
243 | <div·class="doc"> | 243 | <div·class="doc"> |
244 | <a·id="lab | 244 | <a·id="lab280"></a><h1·class="section"><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</h1> |
245 | </div> | 245 | </div> |
246 | <div·class="code"> | 246 | <div·class="code"> |
247 | <br/> | 247 | <br/> |
248 | #[<span·class="id"·title="var">global</span>]<br/> | 248 | #[<span·class="id"·title="var">global</span>]<br/> |
249 | <span·class="id"·title="keyword">Instance</span>·<a·id="WFacts_fun.E_ST"·class="idref"·href="#WFacts_fun.E_ST"><span·class="id"·title="instance">E_ST</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>.<br/> | 249 | <span·class="id"·title="keyword">Instance</span>·<a·id="WFacts_fun.E_ST"·class="idref"·href="#WFacts_fun.E_ST"><span·class="id"·title="instance">E_ST</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<a·class="idref"·href="Coq.FSets.FSetFacts.html#E.eq"><span·class="id"·title="axiom">E.eq</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="lab1 | 49 | <a·id="lab184"></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 101, 24 lines modified | Offset 101, 24 lines modified | ||
101 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</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.Structures.DecidableType.html#"><span·class="id"·title="library">DecidableType</span></a>.<br/> | 101 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</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.Structures.DecidableType.html#"><span·class="id"·title="library">DecidableType</span></a>.<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="lab1 | 106 | <a·id="lab185"></a><h1·class="section">Non-dependent·signatures</h1> |
107 | <div·class="paragraph">·</div> | 107 | <div·class="paragraph">·</div> |
108 | ····The·following·signatures·presents·sets·as·purely·informative | 108 | ····The·following·signatures·presents·sets·as·purely·informative |
109 | ····programs·together·with·axioms· | 109 | ····programs·together·with·axioms· |
110 | <div·class="paragraph">·</div> | 110 | <div·class="paragraph">·</div> |
111 | <a·id="lab1 | 111 | <a·id="lab186"></a><h2·class="section">Functorial·signature·for·weak·sets</h2> |
112 | <div·class="paragraph">·</div> | 112 | <div·class="paragraph">·</div> |
113 | ····Weak·sets·are·sets·without·ordering·on·base·elements,·only | 113 | ····Weak·sets·are·sets·without·ordering·on·base·elements,·only |
114 | ····a·decidable·equality.· | 114 | ····a·decidable·equality.· |
115 | </div> | 115 | </div> |
Offset 615, 15 lines modified | Offset 615, 15 lines modified | ||
615 | <br/> | 615 | <br/> |
616 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>.<br/> | 616 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>.<br/> |
617 | <br/> | 617 | <br/> |
618 | </div> | 618 | </div> |
619 | <div·class="doc"> | 619 | <div·class="doc"> |
620 | <a·id="lab1 | 620 | <a·id="lab187"></a><h2·class="section">Static·signature·for·weak·sets</h2> |
621 | <div·class="paragraph">·</div> | 621 | <div·class="paragraph">·</div> |
622 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">SW</span></span>,·except·that·the | 622 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">SW</span></span>,·except·that·the |
623 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 623 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· |
624 | </div> | 624 | </div> |
Offset 635, 15 lines modified | Offset 635, 15 lines modified | ||
635 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WS.E"><span·class="id"·title="module">E</span></a>.<br/> | 635 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WSfun"><span·class="id"·title="module">WSfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WS.E"><span·class="id"·title="module">E</span></a>.<br/> |
636 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WS"><span·class="id"·title="module">WS</span></a>.<br/> | 636 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#WS"><span·class="id"·title="module">WS</span></a>.<br/> |
637 | <br/> | 637 | <br/> |
638 | </div> | 638 | </div> |
639 | <div·class="doc"> | 639 | <div·class="doc"> |
640 | <a·id="lab1 | 640 | <a·id="lab188"></a><h2·class="section">Functorial·signature·for·sets·on·ordered·elements</h2> |
641 | <div·class="paragraph">·</div> | 641 | <div·class="paragraph">·</div> |
642 | ····Based·on·<span·class="inlinecode"><span·class="id"·title="var">WSfun</span></span>,·plus·ordering·on·sets·and·<span·class="inlinecode"><span·class="id"·title="var">min_elt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">max_elt</span></span> | 642 | ····Based·on·<span·class="inlinecode"><span·class="id"·title="var">WSfun</span></span>,·plus·ordering·on·sets·and·<span·class="inlinecode"><span·class="id"·title="var">min_elt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">max_elt</span></span> |
643 | ····and·some·stronger·specifications·for·other·functions.· | 643 | ····and·some·stronger·specifications·for·other·functions.· |
644 | </div> | 644 | </div> |
Offset 762, 15 lines modified | Offset 762, 15 lines modified | ||
762 | <br/> | 762 | <br/> |
763 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>.<br/> | 763 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>.<br/> |
764 | <br/> | 764 | <br/> |
765 | </div> | 765 | </div> |
766 | <div·class="doc"> | 766 | <div·class="doc"> |
767 | <a·id="lab1 | 767 | <a·id="lab189"></a><h2·class="section">Static·signature·for·sets·on·ordered·elements</h2> |
768 | <div·class="paragraph">·</div> | 768 | <div·class="paragraph">·</div> |
769 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">Sfun</span></span>,·except·that·the | 769 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">Sfun</span></span>,·except·that·the |
770 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 770 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· |
771 | </div> | 771 | </div> |
Offset 782, 15 lines modified | Offset 782, 15 lines modified | ||
782 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S.E"><span·class="id"·title="module">E</span></a>.<br/> | 782 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#Sfun"><span·class="id"·title="module">Sfun</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S.E"><span·class="id"·title="module">E</span></a>.<br/> |
783 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>.<br/> | 783 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#S"><span·class="id"·title="module">S</span></a>.<br/> |
784 | <br/> | 784 | <br/> |
785 | </div> | 785 | </div> |
786 | <div·class="doc"> | 786 | <div·class="doc"> |
787 | <a·id="lab1 | 787 | <a·id="lab190"></a><h2·class="section">Some·subtyping·tests</h2> |
788 | <pre> | 788 | <pre> |
789 | WSfun·--->·WS | 789 | WSfun·--->·WS |
790 | ·|·········| | 790 | ·|·········| |
791 | ·|·········| | 791 | ·|·········| |
792 | ·V·········V | 792 | ·V·········V |
793 | Sfun··--->·S | 793 | Sfun··--->·S |
Offset 799, 15 lines modified | Offset 799, 15 lines modified | ||
799 | Module·Sfun_WSfun·(E:OrderedType)(M·:·Sfun·E)·<:·WSfun·E·:=·M. | 799 | Module·Sfun_WSfun·(E:OrderedType)(M·:·Sfun·E)·<:·WSfun·E·:=·M. |
800 | Module·S_Sfun·(M·:·S)·<:·Sfun·M.E·:=·M. | 800 | Module·S_Sfun·(M·:·S)·<:·Sfun·M.E·:=·M. |
801 | Module·WS_WSfun·(M·:·WS)·<:·WSfun·M.E·:=·M. | 801 | Module·WS_WSfun·(M·:·WS)·<:·WSfun·M.E·:=·M. |
802 | </pre> | 802 | </pre> |
803 | <div·class="paragraph">·</div> | 803 | <div·class="paragraph">·</div> |
804 | <a·id="lab19"></a><h1·class="section">Dependent·signature</h1> | 804 | <a·id="lab191"></a><h1·class="section">Dependent·signature</h1> |
805 | <div·class="paragraph">·</div> | 805 | <div·class="paragraph">·</div> |
806 | ····Signature·<span·class="inlinecode"><span·class="id"·title="var">Sdep</span></span>·presents·ordered·sets·using·dependent·types· | 806 | ····Signature·<span·class="inlinecode"><span·class="id"·title="var">Sdep</span></span>·presents·ordered·sets·using·dependent·types· |
807 | </div> | 807 | </div> |
808 | <div·class="code"> | 808 | <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="lab276"></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="lab204"></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 337, 30 lines modified | Offset 337, 30 lines modified | ||
337 | <span·class="id"·title="var">remove_diff_singleton</span>·<span·class="id"·title="var">diff_inter_empty</span>·<span·class="id"·title="var">diff_inter_all</span>·<span·class="id"·title="var">Add_add</span>·<span·class="id"·title="var">Add_remove</span><br/> | 337 | <span·class="id"·title="var">remove_diff_singleton</span>·<span·class="id"·title="var">diff_inter_empty</span>·<span·class="id"·title="var">diff_inter_all</span>·<span·class="id"·title="var">Add_add</span>·<span·class="id"·title="var">Add_remove</span><br/> |
338 | <span·class="id"·title="var">Equal_remove</span>·<span·class="id"·title="var">add_add</span>·:·<span·class="id"·title="tactic">set</span>.<br/> | 338 | <span·class="id"·title="var">Equal_remove</span>·<span·class="id"·title="var">add_add</span>·:·<span·class="id"·title="tactic">set</span>.<br/> |
339 | <br/> | 339 | <br/> |
340 | </div> | 340 | </div> |
341 | <div·class="doc"> | 341 | <div·class="doc"> |
342 | <a·id="lab | 342 | <a·id="lab205"></a><h1·class="section">Properties·of·elements</h1> |
343 | </div> | 343 | </div> |
344 | <div·class="code"> | 344 | <div·class="code"> |
345 | <br/> | 345 | <br/> |
346 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.elements_Empty"·class="idref"·href="#WProperties_fun.elements_Empty"><span·class="id"·title="lemma">elements_Empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:26"><span·class="id"·title="variable">s</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.FSets.FSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:26"><span·class="id"·title="variable">s</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#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 346 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.elements_Empty"·class="idref"·href="#WProperties_fun.elements_Empty"><span·class="id"·title="lemma">elements_Empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:26"><span·class="id"·title="variable">s</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.FSets.FSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:26"><span·class="id"·title="variable">s</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#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> |
347 | <br/> | 347 | <br/> |
348 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.elements_empty"·class="idref"·href="#WProperties_fun.elements_empty"><span·class="id"·title="lemma">elements_empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</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#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 348 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.elements_empty"·class="idref"·href="#WProperties_fun.elements_empty"><span·class="id"·title="lemma">elements_empty</span></a>·:·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</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#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> |
349 | <br/> | 349 | <br/> |
350 | </div> | 350 | </div> |
351 | <div·class="doc"> | 351 | <div·class="doc"> |
352 | <a·id="lab | 352 | <a·id="lab206"></a><h1·class="section">Conversions·between·lists·and·sets</h1> |
353 | </div> | 353 | </div> |
354 | <div·class="code"> | 354 | <div·class="code"> |
355 | <br/> | 355 | <br/> |
356 | <span·class="id"·title="keyword">Definition</span>·<a·id="WProperties_fun.of_list"·class="idref"·href="#WProperties_fun.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·id="l:29"·class="idref"·href="#l:29"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>)·:=·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#l:29"><span·class="id"·title="variable">l</span></a>.<br/> | 356 | <span·class="id"·title="keyword">Definition</span>·<a·id="WProperties_fun.of_list"·class="idref"·href="#WProperties_fun.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·id="l:29"·class="idref"·href="#l:29"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>)·:=·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#l:29"><span·class="id"·title="variable">l</span></a>.<br/> |
Offset 376, 15 lines modified | Offset 376, 15 lines modified | ||
376 | <br/> | 376 | <br/> |
377 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.of_list_3"·class="idref"·href="#WProperties_fun.of_list_3"><span·class="id"·title="lemma">of_list_3</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>.<br/> | 377 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.of_list_3"·class="idref"·href="#WProperties_fun.of_list_3"><span·class="id"·title="lemma">of_list_3</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>.<br/> |
378 | <br/> | 378 | <br/> |
379 | </div> | 379 | </div> |
380 | <div·class="doc"> | 380 | <div·class="doc"> |
381 | <a·id="lab | 381 | <a·id="lab207"></a><h1·class="section">Fold</h1> |
382 | </div> | 382 | </div> |
383 | <div·class="code"> | 383 | <div·class="code"> |
384 | <br/> | 384 | <br/> |
385 | <span·class="id"·title="keyword">Section</span>·<a·id="WProperties_fun.Fold"·class="idref"·href="#WProperties_fun.Fold"><span·class="id"·title="section">Fold</span></a>.<br/> | 385 | <span·class="id"·title="keyword">Section</span>·<a·id="WProperties_fun.Fold"·class="idref"·href="#WProperties_fun.Fold"><span·class="id"·title="section">Fold</span></a>.<br/> |
Offset 404, 15 lines modified | Offset 404, 15 lines modified | ||
404 | <span·class="id"·title="keyword">Notation</span>·<a·id="WProperties_fun.NoDup"·class="idref"·href="#WProperties_fun.NoDup"><span·class="id"·title="abbreviation">NoDup</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>).<br/> | 404 | <span·class="id"·title="keyword">Notation</span>·<a·id="WProperties_fun.NoDup"·class="idref"·href="#WProperties_fun.NoDup"><span·class="id"·title="abbreviation">NoDup</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#NoDupA"><span·class="id"·title="inductive">NoDupA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>).<br/> |
405 | <span·class="id"·title="keyword">Notation</span>·<a·id="WProperties_fun.InA"·class="idref"·href="#WProperties_fun.InA"><span·class="id"·title="abbreviation">InA</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#InA"><span·class="id"·title="inductive">InA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a>).<br/> | 405 | <span·class="id"·title="keyword">Notation</span>·<a·id="WProperties_fun.InA"·class="idref"·href="#WProperties_fun.InA"><span·class="id"·title="abbreviation">InA</span></a>·:=·(<a·class="idref"·href="Coq.Lists.SetoidList.html#InA"><span·class="id"·title="inductive">InA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#E.eq"><span·class="id"·title="axiom">E.eq</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="lab208"></a><h2·class="section">Induction·principles·for·fold·(contributed·by·S.·Lescuyer)</h2> |
410 | <div·class="paragraph">·</div> | 410 | <div·class="paragraph">·</div> |
411 | ·In·the·following·lemma,·the·step·hypothesis·is·deliberately·restricted | 411 | ·In·the·following·lemma,·the·step·hypothesis·is·deliberately·restricted |
412 | ······to·the·precise·set·s·we·are·considering.· | 412 | ······to·the·precise·set·s·we·are·considering.· |
413 | </div> | 413 | </div> |
414 | <div·class="code"> | 414 | <div·class="code"> |
Offset 510, 15 lines modified | Offset 510, 15 lines modified | ||
510 | <br/> | 510 | <br/> |
511 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_identity"·class="idref"·href="#WProperties_fun.fold_identity"><span·class="id"·title="lemma">fold_identity</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:120"·class="idref"·href="#s:120"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>.<br/> | 511 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_identity"·class="idref"·href="#WProperties_fun.fold_identity"><span·class="id"·title="lemma">fold_identity</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:120"·class="idref"·href="#s:120"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>.<br/> |
512 | <br/> | 512 | <br/> |
513 | </div> | 513 | </div> |
514 | <div·class="doc"> | 514 | <div·class="doc"> |
515 | <a·id="lab | 515 | <a·id="lab209"></a><h2·class="section">Alternative·(weaker)·specifications·for·<span·class="inlinecode"><span·class="id"·title="tactic">fold</span></span></h2> |
516 | <div·class="paragraph">·</div> | 516 | <div·class="paragraph">·</div> |
517 | ·When·<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·was·first·designed,·the·order·in·which·Ocaml's·<span·class="inlinecode"><span·class="id"·title="var">Set.fold</span></span> | 517 | ·When·<span·class="inlinecode"><span·class="id"·title="var">FSets</span></span>·was·first·designed,·the·order·in·which·Ocaml's·<span·class="inlinecode"><span·class="id"·title="var">Set.fold</span></span> |
518 | ······takes·the·set·elements·was·unspecified.·This·specification·reflects | 518 | ······takes·the·set·elements·was·unspecified.·This·specification·reflects |
519 | ······this·fact: | 519 | ······this·fact: |
520 | ·· | 520 | ·· |
Offset 582, 15 lines modified | Offset 582, 15 lines modified | ||
582 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_commutes"·class="idref"·href="#WProperties_fun.fold_commutes"><span·class="id"·title="lemma">fold_commutes</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:161"·class="idref"·href="#i:161"><span·class="id"·title="binder">i</span></a>·<a·id="s:162"·class="idref"·href="#s:162"><span·class="id"·title="binder">s</span></a>·<a·id="x:163"·class="idref"·href="#x:163"><span·class="id"·title="binder">x</span></a>,<br/> | 582 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_commutes"·class="idref"·href="#WProperties_fun.fold_commutes"><span·class="id"·title="lemma">fold_commutes</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:161"·class="idref"·href="#i:161"><span·class="id"·title="binder">i</span></a>·<a·id="s:162"·class="idref"·href="#s:162"><span·class="id"·title="binder">s</span></a>·<a·id="x:163"·class="idref"·href="#x:163"><span·class="id"·title="binder">x</span></a>,<br/> |
583 | <a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>)).<br/> | 583 | <a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>)).<br/> |
584 | <br/> | 584 | <br/> |
585 | </div> | 585 | </div> |
586 | <div·class="doc"> | 586 | <div·class="doc"> |
587 | <a·id="lab | 587 | <a·id="lab210"></a><h2·class="section">Fold·is·a·morphism</h2> |
588 | </div> | 588 | </div> |
589 | <div·class="code"> | 589 | <div·class="code"> |
590 | <br/> | 590 | <br/> |
591 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_init"·class="idref"·href="#WProperties_fun.fold_init"><span·class="id"·title="lemma">fold_init</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:168"·class="idref"·href="#i:168"><span·class="id"·title="binder">i</span></a>·<a·id="i':169"·class="idref"·href="#i':169"><span·class="id"·title="binder">i'</span></a>·<a·id="s:170"·class="idref"·href="#s:170"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i':169"><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><br/> | 591 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_init"·class="idref"·href="#WProperties_fun.fold_init"><span·class="id"·title="lemma">fold_init</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:168"·class="idref"·href="#i:168"><span·class="id"·title="binder">i</span></a>·<a·id="i':169"·class="idref"·href="#i':169"><span·class="id"·title="binder">i'</span></a>·<a·id="s:170"·class="idref"·href="#s:170"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i':169"><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><br/> |
592 | <a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>).<br/> | 592 | <a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>).<br/> |
Offset 599, 15 lines modified | Offset 599, 15 lines modified | ||
599 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_equal"·class="idref"·href="#WProperties_fun.fold_equal"><span·class="id"·title="lemma">fold_equal</span></a>·:<br/> | 599 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_equal"·class="idref"·href="#WProperties_fun.fold_equal"><span·class="id"·title="lemma">fold_equal</span></a>·:<br/> |
600 | <span·class="id"·title="keyword">forall</span>·<a·id="i:171"·class="idref"·href="#i:171"><span·class="id"·title="binder">i</span></a>·<a·id="s:172"·class="idref"·href="#s:172"><span·class="id"·title="binder">s</span></a>·<a·id="s':173"·class="idref"·href="#s':173"><span·class="id"·title="binder">s'</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a><a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a><a·class="idref"·href="Coq.FSets.FSetProperties.html#s':173"><span·class="id"·title="variable">s'</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.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>).<br/> | 600 | <span·class="id"·title="keyword">forall</span>·<a·id="i:171"·class="idref"·href="#i:171"><span·class="id"·title="binder">i</span></a>·<a·id="s:172"·class="idref"·href="#s:172"><span·class="id"·title="binder">s</span></a>·<a·id="s':173"·class="idref"·href="#s':173"><span·class="id"·title="binder">s'</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a><a·class="idref"·href="Coq.FSets.FSetInterface.html#524861ae1935246b07f20fd2e08f1d55"><span·class="id"·title="notation">[=]</span></a><a·class="idref"·href="Coq.FSets.FSetProperties.html#s':173"><span·class="id"·title="variable">s'</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.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>).<br/> |
601 | <br/> | 601 | <br/> |
602 | </div> | 602 | </div> |
603 | <div·class="doc"> | 603 | <div·class="doc"> |
604 | <a·id="lab | 604 | <a·id="lab211"></a><h2·class="section">Fold·and·other·set·operators</h2> |
605 | </div> | 605 | </div> |
606 | <div·class="code"> | 606 | <div·class="code"> |
607 | <br/> | 607 | <br/> |
608 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_empty"·class="idref"·href="#WProperties_fun.fold_empty"><span·class="id"·title="lemma">fold_empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:174"·class="idref"·href="#i:174"><span·class="id"·title="binder">i</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>.<br/> | 608 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WProperties_fun.fold_empty"·class="idref"·href="#WProperties_fun.fold_empty"><span·class="id"·title="lemma">fold_empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:174"·class="idref"·href="#i:174"><span·class="id"·title="binder">i</span></a>,·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#WProperties_fun.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.FSets.FSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>.<br/> |
Offset 651, 31 lines modified | Offset 651, 31 lines modified | ||
Max diff block lines reached; 11499/28356 bytes (40.55%) of diff not shown. |
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="lab1 | 49 | <a·id="lab145"></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="lab1 | 58 | <a·id="lab146"></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="lab1 | 49 | <a·id="lab155"></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="lab1 | 53 | <a·id="lab107"></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="lab1 | 54 | <a·id="lab109"></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="lab1 | 53 | <a·id="lab108"></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="lab92"></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="lab93"></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 73, 15 lines modified | Offset 73, 15 lines modified | ||
73 | <br/> | 73 | <br/> |
74 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float_class</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">kernel.ind_f_class</span>.<br/> | 74 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float_class</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">kernel.ind_f_class</span>.<br/> |
75 | <br/> | 75 | <br/> |
76 | </div> | 76 | </div> |
77 | <div·class="doc"> | 77 | <div·class="doc"> |
78 | <a·id="lab | 78 | <a·id="lab94"></a><h2·class="section">The·main·type</h2> |
79 | ·<span·class="inlinecode"><span·class="id"·title="var">float</span></span>:·primitive·type·for·Binary64·floating-point·numbers.· | 79 | ·<span·class="inlinecode"><span·class="id"·title="var">float</span></span>:·primitive·type·for·Binary64·floating-point·numbers.· |
80 | </div> | 80 | </div> |
81 | <div·class="code"> | 81 | <div·class="code"> |
82 | <span·class="id"·title="keyword">Primitive</span>·<a·id="float"·class="idref"·href="#float"><span·class="id"·title="axiom">float</span></a>·:=·#<span·class="id"·title="var">float64_type</span>.<br/> | 82 | <span·class="id"·title="keyword">Primitive</span>·<a·id="float"·class="idref"·href="#float"><span·class="id"·title="axiom">float</span></a>·:=·#<span·class="id"·title="var">float64_type</span>.<br/> |
83 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.float.type</span>.<br/> | 83 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">float</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.float.type</span>.<br/> |
84 | <br/> | 84 | <br/> |
Offset 91, 30 lines modified | Offset 91, 30 lines modified | ||
91 | <span·class="id"·title="keyword">Definition</span>·<a·id="printer"·class="idref"·href="#printer"><span·class="id"·title="definition">printer</span></a>·(<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Floats.PrimFloat.html#float_wrapper"><span·class="id"·title="record">float_wrapper</span></a>)·:·<span·class="id"·title="var">float</span>·:=·<a·class="idref"·href="Coq.Floats.PrimFloat.html#float_wrap"><span·class="id"·title="projection">float_wrap</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> | 91 | <span·class="id"·title="keyword">Definition</span>·<a·id="printer"·class="idref"·href="#printer"><span·class="id"·title="definition">printer</span></a>·(<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Floats.PrimFloat.html#float_wrapper"><span·class="id"·title="record">float_wrapper</span></a>)·:·<span·class="id"·title="var">float</span>·:=·<a·class="idref"·href="Coq.Floats.PrimFloat.html#float_wrap"><span·class="id"·title="projection">float_wrap</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> |
92 | <span·class="id"·title="keyword">Definition</span>·<a·id="parser"·class="idref"·href="#parser"><span·class="id"·title="definition">parser</span></a>·(<a·id="x:6"·class="idref"·href="#x:6"><span·class="id"·title="binder">x</span></a>·:·<span·class="id"·title="var">float</span>)·:·<span·class="id"·title="var">float</span>·:=·<a·class="idref"·href="Coq.Floats.PrimFloat.html#x:6"><span·class="id"·title="variable">x</span></a>.<br/> | 92 | <span·class="id"·title="keyword">Definition</span>·<a·id="parser"·class="idref"·href="#parser"><span·class="id"·title="definition">parser</span></a>·(<a·id="x:6"·class="idref"·href="#x:6"><span·class="id"·title="binder">x</span></a>·:·<span·class="id"·title="var">float</span>)·:·<span·class="id"·title="var">float</span>·:=·<a·class="idref"·href="Coq.Floats.PrimFloat.html#x:6"><span·class="id"·title="variable">x</span></a>.<br/> |
93 | <br/> | 93 | <br/> |
94 | </div> | 94 | </div> |
95 | <div·class="doc"> | 95 | <div·class="doc"> |
96 | <a·id="lab | 96 | <a·id="lab95"></a><h2·class="section">Syntax·support</h2> |
97 | </div> | 97 | </div> |
98 | <div·class="code"> | 98 | <div·class="code"> |
99 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="PrimFloatNotationsInternalA"·class="idref"·href="#PrimFloatNotationsInternalA"><span·class="id"·title="module">PrimFloatNotationsInternalA</span></a>.<br/> | 99 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="PrimFloatNotationsInternalA"·class="idref"·href="#PrimFloatNotationsInternalA"><span·class="id"·title="module">PrimFloatNotationsInternalA</span></a>.<br/> |
100 | <span·class="id"·title="keyword">Declare·Scope</span>·<span·class="id"·title="var">float_scope</span>.<br/> | 100 | <span·class="id"·title="keyword">Declare·Scope</span>·<span·class="id"·title="var">float_scope</span>.<br/> |
101 | <span·class="id"·title="keyword">Delimit</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">float_scope</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">float</span>.<br/> | 101 | <span·class="id"·title="keyword">Delimit</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">float_scope</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">float</span>.<br/> |
102 | <span·class="id"·title="keyword">Bind·Scope</span>·<span·class="id"·title="var">float_scope</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">float</span>.<br/> | 102 | <span·class="id"·title="keyword">Bind·Scope</span>·<span·class="id"·title="var">float_scope</span>·<span·class="id"·title="keyword">with</span>·<span·class="id"·title="var">float</span>.<br/> |
103 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#PrimFloatNotationsInternalA"><span·class="id"·title="module">PrimFloatNotationsInternalA</span></a>.<br/> | 103 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#PrimFloatNotationsInternalA"><span·class="id"·title="module">PrimFloatNotationsInternalA</span></a>.<br/> |
104 | <span·class="id"·title="keyword">Number·Notation</span>·<span·class="id"·title="var">float</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#parser"><span·class="id"·title="definition">parser</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#printer"><span·class="id"·title="definition">printer</span></a>·:·<span·class="id"·title="var">float_scope</span>.<br/> | 104 | <span·class="id"·title="keyword">Number·Notation</span>·<span·class="id"·title="var">float</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#parser"><span·class="id"·title="definition">parser</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#printer"><span·class="id"·title="definition">printer</span></a>·:·<span·class="id"·title="var">float_scope</span>.<br/> |
105 | <br/> | 105 | <br/> |
106 | </div> | 106 | </div> |
107 | <div·class="doc"> | 107 | <div·class="doc"> |
108 | <a·id="lab | 108 | <a·id="lab96"></a><h2·class="section">Floating-point·operators</h2> |
109 | </div> | 109 | </div> |
110 | <div·class="code"> | 110 | <div·class="code"> |
111 | <span·class="id"·title="keyword">Primitive</span>·<a·id="classify"·class="idref"·href="#classify"><span·class="id"·title="axiom">classify</span></a>·:=·#<span·class="id"·title="var">float64_classify</span>.<br/> | 111 | <span·class="id"·title="keyword">Primitive</span>·<a·id="classify"·class="idref"·href="#classify"><span·class="id"·title="axiom">classify</span></a>·:=·#<span·class="id"·title="var">float64_classify</span>.<br/> |
112 | <br/> | 112 | <br/> |
113 | <span·class="id"·title="keyword">Primitive</span>·<a·id="abs"·class="idref"·href="#abs"><span·class="id"·title="axiom">abs</span></a>·:=·#<span·class="id"·title="var">float64_abs</span>.<br/> | 113 | <span·class="id"·title="keyword">Primitive</span>·<a·id="abs"·class="idref"·href="#abs"><span·class="id"·title="axiom">abs</span></a>·:=·#<span·class="id"·title="var">float64_abs</span>.<br/> |
Offset 181, 15 lines modified | Offset 181, 15 lines modified | ||
181 | <span·class="id"·title="keyword">Notation</span>·<a·id="6e32edb097de448d43e1d8a509d61efe"·class="idref"·href="#6e32edb097de448d43e1d8a509d61efe"><span·class="id"·title="notation">"</span></a>x·/·y"·:=·(<span·class="id"·title="var">div</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·:·<span·class="id"·title="var">float_scope</span>.<br/> | 181 | <span·class="id"·title="keyword">Notation</span>·<a·id="6e32edb097de448d43e1d8a509d61efe"·class="idref"·href="#6e32edb097de448d43e1d8a509d61efe"><span·class="id"·title="notation">"</span></a>x·/·y"·:=·(<span·class="id"·title="var">div</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·:·<span·class="id"·title="var">float_scope</span>.<br/> |
182 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#PrimFloatNotationsInternalB"><span·class="id"·title="module">PrimFloatNotationsInternalB</span></a>.<br/> | 182 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#PrimFloatNotationsInternalB"><span·class="id"·title="module">PrimFloatNotationsInternalB</span></a>.<br/> |
183 | <br/> | 183 | <br/> |
184 | </div> | 184 | </div> |
185 | <div·class="doc"> | 185 | <div·class="doc"> |
186 | <a·id="lab | 186 | <a·id="lab97"></a><h2·class="section">Conversions</h2> |
187 | <div·class="paragraph">·</div> | 187 | <div·class="paragraph">·</div> |
188 | ·<span·class="inlinecode"><span·class="id"·title="var">of_uint63</span></span>:·convert·a·primitive·unsigned·integer·into·a·float·value. | 188 | ·<span·class="inlinecode"><span·class="id"·title="var">of_uint63</span></span>:·convert·a·primitive·unsigned·integer·into·a·float·value. |
189 | ····The·value·is·rounded·if·need·be.· | 189 | ····The·value·is·rounded·if·need·be.· |
190 | </div> | 190 | </div> |
191 | <div·class="code"> | 191 | <div·class="code"> |
Offset 220, 15 lines modified | Offset 220, 15 lines modified | ||
220 | <div·class="code"> | 220 | <div·class="code"> |
221 | <span·class="id"·title="keyword">Primitive</span>·<a·id="normfr_mantissa"·class="idref"·href="#normfr_mantissa"><span·class="id"·title="axiom">normfr_mantissa</span></a>·:=·#<span·class="id"·title="var">float64_normfr_mantissa</span>.<br/> | 221 | <span·class="id"·title="keyword">Primitive</span>·<a·id="normfr_mantissa"·class="idref"·href="#normfr_mantissa"><span·class="id"·title="axiom">normfr_mantissa</span></a>·:=·#<span·class="id"·title="var">float64_normfr_mantissa</span>.<br/> |
222 | <br/> | 222 | <br/> |
223 | </div> | 223 | </div> |
224 | <div·class="doc"> | 224 | <div·class="doc"> |
225 | <a·id="lab | 225 | <a·id="lab98"></a><h2·class="section">Exponent·manipulation·functions</h2> |
226 | ·<span·class="inlinecode"><span·class="id"·title="var">frshiftexp</span></span>:·convert·a·float·to·fractional·part·in·[0.5,·1.) | 226 | ·<span·class="inlinecode"><span·class="id"·title="var">frshiftexp</span></span>:·convert·a·float·to·fractional·part·in·[0.5,·1.) |
227 | and·integer·part.· | 227 | and·integer·part.· |
228 | </div> | 228 | </div> |
229 | <div·class="code"> | 229 | <div·class="code"> |
230 | <span·class="id"·title="keyword">Primitive</span>·<a·id="frshiftexp"·class="idref"·href="#frshiftexp"><span·class="id"·title="axiom">frshiftexp</span></a>·:=·#<span·class="id"·title="var">float64_frshiftexp</span>.<br/> | 230 | <span·class="id"·title="keyword">Primitive</span>·<a·id="frshiftexp"·class="idref"·href="#frshiftexp"><span·class="id"·title="axiom">frshiftexp</span></a>·:=·#<span·class="id"·title="var">float64_frshiftexp</span>.<br/> |
231 | <br/> | 231 | <br/> |
Offset 240, 15 lines modified | Offset 240, 15 lines modified | ||
240 | <div·class="code"> | 240 | <div·class="code"> |
241 | <span·class="id"·title="keyword">Primitive</span>·<a·id="ldshiftexp"·class="idref"·href="#ldshiftexp"><span·class="id"·title="axiom">ldshiftexp</span></a>·:=·#<span·class="id"·title="var">float64_ldshiftexp</span>.<br/> | 241 | <span·class="id"·title="keyword">Primitive</span>·<a·id="ldshiftexp"·class="idref"·href="#ldshiftexp"><span·class="id"·title="axiom">ldshiftexp</span></a>·:=·#<span·class="id"·title="var">float64_ldshiftexp</span>.<br/> |
242 | <br/> | 242 | <br/> |
243 | </div> | 243 | </div> |
244 | <div·class="doc"> | 244 | <div·class="doc"> |
245 | <a·id="lab | 245 | <a·id="lab99"></a><h2·class="section">Predecesor/Successor·functions</h2> |
246 | <div·class="paragraph">·</div> | 246 | <div·class="paragraph">·</div> |
247 | ·<span·class="inlinecode"><span·class="id"·title="var">next_up</span></span>:·return·the·next·float·towards·positive·infinity.· | 247 | ·<span·class="inlinecode"><span·class="id"·title="var">next_up</span></span>:·return·the·next·float·towards·positive·infinity.· |
248 | </div> | 248 | </div> |
249 | <div·class="code"> | 249 | <div·class="code"> |
250 | <span·class="id"·title="keyword">Primitive</span>·<a·id="next_up"·class="idref"·href="#next_up"><span·class="id"·title="axiom">next_up</span></a>·:=·#<span·class="id"·title="var">float64_next_up</span>.<br/> | 250 | <span·class="id"·title="keyword">Primitive</span>·<a·id="next_up"·class="idref"·href="#next_up"><span·class="id"·title="axiom">next_up</span></a>·:=·#<span·class="id"·title="var">float64_next_up</span>.<br/> |
Offset 262, 15 lines modified | Offset 262, 15 lines modified | ||
262 | <div·class="code"> | 262 | <div·class="code"> |
263 | <span·class="id"·title="keyword">Primitive</span>·<a·id="next_down"·class="idref"·href="#next_down"><span·class="id"·title="axiom">next_down</span></a>·:=·#<span·class="id"·title="var">float64_next_down</span>.<br/> | 263 | <span·class="id"·title="keyword">Primitive</span>·<a·id="next_down"·class="idref"·href="#next_down"><span·class="id"·title="axiom">next_down</span></a>·:=·#<span·class="id"·title="var">float64_next_down</span>.<br/> |
264 | <br/> | 264 | <br/> |
265 | </div> | 265 | </div> |
266 | <div·class="doc"> | 266 | <div·class="doc"> |
Max diff block lines reached; 5155/14558 bytes (35.41%) of diff not shown. |
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="lab1 | 53 | <a·id="lab103"></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="lab1 | 58 | <a·id="lab104"></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 75, 15 lines modified | Offset 75, 15 lines modified | ||
75 | |·<a·id="S754_nan"·class="idref"·href="#S754_nan"><span·class="id"·title="constructor">S754_nan</span></a><br/> | 75 | |·<a·id="S754_nan"·class="idref"·href="#S754_nan"><span·class="id"·title="constructor">S754_nan</span></a><br/> |
76 | |·<a·id="S754_finite"·class="idref"·href="#S754_finite"><span·class="id"·title="constructor">S754_finite</span></a>·(<a·id="s:5"·class="idref"·href="#s:5"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·(<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="e:7"·class="idref"·href="#e:7"><span·class="id"·title="binder">e</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>).<br/> | 76 | |·<a·id="S754_finite"·class="idref"·href="#S754_finite"><span·class="id"·title="constructor">S754_finite</span></a>·(<a·id="s:5"·class="idref"·href="#s:5"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>)·(<a·id="m:6"·class="idref"·href="#m:6"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="e:7"·class="idref"·href="#e:7"><span·class="id"·title="binder">e</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>).<br/> |
77 | <br/> | 77 | <br/> |
78 | </div> | 78 | </div> |
79 | <div·class="doc"> | 79 | <div·class="doc"> |
80 | <a·id="lab1 | 80 | <a·id="lab105"></a><h2·class="section">Parameterized·definitions</h2> |
81 | <div·class="paragraph">·</div> | 81 | <div·class="paragraph">·</div> |
82 | <span·class="inlinecode"><span·class="id"·title="var">prec</span></span>·is·the·number·of·bits·of·the·mantissa·including·the·implicit·one; | 82 | <span·class="inlinecode"><span·class="id"·title="var">prec</span></span>·is·the·number·of·bits·of·the·mantissa·including·the·implicit·one; |
83 | <span·class="inlinecode"><span·class="id"·title="var">emax</span></span>·is·the·exponent·of·the·infinities. | 83 | <span·class="inlinecode"><span·class="id"·title="var">emax</span></span>·is·the·exponent·of·the·infinities. |
Offset 238, 15 lines modified | Offset 238, 15 lines modified | ||
238 | <span·class="id"·title="keyword">end</span>.<br/> | 238 | <span·class="id"·title="keyword">end</span>.<br/> |
239 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#FloatOps.Rounding"><span·class="id"·title="section">Rounding</span></a>.<br/> | 239 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#FloatOps.Rounding"><span·class="id"·title="section">Rounding</span></a>.<br/> |
240 | <br/> | 240 | <br/> |
241 | </div> | 241 | </div> |
242 | <div·class="doc"> | 242 | <div·class="doc"> |
243 | <a·id="lab1 | 243 | <a·id="lab106"></a><h2·class="section">Define·operations</h2> |
244 | </div> | 244 | </div> |
245 | <div·class="code"> | 245 | <div·class="code"> |
246 | <br/> | 246 | <br/> |
247 | <span·class="id"·title="keyword">Definition</span>·<a·id="SFopp"·class="idref"·href="#SFopp"><span·class="id"·title="definition">SFopp</span></a>·<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·:=<br/> | 247 | <span·class="id"·title="keyword">Definition</span>·<a·id="SFopp"·class="idref"·href="#SFopp"><span·class="id"·title="definition">SFopp</span></a>·<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·:=<br/> |
248 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#x:70"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 248 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#x:70"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</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="lab507"></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="lab | 58 | <a·id="lab512"></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 87, 15 lines modified | Offset 87, 15 lines modified | ||
87 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">unit</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.unit.type</span>.<br/> | 87 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">unit</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.unit.type</span>.<br/> |
88 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">tt</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.unit.tt</span>.<br/> | 88 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">tt</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.unit.tt</span>.<br/> |
89 | <br/> | 89 | <br/> |
90 | </div> | 90 | </div> |
91 | <div·class="doc"> | 91 | <div·class="doc"> |
92 | <a·id="lab | 92 | <a·id="lab513"></a><h1·class="section">The·boolean·datatype</h1> |
93 | <div·class="paragraph">·</div> | 93 | <div·class="paragraph">·</div> |
94 | ·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·is·the·datatype·of·the·boolean·values·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">false</span></span>· | 94 | ·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·is·the·datatype·of·the·boolean·values·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">false</span></span>· |
95 | </div> | 95 | </div> |
96 | <div·class="code"> | 96 | <div·class="code"> |
Offset 258, 15 lines modified | Offset 258, 15 lines modified | ||
258 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">BoolSpecT</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.BoolSpec.BoolSpecT</span>.<br/> | 258 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">BoolSpecT</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.BoolSpec.BoolSpecT</span>.<br/> |
259 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">BoolSpecF</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.BoolSpec.BoolSpecF</span>.<br/> | 259 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">BoolSpecF</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">core.BoolSpec.BoolSpecF</span>.<br/> |
260 | <br/> | 260 | <br/> |
261 | </div> | 261 | </div> |
262 | <div·class="doc"> | 262 | <div·class="doc"> |
263 | <a·id="lab | 263 | <a·id="lab514"></a><h1·class="section">Peano·natural·numbers</h1> |
264 | <div·class="paragraph">·</div> | 264 | <div·class="paragraph">·</div> |
265 | ·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·is·the·datatype·of·natural·numbers·built·from·<span·class="inlinecode"><span·class="id"·title="var">O</span></span>·and·successor·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>; | 265 | ·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·is·the·datatype·of·natural·numbers·built·from·<span·class="inlinecode"><span·class="id"·title="var">O</span></span>·and·successor·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>; |
266 | ····note·that·the·constructor·name·is·the·letter·O. | 266 | ····note·that·the·constructor·name·is·the·letter·O. |
267 | ····Numbers·in·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·can·be·denoted·using·a·decimal·notation; | 267 | ····Numbers·in·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·can·be·denoted·using·a·decimal·notation; |
268 | ····e.g.·<span·class="inlinecode">3%<span·class="id"·title="var">nat</span></span>·abbreviates·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">(<span·class="id"·title="var">S</span></span>·<span·class="inlinecode">(<span·class="id"·title="var">S</span></span>·<span·class="inlinecode"><span·class="id"·title="var">O</span>))</span>· | 268 | ····e.g.·<span·class="inlinecode">3%<span·class="id"·title="var">nat</span></span>·abbreviates·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">(<span·class="id"·title="var">S</span></span>·<span·class="inlinecode">(<span·class="id"·title="var">S</span></span>·<span·class="inlinecode"><span·class="id"·title="var">O</span>))</span>· |
Offset 293, 15 lines modified | Offset 293, 15 lines modified | ||
293 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">O</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.O</span>.<br/> | 293 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">O</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.O</span>.<br/> |
294 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">S</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.S</span>.<br/> | 294 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">S</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.S</span>.<br/> |
295 | <br/> | 295 | <br/> |
296 | </div> | 296 | </div> |
297 | <div·class="doc"> | 297 | <div·class="doc"> |
298 | <a·id="lab | 298 | <a·id="lab515"></a><h1·class="section">Container·datatypes</h1> |
299 | </div> | 299 | </div> |
300 | <div·class="code"> | 300 | <div·class="code"> |
301 | <br/> | 301 | <br/> |
302 | <br/> | 302 | <br/> |
Offset 498, 15 lines modified | Offset 498, 15 lines modified | ||
498 | <br/> | 498 | <br/> |
499 | <br/> | 499 | <br/> |
500 | </div> | 500 | </div> |
501 | <div·class="doc"> | 501 | <div·class="doc"> |
502 | <a·id="lab | 502 | <a·id="lab516"></a><h1·class="section">The·comparison·datatype</h1> |
503 | </div> | 503 | </div> |
504 | <div·class="code"> | 504 | <div·class="code"> |
505 | <br/> | 505 | <br/> |
506 | <span·class="id"·title="keyword">Inductive</span>·<a·id="comparison"·class="idref"·href="#comparison"><span·class="id"·title="definition,·inductive"><span·id="comparison_rect"·class="id"><span·id="comparison_ind"·class="id"><span·id="comparison_rec"·class="id"><span·id="comparison_sind"·class="id">comparison</span></span></span></span></span></a>·:·<span·class="id"·title="keyword">Set</span>·:=<br/> | 506 | <span·class="id"·title="keyword">Inductive</span>·<a·id="comparison"·class="idref"·href="#comparison"><span·class="id"·title="definition,·inductive"><span·id="comparison_rect"·class="id"><span·id="comparison_ind"·class="id"><span·id="comparison_rec"·class="id"><span·id="comparison_sind"·class="id">comparison</span></span></span></span></span></a>·:·<span·class="id"·title="keyword">Set</span>·:=<br/> |
507 | |·<a·id="Eq"·class="idref"·href="#Eq"><span·class="id"·title="constructor">Eq</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#comparison:103"><span·class="id"·title="inductive">comparison</span></a><br/> | 507 | |·<a·id="Eq"·class="idref"·href="#Eq"><span·class="id"·title="constructor">Eq</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#comparison:103"><span·class="id"·title="inductive">comparison</span></a><br/> |
Offset 616, 15 lines modified | Offset 616, 15 lines modified | ||
616 | <span·class="id"·title="keyword">Lemma</span>·<a·id="CompSpec2Type"·class="idref"·href="#CompSpec2Type"><span·class="id"·title="lemma">CompSpec2Type</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="A:138"·class="idref"·href="#A:138"><span·class="id"·title="binder">A</span></a>·(<a·id="eq:139"·class="idref"·href="#eq:139"><span·class="id"·title="binder">eq</span></a>·<a·id="lt:140"·class="idref"·href="#lt:140"><span·class="id"·title="binder">lt</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#A:138"><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.Init.Datatypes.html#A:138"><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><span·class="id"·title="keyword">Prop</span>)·<a·id="x:141"·class="idref"·href="#x:141"><span·class="id"·title="binder">x</span></a>·<a·id="y:142"·class="idref"·href="#y:142"><span·class="id"·title="binder">y</span></a>·<a·id="c:143"·class="idref"·href="#c:143"><span·class="id"·title="binder">c</span></a>,<br/> | 616 | <span·class="id"·title="keyword">Lemma</span>·<a·id="CompSpec2Type"·class="idref"·href="#CompSpec2Type"><span·class="id"·title="lemma">CompSpec2Type</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="A:138"·class="idref"·href="#A:138"><span·class="id"·title="binder">A</span></a>·(<a·id="eq:139"·class="idref"·href="#eq:139"><span·class="id"·title="binder">eq</span></a>·<a·id="lt:140"·class="idref"·href="#lt:140"><span·class="id"·title="binder">lt</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#A:138"><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.Init.Datatypes.html#A:138"><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><span·class="id"·title="keyword">Prop</span>)·<a·id="x:141"·class="idref"·href="#x:141"><span·class="id"·title="binder">x</span></a>·<a·id="y:142"·class="idref"·href="#y:142"><span·class="id"·title="binder">y</span></a>·<a·id="c:143"·class="idref"·href="#c:143"><span·class="id"·title="binder">c</span></a>,<br/> |
617 | <a·class="idref"·href="Coq.Init.Datatypes.html#CompSpec"><span·class="id"·title="definition">CompSpec</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#eq:139"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#lt:140"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#x:141"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#y:142"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#c:143"><span·class="id"·title="variable">c</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#CompSpecT"><span·class="id"·title="definition">CompSpecT</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#eq:139"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#lt:140"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#x:141"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#y:142"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#c:143"><span·class="id"·title="variable">c</span></a>.<br/> | 617 | <a·class="idref"·href="Coq.Init.Datatypes.html#CompSpec"><span·class="id"·title="definition">CompSpec</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#eq:139"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#lt:140"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#x:141"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#y:142"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#c:143"><span·class="id"·title="variable">c</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#CompSpecT"><span·class="id"·title="definition">CompSpecT</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#eq:139"><span·class="id"·title="variable">eq</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#lt:140"><span·class="id"·title="variable">lt</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#x:141"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#y:142"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#c:143"><span·class="id"·title="variable">c</span></a>.<br/> |
618 | · | 618 | · |
619 | <br/> | 619 | <br/> |
620 | </div> | 620 | </div> |
621 | <div·class="doc"> | 621 | <div·class="doc"> |
622 | <a·id="lab | 622 | <a·id="lab517"></a><h1·class="section">Misc·Other·Datatypes</h1> |
623 | <div·class="paragraph">·</div> | 623 | <div·class="paragraph">·</div> |
624 | ·<span·class="inlinecode"><span·class="id"·title="var">identity</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·is·the·family·of·datatypes·on·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·whose·sole·non-empty | 624 | ·<span·class="inlinecode"><span·class="id"·title="var">identity</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·is·the·family·of·datatypes·on·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·whose·sole·non-empty |
625 | ····member·is·the·singleton·datatype·<span·class="inlinecode"><span·class="id"·title="var">identity</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·whose | 625 | ····member·is·the·singleton·datatype·<span·class="inlinecode"><span·class="id"·title="var">identity</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·whose |
626 | ····sole·inhabitant·is·denoted·<span·class="inlinecode"><span·class="id"·title="var">identity_refl</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>· | 626 | ····sole·inhabitant·is·denoted·<span·class="inlinecode"><span·class="id"·title="var">identity_refl</span></span>·<span·class="inlinecode"><span·class="id"·title="var">A</span></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>· |
627 | </div> | 627 | </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="lab504"></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="lab | 49 | <a·id="lab501"></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 158, 16 lines modified | Offset 158, 16 lines modified | ||
000009d0:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | 000009d0:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | ||
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·623 | 00000a40:·6f63·223e·0a3c·6120·6964·3d22·6c61·6235··oc">.<a·id="lab5 | ||
00000a50:·3 | 00000a50:·3038·223e·3c2f·613e·3c68·3120·636c·6173··08"></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 4442, 15 lines modified | Offset 4442, 15 lines modified | ||
00011590:·3436·3735·6130·6163·6633·6561·3932·6161··4675a0acf3ea92aa | 00011590:·3436·3735·6130·6163·6633·6561·3932·6161··4675a0acf3ea92aa | ||
000115a0:·6261·6464·223e·3c73·7061·6e20·636c·6173··badd"><span·clas | 000115a0:·6261·6464·223e·3c73·7061·6e20·636c·6173··badd"><span·clas | ||
000115b0:·733d·2269·6422·2074·6974·6c65·3d22·6e6f··s="id"·title="no | 000115b0:·733d·2269·6422·2074·6974·6c65·3d22·6e6f··s="id"·title="no | ||
000115c0:·7461·7469·6f6e·223e·293c·2f73·7061·6e3e··tation">)</span> | 000115c0:·7461·7469·6f6e·223e·293c·2f73·7061·6e3e··tation">)</span> | ||
000115d0:·3c2f·613e·2e3c·6272·2f3e·0a0a·3c62·722f··</a>.<br/>..<br/ | 000115d0:·3c2f·613e·2e3c·6272·2f3e·0a0a·3c62·722f··</a>.<br/>..<br/ | ||
000115e0:·3e0a·3c2f·6469·763e·0a0a·3c64·6976·2063··>.</div>..<div·c | 000115e0:·3e0a·3c2f·6469·763e·0a0a·3c64·6976·2063··>.</div>..<div·c | ||
000115f0:·6c61·7373·3d22·646f·6322·3e0a·3c61·2069··lass="doc">.<a·i | 000115f0:·6c61·7373·3d22·646f·6322·3e0a·3c61·2069··lass="doc">.<a·i | ||
00011600:·643d·226c·6162·3 | 00011600:·643d·226c·6162·3530·3922·3e3c·2f61·3e3c··d="lab509"></a>< | ||
00011610:·6831·2063·6c61·7373·3d22·7365·6374·696f··h1·class="sectio | 00011610:·6831·2063·6c61·7373·3d22·7365·6374·696f··h1·class="sectio | ||
00011620:·6e22·3e46·6972·7374·2d6f·7264·6572·2071··n">First-order·q | 00011620:·6e22·3e46·6972·7374·2d6f·7264·6572·2071··n">First-order·q | ||
00011630:·7561·6e74·6966·6965·7273·3c2f·6831·3e0a··uantifiers</h1>. | 00011630:·7561·6e74·6966·6965·7273·3c2f·6831·3e0a··uantifiers</h1>. | ||
00011640:·0a3c·6469·7620·636c·6173·733d·2270·6172··.<div·class="par | 00011640:·0a3c·6469·7620·636c·6173·733d·2270·6172··.<div·class="par | ||
00011650:·6167·7261·7068·223e·203c·2f64·6976·3e0a··agraph">·</div>. | 00011650:·6167·7261·7068·223e·203c·2f64·6976·3e0a··agraph">·</div>. | ||
00011660:·0a20·3c73·7061·6e20·636c·6173·733d·2269··.·<span·class="i | 00011660:·0a20·3c73·7061·6e20·636c·6173·733d·2269··.·<span·class="i | ||
00011670:·6e6c·696e·6563·6f64·6522·3e3c·7370·616e··nlinecode"><span | 00011670:·6e6c·696e·6563·6f64·6522·3e3c·7370·616e··nlinecode"><span | ||
Offset 6440, 15 lines modified | Offset 6440, 15 lines modified | ||
00019270:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | 00019270:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
00019280:·653d·2273·6563·7469·6f6e·223e·756e·6976··e="section">univ | 00019280:·653d·2273·6563·7469·6f6e·223e·756e·6976··e="section">univ | ||
00019290:·6572·7361·6c5f·7175·616e·7469·6669·6361··ersal_quantifica | 00019290:·6572·7361·6c5f·7175·616e·7469·6669·6361··ersal_quantifica | ||
000192a0:·7469·6f6e·3c2f·7370·616e·3e3c·2f61·3e2e··tion</span></a>. | 000192a0:·7469·6f6e·3c2f·7370·616e·3e3c·2f61·3e2e··tion</span></a>. | ||
000192b0:·3c62·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64··<br/>..<br/>.</d | 000192b0:·3c62·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64··<br/>..<br/>.</d | ||
000192c0:·6976·3e0a·0a3c·6469·7620·636c·6173·733d··iv>..<div·class= | 000192c0:·6976·3e0a·0a3c·6469·7620·636c·6173·733d··iv>..<div·class= | ||
000192d0:·2264·6f63·223e·0a3c·6120·6964·3d22·6c61··"doc">.<a·id="la | 000192d0:·2264·6f63·223e·0a3c·6120·6964·3d22·6c61··"doc">.<a·id="la | ||
000192e0:·623 | 000192e0:·6235·3130·223e·3c2f·613e·3c68·3120·636c··b510"></a><h1·cl | ||
000192f0:·6173·733d·2273·6563·7469·6f6e·223e·4571··ass="section">Eq | 000192f0:·6173·733d·2273·6563·7469·6f6e·223e·4571··ass="section">Eq | ||
00019300:·7561·6c69·7479·3c2f·6831·3e0a·0a3c·6469··uality</h1>..<di | 00019300:·7561·6c69·7479·3c2f·6831·3e0a·0a3c·6469··uality</h1>..<di | ||
00019310:·7620·636c·6173·733d·2270·6172·6167·7261··v·class="paragra | 00019310:·7620·636c·6173·733d·2270·6172·6167·7261··v·class="paragra | ||
00019320:·7068·223e·203c·2f64·6976·3e0a·0a20·3c73··ph">·</div>..·<s | 00019320:·7068·223e·203c·2f64·6976·3e0a·0a20·3c73··ph">·</div>..·<s | ||
00019330:·7061·6e20·636c·6173·733d·2269·6e6c·696e··pan·class="inlin | 00019330:·7061·6e20·636c·6173·733d·2269·6e6c·696e··pan·class="inlin | ||
00019340:·6563·6f64·6522·3e3c·7370·616e·2063·6c61··ecode"><span·cla | 00019340:·6563·6f64·6522·3e3c·7370·616e·2063·6c61··ecode"><span·cla | ||
00019350:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | 00019350:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
Offset 16761, 15 lines modified | Offset 16761, 15 lines modified | ||
00041780:·3a74·7970·655f·7363·6f70·653a·785f·272d··:type_scope:x_'- | 00041780:·3a74·7970·655f·7363·6f70·653a·785f·272d··:type_scope:x_'- | ||
00041790:·2667·743b·275f·7822·3e3c·7370·616e·2063··>'_x"><span·c | 00041790:·2667·743b·275f·7822·3e3c·7370·616e·2063··>'_x"><span·c | ||
000417a0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | 000417a0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
000417b0:·226e·6f74·6174·696f·6e22·3e29·3c2f·7370··"notation">)</sp | 000417b0:·226e·6f74·6174·696f·6e22·3e29·3c2f·7370··"notation">)</sp | ||
000417c0:·616e·3e3c·2f61·3e2e·3c62·722f·3e0a·0a3c··an></a>.<br/>..< | 000417c0:·616e·3e3c·2f61·3e2e·3c62·722f·3e0a·0a3c··an></a>.<br/>..< | ||
000417d0:·6272·2f3e·0a3c·2f64·6976·3e0a·0a3c·6469··br/>.</div>..<di | 000417d0:·6272·2f3e·0a3c·2f64·6976·3e0a·0a3c·6469··br/>.</div>..<di | ||
000417e0:·7620·636c·6173·733d·2264·6f63·223e·0a3c··v·class="doc">.< | 000417e0:·7620·636c·6173·733d·2264·6f63·223e·0a3c··v·class="doc">.< | ||
000417f0:·6120·6964·3d22·6c61·623 | 000417f0:·6120·6964·3d22·6c61·6235·3131·223e·3c2f··a·id="lab511"></ | ||
00041800:·613e·3c68·3120·636c·6173·733d·2273·6563··a><h1·class="sec | 00041800:·613e·3c68·3120·636c·6173·733d·2273·6563··a><h1·class="sec | ||
00041810:·7469·6f6e·223e·4265·696e·6720·696e·6861··tion">Being·inha | 00041810:·7469·6f6e·223e·4265·696e·6720·696e·6861··tion">Being·inha | ||
00041820:·6269·7465·643c·2f68·313e·0a0a·3c64·6976··bited</h1>..<div | 00041820:·6269·7465·643c·2f68·313e·0a0a·3c64·6976··bited</h1>..<div | ||
00041830:·2063·6c61·7373·3d22·7061·7261·6772·6170···class="paragrap | 00041830:·2063·6c61·7373·3d22·7061·7261·6772·6170···class="paragrap | ||
00041840:·6822·3e20·3c2f·6469·763e·0a0a·2054·6865··h">·</div>..·The | 00041840:·6822·3e20·3c2f·6469·763e·0a0a·2054·6865··h">·</div>..·The | ||
00041850:·2070·7265·6469·6361·7465·203c·7370·616e···predicate·<span | 00041850:·2070·7265·6469·6361·7465·203c·7370·616e···predicate·<span | ||
00041860:·2063·6c61·7373·3d22·696e·6c69·6e65·636f···class="inlineco | 00041860:·2063·6c61·7373·3d22·696e·6c69·6e65·636f···class="inlineco |
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="lab | 55 | <a·id="lab518"></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 67, 15 lines modified | Offset 67, 15 lines modified | ||
67 | <br/> | 67 | <br/> |
68 | <span·class="id"·title="keyword">Definition</span>·<a·id="t"·class="idref"·href="#t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>.<br/> | 68 | <span·class="id"·title="keyword">Definition</span>·<a·id="t"·class="idref"·href="#t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</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="lab519"></a><h2·class="section">Constants</h2> |
73 | </div> | 73 | </div> |
74 | <div·class="code"> | 74 | <div·class="code"> |
75 | <br/> | 75 | <br/> |
76 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'0'"·class="idref"·href="#:::'0'"><span·class="id"·title="notation">"</span></a>0"·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id=":::'0'"·class="idref"·href="#:::'0'"><span·class="id"·title="notation">"</span></a>0"·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>.<br/> |
77 | <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.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>).<br/> | 77 | <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.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>).<br/> |
Offset 86, 15 lines modified | Offset 86, 15 lines modified | ||
86 | <span·class="id"·title="keyword">Definition</span>·<a·id="one"·class="idref"·href="#one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> | 86 | <span·class="id"·title="keyword">Definition</span>·<a·id="one"·class="idref"·href="#one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> |
87 | <span·class="id"·title="keyword">Definition</span>·<a·id="two"·class="idref"·href="#two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> | 87 | <span·class="id"·title="keyword">Definition</span>·<a·id="two"·class="idref"·href="#two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> |
88 | <br/> | 88 | <br/> |
89 | </div> | 89 | </div> |
90 | <div·class="doc"> | 90 | <div·class="doc"> |
91 | <a·id="lab | 91 | <a·id="lab520"></a><h2·class="section">Basic·operations</h2> |
92 | </div> | 92 | </div> |
93 | <div·class="code"> | 93 | <div·class="code"> |
94 | <br/> | 94 | <br/> |
95 | <span·class="id"·title="keyword">Definition</span>·<a·id="succ"·class="idref"·href="#succ"><span·class="id"·title="definition">succ</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="succ"·class="idref"·href="#succ"><span·class="id"·title="definition">succ</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>.<br/> |
Offset 155, 15 lines modified | Offset 155, 15 lines modified | ||
155 | <br/> | 155 | <br/> |
156 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">sub</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.sub</span>.<br/> | 156 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">sub</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.nat.sub</span>.<br/> |
157 | <br/> | 157 | <br/> |
158 | </div> | 158 | </div> |
159 | <div·class="doc"> | 159 | <div·class="doc"> |
160 | <a·id="lab | 160 | <a·id="lab521"></a><h2·class="section">Comparisons</h2> |
161 | </div> | 161 | </div> |
162 | <div·class="code"> | 162 | <div·class="code"> |
163 | <br/> | 163 | <br/> |
164 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="eqb"·class="idref"·href="#eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="n:17"·class="idref"·href="#n:17"><span·class="id"·title="binder">n</span></a>·<a·id="m:18"·class="idref"·href="#m:18"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 164 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="eqb"·class="idref"·href="#eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="n:17"·class="idref"·href="#n:17"><span·class="id"·title="binder">n</span></a>·<a·id="m:18"·class="idref"·href="#m:18"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> |
165 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:17"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Init.Nat.html#m:18"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 165 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:17"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Init.Nat.html#m:18"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 201, 15 lines modified | Offset 201, 15 lines modified | ||
201 | <br/> | 201 | <br/> |
202 | <span·class="id"·title="keyword">Infix</span>·<a·id="4a243c6f4b9487508e7110341eeedb0b"·class="idref"·href="#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">"</span></a>?="·:=·<a·class="idref"·href="Coq.Init.Nat.html#compare"><span·class="id"·title="definition">compare</span></a>·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·70)·:·<span·class="id"·title="var">nat_scope</span>.<br/> | 202 | <span·class="id"·title="keyword">Infix</span>·<a·id="4a243c6f4b9487508e7110341eeedb0b"·class="idref"·href="#4a243c6f4b9487508e7110341eeedb0b"><span·class="id"·title="notation">"</span></a>?="·:=·<a·class="idref"·href="Coq.Init.Nat.html#compare"><span·class="id"·title="definition">compare</span></a>·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·70)·:·<span·class="id"·title="var">nat_scope</span>.<br/> |
203 | <br/> | 203 | <br/> |
204 | </div> | 204 | </div> |
205 | <div·class="doc"> | 205 | <div·class="doc"> |
206 | <a·id="lab | 206 | <a·id="lab522"></a><h2·class="section">Minimum,·maximum</h2> |
207 | </div> | 207 | </div> |
208 | <div·class="code"> | 208 | <div·class="code"> |
209 | <br/> | 209 | <br/> |
210 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="max"·class="idref"·href="#max"><span·class="id"·title="definition">max</span></a>·<a·id="n:34"·class="idref"·href="#n:34"><span·class="id"·title="binder">n</span></a>·<a·id="m:35"·class="idref"·href="#m:35"><span·class="id"·title="binder">m</span></a>·:=<br/> | 210 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="max"·class="idref"·href="#max"><span·class="id"·title="definition">max</span></a>·<a·id="n:34"·class="idref"·href="#n:34"><span·class="id"·title="binder">n</span></a>·<a·id="m:35"·class="idref"·href="#m:35"><span·class="id"·title="binder">m</span></a>·:=<br/> |
211 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:34"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Init.Nat.html#m:35"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 211 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:34"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Init.Nat.html#m:35"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 226, 15 lines modified | Offset 226, 15 lines modified | ||
226 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>,·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">m'</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.Init.Nat.html#min:41"><span·class="id"·title="definition">min</span></a>·<span·class="id"·title="var">n'</span>·<span·class="id"·title="var">m'</span>)<br/> | 226 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>,·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">m'</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.Init.Nat.html#min:41"><span·class="id"·title="definition">min</span></a>·<span·class="id"·title="var">n'</span>·<span·class="id"·title="var">m'</span>)<br/> |
227 | <span·class="id"·title="keyword">end</span>.<br/> | 227 | <span·class="id"·title="keyword">end</span>.<br/> |
228 | <br/> | 228 | <br/> |
229 | </div> | 229 | </div> |
230 | <div·class="doc"> | 230 | <div·class="doc"> |
231 | <a·id="lab | 231 | <a·id="lab523"></a><h2·class="section">Parity·tests</h2> |
232 | </div> | 232 | </div> |
233 | <div·class="code"> | 233 | <div·class="code"> |
234 | <br/> | 234 | <br/> |
235 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="even"·class="idref"·href="#even"><span·class="id"·title="definition">even</span></a>·<a·id="n:44"·class="idref"·href="#n:44"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> | 235 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="even"·class="idref"·href="#even"><span·class="id"·title="definition">even</span></a>·<a·id="n:44"·class="idref"·href="#n:44"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#bool"><span·class="id"·title="inductive">bool</span></a>·:=<br/> |
236 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:44"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 236 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:44"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 246, 15 lines modified | Offset 246, 15 lines modified | ||
246 | <br/> | 246 | <br/> |
247 | <span·class="id"·title="keyword">Definition</span>·<a·id="odd"·class="idref"·href="#odd"><span·class="id"·title="definition">odd</span></a>·<a·id="n:47"·class="idref"·href="#n:47"><span·class="id"·title="binder">n</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Init.Nat.html#even"><span·class="id"·title="definition">even</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#n:47"><span·class="id"·title="variable">n</span></a>).<br/> | 247 | <span·class="id"·title="keyword">Definition</span>·<a·id="odd"·class="idref"·href="#odd"><span·class="id"·title="definition">odd</span></a>·<a·id="n:47"·class="idref"·href="#n:47"><span·class="id"·title="binder">n</span></a>·:=·<a·class="idref"·href="Coq.Init.Datatypes.html#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.Init.Nat.html#even"><span·class="id"·title="definition">even</span></a>·<a·class="idref"·href="Coq.Init.Nat.html#n:47"><span·class="id"·title="variable">n</span></a>).<br/> |
248 | <br/> | 248 | <br/> |
249 | </div> | 249 | </div> |
250 | <div·class="doc"> | 250 | <div·class="doc"> |
251 | <a·id="lab | 251 | <a·id="lab524"></a><h2·class="section">Power</h2> |
252 | </div> | 252 | </div> |
253 | <div·class="code"> | 253 | <div·class="code"> |
254 | <br/> | 254 | <br/> |
255 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="pow"·class="idref"·href="#pow"><span·class="id"·title="definition">pow</span></a>·<a·id="n:48"·class="idref"·href="#n:48"><span·class="id"·title="binder">n</span></a>·<a·id="m:49"·class="idref"·href="#m:49"><span·class="id"·title="binder">m</span></a>·:=<br/> | 255 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="pow"·class="idref"·href="#pow"><span·class="id"·title="definition">pow</span></a>·<a·id="n:48"·class="idref"·href="#n:48"><span·class="id"·title="binder">n</span></a>·<a·id="m:49"·class="idref"·href="#m:49"><span·class="id"·title="binder">m</span></a>·:=<br/> |
256 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#m:49"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> | 256 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#m:49"><span·class="id"·title="variable">m</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 264, 15 lines modified | Offset 264, 15 lines modified | ||
264 | <br/> | 264 | <br/> |
265 | <span·class="id"·title="keyword">where</span>·<a·id="81fd94e251a61ee523cdd7855774ae7c"·class="idref"·href="#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">"</span></a>n·^·m"·:=·(<a·class="idref"·href="Coq.Init.Nat.html#pow:50"><span·class="id"·title="definition">pow</span></a>·<span·class="id"·title="var">n</span>·<span·class="id"·title="var">m</span>)·:·<span·class="id"·title="var">nat_scope</span>.<br/> | 265 | <span·class="id"·title="keyword">where</span>·<a·id="81fd94e251a61ee523cdd7855774ae7c"·class="idref"·href="#81fd94e251a61ee523cdd7855774ae7c"><span·class="id"·title="notation">"</span></a>n·^·m"·:=·(<a·class="idref"·href="Coq.Init.Nat.html#pow:50"><span·class="id"·title="definition">pow</span></a>·<span·class="id"·title="var">n</span>·<span·class="id"·title="var">m</span>)·:·<span·class="id"·title="var">nat_scope</span>.<br/> |
266 | <br/> | 266 | <br/> |
267 | </div> | 267 | </div> |
268 | <div·class="doc"> | 268 | <div·class="doc"> |
269 | <a·id="lab | 269 | <a·id="lab525"></a><h2·class="section">Tail-recursive·versions·of·<span·class="inlinecode"><span·class="id"·title="var">add</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">mul</span></span></h2> |
270 | </div> | 270 | </div> |
271 | <div·class="code"> | 271 | <div·class="code"> |
272 | <br/> | 272 | <br/> |
273 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="tail_add"·class="idref"·href="#tail_add"><span·class="id"·title="definition">tail_add</span></a>·<a·id="n:52"·class="idref"·href="#n:52"><span·class="id"·title="binder">n</span></a>·<a·id="m:53"·class="idref"·href="#m:53"><span·class="id"·title="binder">m</span></a>·:=<br/> | 273 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="tail_add"·class="idref"·href="#tail_add"><span·class="id"·title="definition">tail_add</span></a>·<a·id="n:52"·class="idref"·href="#n:52"><span·class="id"·title="binder">n</span></a>·<a·id="m:53"·class="idref"·href="#m:53"><span·class="id"·title="binder">m</span></a>·:=<br/> |
274 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:52"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 274 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Init.Nat.html#n:52"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Max diff block lines reached; 7657/17103 bytes (44.77%) of diff not shown. |
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="lab506"></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="lab | 56 | <a·id="lab502"></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 372, 15 lines modified | Offset 372, 15 lines modified | ||
372 | <span·class="id"·title="keyword">Tactic·Notation</span>·"dependent"·"destruction"·<span·class="id"·title="var">ident</span>(<span·class="id"·title="var">H</span>)·:=<br/> | 372 | <span·class="id"·title="keyword">Tactic·Notation</span>·"dependent"·"destruction"·<span·class="id"·title="var">ident</span>(<span·class="id"·title="var">H</span>)·:=<br/> |
373 | <span·class="id"·title="tactic">fail</span>·"To·use·dependent·destruction,·first·[Require·Import·Coq.Program.Equality.]".<br/> | 373 | <span·class="id"·title="tactic">fail</span>·"To·use·dependent·destruction,·first·[Require·Import·Coq.Program.Equality.]".<br/> |
374 | <br/> | 374 | <br/> |
375 | </div> | 375 | </div> |
376 | <div·class="doc"> | 376 | <div·class="doc"> |
377 | <a·id="lab | 377 | <a·id="lab503"></a><h3·class="section"><span·class="inlinecode"><span·class="id"·title="var">inversion_sigma</span></span></h3> |
378 | ·The·built-in·<span·class="inlinecode"><span·class="id"·title="tactic">inversion</span></span>·will·frequently·leave·equalities·of | 378 | ·The·built-in·<span·class="inlinecode"><span·class="id"·title="tactic">inversion</span></span>·will·frequently·leave·equalities·of |
379 | ····dependent·pairs.··When·the·first·type·in·the·pair·is·an·hProp·or | 379 | ····dependent·pairs.··When·the·first·type·in·the·pair·is·an·hProp·or |
380 | ····otherwise·simplifies,·<span·class="inlinecode"><span·class="id"·title="var">inversion_sigma</span></span>·is·useful;·it·will·replace | 380 | ····otherwise·simplifies,·<span·class="inlinecode"><span·class="id"·title="var">inversion_sigma</span></span>·is·useful;·it·will·replace |
381 | ····the·equality·of·pairs·with·a·pair·of·equalities,·one·involving·a | 381 | ····the·equality·of·pairs·with·a·pair·of·equalities,·one·involving·a |
382 | ····term·casted·along·the·other.··This·might·also·prove·useful·for | 382 | ····term·casted·along·the·other.··This·might·also·prove·useful·for |
383 | ····writing·a·version·of·<span·class="inlinecode"><span·class="id"·title="tactic">inversion</span></span>·/·<span·class="inlinecode"><span·class="id"·title="tactic">dependent</span></span>·<span·class="inlinecode"><span·class="id"·title="tactic">destruction</span></span>·which | 383 | ····writing·a·version·of·<span·class="inlinecode"><span·class="id"·title="tactic">inversion</span></span>·/·<span·class="inlinecode"><span·class="id"·title="tactic">dependent</span></span>·<span·class="inlinecode"><span·class="id"·title="tactic">destruction</span></span>·which |
384 | ····does·not·lose·information,·i.e.,·does·not·turn·a·goal·which·is | 384 | ····does·not·lose·information,·i.e.,·does·not·turn·a·goal·which·is |
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="lab505"></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="lab | 49 | <a·id="lab532"></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="lab | 56 | <a·id="lab763"></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 143, 15 lines modified | Offset 143, 15 lines modified | ||
143 | <br/> | 143 | <br/> |
144 | <span·class="id"·title="keyword">Variable</span>·<a·id="Facts.A"·class="idref"·href="#Facts.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 144 | <span·class="id"·title="keyword">Variable</span>·<a·id="Facts.A"·class="idref"·href="#Facts.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
145 | <br/> | 145 | <br/> |
146 | </div> | 146 | </div> |
147 | <div·class="doc"> | 147 | <div·class="doc"> |
148 | <a·id="lab | 148 | <a·id="lab764"></a><h3·class="section">Generic·facts</h3> |
149 | <div·class="paragraph">·</div> | 149 | <div·class="paragraph">·</div> |
150 | ·Discrimination· | 150 | ·Discrimination· |
151 | </div> | 151 | </div> |
152 | <div·class="code"> | 152 | <div·class="code"> |
153 | <span·class="id"·title="keyword">Theorem</span>·<a·id="nil_cons"·class="idref"·href="#nil_cons"><span·class="id"·title="lemma">nil_cons</span></a>·(<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="l:17"·class="idref"·href="#l:17"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><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.Lists.List.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:17"><span·class="id"·title="variable">l</span></a>.<br/> | 153 | <span·class="id"·title="keyword">Theorem</span>·<a·id="nil_cons"·class="idref"·href="#nil_cons"><span·class="id"·title="lemma">nil_cons</span></a>·(<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="l:17"·class="idref"·href="#l:17"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><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.Lists.List.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:17"><span·class="id"·title="variable">l</span></a>.<br/> |
Offset 178, 30 lines modified | Offset 178, 30 lines modified | ||
178 | <span·class="id"·title="keyword">Theorem</span>·<a·id="length_zero_iff_nil"·class="idref"·href="#length_zero_iff_nil"><span·class="id"·title="lemma">length_zero_iff_nil</span></a>·(<a·id="l:26"·class="idref"·href="#l:26"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>):<br/> | 178 | <span·class="id"·title="keyword">Theorem</span>·<a·id="length_zero_iff_nil"·class="idref"·href="#length_zero_iff_nil"><span·class="id"·title="lemma">length_zero_iff_nil</span></a>·(<a·id="l:26"·class="idref"·href="#l:26"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>):<br/> |
179 | <a·class="idref"·href="Coq.Init.Datatypes.html#length"><span·class="id"·title="definition">length</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:26"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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.Lists.List.html#l:26"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><span·class="id"·title="notation">[]</span></a>.<br/> | 179 | <a·class="idref"·href="Coq.Init.Datatypes.html#length"><span·class="id"·title="definition">length</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:26"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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.Lists.List.html#l:26"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><span·class="id"·title="notation">[]</span></a>.<br/> |
180 | <br/> | 180 | <br/> |
181 | </div> | 181 | </div> |
182 | <div·class="doc"> | 182 | <div·class="doc"> |
183 | <a·id="lab | 183 | <a·id="lab765"></a><h3·class="section">Head·and·tail</h3> |
184 | </div> | 184 | </div> |
185 | <div·class="code"> | 185 | <div·class="code"> |
186 | <br/> | 186 | <br/> |
187 | <span·class="id"·title="keyword">Theorem</span>·<a·id="hd_error_nil"·class="idref"·href="#hd_error_nil"><span·class="id"·title="lemma">hd_error_nil</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#hd_error"><span·class="id"·title="definition">hd_error</span></a>·(@<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</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#None"><span·class="id"·title="constructor">None</span></a>.<br/> | 187 | <span·class="id"·title="keyword">Theorem</span>·<a·id="hd_error_nil"·class="idref"·href="#hd_error_nil"><span·class="id"·title="lemma">hd_error_nil</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#hd_error"><span·class="id"·title="definition">hd_error</span></a>·(@<a·class="idref"·href="Coq.Init.Datatypes.html#nil"><span·class="id"·title="constructor">nil</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</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#None"><span·class="id"·title="constructor">None</span></a>.<br/> |
188 | <br/> | 188 | <br/> |
189 | <span·class="id"·title="keyword">Theorem</span>·<a·id="hd_error_cons"·class="idref"·href="#hd_error_cons"><span·class="id"·title="lemma">hd_error_cons</span></a>·(<a·id="l:27"·class="idref"·href="#l:27"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="x:28"·class="idref"·href="#x:28"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#hd_error"><span·class="id"·title="definition">hd_error</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#x:28"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a><a·class="idref"·href="Coq.Lists.List.html#l:27"><span·class="id"·title="variable">l</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#Some"><span·class="id"·title="constructor">Some</span></a>·<a·class="idref"·href="Coq.Lists.List.html#x:28"><span·class="id"·title="variable">x</span></a>.<br/> | 189 | <span·class="id"·title="keyword">Theorem</span>·<a·id="hd_error_cons"·class="idref"·href="#hd_error_cons"><span·class="id"·title="lemma">hd_error_cons</span></a>·(<a·id="l:27"·class="idref"·href="#l:27"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="x:28"·class="idref"·href="#x:28"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#hd_error"><span·class="id"·title="definition">hd_error</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#x:28"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a><a·class="idref"·href="Coq.Lists.List.html#l:27"><span·class="id"·title="variable">l</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#Some"><span·class="id"·title="constructor">Some</span></a>·<a·class="idref"·href="Coq.Lists.List.html#x:28"><span·class="id"·title="variable">x</span></a>.<br/> |
190 | <br/> | 190 | <br/> |
191 | </div> | 191 | </div> |
192 | <div·class="doc"> | 192 | <div·class="doc"> |
193 | <a·id="lab | 193 | <a·id="lab766"></a><h3·class="section">Facts·about·<span·class="inlinecode"><span·class="id"·title="var">app</span></span></h3> |
194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> |
195 | ·Discrimination· | 195 | ·Discrimination· |
196 | </div> | 196 | </div> |
197 | <div·class="code"> | 197 | <div·class="code"> |
198 | <span·class="id"·title="keyword">Theorem</span>·<a·id="app_cons_not_nil"·class="idref"·href="#app_cons_not_nil"><span·class="id"·title="lemma">app_cons_not_nil</span></a>·(<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>·<a·id="y:30"·class="idref"·href="#y:30"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="a:31"·class="idref"·href="#a:31"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><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.Lists.List.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#a:31"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Lists.List.html#y:30"><span·class="id"·title="variable">y</span></a>.<br/> | 198 | <span·class="id"·title="keyword">Theorem</span>·<a·id="app_cons_not_nil"·class="idref"·href="#app_cons_not_nil"><span·class="id"·title="lemma">app_cons_not_nil</span></a>·(<a·id="x:29"·class="idref"·href="#x:29"><span·class="id"·title="binder">x</span></a>·<a·id="y:30"·class="idref"·href="#y:30"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="a:31"·class="idref"·href="#a:31"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.Lists.List.html#ae9a5e1034e143b218b09d8e454472bd"><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.Lists.List.html#x:29"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#a:31"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Lists.List.html#y:30"><span·class="id"·title="variable">y</span></a>.<br/> |
Offset 305, 15 lines modified | Offset 305, 15 lines modified | ||
305 | <span·class="id"·title="keyword">Lemma</span>·<a·id="app_inv_tail_iff"·class="idref"·href="#app_inv_tail_iff"><span·class="id"·title="lemma">app_inv_tail_iff</span></a>:<br/> | 305 | <span·class="id"·title="keyword">Lemma</span>·<a·id="app_inv_tail_iff"·class="idref"·href="#app_inv_tail_iff"><span·class="id"·title="lemma">app_inv_tail_iff</span></a>:<br/> |
306 | <span·class="id"·title="keyword">forall</span>·<a·id="l:85"·class="idref"·href="#l:85"><span·class="id"·title="binder">l</span></a>·<a·id="l1:86"·class="idref"·href="#l1:86"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:87"·class="idref"·href="#l2:87"><span·class="id"·title="binder">l2</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Lists.List.html#l1:86"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:85"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l2:87"><span·class="id"·title="variable">l2</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:85"><span·class="id"·title="variable">l</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.Lists.List.html#l1:86"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l2:87"><span·class="id"·title="variable">l2</span></a>.<br/> | 306 | <span·class="id"·title="keyword">forall</span>·<a·id="l:85"·class="idref"·href="#l:85"><span·class="id"·title="binder">l</span></a>·<a·id="l1:86"·class="idref"·href="#l1:86"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:87"·class="idref"·href="#l2:87"><span·class="id"·title="binder">l2</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Facts.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Lists.List.html#l1:86"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:85"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l2:87"><span·class="id"·title="variable">l2</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:85"><span·class="id"·title="variable">l</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.Lists.List.html#l1:86"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l2:87"><span·class="id"·title="variable">l2</span></a>.<br/> |
307 | <br/> | 307 | <br/> |
308 | </div> | 308 | </div> |
309 | <div·class="doc"> | 309 | <div·class="doc"> |
310 | <a·id="lab | 310 | <a·id="lab767"></a><h3·class="section">Facts·about·<span·class="inlinecode"><span·class="id"·title="var">In</span></span></h3> |
311 | <div·class="paragraph">·</div> | 311 | <div·class="paragraph">·</div> |
312 | ·Characterization·of·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>· | 312 | ·Characterization·of·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>· |
313 | </div> | 313 | </div> |
314 | <div·class="code"> | 314 | <div·class="code"> |
Offset 391, 30 lines modified | Offset 391, 30 lines modified | ||
391 | <br/> | 391 | <br/> |
392 | <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">datatypes</span>.<br/> | 392 | <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">datatypes</span>.<br/> |
393 | <br/> | 393 | <br/> |
394 | </div> | 394 | </div> |
395 | <div·class="doc"> | 395 | <div·class="doc"> |
396 | <a·id="lab | 396 | <a·id="lab768"></a><h1·class="section">Operations·on·the·elements·of·a·list</h1> |
397 | </div> | 397 | </div> |
398 | <div·class="code"> | 398 | <div·class="code"> |
399 | <br/> | 399 | <br/> |
400 | <span·class="id"·title="keyword">Section</span>·<a·id="Elts"·class="idref"·href="#Elts"><span·class="id"·title="section">Elts</span></a>.<br/> | 400 | <span·class="id"·title="keyword">Section</span>·<a·id="Elts"·class="idref"·href="#Elts"><span·class="id"·title="section">Elts</span></a>.<br/> |
401 | <br/> | 401 | <br/> |
402 | <span·class="id"·title="keyword">Variable</span>·<a·id="Elts.A"·class="idref"·href="#Elts.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 402 | <span·class="id"·title="keyword">Variable</span>·<a·id="Elts.A"·class="idref"·href="#Elts.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
403 | <br/> | 403 | <br/> |
404 | </div> | 404 | </div> |
405 | <div·class="doc"> | 405 | <div·class="doc"> |
406 | <a·id="lab | 406 | <a·id="lab769"></a><h2·class="section">Nth·element·of·a·list</h2> |
407 | </div> | 407 | </div> |
408 | <div·class="code"> | 408 | <div·class="code"> |
409 | <br/> | 409 | <br/> |
410 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="nth"·class="idref"·href="#nth"><span·class="id"·title="definition">nth</span></a>·(<a·id="n:131"·class="idref"·href="#n:131"><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·id="l:132"·class="idref"·href="#l:132"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="default:133"·class="idref"·href="#default:133"><span·class="id"·title="binder">default</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">l</span>}·:·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>·:=<br/> | 410 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="nth"·class="idref"·href="#nth"><span·class="id"·title="definition">nth</span></a>·(<a·id="n:131"·class="idref"·href="#n:131"><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·id="l:132"·class="idref"·href="#l:132"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="default:133"·class="idref"·href="#default:133"><span·class="id"·title="binder">default</span></a>:<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">l</span>}·:·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>·:=<br/> |
411 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Lists.List.html#n:131"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Lists.List.html#l:132"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">with</span><br/> | 411 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Lists.List.html#n:131"><span·class="id"·title="variable">n</span></a>,·<a·class="idref"·href="Coq.Lists.List.html#l:132"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 608, 15 lines modified | Offset 608, 15 lines modified | ||
608 | <span·class="id"·title="keyword">Lemma</span>·<a·id="nth_error_nth_None"·class="idref"·href="#nth_error_nth_None"><span·class="id"·title="lemma">nth_error_nth_None</span></a>·(<a·id="l:255"·class="idref"·href="#l:255"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="n:256"·class="idref"·href="#n:256"><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·id="d:257"·class="idref"·href="#d:257"><span·class="id"·title="binder">d</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·:<br/> | 608 | <span·class="id"·title="keyword">Lemma</span>·<a·id="nth_error_nth_None"·class="idref"·href="#nth_error_nth_None"><span·class="id"·title="lemma">nth_error_nth_None</span></a>·(<a·id="l:255"·class="idref"·href="#l:255"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="n:256"·class="idref"·href="#n:256"><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·id="d:257"·class="idref"·href="#d:257"><span·class="id"·title="binder">d</span></a>·:·<a·class="idref"·href="Coq.Lists.List.html#Elts.A"><span·class="id"·title="variable">A</span></a>)·:<br/> |
609 | <a·class="idref"·href="Coq.Lists.List.html#nth_error"><span·class="id"·title="definition">nth_error</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:255"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Lists.List.html#n:256"><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#None"><span·class="id"·title="constructor">None</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.Lists.List.html#nth"><span·class="id"·title="definition">nth</span></a>·<a·class="idref"·href="Coq.Lists.List.html#n:256"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:255"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Lists.List.html#d:257"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#d:257"><span·class="id"·title="variable">d</span></a>.<br/> | 609 | <a·class="idref"·href="Coq.Lists.List.html#nth_error"><span·class="id"·title="definition">nth_error</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:255"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Lists.List.html#n:256"><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#None"><span·class="id"·title="constructor">None</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.Lists.List.html#nth"><span·class="id"·title="definition">nth</span></a>·<a·class="idref"·href="Coq.Lists.List.html#n:256"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Lists.List.html#l:255"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Lists.List.html#d:257"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#d:257"><span·class="id"·title="variable">d</span></a>.<br/> |
610 | <br/> | 610 | <br/> |
611 | </div> | 611 | </div> |
612 | <div·class="doc"> | 612 | <div·class="doc"> |
613 | <a·id="lab | 613 | <a·id="lab770"></a><h2·class="section">Last·element·of·a·list</h2> |
614 | <div·class="paragraph">·</div> | 614 | <div·class="paragraph">·</div> |
615 | ·<span·class="inlinecode"><span·class="id"·title="var">last</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>·returns·the·last·element·of·the·list·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>, | 615 | ·<span·class="inlinecode"><span·class="id"·title="var">last</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>·returns·the·last·element·of·the·list·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>, |
616 | ····or·the·default·value·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>·if·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·is·empty.· | 616 | ····or·the·default·value·<span·class="inlinecode"><span·class="id"·title="var">d</span></span>·if·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·is·empty.· |
617 | </div> | 617 | </div> |
618 | <div·class="code"> | 618 | <div·class="code"> |
Offset 663, 15 lines modified | Offset 663, 15 lines modified | ||
663 | <br/> | 663 | <br/> |
Max diff block lines reached; 29534/46780 bytes (63.13%) of diff not shown. |
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="lab | 55 | <a·id="lab796"></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="lab | 54 | <a·id="lab795"></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="lab594"></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 85, 15 lines modified | Offset 85, 15 lines modified | ||
85 | <br/> | 85 | <br/> |
86 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 86 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
87 | <br/> | 87 | <br/> |
88 | </div> | 88 | </div> |
89 | <div·class="doc"> | 89 | <div·class="doc"> |
90 | <a·id="lab | 90 | <a·id="lab595"></a><h1·class="section">Definitions</h1> |
91 | <div·class="paragraph">·</div> | 91 | <div·class="paragraph">·</div> |
92 | ·Choice,·reification·and·description·schemes· | 92 | ·Choice,·reification·and·description·schemes· |
93 | <div·class="paragraph">·</div> | 93 | <div·class="paragraph">·</div> |
94 | ·We·make·them·all·polymorphic.·Most·of·them·have·existentials·as·conclusion | 94 | ·We·make·them·all·polymorphic.·Most·of·them·have·existentials·as·conclusion |
Offset 112, 15 lines modified | Offset 112, 15 lines modified | ||
112 | <br/> | 112 | <br/> |
113 | <span·class="id"·title="keyword">Variable</span>·<a·id="ChoiceSchemes.P"·class="idref"·href="#ChoiceSchemes.P"><span·class="id"·title="variable">P</span></a>:<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><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><span·class="id"·title="keyword">Prop</span>.<br/> | 113 | <span·class="id"·title="keyword">Variable</span>·<a·id="ChoiceSchemes.P"·class="idref"·href="#ChoiceSchemes.P"><span·class="id"·title="variable">P</span></a>:<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><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><span·class="id"·title="keyword">Prop</span>.<br/> |
114 | <br/> | 114 | <br/> |
115 | </div> | 115 | </div> |
116 | <div·class="doc"> | 116 | <div·class="doc"> |
117 | <a·id="lab | 117 | <a·id="lab596"></a><h2·class="section">Constructive·choice·and·description</h2> |
118 | <div·class="paragraph">·</div> | 118 | <div·class="paragraph">·</div> |
119 | ·AC_rel·=·relational·form·of·the·(non·extensional)·axiom·of·choice | 119 | ·AC_rel·=·relational·form·of·the·(non·extensional)·axiom·of·choice |
120 | ·············(a·"set-theoretic"·axiom·of·choice)· | 120 | ·············(a·"set-theoretic"·axiom·of·choice)· |
121 | </div> | 121 | </div> |
122 | <div·class="code"> | 122 | <div·class="code"> |
Offset 342, 15 lines modified | Offset 342, 15 lines modified | ||
342 | <span·class="id"·title="keyword">forall</span>·<a·id="P:100"·class="idref"·href="#P:100"><span·class="id"·title="binder">P</span></a>:<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><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><span·class="id"·title="keyword">Prop</span>,<br/> | 342 | <span·class="id"·title="keyword">forall</span>·<a·id="P:100"·class="idref"·href="#P:100"><span·class="id"·title="binder">P</span></a>:<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><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><span·class="id"·title="keyword">Prop</span>,<br/> |
343 | <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#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">exists</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">!</span></a>·<a·id="x:101"·class="idref"·href="#x:101"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#P:100"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#x:101"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="x:102"·class="idref"·href="#x:102"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#P:100"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#x:102"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 343 | <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#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">exists</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">!</span></a>·<a·id="x:101"·class="idref"·href="#x:101"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#a3726bd940c3c0e96cb8e13291e9ded4"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#P:100"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#x:101"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="x:102"·class="idref"·href="#x:102"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.ChoiceFacts.html#ChoiceSchemes.A"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#P:100"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#x:102"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> |
344 | <br/> | 344 | <br/> |
345 | </div> | 345 | </div> |
346 | <div·class="doc"> | 346 | <div·class="doc"> |
347 | <a·id="lab | 347 | <a·id="lab597"></a><h2·class="section">Weakly·classical·choice·and·description</h2> |
348 | <div·class="paragraph">·</div> | 348 | <div·class="paragraph">·</div> |
349 | ·GAC_rel·=·guarded·relational·form·of·the·(non·extensional)·axiom·of·choice· | 349 | ·GAC_rel·=·guarded·relational·form·of·the·(non·extensional)·axiom·of·choice· |
350 | </div> | 350 | </div> |
351 | <div·class="code"> | 351 | <div·class="code"> |
Offset 621, 15 lines modified | Offset 621, 15 lines modified | ||
621 | <div·class="paragraph">·</div> | 621 | <div·class="paragraph">·</div> |
622 | with·no·prerequisite·on·the·non-emptiness·of·domains | 622 | with·no·prerequisite·on·the·non-emptiness·of·domains |
623 | <div·class="paragraph">·</div> | 623 | <div·class="paragraph">·</div> |
624 | <a·id="lab | 624 | <a·id="lab598"></a><h1·class="section">Table·of·contents</h1> |
625 | </div> | 625 | </div> |
626 | <div·class="code"> | 626 | <div·class="code"> |
627 | <br/> | 627 | <br/> |
628 | </div> | 628 | </div> |
Offset 678, 15 lines modified | Offset 678, 15 lines modified | ||
678 | <div·class="paragraph">·</div> | 678 | <div·class="paragraph">·</div> |
679 | 9.2.·AC_fun_setoid·=·AC_fun·+·Ext_pred_repr·+·PI | 679 | 9.2.·AC_fun_setoid·=·AC_fun·+·Ext_pred_repr·+·PI |
680 | · | 680 | · |
681 | <div·class="paragraph">·</div> | 681 | <div·class="paragraph">·</div> |
682 | <a·id="lab | 682 | <a·id="lab599"></a><h1·class="section">AC_rel·+·AC!·=·AC_fun</h1> |
683 | <div·class="paragraph">·</div> | 683 | <div·class="paragraph">·</div> |
684 | ···We·show·that·the·functional·formulation·of·the·axiom·of·Choice | 684 | ···We·show·that·the·functional·formulation·of·the·axiom·of·Choice |
685 | ···(usual·formulation·in·type·theory)·is·equivalent·to·its·relational | 685 | ···(usual·formulation·in·type·theory)·is·equivalent·to·its·relational |
686 | ···formulation·(only·formulation·of·set·theory)·+·functional·relation | 686 | ···formulation·(only·formulation·of·set·theory)·+·functional·relation |
Offset 718, 26 lines modified | Offset 718, 26 lines modified | ||
718 | <span·class="id"·title="keyword">forall</span>·<a·id="A:214"·class="idref"·href="#A:214"><span·class="id"·title="binder">A</span></a>·<a·id="B:215"·class="idref"·href="#B:215"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>,·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#FunctionalChoice_on"><span·class="id"·title="definition">FunctionalChoice_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><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><br/> | 718 | <span·class="id"·title="keyword">forall</span>·<a·id="A:214"·class="idref"·href="#A:214"><span·class="id"·title="binder">A</span></a>·<a·id="B:215"·class="idref"·href="#B:215"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>,·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#FunctionalChoice_on"><span·class="id"·title="definition">FunctionalChoice_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><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><br/> |
719 | <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#RelationalChoice_on"><span·class="id"·title="definition">RelationalChoice_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#FunctionalRelReification_on"><span·class="id"·title="definition">FunctionalRelReification_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>.<br/> | 719 | <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#RelationalChoice_on"><span·class="id"·title="definition">RelationalChoice_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#FunctionalRelReification_on"><span·class="id"·title="definition">FunctionalRelReification_on</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#A:214"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.ChoiceFacts.html#B:215"><span·class="id"·title="variable">B</span></a>.<br/> |
720 | <br/> | 720 | <br/> |
721 | </div> | 721 | </div> |
722 | <div·class="doc"> | 722 | <div·class="doc"> |
723 | <a·id="lab | 723 | <a·id="lab600"></a><h1·class="section">Connection·between·the·guarded,·non·guarded·and·omniscient·choices</h1> |
724 | <div·class="paragraph">·</div> | 724 | <div·class="paragraph">·</div> |
725 | ·We·show·that·the·guarded·formulations·of·the·axiom·of·choice | 725 | ·We·show·that·the·guarded·formulations·of·the·axiom·of·choice |
726 | ···are·equivalent·to·their·"omniscient"·variant·and·comes·from·the·non·guarded | 726 | ···are·equivalent·to·their·"omniscient"·variant·and·comes·from·the·non·guarded |
727 | ···formulation·in·presence·either·of·the·independence·of·general·premises | 727 | ···formulation·in·presence·either·of·the·independence·of·general·premises |
728 | ···or·subset·types·(themselves·derivable·from·subtypes·thanks·to·proof- | 728 | ···or·subset·types·(themselves·derivable·from·subtypes·thanks·to·proof- |
729 | ···irrelevance)· | 729 | ···irrelevance)· |
730 | <div·class="paragraph">·</div> | 730 | <div·class="paragraph">·</div> |
731 | <a·id="lab | 731 | <a·id="lab601"></a><h2·class="section">AC_rel·+·PI·->·GAC_rel·and·AC_rel·+·IGP·->·GAC_rel·and·GAC_rel·=·OAC_rel</h2> |
732 | </div> | 732 | </div> |
733 | <div·class="code"> | 733 | <div·class="code"> |
734 | <br/> | 734 | <br/> |
735 | <span·class="id"·title="keyword">Lemma</span>·<a·id="rel_choice_and_proof_irrel_imp_guarded_rel_choice"·class="idref"·href="#rel_choice_and_proof_irrel_imp_guarded_rel_choice"><span·class="id"·title="lemma">rel_choice_and_proof_irrel_imp_guarded_rel_choice</span></a>·:<br/> | 735 | <span·class="id"·title="keyword">Lemma</span>·<a·id="rel_choice_and_proof_irrel_imp_guarded_rel_choice"·class="idref"·href="#rel_choice_and_proof_irrel_imp_guarded_rel_choice"><span·class="id"·title="lemma">rel_choice_and_proof_irrel_imp_guarded_rel_choice</span></a>·:<br/> |
736 | <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#RelationalChoice"><span·class="id"·title="abbreviation">RelationalChoice</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.ChoiceFacts.html#ProofIrrelevance"><span·class="id"·title="definition">ProofIrrelevance</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.ChoiceFacts.html#GuardedRelationalChoice"><span·class="id"·title="abbreviation">GuardedRelationalChoice</span></a>.<br/> | 736 | <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#RelationalChoice"><span·class="id"·title="abbreviation">RelationalChoice</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.ChoiceFacts.html#ProofIrrelevance"><span·class="id"·title="definition">ProofIrrelevance</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.ChoiceFacts.html#GuardedRelationalChoice"><span·class="id"·title="abbreviation">GuardedRelationalChoice</span></a>.<br/> |
Offset 767, 15 lines modified | Offset 767, 15 lines modified | ||
767 | <span·class="id"·title="keyword">Corollary</span>·<a·id="guarded_iff_omniscient_rel_choice"·class="idref"·href="#guarded_iff_omniscient_rel_choice"><span·class="id"·title="lemma">guarded_iff_omniscient_rel_choice</span></a>·:<br/> | 767 | <span·class="id"·title="keyword">Corollary</span>·<a·id="guarded_iff_omniscient_rel_choice"·class="idref"·href="#guarded_iff_omniscient_rel_choice"><span·class="id"·title="lemma">guarded_iff_omniscient_rel_choice</span></a>·:<br/> |
768 | <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#GuardedRelationalChoice"><span·class="id"·title="abbreviation">GuardedRelationalChoice</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.ChoiceFacts.html#OmniscientRelationalChoice"><span·class="id"·title="abbreviation">OmniscientRelationalChoice</span></a>.<br/> | 768 | <a·class="idref"·href="Coq.Logic.ChoiceFacts.html#GuardedRelationalChoice"><span·class="id"·title="abbreviation">GuardedRelationalChoice</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.ChoiceFacts.html#OmniscientRelationalChoice"><span·class="id"·title="abbreviation">OmniscientRelationalChoice</span></a>.<br/> |
769 | <br/> | 769 | <br/> |
Max diff block lines reached; 31817/41506 bytes (76.66%) of diff not shown. |
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="lab637"></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:38"·class="idref"·href="#A:38"><span·class="id"·title="binder">A</span></a>·<a·id="B:39"·class="idref"·href="#B:39"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="R:40"·class="idref"·href="#R:40"><span·class="id"·title="binder">R</span></a>·:·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#A:38"><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:39"><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:38"·class="idref"·href="#A:38"><span·class="id"·title="binder">A</span></a>·<a·id="B:39"·class="idref"·href="#B:39"><span·class="id"·title="binder">B</span></a>·:·<span·class="id"·title="keyword">Type</span>)·(<a·id="R:40"·class="idref"·href="#R:40"><span·class="id"·title="binder">R</span></a>·:·<a·class="idref"·href="Coq.Logic.ClassicalEpsilon.html#A:38"><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:39"><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="lab641"></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 186, 19 lines modified | Offset 186, 19 lines modified | ||
186 | <span·class="id"·title="keyword">Lemma</span>·<a·id="provable_prop_ext"·class="idref"·href="#provable_prop_ext"><span·class="id"·title="lemma">provable_prop_ext</span></a>·:<br/> | 186 | <span·class="id"·title="keyword">Lemma</span>·<a·id="provable_prop_ext"·class="idref"·href="#provable_prop_ext"><span·class="id"·title="lemma">provable_prop_ext</span></a>·:<br/> |
187 | <a·class="idref"·href="Coq.Logic.ClassicalFacts.html#prop_extensionality"><span·class="id"·title="definition">prop_extensionality</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.ClassicalFacts.html#provable_prop_extensionality"><span·class="id"·title="definition">provable_prop_extensionality</span></a>.<br/> | 187 | <a·class="idref"·href="Coq.Logic.ClassicalFacts.html#prop_extensionality"><span·class="id"·title="definition">prop_extensionality</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.ClassicalFacts.html#provable_prop_extensionality"><span·class="id"·title="definition">provable_prop_extensionality</span></a>.<br/> |
188 | <br/> | 188 | <br/> |
189 | </div> | 189 | </div> |
190 | <div·class="doc"> | 190 | <div·class="doc"> |
191 | <a·id="lab | 191 | <a·id="lab642"></a><h1·class="section">Classical·logic·and·proof-irrelevance</h1> |
192 | <div·class="paragraph">·</div> | 192 | <div·class="paragraph">·</div> |
193 | <a·id="lab | 193 | <a·id="lab643"></a><h2·class="section">CC·|-·prop·ext·+·A·inhabited·->·(A·=·A->A)·->·A·has·fixpoint</h2> |
194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> |
195 | ·We·successively·show·that: | 195 | ·We·successively·show·that: |
196 | <div·class="paragraph">·</div> | 196 | <div·class="paragraph">·</div> |
Offset 243, 15 lines modified | Offset 243, 15 lines modified | ||
243 | <div·class="doc"> | 243 | <div·class="doc"> |
244 | Remark:·<span·class="inlinecode"><span·class="id"·title="var">prop_extensionality</span></span>·can·be·replaced·in·lemma·<span·class="inlinecode"><span·class="id"·title="var">ext_prop_fixpoint</span></span> | 244 | Remark:·<span·class="inlinecode"><span·class="id"·title="var">prop_extensionality</span></span>·can·be·replaced·in·lemma·<span·class="inlinecode"><span·class="id"·title="var">ext_prop_fixpoint</span></span> |
245 | ····by·the·weakest·property·<span·class="inlinecode"><span·class="id"·title="var">provable_prop_extensionality</span></span>. | 245 | ····by·the·weakest·property·<span·class="inlinecode"><span·class="id"·title="var">provable_prop_extensionality</span></span>. |
246 | <div·class="paragraph">·</div> | 246 | <div·class="paragraph">·</div> |
247 | <a·id="lab | 247 | <a·id="lab644"></a><h2·class="section">CC·|-·prop_ext·/\·dep·elim·on·bool·->·proof-irrelevance</h2> |
248 | <div·class="paragraph">·</div> | 248 | <div·class="paragraph">·</div> |
249 | ·<span·class="inlinecode"><span·class="id"·title="var">proof_irrelevance</span></span>·asserts·equality·of·all·proofs·of·a·given·formula· | 249 | ·<span·class="inlinecode"><span·class="id"·title="var">proof_irrelevance</span></span>·asserts·equality·of·all·proofs·of·a·given·formula· |
250 | </div> | 250 | </div> |
251 | <div·class="code"> | 251 | <div·class="code"> |
252 | <span·class="id"·title="keyword">Definition</span>·<a·id="proof_irrelevance"·class="idref"·href="#proof_irrelevance"><span·class="id"·title="definition">proof_irrelevance</span></a>·:=·<span·class="id"·title="keyword">forall</span>·(<a·id="A:42"·class="idref"·href="#A:42"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Prop</span>)·(<a·id="a1:43"·class="idref"·href="#a1:43"><span·class="id"·title="binder">a1</span></a>·<a·id="a2:44"·class="idref"·href="#a2:44"><span·class="id"·title="binder">a2</span></a>:<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#A:42"><span·class="id"·title="variable">A</span></a>),·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#a1:43"><span·class="id"·title="variable">a1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#a2:44"><span·class="id"·title="variable">a2</span></a>.<br/> | 252 | <span·class="id"·title="keyword">Definition</span>·<a·id="proof_irrelevance"·class="idref"·href="#proof_irrelevance"><span·class="id"·title="definition">proof_irrelevance</span></a>·:=·<span·class="id"·title="keyword">forall</span>·(<a·id="A:42"·class="idref"·href="#A:42"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Prop</span>)·(<a·id="a1:43"·class="idref"·href="#a1:43"><span·class="id"·title="binder">a1</span></a>·<a·id="a2:44"·class="idref"·href="#a2:44"><span·class="id"·title="binder">a2</span></a>:<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#A:42"><span·class="id"·title="variable">A</span></a>),·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#a1:43"><span·class="id"·title="variable">a1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#a2:44"><span·class="id"·title="variable">a2</span></a>.<br/> |
Offset 340, 15 lines modified | Offset 340, 15 lines modified | ||
340 | <div·class="doc"> | 340 | <div·class="doc"> |
341 | Remark:·<span·class="inlinecode"><span·class="id"·title="var">prop_extensionality</span></span>·can·be·replaced·in·lemma | 341 | Remark:·<span·class="inlinecode"><span·class="id"·title="var">prop_extensionality</span></span>·can·be·replaced·in·lemma |
342 | ····<span·class="inlinecode"><span·class="id"·title="var">ext_prop_dep_proof_irrel_gen</span></span>·by·the·weakest·property | 342 | ····<span·class="inlinecode"><span·class="id"·title="var">ext_prop_dep_proof_irrel_gen</span></span>·by·the·weakest·property |
343 | ····<span·class="inlinecode"><span·class="id"·title="var">provable_prop_extensionality</span></span>. | 343 | ····<span·class="inlinecode"><span·class="id"·title="var">provable_prop_extensionality</span></span>. |
344 | <div·class="paragraph">·</div> | 344 | <div·class="paragraph">·</div> |
345 | <a·id="lab | 345 | <a·id="lab645"></a><h2·class="section">CIC·|-·prop.·ext.·->·proof-irrelevance</h2> |
346 | <div·class="paragraph">·</div> | 346 | <div·class="paragraph">·</div> |
347 | ·In·the·Calculus·of·Inductive·Constructions,·inductively·defined·booleans | 347 | ·In·the·Calculus·of·Inductive·Constructions,·inductively·defined·booleans |
348 | ····enjoy·dependent·case·analysis,·hence·directly·proof-irrelevance·from | 348 | ····enjoy·dependent·case·analysis,·hence·directly·proof-irrelevance·from |
349 | ····propositional·extensionality. | 349 | ····propositional·extensionality. |
Offset 394, 15 lines modified | Offset 394, 15 lines modified | ||
394 | ··<span·class="inlinecode">[<span·class="id"·title="var">Berardi90</span>]</span>·Stefano·Berardi,·"Type·dependence·and·constructive | 394 | ··<span·class="inlinecode">[<span·class="id"·title="var">Berardi90</span>]</span>·Stefano·Berardi,·"Type·dependence·and·constructive |
395 | ··mathematics",·Ph.·D.·thesis,·Dipartimento·Matematica,·Università·di | 395 | ··mathematics",·Ph.·D.·thesis,·Dipartimento·Matematica,·Università·di |
396 | ··Torino,·1990. | 396 | ··Torino,·1990. |
397 | <div·class="paragraph">·</div> | 397 | <div·class="paragraph">·</div> |
398 | <a·id="lab | 398 | <a·id="lab646"></a><h2·class="section">CC·|-·excluded-middle·+·dep·elim·on·bool·->·proof-irrelevance</h2> |
399 | <div·class="paragraph">·</div> | 399 | <div·class="paragraph">·</div> |
400 | ·This·is·a·proof·in·the·pure·Calculus·of·Construction·that | 400 | ·This·is·a·proof·in·the·pure·Calculus·of·Construction·that |
401 | ····classical·logic·in·<span·class="inlinecode"><span·class="id"·title="keyword">Prop</span></span>·+·dependent·elimination·of·disjunction·entails | 401 | ····classical·logic·in·<span·class="inlinecode"><span·class="id"·title="keyword">Prop</span></span>·+·dependent·elimination·of·disjunction·entails |
402 | ····proof-irrelevance. | 402 | ····proof-irrelevance. |
Offset 566, 15 lines modified | Offset 566, 15 lines modified | ||
566 | <br/> | 566 | <br/> |
567 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#Proof_irrelevance_WEM_CC"><span·class="id"·title="section">Proof_irrelevance_WEM_CC</span></a>.<br/> | 567 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.ClassicalFacts.html#Proof_irrelevance_WEM_CC"><span·class="id"·title="section">Proof_irrelevance_WEM_CC</span></a>.<br/> |
568 | <br/> | 568 | <br/> |
569 | </div> | 569 | </div> |
570 | <div·class="doc"> | 570 | <div·class="doc"> |
571 | <a·id="lab | 571 | <a·id="lab647"></a><h2·class="section">CIC·|-·excluded-middle·->·proof-irrelevance</h2> |
572 | <div·class="paragraph">·</div> | 572 | <div·class="paragraph">·</div> |
573 | <div·class="paragraph">·</div> | 573 | <div·class="paragraph">·</div> |
574 | ····Since,·dependent·elimination·is·derivable·in·the·Calculus·of | 574 | ····Since,·dependent·elimination·is·derivable·in·the·Calculus·of |
Offset 631, 15 lines modified | Offset 631, 15 lines modified | ||
631 | Remark:·in·the·Set-impredicative·CCI,·Hurkens'·paradox·still·holds·with | 631 | Remark:·in·the·Set-impredicative·CCI,·Hurkens'·paradox·still·holds·with |
632 | ····<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·in·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>·and·since·<span·class="inlinecode">~<span·class="id"·title="var">true</span>=<span·class="id"·title="var">false</span></span>·for·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">false</span></span> | 632 | ····<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·in·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>·and·since·<span·class="inlinecode">~<span·class="id"·title="var">true</span>=<span·class="id"·title="var">false</span></span>·for·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">false</span></span> |
633 | ····in·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·from·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>,·we·get·the·inconsistency·of | 633 | ····in·<span·class="inlinecode"><span·class="id"·title="var">bool</span></span>·from·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>,·we·get·the·inconsistency·of |
634 | ····<span·class="inlinecode"><span·class="id"·title="var">em</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·class="id"·title="keyword">Prop</span>,</span>·<span·class="inlinecode">{<span·class="id"·title="var">A</span>}+{~<span·class="id"·title="var">A</span>}</span>·in·the·Set-impredicative·CCI. | 634 | ····<span·class="inlinecode"><span·class="id"·title="var">em</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·class="id"·title="keyword">Prop</span>,</span>·<span·class="inlinecode">{<span·class="id"·title="var">A</span>}+{~<span·class="id"·title="var">A</span>}</span>·in·the·Set-impredicative·CCI. |
635 | <div·class="paragraph">·</div> | 635 | <div·class="paragraph">·</div> |
636 | <a·id="lab | 636 | <a·id="lab648"></a><h1·class="section">Weak·classical·axioms</h1> |
637 | <div·class="paragraph">·</div> | 637 | <div·class="paragraph">·</div> |
638 | ·We·show·the·following·increasing·in·the·strength·of·axioms: | 638 | ·We·show·the·following·increasing·in·the·strength·of·axioms: |
639 | <ul·class="doclist"> | 639 | <ul·class="doclist"> |
640 | <li>·weak·excluded-middle·and·classical·De·Morgan's·law | 640 | <li>·weak·excluded-middle·and·classical·De·Morgan's·law |
Offset 653, 15 lines modified | Offset 653, 15 lines modified | ||
653 | <li>·excluded-middle | 653 | <li>·excluded-middle |
654 | </li> | 654 | </li> |
655 | </ul> | 655 | </ul> |
656 | <div·class="paragraph">·</div> | 656 | <div·class="paragraph">·</div> |
657 | <a·id="lab | 657 | <a·id="lab649"></a><h2·class="section">Weak·excluded-middle</h2> |
658 | <div·class="paragraph">·</div> | 658 | <div·class="paragraph">·</div> |
Max diff block lines reached; 6087/15012 bytes (40.55%) of diff not shown. |
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="lab629"></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 200, 15 lines modified | Offset 200, 15 lines modified | ||
200 | <br/> | 200 | <br/> |
201 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Diaconescu.html#PredExt_RelChoice_imp_EM"><span·class="id"·title="section">PredExt_RelChoice_imp_EM</span></a>.<br/> | 201 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Diaconescu.html#PredExt_RelChoice_imp_EM"><span·class="id"·title="section">PredExt_RelChoice_imp_EM</span></a>.<br/> |
202 | <br/> | 202 | <br/> |
203 | </div> | 203 | </div> |
204 | <div·class="doc"> | 204 | <div·class="doc"> |
205 | <a·id="lab | 205 | <a·id="lab630"></a><h1·class="section">Proof-Irrel.·+·Rel.·Axiom·of·Choice·->·Excl.-Middle·for·Equality</h1> |
206 | <div·class="paragraph">·</div> | 206 | <div·class="paragraph">·</div> |
207 | ·This·is·an·adaptation·of·Diaconescu's·theorem,·exploiting·the | 207 | ·This·is·an·adaptation·of·Diaconescu's·theorem,·exploiting·the |
208 | ····form·of·extensionality·provided·by·proof-irrelevance· | 208 | ····form·of·extensionality·provided·by·proof-irrelevance· |
209 | </div> | 209 | </div> |
210 | <div·class="code"> | 210 | <div·class="code"> |
Offset 307, 15 lines modified | Offset 307, 15 lines modified | ||
307 | <br/> | 307 | <br/> |
308 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Diaconescu.html#ProofIrrel_RelChoice_imp_EqEM"><span·class="id"·title="section">ProofIrrel_RelChoice_imp_EqEM</span></a>.<br/> | 308 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Diaconescu.html#ProofIrrel_RelChoice_imp_EqEM"><span·class="id"·title="section">ProofIrrel_RelChoice_imp_EqEM</span></a>.<br/> |
309 | <br/> | 309 | <br/> |
310 | </div> | 310 | </div> |
311 | <div·class="doc"> | 311 | <div·class="doc"> |
312 | <a·id="lab | 312 | <a·id="lab631"></a><h1·class="section">Extensional·Hilbert's·epsilon·description·operator·->·Excluded-Middle</h1> |
313 | <div·class="paragraph">·</div> | 313 | <div·class="paragraph">·</div> |
314 | ·Proof·sketch·from·Bell·<span·class="inlinecode">[<span·class="id"·title="var">Bell93</span>]</span>·(with·thanks·to·P.·Castéran)· | 314 | ·Proof·sketch·from·Bell·<span·class="inlinecode">[<span·class="id"·title="var">Bell93</span>]</span>·(with·thanks·to·P.·Castéran)· |
315 | </div> | 315 | </div> |
316 | <div·class="code"> | 316 | <div·class="code"> |
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="lab553"></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 280, 15 lines modified | Offset 280, 15 lines modified | ||
280 | #[<span·class="id"·title="var">global</span>]<br/> | 280 | #[<span·class="id"·title="var">global</span>]<br/> |
281 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">eq_dep_sym</span>:·<span·class="id"·title="var">core</span>.<br/> | 281 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">eq_dep_sym</span>:·<span·class="id"·title="var">core</span>.<br/> |
282 | <br/> | 282 | <br/> |
283 | </div> | 283 | </div> |
284 | <div·class="doc"> | 284 | <div·class="doc"> |
285 | <a·id="lab | 285 | <a·id="lab554"></a><h1·class="section">Eq_rect_eq·<->·Eq_dep_eq·<->·UIP·<->·UIP_refl·<->·K</h1> |
286 | </div> | 286 | </div> |
287 | <div·class="code"> | 287 | <div·class="code"> |
288 | <br/> | 288 | <br/> |
289 | <span·class="id"·title="keyword">Section</span>·<a·id="Equivalences"·class="idref"·href="#Equivalences"><span·class="id"·title="section">Equivalences</span></a>.<br/> | 289 | <span·class="id"·title="keyword">Section</span>·<a·id="Equivalences"·class="idref"·href="#Equivalences"><span·class="id"·title="section">Equivalences</span></a>.<br/> |
Offset 506, 15 lines modified | Offset 506, 15 lines modified | ||
506 | <span·class="id"·title="keyword">Notation</span>·<a·id="Inj_dep_pairT"·class="idref"·href="#Inj_dep_pairT"><span·class="id"·title="abbreviation">Inj_dep_pairT</span></a>·:=·<a·class="idref"·href="Coq.Logic.EqdepFacts.html#Inj_dep_pair"><span·class="id"·title="definition">Inj_dep_pair</span></a>.<br/> | 506 | <span·class="id"·title="keyword">Notation</span>·<a·id="Inj_dep_pairT"·class="idref"·href="#Inj_dep_pairT"><span·class="id"·title="abbreviation">Inj_dep_pairT</span></a>·:=·<a·class="idref"·href="Coq.Logic.EqdepFacts.html#Inj_dep_pair"><span·class="id"·title="definition">Inj_dep_pair</span></a>.<br/> |
507 | <span·class="id"·title="keyword">Notation</span>·<a·id="eq_dep_eq__inj_pairT2"·class="idref"·href="#eq_dep_eq__inj_pairT2"><span·class="id"·title="abbreviation">eq_dep_eq__inj_pairT2</span></a>·:=·<a·class="idref"·href="Coq.Logic.EqdepFacts.html#eq_dep_eq__inj_pair2"><span·class="id"·title="lemma">eq_dep_eq__inj_pair2</span></a>.<br/> | 507 | <span·class="id"·title="keyword">Notation</span>·<a·id="eq_dep_eq__inj_pairT2"·class="idref"·href="#eq_dep_eq__inj_pairT2"><span·class="id"·title="abbreviation">eq_dep_eq__inj_pairT2</span></a>·:=·<a·class="idref"·href="Coq.Logic.EqdepFacts.html#eq_dep_eq__inj_pair2"><span·class="id"·title="lemma">eq_dep_eq__inj_pair2</span></a>.<br/> |
508 | <br/> | 508 | <br/> |
509 | </div> | 509 | </div> |
510 | <div·class="doc"> | 510 | <div·class="doc"> |
511 | <a·id="lab | 511 | <a·id="lab555"></a><h1·class="section">Definition·of·the·functor·that·builds·properties·of·dependent·equalities·assuming·axiom·eq_rect_eq</h1> |
512 | </div> | 512 | </div> |
513 | <div·class="code"> | 513 | <div·class="code"> |
514 | <br/> | 514 | <br/> |
515 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="EqdepElimination"·class="idref"·href="#EqdepElimination"><span·class="id"·title="module">EqdepElimination</span></a>.<br/> | 515 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="EqdepElimination"·class="idref"·href="#EqdepElimination"><span·class="id"·title="module">EqdepElimination</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="lab638"></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 245, 15 lines modified | Offset 245, 15 lines modified | ||
245 | <br/> | 245 | <br/> |
246 | <span·class="id"·title="keyword">Unset·Implicit·Arguments</span>.<br/> | 246 | <span·class="id"·title="keyword">Unset·Implicit·Arguments</span>.<br/> |
247 | <br/> | 247 | <br/> |
248 | </div> | 248 | </div> |
249 | <div·class="doc"> | 249 | <div·class="doc"> |
250 | <a·id="lab | 250 | <a·id="lab639"></a><h2·class="section">Definition·of·the·functor·that·builds·properties·of·dependent·equalities·on·decidable·sets·in·Type</h2> |
251 | <div·class="paragraph">·</div> | 251 | <div·class="paragraph">·</div> |
252 | ·The·signature·of·decidable·sets·in·<span·class="inlinecode"><span·class="id"·title="keyword">Type</span></span>· | 252 | ·The·signature·of·decidable·sets·in·<span·class="inlinecode"><span·class="id"·title="keyword">Type</span></span>· |
253 | </div> | 253 | </div> |
254 | <div·class="code"> | 254 | <div·class="code"> |
Offset 369, 15 lines modified | Offset 369, 15 lines modified | ||
369 | <br/> | 369 | <br/> |
370 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Eqdep_dec.html#DecidableEqDep"><span·class="id"·title="module">DecidableEqDep</span></a>.<br/> | 370 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Logic.Eqdep_dec.html#DecidableEqDep"><span·class="id"·title="module">DecidableEqDep</span></a>.<br/> |
371 | <br/> | 371 | <br/> |
372 | </div> | 372 | </div> |
373 | <div·class="doc"> | 373 | <div·class="doc"> |
374 | <a·id="lab | 374 | <a·id="lab640"></a><h2·class="section">Definition·of·the·functor·that·builds·properties·of·dependent·equalities·on·decidable·sets·in·Set</h2> |
375 | <div·class="paragraph">·</div> | 375 | <div·class="paragraph">·</div> |
376 | ·The·signature·of·decidable·sets·in·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>· | 376 | ·The·signature·of·decidable·sets·in·<span·class="inlinecode"><span·class="id"·title="keyword">Set</span></span>· |
377 | </div> | 377 | </div> |
378 | <div·class="code"> | 378 | <div·class="code"> |
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="lab624"></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 193, 27 lines modified | Offset 193, 27 lines modified | ||
193 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="BijectivityBijectiveComp"·class="idref"·href="#BijectivityBijectiveComp"><span·class="id"·title="abbreviation">BijectivityBijectiveComp</span></a>·:=·(<span·class="id"·title="keyword">forall</span>·<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a>·<a·id="B:36"·class="idref"·href="#B:36"><span·class="id"·title="binder">B</span></a>·<a·id="C:37"·class="idref"·href="#C:37"><span·class="id"·title="binder">C</span></a>·(<a·id="f:38"·class="idref"·href="#f:38"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#A:35"><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.ExtensionalityFacts.html#B:36"><span·class="id"·title="variable">B</span></a>)·<a·id="g:39"·class="idref"·href="#g:39"><span·class="id"·title="binder">g</span></a>,<br/> | 193 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="BijectivityBijectiveComp"·class="idref"·href="#BijectivityBijectiveComp"><span·class="id"·title="abbreviation">BijectivityBijectiveComp</span></a>·:=·(<span·class="id"·title="keyword">forall</span>·<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a>·<a·id="B:36"·class="idref"·href="#B:36"><span·class="id"·title="binder">B</span></a>·<a·id="C:37"·class="idref"·href="#C:37"><span·class="id"·title="binder">C</span></a>·(<a·id="f:38"·class="idref"·href="#f:38"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#A:35"><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.ExtensionalityFacts.html#B:36"><span·class="id"·title="variable">B</span></a>)·<a·id="g:39"·class="idref"·href="#g:39"><span·class="id"·title="binder">g</span></a>,<br/> |
194 | <a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#is_inverse"><span·class="id"·title="definition">is_inverse</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#f:38"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#g:39"><span·class="id"·title="variable">g</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.ExtensionalityFacts.html#is_inverse"><span·class="id"·title="definition">is_inverse</span></a>·(<span·class="id"·title="var">A</span>:=<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#B:36"><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.Logic.ExtensionalityFacts.html#C:37"><span·class="id"·title="variable">C</span></a>)·(<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#action"><span·class="id"·title="definition">action</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#f:38"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#action"><span·class="id"·title="definition">action</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#g:39"><span·class="id"·title="variable">g</span></a>)).<br/> | 194 | <a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#is_inverse"><span·class="id"·title="definition">is_inverse</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#f:38"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#g:39"><span·class="id"·title="variable">g</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.ExtensionalityFacts.html#is_inverse"><span·class="id"·title="definition">is_inverse</span></a>·(<span·class="id"·title="var">A</span>:=<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#B:36"><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.Logic.ExtensionalityFacts.html#C:37"><span·class="id"·title="variable">C</span></a>)·(<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#action"><span·class="id"·title="definition">action</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#f:38"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#action"><span·class="id"·title="definition">action</span></a>·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#g:39"><span·class="id"·title="variable">g</span></a>)).<br/> |
195 | <br/> | 195 | <br/> |
196 | </div> | 196 | </div> |
197 | <div·class="doc"> | 197 | <div·class="doc"> |
198 | <a·id="lab | 198 | <a·id="lab625"></a><h1·class="section">Functional·extensionality·<->·Equality·of·projections·from·diagonal</h1> |
199 | </div> | 199 | </div> |
200 | <div·class="code"> | 200 | <div·class="code"> |
201 | <br/> | 201 | <br/> |
202 | <span·class="id"·title="keyword">Theorem</span>·<a·id="FunctExt_iff_EqDeltaProjs"·class="idref"·href="#FunctExt_iff_EqDeltaProjs"><span·class="id"·title="lemma">FunctExt_iff_EqDeltaProjs</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</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.ExtensionalityFacts.html#EqDeltaProjs"><span·class="id"·title="abbreviation">EqDeltaProjs</span></a>.<br/> | 202 | <span·class="id"·title="keyword">Theorem</span>·<a·id="FunctExt_iff_EqDeltaProjs"·class="idref"·href="#FunctExt_iff_EqDeltaProjs"><span·class="id"·title="lemma">FunctExt_iff_EqDeltaProjs</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</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.ExtensionalityFacts.html#EqDeltaProjs"><span·class="id"·title="abbreviation">EqDeltaProjs</span></a>.<br/> |
203 | <br/> | 203 | <br/> |
204 | </div> | 204 | </div> |
205 | <div·class="doc"> | 205 | <div·class="doc"> |
206 | <a·id="lab | 206 | <a·id="lab626"></a><h1·class="section">Functional·extensionality·<->·Unicity·of·bijection·inverse</h1> |
207 | </div> | 207 | </div> |
208 | <div·class="code"> | 208 | <div·class="code"> |
209 | <br/> | 209 | <br/> |
210 | <span·class="id"·title="keyword">Lemma</span>·<a·id="FunctExt_UniqInverse"·class="idref"·href="#FunctExt_UniqInverse"><span·class="id"·title="lemma">FunctExt_UniqInverse</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</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.ExtensionalityFacts.html#UniqueInverse"><span·class="id"·title="abbreviation">UniqueInverse</span></a>.<br/> | 210 | <span·class="id"·title="keyword">Lemma</span>·<a·id="FunctExt_UniqInverse"·class="idref"·href="#FunctExt_UniqInverse"><span·class="id"·title="lemma">FunctExt_UniqInverse</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</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.ExtensionalityFacts.html#UniqueInverse"><span·class="id"·title="abbreviation">UniqueInverse</span></a>.<br/> |
Offset 223, 15 lines modified | Offset 223, 15 lines modified | ||
223 | <br/> | 223 | <br/> |
224 | <span·class="id"·title="keyword">Theorem</span>·<a·id="FunctExt_iff_UniqInverse"·class="idref"·href="#FunctExt_iff_UniqInverse"><span·class="id"·title="lemma">FunctExt_iff_UniqInverse</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</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.ExtensionalityFacts.html#UniqueInverse"><span·class="id"·title="abbreviation">UniqueInverse</span></a>.<br/> | 224 | <span·class="id"·title="keyword">Theorem</span>·<a·id="FunctExt_iff_UniqInverse"·class="idref"·href="#FunctExt_iff_UniqInverse"><span·class="id"·title="lemma">FunctExt_iff_UniqInverse</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</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.ExtensionalityFacts.html#UniqueInverse"><span·class="id"·title="abbreviation">UniqueInverse</span></a>.<br/> |
225 | <br/> | 225 | <br/> |
226 | </div> | 226 | </div> |
227 | <div·class="doc"> | 227 | <div·class="doc"> |
228 | <a·id="lab | 228 | <a·id="lab627"></a><h1·class="section">Functional·extensionality·<->·Bijectivity·of·bijective·composition</h1> |
229 | </div> | 229 | </div> |
230 | <div·class="code"> | 230 | <div·class="code"> |
231 | <br/> | 231 | <br/> |
232 | <span·class="id"·title="keyword">Lemma</span>·<a·id="FunctExt_BijComp"·class="idref"·href="#FunctExt_BijComp"><span·class="id"·title="lemma">FunctExt_BijComp</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</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.ExtensionalityFacts.html#BijectivityBijectiveComp"><span·class="id"·title="abbreviation">BijectivityBijectiveComp</span></a>.<br/> | 232 | <span·class="id"·title="keyword">Lemma</span>·<a·id="FunctExt_BijComp"·class="idref"·href="#FunctExt_BijComp"><span·class="id"·title="lemma">FunctExt_BijComp</span></a>·:·<a·class="idref"·href="Coq.Logic.ExtensionalityFacts.html#FunctionalExtensionality"><span·class="id"·title="abbreviation">FunctionalExtensionality</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.ExtensionalityFacts.html#BijectivityBijectiveComp"><span·class="id"·title="abbreviation">BijectivityBijectiveComp</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="lab628"></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="lab556"></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 199, 35 lines modified | Offset 199, 35 lines modified | ||
199 | <br/> | 199 | <br/> |
200 | <span·class="id"·title="keyword">Section</span>·<a·id="Generic.Paradox"·class="idref"·href="#Generic.Paradox"><span·class="id"·title="section">Paradox</span></a>.<br/> | 200 | <span·class="id"·title="keyword">Section</span>·<a·id="Generic.Paradox"·class="idref"·href="#Generic.Paradox"><span·class="id"·title="section">Paradox</span></a>.<br/> |
201 | <br/> | 201 | <br/> |
202 | </div> | 202 | </div> |
203 | <div·class="doc"> | 203 | <div·class="doc"> |
204 | <a·id="lab | 204 | <a·id="lab557"></a><h2·class="section">Axiomatisation·of·impredicative·universes·in·a·Martin-Löf·style</h2> |
205 | <div·class="paragraph">·</div> | 205 | <div·class="paragraph">·</div> |
206 | ·System·U-·has·two·impredicative·universes.·In·the·proof·of·the | 206 | ·System·U-·has·two·impredicative·universes.·In·the·proof·of·the |
207 | ····paradox·they·are·slightly·asymmetric·(in·particular·the·reduction | 207 | ····paradox·they·are·slightly·asymmetric·(in·particular·the·reduction |
208 | ····rules·of·the·small·universe·are·not·needed).··Therefore,·the | 208 | ····rules·of·the·small·universe·are·not·needed).··Therefore,·the |
209 | ····axioms·are·duplicated·allowing·for·a·weaker·requirement·than·the | 209 | ····axioms·are·duplicated·allowing·for·a·weaker·requirement·than·the |
210 | ····actual·system·U-.· | 210 | ····actual·system·U-.· |
211 | <div·class="paragraph">·</div> | 211 | <div·class="paragraph">·</div> |
212 | <a·id="lab | 212 | <a·id="lab558"></a><h3·class="section">Large·universe</h3> |
213 | </div> | 213 | </div> |
214 | <div·class="code"> | 214 | <div·class="code"> |
215 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.U1"·class="idref"·href="#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 215 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.U1"·class="idref"·href="#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
216 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.El1"·class="idref"·href="#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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">Type</span>.<br/> | 216 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.El1"·class="idref"·href="#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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">Type</span>.<br/> |
217 | </div> | 217 | </div> |
218 | <div·class="doc"> | 218 | <div·class="doc"> |
219 | <a·id="lab | 219 | <a·id="lab559"></a><h4·class="section">Closure·by·small·product</h4> |
220 | </div> | 220 | </div> |
221 | <div·class="code"> | 221 | <div·class="code"> |
222 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.Forall1"·class="idref"·href="#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:5"·class="idref"·href="#u:5"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:5"><span·class="id"·title="variable">u</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.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> | 222 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.Forall1"·class="idref"·href="#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:5"·class="idref"·href="#u:5"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:5"><span·class="id"·title="variable">u</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.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> |
223 | <span·class="id"·title="keyword">Notation</span>·<a·id="93c66a444a4bbdfa4bfdf9ff6835b3ee"·class="idref"·href="#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">"</span></a>'∀₁'·x·:·A·,·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">B</span>)).<br/> | 223 | <span·class="id"·title="keyword">Notation</span>·<a·id="93c66a444a4bbdfa4bfdf9ff6835b3ee"·class="idref"·href="#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">"</span></a>'∀₁'·x·:·A·,·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">B</span>)).<br/> |
224 | <span·class="id"·title="keyword">Notation</span>·<a·id="694e2d3c08fe40b872fc5ba207ec04f2"·class="idref"·href="#694e2d3c08fe40b872fc5ba207ec04f2"><span·class="id"·title="notation">"</span></a>A·'⟶₁'·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">B</span>)).<br/> | 224 | <span·class="id"·title="keyword">Notation</span>·<a·id="694e2d3c08fe40b872fc5ba207ec04f2"·class="idref"·href="#694e2d3c08fe40b872fc5ba207ec04f2"><span·class="id"·title="notation">"</span></a>A·'⟶₁'·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">B</span>)).<br/> |
225 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lam1"·class="idref"·href="#Generic.Paradox.lam1"><span·class="id"·title="variable">lam1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:9"·class="idref"·href="#u:9"><span·class="id"·title="binder">u</span></a>·<a·id="B:10"·class="idref"·href="#B:10"><span·class="id"·title="binder">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">forall</span>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:9"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:10"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:11"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">₁</span></a>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#u:9"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:10"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:12"><span·class="id"·title="variable">x</span></a>).<br/> | 225 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lam1"·class="idref"·href="#Generic.Paradox.lam1"><span·class="id"·title="variable">lam1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:9"·class="idref"·href="#u:9"><span·class="id"·title="binder">u</span></a>·<a·id="B:10"·class="idref"·href="#B:10"><span·class="id"·title="binder">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">forall</span>·<a·id="x:11"·class="idref"·href="#x:11"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:9"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:10"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:11"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">₁</span></a>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#u:9"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#93c66a444a4bbdfa4bfdf9ff6835b3ee"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:10"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:12"><span·class="id"·title="variable">x</span></a>).<br/> |
Offset 235, 15 lines modified | Offset 235, 15 lines modified | ||
235 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.app1"·class="idref"·href="#Generic.Paradox.app1"><span·class="id"·title="variable">app1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:16"·class="idref"·href="#u:16"><span·class="id"·title="binder">u</span></a>·<a·id="B:17"·class="idref"·href="#B:17"><span·class="id"·title="binder">B</span></a>·(<a·id="f:18"·class="idref"·href="#f:18"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:16"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:17"><span·class="id"·title="variable">B</span></a>))·(<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:16"><span·class="id"·title="variable">u</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:17"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:19"><span·class="id"·title="variable">x</span></a>).<br/> | 235 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.app1"·class="idref"·href="#Generic.Paradox.app1"><span·class="id"·title="variable">app1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:16"·class="idref"·href="#u:16"><span·class="id"·title="binder">u</span></a>·<a·id="B:17"·class="idref"·href="#B:17"><span·class="id"·title="binder">B</span></a>·(<a·id="f:18"·class="idref"·href="#f:18"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall1"><span·class="id"·title="variable">Forall1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:16"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:17"><span·class="id"·title="variable">B</span></a>))·(<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:16"><span·class="id"·title="variable">u</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:17"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:19"><span·class="id"·title="variable">x</span></a>).<br/> |
236 | <span·class="id"·title="keyword">Notation</span>·<a·id="024a937772caef38e05651e49f018fc6"·class="idref"·href="#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">"</span></a>f·'·₁'·x"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.app1"><span·class="id"·title="variable">app1</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>).<br/> | 236 | <span·class="id"·title="keyword">Notation</span>·<a·id="024a937772caef38e05651e49f018fc6"·class="idref"·href="#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">"</span></a>f·'·₁'·x"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.app1"><span·class="id"·title="variable">app1</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>).<br/> |
237 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.beta1"·class="idref"·href="#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:22"·class="idref"·href="#u:22"><span·class="id"·title="binder">u</span></a>·<a·id="B:23"·class="idref"·href="#B:23"><span·class="id"·title="binder">B</span></a>·(<a·id="f:25"·class="idref"·href="#f:25"><span·class="id"·title="binder">f</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="x:24"·class="idref"·href="#x:24"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:22"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:23"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:24"><span·class="id"·title="variable">x</span></a>))·<a·id="x:26"·class="idref"·href="#x:26"><span·class="id"·title="binder">x</span></a>,<br/> | 237 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.beta1"·class="idref"·href="#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:22"·class="idref"·href="#u:22"><span·class="id"·title="binder">u</span></a>·<a·id="B:23"·class="idref"·href="#B:23"><span·class="id"·title="binder">B</span></a>·(<a·id="f:25"·class="idref"·href="#f:25"><span·class="id"·title="binder">f</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="x:24"·class="idref"·href="#x:24"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:22"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:23"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:24"><span·class="id"·title="variable">x</span></a>))·<a·id="x:26"·class="idref"·href="#x:26"><span·class="id"·title="binder">x</span></a>,<br/> |
238 | <a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#1470a9e924e895d0953e36fa53fcb88a"><span·class="id"·title="notation">λ₁</span></a>·<a·id="y:27"·class="idref"·href="#y:27"><span·class="id"·title="binder">y</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#1470a9e924e895d0953e36fa53fcb88a"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:25"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#y:27"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">·</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">₁</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:26"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:25"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:26"><span·class="id"·title="variable">x</span></a>.<br/> | 238 | <a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#1470a9e924e895d0953e36fa53fcb88a"><span·class="id"·title="notation">λ₁</span></a>·<a·id="y:27"·class="idref"·href="#y:27"><span·class="id"·title="binder">y</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#1470a9e924e895d0953e36fa53fcb88a"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:25"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#y:27"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">·</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#024a937772caef38e05651e49f018fc6"><span·class="id"·title="notation">₁</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:26"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:25"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:26"><span·class="id"·title="variable">x</span></a>.<br/> |
239 | </div> | 239 | </div> |
240 | <div·class="doc"> | 240 | <div·class="doc"> |
241 | <a·id="lab | 241 | <a·id="lab560"></a><h4·class="section">Closure·by·large·products</h4> |
242 | ·<span·class="inlinecode"><span·class="id"·title="var">U1</span></span>·only·needs·to·quantify·over·itself.· | 242 | ·<span·class="inlinecode"><span·class="id"·title="var">U1</span></span>·only·needs·to·quantify·over·itself.· |
243 | </div> | 243 | </div> |
244 | <div·class="code"> | 244 | <div·class="code"> |
245 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.ForallU1"·class="idref"·href="#Generic.Paradox.ForallU1"><span·class="id"·title="variable">ForallU1</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.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> | 245 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.ForallU1"·class="idref"·href="#Generic.Paradox.ForallU1"><span·class="id"·title="variable">ForallU1</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.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> |
246 | <span·class="id"·title="keyword">Notation</span>·<a·id="4dd2340270f7207a425b5b7588908785"·class="idref"·href="#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">"</span></a>'∀₂'·A·,·F"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.ForallU1"><span·class="id"·title="variable">ForallU1</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="A:32"·class="idref"·href="#A:32"><span·class="id"·title="binder">A</span></a>·=>·<span·class="id"·title="var">F</span>)).<br/> | 246 | <span·class="id"·title="keyword">Notation</span>·<a·id="4dd2340270f7207a425b5b7588908785"·class="idref"·href="#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">"</span></a>'∀₂'·A·,·F"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.ForallU1"><span·class="id"·title="variable">ForallU1</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="A:32"·class="idref"·href="#A:32"><span·class="id"·title="binder">A</span></a>·=>·<span·class="id"·title="var">F</span>)).<br/> |
247 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lamU1"·class="idref"·href="#Generic.Paradox.lamU1"><span·class="id"·title="variable">lamU1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="F:33"·class="idref"·href="#F:33"><span·class="id"·title="binder">F</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">forall</span>·<a·id="A:34"·class="idref"·href="#A:34"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:33"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:34"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">₂</span></a>·<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#F:33"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:35"><span·class="id"·title="variable">A</span></a>).<br/> | 247 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lamU1"·class="idref"·href="#Generic.Paradox.lamU1"><span·class="id"·title="variable">lamU1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="F:33"·class="idref"·href="#F:33"><span·class="id"·title="binder">F</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">forall</span>·<a·id="A:34"·class="idref"·href="#A:34"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:33"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:34"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">₂</span></a>·<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#4dd2340270f7207a425b5b7588908785"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#F:33"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:35"><span·class="id"·title="variable">A</span></a>).<br/> |
248 | <span·class="id"·title="keyword">Notation</span>·<a·id="89360f8d6d2f11f4115655ddeef6a69a"·class="idref"·href="#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">"</span></a>'λ₂'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lamU1"><span·class="id"·title="variable">lamU1</span></a>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> | 248 | <span·class="id"·title="keyword">Notation</span>·<a·id="89360f8d6d2f11f4115655ddeef6a69a"·class="idref"·href="#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">"</span></a>'λ₂'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lamU1"><span·class="id"·title="variable">lamU1</span></a>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> |
Offset 252, 54 lines modified | Offset 252, 54 lines modified | ||
252 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.betaU1"·class="idref"·href="#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="F:45"·class="idref"·href="#F:45"><span·class="id"·title="binder">F</span></a>·(<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="A:46"·class="idref"·href="#A:46"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:45"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:46"><span·class="id"·title="variable">A</span></a>))·<a·id="A:48"·class="idref"·href="#A:48"><span·class="id"·title="binder">A</span></a>,<br/> | 252 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.betaU1"·class="idref"·href="#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="F:45"·class="idref"·href="#F:45"><span·class="id"·title="binder">F</span></a>·(<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="A:46"·class="idref"·href="#A:46"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:45"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:46"><span·class="id"·title="variable">A</span></a>))·<a·id="A:48"·class="idref"·href="#A:48"><span·class="id"·title="binder">A</span></a>,<br/> |
253 | <a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">λ₂</span></a>·<a·id="x:49"·class="idref"·href="#x:49"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:49"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">·</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">₁</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">[</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:48"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><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.Logic.Hurkens.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:48"><span·class="id"·title="variable">A</span></a>.<br/> | 253 | <a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">λ₂</span></a>·<a·id="x:49"·class="idref"·href="#x:49"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#89360f8d6d2f11f4115655ddeef6a69a"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:49"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">·</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">₁</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><span·class="id"·title="notation">[</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:48"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#9566680d933d0b947152b325a204e365"><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.Logic.Hurkens.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:48"><span·class="id"·title="variable">A</span></a>.<br/> |
254 | <br/> | 254 | <br/> |
255 | </div> | 255 | </div> |
256 | <div·class="doc"> | 256 | <div·class="doc"> |
257 | <a·id="lab | 257 | <a·id="lab561"></a><h3·class="section">Small·universe</h3> |
258 | ·The·small·universe·is·an·element·of·the·large·one.· | 258 | ·The·small·universe·is·an·element·of·the·large·one.· |
259 | </div> | 259 | </div> |
260 | <div·class="code"> | 260 | <div·class="code"> |
261 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.u0"·class="idref"·href="#Generic.Paradox.u0"><span·class="id"·title="variable">u0</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> | 261 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.u0"·class="idref"·href="#Generic.Paradox.u0"><span·class="id"·title="variable">u0</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</span></a>.<br/> |
262 | <span·class="id"·title="keyword">Notation</span>·<a·id="Generic.U0"·class="idref"·href="#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.u0"><span·class="id"·title="variable">u0</span></a>).<br/> | 262 | <span·class="id"·title="keyword">Notation</span>·<a·id="Generic.U0"·class="idref"·href="#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.u0"><span·class="id"·title="variable">u0</span></a>).<br/> |
263 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.El0"·class="idref"·href="#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</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">Type</span>.<br/> | 263 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.El0"·class="idref"·href="#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·:·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</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">Type</span>.<br/> |
264 | </div> | 264 | </div> |
265 | <div·class="doc"> | 265 | <div·class="doc"> |
266 | <a·id="lab | 266 | <a·id="lab562"></a><h4·class="section">Closure·by·small·product</h4> |
267 | ·<span·class="inlinecode"><span·class="id"·title="var">U0</span></span>·does·not·need·reduction·rules· | 267 | ·<span·class="inlinecode"><span·class="id"·title="var">U0</span></span>·does·not·need·reduction·rules· |
268 | </div> | 268 | </div> |
269 | <div·class="code"> | 269 | <div·class="code"> |
270 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.Forall0"·class="idref"·href="#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:56"·class="idref"·href="#u:56"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</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.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:56"><span·class="id"·title="variable">u</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.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</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.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>.<br/> | 270 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.Forall0"·class="idref"·href="#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:56"·class="idref"·href="#u:56"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</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.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:56"><span·class="id"·title="variable">u</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.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</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.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>.<br/> |
271 | <span·class="id"·title="keyword">Notation</span>·<a·id="d964ae79727e66600c1d24238feb6d82"·class="idref"·href="#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">"</span></a>'∀₀'·x·:·A·,·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:59"·class="idref"·href="#x:59"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">B</span>)).<br/> | 271 | <span·class="id"·title="keyword">Notation</span>·<a·id="d964ae79727e66600c1d24238feb6d82"·class="idref"·href="#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">"</span></a>'∀₀'·x·:·A·,·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:59"·class="idref"·href="#x:59"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">B</span>)).<br/> |
272 | <span·class="id"·title="keyword">Notation</span>·<a·id="b64cd88d30682836951bfea4873c9d01"·class="idref"·href="#b64cd88d30682836951bfea4873c9d01"><span·class="id"·title="notation">"</span></a>A·'⟶₀'·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">B</span>)).<br/> | 272 | <span·class="id"·title="keyword">Notation</span>·<a·id="b64cd88d30682836951bfea4873c9d01"·class="idref"·href="#b64cd88d30682836951bfea4873c9d01"><span·class="id"·title="notation">"</span></a>A·'⟶₀'·B"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<span·class="id"·title="var">A</span>·(<span·class="id"·title="keyword">fun</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">B</span>)).<br/> |
273 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lam0"·class="idref"·href="#Generic.Paradox.lam0"><span·class="id"·title="variable">lam0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:60"·class="idref"·href="#u:60"><span·class="id"·title="binder">u</span></a>·<a·id="B:61"·class="idref"·href="#B:61"><span·class="id"·title="binder">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">forall</span>·<a·id="x:62"·class="idref"·href="#x:62"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:60"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:61"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:62"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">₀</span></a>·<a·id="x:63"·class="idref"·href="#x:63"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#u:60"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:61"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:63"><span·class="id"·title="variable">x</span></a>).<br/> | 273 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lam0"·class="idref"·href="#Generic.Paradox.lam0"><span·class="id"·title="variable">lam0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:60"·class="idref"·href="#u:60"><span·class="id"·title="binder">u</span></a>·<a·id="B:61"·class="idref"·href="#B:61"><span·class="id"·title="binder">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">forall</span>·<a·id="x:62"·class="idref"·href="#x:62"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:60"><span·class="id"·title="variable">u</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:61"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:62"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">₀</span></a>·<a·id="x:63"·class="idref"·href="#x:63"><span·class="id"·title="binder">x</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#u:60"><span·class="id"·title="variable">u</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#d964ae79727e66600c1d24238feb6d82"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:61"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:63"><span·class="id"·title="variable">x</span></a>).<br/> |
274 | <span·class="id"·title="keyword">Notation</span>·<a·id="db4829df88a21b9cf21483c8351c115a"·class="idref"·href="#db4829df88a21b9cf21483c8351c115a"><span·class="id"·title="notation">"</span></a>'λ₀'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lam0"><span·class="id"·title="variable">lam0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:66"·class="idref"·href="#x:66"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> | 274 | <span·class="id"·title="keyword">Notation</span>·<a·id="db4829df88a21b9cf21483c8351c115a"·class="idref"·href="#db4829df88a21b9cf21483c8351c115a"><span·class="id"·title="notation">"</span></a>'λ₀'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lam0"><span·class="id"·title="variable">lam0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:66"·class="idref"·href="#x:66"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> |
275 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.app0"·class="idref"·href="#Generic.Paradox.app0"><span·class="id"·title="variable">app0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:67"·class="idref"·href="#u:67"><span·class="id"·title="binder">u</span></a>·<a·id="B:68"·class="idref"·href="#B:68"><span·class="id"·title="binder">B</span></a>·(<a·id="f:69"·class="idref"·href="#f:69"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:67"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:68"><span·class="id"·title="variable">B</span></a>))·(<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:67"><span·class="id"·title="variable">u</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:68"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:70"><span·class="id"·title="variable">x</span></a>).<br/> | 275 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.app0"·class="idref"·href="#Generic.Paradox.app0"><span·class="id"·title="variable">app0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:67"·class="idref"·href="#u:67"><span·class="id"·title="binder">u</span></a>·<a·id="B:68"·class="idref"·href="#B:68"><span·class="id"·title="binder">B</span></a>·(<a·id="f:69"·class="idref"·href="#f:69"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.Forall0"><span·class="id"·title="variable">Forall0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:67"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#B:68"><span·class="id"·title="variable">B</span></a>))·(<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:67"><span·class="id"·title="variable">u</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#B:68"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#x:70"><span·class="id"·title="variable">x</span></a>).<br/> |
276 | <span·class="id"·title="keyword">Notation</span>·<a·id="abb609e223b832d7163df6b07f35bba1"·class="idref"·href="#abb609e223b832d7163df6b07f35bba1"><span·class="id"·title="notation">"</span></a>f·'·₀'·x"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.app0"><span·class="id"·title="variable">app0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>).<br/> | 276 | <span·class="id"·title="keyword">Notation</span>·<a·id="abb609e223b832d7163df6b07f35bba1"·class="idref"·href="#abb609e223b832d7163df6b07f35bba1"><span·class="id"·title="notation">"</span></a>f·'·₀'·x"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.app0"><span·class="id"·title="variable">app0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">x</span>).<br/> |
277 | </div> | 277 | </div> |
278 | <div·class="doc"> | 278 | <div·class="doc"> |
279 | <a·id="lab | 279 | <a·id="lab563"></a><h4·class="section">Closure·by·large·products</h4> |
280 | </div> | 280 | </div> |
281 | <div·class="code"> | 281 | <div·class="code"> |
282 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.ForallU0"·class="idref"·href="#Generic.Paradox.ForallU0"><span·class="id"·title="variable">ForallU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:73"·class="idref"·href="#u:73"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:73"><span·class="id"·title="variable">u</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.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</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.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>.<br/> | 282 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.ForallU0"·class="idref"·href="#Generic.Paradox.ForallU0"><span·class="id"·title="variable">ForallU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:73"·class="idref"·href="#u:73"><span·class="id"·title="binder">u</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.U1"><span·class="id"·title="variable">U1</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.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#u:73"><span·class="id"·title="variable">u</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.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</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.Logic.Hurkens.html#Generic.U0"><span·class="id"·title="abbreviation">U0</span></a>.<br/> |
283 | <span·class="id"·title="keyword">Notation</span>·<a·id="0f63ed2479c2d698dc69cb055d1ca0ce"·class="idref"·href="#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">"</span></a>'∀₀¹'·A·:·U·,·F"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.ForallU0"><span·class="id"·title="variable">ForallU0</span></a>·<span·class="id"·title="var">U</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="A:76"·class="idref"·href="#A:76"><span·class="id"·title="binder">A</span></a>·=>·<span·class="id"·title="var">F</span>)).<br/> | 283 | <span·class="id"·title="keyword">Notation</span>·<a·id="0f63ed2479c2d698dc69cb055d1ca0ce"·class="idref"·href="#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">"</span></a>'∀₀¹'·A·:·U·,·F"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.ForallU0"><span·class="id"·title="variable">ForallU0</span></a>·<span·class="id"·title="var">U</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="A:76"·class="idref"·href="#A:76"><span·class="id"·title="binder">A</span></a>·=>·<span·class="id"·title="var">F</span>)).<br/> |
284 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lamU0"·class="idref"·href="#Generic.Paradox.lamU0"><span·class="id"·title="variable">lamU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="U:77"·class="idref"·href="#U:77"><span·class="id"·title="binder">U</span></a>·<a·id="F:78"·class="idref"·href="#F:78"><span·class="id"·title="binder">F</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">forall</span>·<a·id="A:79"·class="idref"·href="#A:79"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#U:77"><span·class="id"·title="variable">U</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:78"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:79"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">₀¹</span></a>·<a·id="A:80"·class="idref"·href="#A:80"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#U:77"><span·class="id"·title="variable">U</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#F:78"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:80"><span·class="id"·title="variable">A</span></a>).<br/> | 284 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.lamU0"·class="idref"·href="#Generic.Paradox.lamU0"><span·class="id"·title="variable">lamU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="U:77"·class="idref"·href="#U:77"><span·class="id"·title="binder">U</span></a>·<a·id="F:78"·class="idref"·href="#F:78"><span·class="id"·title="binder">F</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">forall</span>·<a·id="A:79"·class="idref"·href="#A:79"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#U:77"><span·class="id"·title="variable">U</span></a>,·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:78"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:79"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">₀¹</span></a>·<a·id="A:80"·class="idref"·href="#A:80"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#U:77"><span·class="id"·title="variable">U</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#F:78"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:80"><span·class="id"·title="variable">A</span></a>).<br/> |
285 | <span·class="id"·title="keyword">Notation</span>·<a·id="445d40c6866861f70f030884478fa029"·class="idref"·href="#445d40c6866861f70f030884478fa029"><span·class="id"·title="notation">"</span></a>'λ₀¹'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lamU0"><span·class="id"·title="variable">lamU0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:83"·class="idref"·href="#x:83"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> | 285 | <span·class="id"·title="keyword">Notation</span>·<a·id="445d40c6866861f70f030884478fa029"·class="idref"·href="#445d40c6866861f70f030884478fa029"><span·class="id"·title="notation">"</span></a>'λ₀¹'·x·,·u"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.lamU0"><span·class="id"·title="variable">lamU0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:83"·class="idref"·href="#x:83"><span·class="id"·title="binder">x</span></a>·=>·<span·class="id"·title="var">u</span>)).<br/> |
286 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.appU0"·class="idref"·href="#Generic.Paradox.appU0"><span·class="id"·title="variable">appU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="U:84"·class="idref"·href="#U:84"><span·class="id"·title="binder">U</span></a>·<a·id="F:85"·class="idref"·href="#F:85"><span·class="id"·title="binder">F</span></a>·(<a·id="f:87"·class="idref"·href="#f:87"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>(<a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">₀¹</span></a>·<a·id="A:86"·class="idref"·href="#A:86"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#U:84"><span·class="id"·title="variable">U</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">,</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#F:85"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:86"><span·class="id"·title="variable">A</span></a>))·(<a·id="A:88"·class="idref"·href="#A:88"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#U:84"><span·class="id"·title="variable">U</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:85"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:88"><span·class="id"·title="variable">A</span></a>).<br/> | 286 | <span·class="id"·title="keyword">Variable</span>·<a·id="Generic.Paradox.appU0"·class="idref"·href="#Generic.Paradox.appU0"><span·class="id"·title="variable">appU0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="U:84"·class="idref"·href="#U:84"><span·class="id"·title="binder">U</span></a>·<a·id="F:85"·class="idref"·href="#F:85"><span·class="id"·title="binder">F</span></a>·(<a·id="f:87"·class="idref"·href="#f:87"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>(<a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">∀</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">₀¹</span></a>·<a·id="A:86"·class="idref"·href="#A:86"><span·class="id"·title="binder">A</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#U:84"><span·class="id"·title="variable">U</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#0f63ed2479c2d698dc69cb055d1ca0ce"><span·class="id"·title="notation">,</span></a><a·class="idref"·href="Coq.Logic.Hurkens.html#F:85"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:86"><span·class="id"·title="variable">A</span></a>))·(<a·id="A:88"·class="idref"·href="#A:88"><span·class="id"·title="binder">A</span></a>:<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El1"><span·class="id"·title="variable">El1</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#U:84"><span·class="id"·title="variable">U</span></a>),·<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.El0"><span·class="id"·title="variable">El0</span></a>·(<a·class="idref"·href="Coq.Logic.Hurkens.html#F:85"><span·class="id"·title="variable">F</span></a>·<a·class="idref"·href="Coq.Logic.Hurkens.html#A:88"><span·class="id"·title="variable">A</span></a>).<br/> |
287 | <span·class="id"·title="keyword">Notation</span>·<a·id="d3f4e16d7ba734384b86362c88888b46"·class="idref"·href="#d3f4e16d7ba734384b86362c88888b46"><span·class="id"·title="notation">"</span></a>f·'·₀'·[·A·]"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.appU0"><span·class="id"·title="variable">appU0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">A</span>).<br/> | 287 | <span·class="id"·title="keyword">Notation</span>·<a·id="d3f4e16d7ba734384b86362c88888b46"·class="idref"·href="#d3f4e16d7ba734384b86362c88888b46"><span·class="id"·title="notation">"</span></a>f·'·₀'·[·A·]"·:=·(<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.appU0"><span·class="id"·title="variable">appU0</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">f</span>·<span·class="id"·title="var">A</span>).<br/> |
288 | <br/> | 288 | <br/> |
289 | </div> | 289 | </div> |
290 | <div·class="doc"> | 290 | <div·class="doc"> |
291 | <a·id="lab | 291 | <a·id="lab564"></a><h2·class="section">Automating·the·rewrite·rules·of·our·encoding.</h2> |
292 | </div> | 292 | </div> |
293 | <div·class="code"> | 293 | <div·class="code"> |
294 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">simplify</span>·:=<br/> | 294 | <span·class="id"·title="keyword">Local·Ltac</span>·<span·class="id"·title="var">simplify</span>·:=<br/> |
295 | <br/> | 295 | <br/> |
296 | (<span·class="id"·title="tactic">repeat</span>·<span·class="id"·title="tactic">rewrite</span>·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>,·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>);<br/> | 296 | (<span·class="id"·title="tactic">repeat</span>·<span·class="id"·title="tactic">rewrite</span>·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>,·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>);<br/> |
297 | <span·class="id"·title="tactic">lazy</span>·<span·class="id"·title="keyword">beta</span>.<br/> | 297 | <span·class="id"·title="tactic">lazy</span>·<span·class="id"·title="keyword">beta</span>.<br/> |
Offset 309, 28 lines modified | Offset 309, 28 lines modified | ||
309 | (<span·class="id"·title="tactic">repeat</span>·<span·class="id"·title="tactic">rewrite</span>·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>,·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>·<span·class="id"·title="tactic">in</span>·<span·class="id"·title="var">h</span>);<br/> | 309 | (<span·class="id"·title="tactic">repeat</span>·<span·class="id"·title="tactic">rewrite</span>·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.beta1"><span·class="id"·title="variable">beta1</span></a>,·?<a·class="idref"·href="Coq.Logic.Hurkens.html#Generic.Paradox.betaU1"><span·class="id"·title="variable">betaU1</span></a>·<span·class="id"·title="tactic">in</span>·<span·class="id"·title="var">h</span>);<br/> |
310 | <span·class="id"·title="tactic">lazy</span>·<span·class="id"·title="keyword">beta</span>·<span·class="id"·title="tactic">in</span>·<span·class="id"·title="var">h</span>.<br/> | 310 | <span·class="id"·title="tactic">lazy</span>·<span·class="id"·title="keyword">beta</span>·<span·class="id"·title="tactic">in</span>·<span·class="id"·title="var">h</span>.<br/> |
311 | <br/> | 311 | <br/> |
Max diff block lines reached; 60539/98569 bytes (61.42%) of diff not shown. |
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="lab632"></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 177, 19 lines modified | Offset 177, 19 lines modified | ||
177 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="PropositionalFunctionalExtensionality"·class="idref"·href="#PropositionalFunctionalExtensionality"><span·class="id"·title="abbreviation">PropositionalFunctionalExtensionality</span></a>·:=<br/> | 177 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="PropositionalFunctionalExtensionality"·class="idref"·href="#PropositionalFunctionalExtensionality"><span·class="id"·title="abbreviation">PropositionalFunctionalExtensionality</span></a>·:=<br/> |
178 | (<span·class="id"·title="keyword">forall</span>·(<a·id="A:9"·class="idref"·href="#A:9"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Type</span>)·(<a·id="P:10"·class="idref"·href="#P:10"><span·class="id"·title="binder">P</span></a>·<a·id="Q:11"·class="idref"·href="#Q:11"><span·class="id"·title="binder">Q</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#A:9"><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>·<span·class="id"·title="keyword">Prop</span>),·<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="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#P:10"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#x:12"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#Q:11"><span·class="id"·title="variable">Q</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#x:12"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#P:10"><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.Logic.PropExtensionalityFacts.html#Q:11"><span·class="id"·title="variable">Q</span></a>).<br/> | 178 | (<span·class="id"·title="keyword">forall</span>·(<a·id="A:9"·class="idref"·href="#A:9"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Type</span>)·(<a·id="P:10"·class="idref"·href="#P:10"><span·class="id"·title="binder">P</span></a>·<a·id="Q:11"·class="idref"·href="#Q:11"><span·class="id"·title="binder">Q</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#A:9"><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>·<span·class="id"·title="keyword">Prop</span>),·<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="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#P:10"><span·class="id"·title="variable">P</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#x:12"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#Q:11"><span·class="id"·title="variable">Q</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#x:12"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#P:10"><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.Logic.PropExtensionalityFacts.html#Q:11"><span·class="id"·title="variable">Q</span></a>).<br/> |
179 | <br/> | 179 | <br/> |
180 | </div> | 180 | </div> |
181 | <div·class="doc"> | 181 | <div·class="doc"> |
182 | <a·id="lab | 182 | <a·id="lab633"></a><h1·class="section">Propositional·and·predicate·extensionality</h1> |
183 | <div·class="paragraph">·</div> | 183 | <div·class="paragraph">·</div> |
184 | <a·id="lab | 184 | <a·id="lab634"></a><h2·class="section">Predicate·extensionality·<->·Propositional·extensionality·+·Propositional·functional·extensionality</h2> |
185 | </div> | 185 | </div> |
186 | <div·class="code"> | 186 | <div·class="code"> |
187 | <br/> | 187 | <br/> |
188 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PredExt_imp_PropExt"·class="idref"·href="#PredExt_imp_PropExt"><span·class="id"·title="lemma">PredExt_imp_PropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PredicateExtensionality"><span·class="id"·title="abbreviation">PredicateExtensionality</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.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>.<br/> | 188 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PredExt_imp_PropExt"·class="idref"·href="#PredExt_imp_PropExt"><span·class="id"·title="lemma">PredExt_imp_PropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PredicateExtensionality"><span·class="id"·title="abbreviation">PredicateExtensionality</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.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>.<br/> |
Offset 204, 27 lines modified | Offset 204, 27 lines modified | ||
204 | <span·class="id"·title="keyword">Theorem</span>·<a·id="PropExt_and_PropFunExt_iff_PredExt"·class="idref"·href="#PropExt_and_PropFunExt_iff_PredExt"><span·class="id"·title="lemma">PropExt_and_PropFunExt_iff_PredExt</span></a>·:<br/> | 204 | <span·class="id"·title="keyword">Theorem</span>·<a·id="PropExt_and_PropFunExt_iff_PredExt"·class="idref"·href="#PropExt_and_PropFunExt_iff_PredExt"><span·class="id"·title="lemma">PropExt_and_PropFunExt_iff_PredExt</span></a>·:<br/> |
205 | <a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalFunctionalExtensionality"><span·class="id"·title="abbreviation">PropositionalFunctionalExtensionality</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.PropExtensionalityFacts.html#PredicateExtensionality"><span·class="id"·title="abbreviation">PredicateExtensionality</span></a>.<br/> | 205 | <a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalFunctionalExtensionality"><span·class="id"·title="abbreviation">PropositionalFunctionalExtensionality</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.PropExtensionalityFacts.html#PredicateExtensionality"><span·class="id"·title="abbreviation">PredicateExtensionality</span></a>.<br/> |
206 | <br/> | 206 | <br/> |
207 | </div> | 207 | </div> |
208 | <div·class="doc"> | 208 | <div·class="doc"> |
209 | <a·id="lab | 209 | <a·id="lab635"></a><h2·class="section">Propositional·extensionality·and·provable·proposition·extensionality</h2> |
210 | </div> | 210 | </div> |
211 | <div·class="code"> | 211 | <div·class="code"> |
212 | <br/> | 212 | <br/> |
213 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PropExt_imp_ProvPropExt"·class="idref"·href="#PropExt_imp_ProvPropExt"><span·class="id"·title="lemma">PropExt_imp_ProvPropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</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.PropExtensionalityFacts.html#ProvablePropositionExtensionality"><span·class="id"·title="abbreviation">ProvablePropositionExtensionality</span></a>.<br/> | 213 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PropExt_imp_ProvPropExt"·class="idref"·href="#PropExt_imp_ProvPropExt"><span·class="id"·title="lemma">PropExt_imp_ProvPropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</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.PropExtensionalityFacts.html#ProvablePropositionExtensionality"><span·class="id"·title="abbreviation">ProvablePropositionExtensionality</span></a>.<br/> |
214 | <br/> | 214 | <br/> |
215 | </div> | 215 | </div> |
216 | <div·class="doc"> | 216 | <div·class="doc"> |
217 | <a·id="lab | 217 | <a·id="lab636"></a><h2·class="section">Propositional·extensionality·and·refutable·proposition·extensionality</h2> |
218 | </div> | 218 | </div> |
219 | <div·class="code"> | 219 | <div·class="code"> |
220 | <br/> | 220 | <br/> |
221 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PropExt_imp_RefutPropExt"·class="idref"·href="#PropExt_imp_RefutPropExt"><span·class="id"·title="lemma">PropExt_imp_RefutPropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</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.PropExtensionalityFacts.html#RefutablePropositionExtensionality"><span·class="id"·title="abbreviation">RefutablePropositionExtensionality</span></a>.<br/> | 221 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PropExt_imp_RefutPropExt"·class="idref"·href="#PropExt_imp_RefutPropExt"><span·class="id"·title="lemma">PropExt_imp_RefutPropExt</span></a>·:·<a·class="idref"·href="Coq.Logic.PropExtensionalityFacts.html#PropositionalExtensionality"><span·class="id"·title="abbreviation">PropositionalExtensionality</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.PropExtensionalityFacts.html#RefutablePropositionExtensionality"><span·class="id"·title="abbreviation">RefutablePropositionExtensionality</span></a>.<br/> |
222 | </div> | 222 | </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="lab623"></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="lab655"></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="lab1121"></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 87, 29 lines modified | Offset 87, 29 lines modified | ||
87 | <br/> | 87 | <br/> |
88 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 88 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> |
89 | <br/> | 89 | <br/> |
90 | </div> | 90 | </div> |
91 | <div·class="doc"> | 91 | <div·class="doc"> |
92 | <a·id="lab | 92 | <a·id="lab1122"></a><h1·class="section">Ops·:·the·pure·functions</h1> |
93 | </div> | 93 | </div> |
94 | <div·class="code"> | 94 | <div·class="code"> |
95 | <br/> | 95 | <br/> |
96 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">I</span>:<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>)(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Ops"><span·class="id"·title="module">MSetInterface.Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 96 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">I</span>:<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>)(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Ops"><span·class="id"·title="module">MSetInterface.Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#X"><span·class="id"·title="module">X</span></a>.<br/> |
97 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Int_scope</span>.<br/> | 97 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Int_scope</span>.<br/> |
98 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.int"·class="idref"·href="#Ops.int"><span·class="id"·title="abbreviation">int</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#I.t"><span·class="id"·title="axiom">I.t</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.int"·class="idref"·href="#Ops.int"><span·class="id"·title="abbreviation">int</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#I.t"><span·class="id"·title="axiom">I.t</span></a>.<br/> |
99 | <br/> | 99 | <br/> |
100 | </div> | 100 | </div> |
101 | <div·class="doc"> | 101 | <div·class="doc"> |
102 | <a·id="lab | 102 | <a·id="lab1123"></a><h2·class="section">Generic·trees·instantiated·with·integer·height</h2> |
103 | <div·class="paragraph">·</div> | 103 | <div·class="paragraph">·</div> |
104 | ·We·reuse·a·generic·definition·of·trees·where·the·information | 104 | ·We·reuse·a·generic·definition·of·trees·where·the·information |
105 | ····parameter·is·a·<span·class="inlinecode"><span·class="id"·title="var">Int.t</span></span>.·Functions·like·mem·or·fold·are·also | 105 | ····parameter·is·a·<span·class="inlinecode"><span·class="id"·title="var">Int.t</span></span>.·Functions·like·mem·or·fold·are·also |
106 | ····provided·by·this·generic·functor.· | 106 | ····provided·by·this·generic·functor.· |
107 | </div> | 107 | </div> |
Offset 121, 15 lines modified | Offset 121, 15 lines modified | ||
121 | <br/> | 121 | <br/> |
122 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.t"·class="idref"·href="#Ops.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>.<br/> | 122 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.t"·class="idref"·href="#Ops.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>.<br/> |
123 | <br/> | 123 | <br/> |
124 | </div> | 124 | </div> |
125 | <div·class="doc"> | 125 | <div·class="doc"> |
126 | <a·id="lab | 126 | <a·id="lab1124"></a><h2·class="section">Height·of·trees</h2> |
127 | </div> | 127 | </div> |
128 | <div·class="code"> | 128 | <div·class="code"> |
129 | <br/> | 129 | <br/> |
130 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.height"·class="idref"·href="#Ops.height"><span·class="id"·title="definition">height</span></a>·(<a·id="s:1"·class="idref"·href="#s:1"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.t"><span·class="id"·title="definition">t</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.int"><span·class="id"·title="abbreviation">int</span></a>·:=<br/> | 130 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.height"·class="idref"·href="#Ops.height"><span·class="id"·title="definition">height</span></a>·(<a·id="s:1"·class="idref"·href="#s:1"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.t"><span·class="id"·title="definition">t</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.int"><span·class="id"·title="abbreviation">int</span></a>·:=<br/> |
131 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#s:1"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 131 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#s:1"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 137, 27 lines modified | Offset 137, 27 lines modified | ||
137 | |·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">h</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">h</span><br/> | 137 | |·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">h</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="var">h</span><br/> |
138 | <span·class="id"·title="keyword">end</span>.<br/> | 138 | <span·class="id"·title="keyword">end</span>.<br/> |
139 | <br/> | 139 | <br/> |
140 | </div> | 140 | </div> |
141 | <div·class="doc"> | 141 | <div·class="doc"> |
142 | <a·id="lab | 142 | <a·id="lab1125"></a><h2·class="section">Singleton·set</h2> |
143 | </div> | 143 | </div> |
144 | <div·class="code"> | 144 | <div·class="code"> |
145 | <br/> | 145 | <br/> |
146 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.singleton"·class="idref"·href="#Ops.singleton"><span·class="id"·title="definition">singleton</span></a>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·1·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 146 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.singleton"·class="idref"·href="#Ops.singleton"><span·class="id"·title="definition">singleton</span></a>·<a·id="x:3"·class="idref"·href="#x:3"><span·class="id"·title="binder">x</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·1·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</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="lab1126"></a><h2·class="section">Helper·functions</h2> |
151 | <div·class="paragraph">·</div> | 151 | <div·class="paragraph">·</div> |
152 | ·<span·class="inlinecode"><span·class="id"·title="var">create</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·creates·a·node,·assuming·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span> | 152 | ·<span·class="inlinecode"><span·class="id"·title="var">create</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·creates·a·node,·assuming·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span> |
153 | ····to·be·balanced·and·<span·class="inlinecode">|<span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode">-</span>·<span·class="inlinecode"><span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span>|</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2</span>.· | 153 | ····to·be·balanced·and·<span·class="inlinecode">|<span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·<span·class="inlinecode">-</span>·<span·class="inlinecode"><span·class="id"·title="var">height</span></span>·<span·class="inlinecode"><span·class="id"·title="var">r</span>|</span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2</span>.· |
154 | </div> | 154 | </div> |
155 | <div·class="code"> | 155 | <div·class="code"> |
Offset 212, 15 lines modified | Offset 212, 15 lines modified | ||
212 | <span·class="id"·title="keyword">else</span><br/> | 212 | <span·class="id"·title="keyword">else</span><br/> |
213 | <a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.create"><span·class="id"·title="definition">create</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#l:7"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:8"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#r:9"><span·class="id"·title="variable">r</span></a>.<br/> | 213 | <a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.create"><span·class="id"·title="definition">create</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#l:7"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:8"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#r:9"><span·class="id"·title="variable">r</span></a>.<br/> |
214 | <br/> | 214 | <br/> |
215 | </div> | 215 | </div> |
216 | <div·class="doc"> | 216 | <div·class="doc"> |
217 | <a·id="lab | 217 | <a·id="lab1127"></a><h2·class="section">Insertion</h2> |
218 | </div> | 218 | </div> |
219 | <div·class="code"> | 219 | <div·class="code"> |
220 | <br/> | 220 | <br/> |
221 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.add"·class="idref"·href="#Ops.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·<a·id="s:17"·class="idref"·href="#s:17"><span·class="id"·title="binder">s</span></a>·:=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#s:17"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 221 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.add"·class="idref"·href="#Ops.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·<a·id="s:17"·class="idref"·href="#s:17"><span·class="id"·title="binder">s</span></a>·:=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#s:17"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
222 | |·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·=>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·1·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a><br/> | 222 | |·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·=>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·1·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#x:16"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetAVL.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a><br/> |
Offset 232, 15 lines modified | Offset 232, 15 lines modified | ||
232 | <span·class="id"·title="keyword">end</span><br/> | 232 | <span·class="id"·title="keyword">end</span><br/> |
233 | <span·class="id"·title="keyword">end</span>.<br/> | 233 | <span·class="id"·title="keyword">end</span>.<br/> |
234 | <br/> | 234 | <br/> |
235 | </div> | 235 | </div> |
236 | <div·class="doc"> | 236 | <div·class="doc"> |
237 | <a·id="lab | 237 | <a·id="lab1128"></a><h2·class="section">Join</h2> |
238 | <div·class="paragraph">·</div> | 238 | <div·class="paragraph">·</div> |
239 | ····Same·as·<span·class="inlinecode"><span·class="id"·title="var">bal</span></span>·but·does·not·assume·anything·regarding·heights | 239 | ····Same·as·<span·class="inlinecode"><span·class="id"·title="var">bal</span></span>·but·does·not·assume·anything·regarding·heights |
240 | ····of·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>. | 240 | ····of·<span·class="inlinecode"><span·class="id"·title="var">l</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>. |
Offset 261, 15 lines modified | Offset 261, 15 lines modified | ||
261 | <span·class="id"·title="keyword">end</span><br/> | 261 | <span·class="id"·title="keyword">end</span><br/> |
262 | <span·class="id"·title="keyword">end</span>.<br/> | 262 | <span·class="id"·title="keyword">end</span>.<br/> |
263 | <br/> | 263 | <br/> |
264 | </div> | 264 | </div> |
Max diff block lines reached; 64236/72858 bytes (88.17%) of diff not shown. |
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="lab1155"></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 177, 41 lines modified | Offset 177, 41 lines modified | ||
177 | </pre> | 177 | </pre> |
178 | </li> | 178 | </li> |
179 | </ul> | 179 | </ul> |
180 | <div·class="paragraph">·</div> | 180 | <div·class="paragraph">·</div> |
181 | <a·id="lab | 181 | <a·id="lab1156"></a><h1·class="section">Facts·and·Tactics·for·Propositional·Logic</h1> |
182 | ······These·lemmas·and·tactics·are·in·a·module·so·that·they·do | 182 | ······These·lemmas·and·tactics·are·in·a·module·so·that·they·do |
183 | ······not·affect·the·namespace·if·you·import·the·enclosing | 183 | ······not·affect·the·namespace·if·you·import·the·enclosing |
184 | ······module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.· | 184 | ······module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.· |
185 | </div> | 185 | </div> |
186 | <div·class="code"> | 186 | <div·class="code"> |
187 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.MSetLogicalFacts"·class="idref"·href="#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> | 187 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.MSetLogicalFacts"·class="idref"·href="#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> |
188 | <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Logic.Decidable.html#"><span·class="id"·title="module">Decidable</span></a>.<br/> | 188 | <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Logic.Decidable.html#"><span·class="id"·title="module">Decidable</span></a>.<br/> |
189 | <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="module">Setoid</span></a>.<br/> | 189 | <span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.Setoids.Setoid.html#"><span·class="id"·title="module">Setoid</span></a>.<br/> |
190 | <br/> | 190 | <br/> |
191 | </div> | 191 | </div> |
192 | <div·class="doc"> | 192 | <div·class="doc"> |
193 | <a·id="lab | 193 | <a·id="lab1157"></a><h2·class="section">Lemmas·and·Tactics·About·Decidable·Propositions</h2> |
194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> |
195 | <a·id="lab | 195 | <a·id="lab1158"></a><h2·class="section">Propositional·Equivalences·Involving·Negation</h2> |
196 | ········These·are·all·written·with·the·unfolded·form·of | 196 | ········These·are·all·written·with·the·unfolded·form·of |
197 | ········negation,·since·I·am·not·sure·if·setoid·rewriting·will | 197 | ········negation,·since·I·am·not·sure·if·setoid·rewriting·will |
198 | ········always·perform·conversion.· | 198 | ········always·perform·conversion.· |
199 | <div·class="paragraph">·</div> | 199 | <div·class="paragraph">·</div> |
200 | <a·id="lab | 200 | <a·id="lab1159"></a><h2·class="section">Tactics·for·Negations</h2> |
201 | </div> | 201 | </div> |
202 | <div·class="code"> | 202 | <div·class="code"> |
203 | <br/> | 203 | <br/> |
204 | <span·class="id"·title="keyword">Tactic·Notation</span>·"fold"·"any"·"not"·:=<br/> | 204 | <span·class="id"·title="keyword">Tactic·Notation</span>·"fold"·"any"·"not"·:=<br/> |
205 | <span·class="id"·title="tactic">repeat</span>·(<br/> | 205 | <span·class="id"·title="tactic">repeat</span>·(<br/> |
Offset 454, 28 lines modified | Offset 454, 28 lines modified | ||
454 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> | 454 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> |
455 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> | 455 | <span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetLogicalFacts"><span·class="id"·title="module">MSetLogicalFacts</span></a>.<br/> |
456 | <br/> | 456 | <br/> |
457 | </div> | 457 | </div> |
458 | <div·class="doc"> | 458 | <div·class="doc"> |
459 | <a·id="lab | 459 | <a·id="lab1160"></a><h1·class="section">Auxiliary·Tactics</h1> |
460 | ······Again,·these·lemmas·and·tactics·are·in·a·module·so·that | 460 | ······Again,·these·lemmas·and·tactics·are·in·a·module·so·that |
461 | ······they·do·not·affect·the·namespace·if·you·import·the | 461 | ······they·do·not·affect·the·namespace·if·you·import·the |
462 | ······enclosing·module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.·· | 462 | ······enclosing·module·<span·class="inlinecode"><span·class="id"·title="var">Decide</span></span>.·· |
463 | </div> | 463 | </div> |
464 | <div·class="code"> | 464 | <div·class="code"> |
465 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.MSetDecideAuxiliary"·class="idref"·href="#WDecideOn.MSetDecideAuxiliary"><span·class="id"·title="module">MSetDecideAuxiliary</span></a>.<br/> | 465 | <span·class="id"·title="keyword">Module</span>·<a·id="WDecideOn.MSetDecideAuxiliary"·class="idref"·href="#WDecideOn.MSetDecideAuxiliary"><span·class="id"·title="module">MSetDecideAuxiliary</span></a>.<br/> |
466 | <br/> | 466 | <br/> |
467 | </div> | 467 | </div> |
468 | <div·class="doc"> | 468 | <div·class="doc"> |
469 | <a·id="lab | 469 | <a·id="lab1161"></a><h2·class="section">Generic·Tactics</h2> |
470 | ········We·begin·by·defining·a·few·generic,·useful·tactics.· | 470 | ········We·begin·by·defining·a·few·generic,·useful·tactics.· |
471 | <div·class="paragraph">·</div> | 471 | <div·class="paragraph">·</div> |
472 | ·remove·logical·hypothesis·inter-dependencies·(fix·2136).· | 472 | ·remove·logical·hypothesis·inter-dependencies·(fix·2136).· |
473 | </div> | 473 | </div> |
474 | <div·class="code"> | 474 | <div·class="code"> |
Offset 584, 15 lines modified | Offset 584, 15 lines modified | ||
584 | |·<span·class="id"·title="var">H</span>:·<span·class="id"·title="var">_</span>·|-·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">progress</span>·(<span·class="id"·title="var">decompose</span>·<span·class="id"·title="var">record</span>·<span·class="id"·title="var">H</span>);·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 584 | |·<span·class="id"·title="var">H</span>:·<span·class="id"·title="var">_</span>·|-·<span·class="id"·title="var">_</span>·=>·<span·class="id"·title="tactic">progress</span>·(<span·class="id"·title="var">decompose</span>·<span·class="id"·title="var">record</span>·<span·class="id"·title="var">H</span>);·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> |
585 | <span·class="id"·title="keyword">end</span>).<br/> | 585 | <span·class="id"·title="keyword">end</span>).<br/> |
586 | <br/> | 586 | <br/> |
587 | </div> | 587 | </div> |
588 | <div·class="doc"> | 588 | <div·class="doc"> |
589 | <a·id="lab | 589 | <a·id="lab1162"></a><h2·class="section">Discarding·Irrelevant·Hypotheses</h2> |
590 | ········We·will·want·to·clear·the·context·of·any | 590 | ········We·will·want·to·clear·the·context·of·any |
591 | ········non-MSet-related·hypotheses·in·order·to·increase·the | 591 | ········non-MSet-related·hypotheses·in·order·to·increase·the |
592 | ········speed·of·the·tactic.··To·do·this,·we·will·need·to·be | 592 | ········speed·of·the·tactic.··To·do·this,·we·will·need·to·be |
593 | ········able·to·decide·which·are·relevant.··We·do·this·by·making | 593 | ········able·to·decide·which·are·relevant.··We·do·this·by·making |
594 | ········a·simple·inductive·definition·classifying·the | 594 | ········a·simple·inductive·definition·classifying·the |
595 | ········propositions·of·interest.· | 595 | ········propositions·of·interest.· |
Offset 664, 15 lines modified | Offset 664, 15 lines modified | ||
664 | <span·class="id"·title="keyword">else</span>·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> | 664 | <span·class="id"·title="keyword">else</span>·<span·class="id"·title="tactic">clear</span>·<span·class="id"·title="var">H</span><br/> |
665 | <span·class="id"·title="keyword">end</span>).<br/> | 665 | <span·class="id"·title="keyword">end</span>).<br/> |
666 | <br/> | 666 | <br/> |
667 | </div> | 667 | </div> |
668 | <div·class="doc"> | 668 | <div·class="doc"> |
669 | <a·id="lab | 669 | <a·id="lab1163"></a><h2·class="section">Turning·Set·Operators·into·Propositional·Connectives</h2> |
670 | ········The·lemmas·from·<span·class="inlinecode"><span·class="id"·title="var">MSetFacts</span></span>·will·be·used·to·break·down | 670 | ········The·lemmas·from·<span·class="inlinecode"><span·class="id"·title="var">MSetFacts</span></span>·will·be·used·to·break·down |
671 | ········set·operations·into·propositional·formulas·built·over | 671 | ········set·operations·into·propositional·formulas·built·over |
672 | ········the·predicates·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·applied·only·to | 672 | ········the·predicates·<span·class="inlinecode"><span·class="id"·title="var">In</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·applied·only·to |
673 | ········variables.··We·are·going·to·use·them·with·<span·class="inlinecode"><span·class="id"·title="tactic">autorewrite</span></span>. | 673 | ········variables.··We·are·going·to·use·them·with·<span·class="inlinecode"><span·class="id"·title="tactic">autorewrite</span></span>. |
674 | ········ | 674 | ········ |
675 | </div> | 675 | </div> |
Offset 690, 15 lines modified | Offset 690, 15 lines modified | ||
690 | <br/> | 690 | <br/> |
691 | <span·class="id"·title="keyword">Global·Hint·Rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetDecideAuxiliary.eq_refl_iff"><span·class="id"·title="lemma">eq_refl_iff</span></a>·:·<span·class="id"·title="var">set_eq_simpl</span>.<br/> | 691 | <span·class="id"·title="keyword">Global·Hint·Rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetDecide.html#WDecideOn.MSetDecideAuxiliary.eq_refl_iff"><span·class="id"·title="lemma">eq_refl_iff</span></a>·:·<span·class="id"·title="var">set_eq_simpl</span>.<br/> |
692 | <br/> | 692 | <br/> |
693 | </div> | 693 | </div> |
694 | <div·class="doc"> | 694 | <div·class="doc"> |
695 | <a·id="lab | 695 | <a·id="lab1164"></a><h2·class="section">Decidability·of·MSet·Propositions</h2> |
Max diff block lines reached; 7270/14971 bytes (48.56%) of diff not shown. |
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="lab1086"></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="lab1039"></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 84, 15 lines modified | Offset 84, 15 lines modified | ||
84 | <span·class="id"·title="keyword">Notation</span>·<a·id="WFactsOn.eq_dec"·class="idref"·href="#WFactsOn.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetFacts.html#E.eq_dec"><span·class="id"·title="axiom">E.eq_dec</span></a>.<br/> | 84 | <span·class="id"·title="keyword">Notation</span>·<a·id="WFactsOn.eq_dec"·class="idref"·href="#WFactsOn.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetFacts.html#E.eq_dec"><span·class="id"·title="axiom">E.eq_dec</span></a>.<br/> |
85 | <span·class="id"·title="keyword">Definition</span>·<a·id="WFactsOn.eqb"·class="idref"·href="#WFactsOn.eqb"><span·class="id"·title="definition">eqb</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>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#y:2"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 85 | <span·class="id"·title="keyword">Definition</span>·<a·id="WFactsOn.eqb"·class="idref"·href="#WFactsOn.eqb"><span·class="id"·title="definition">eqb</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>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.eq_dec"><span·class="id"·title="abbreviation">eq_dec</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#x:1"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#y:2"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> |
86 | <br/> | 86 | <br/> |
87 | </div> | 87 | </div> |
88 | <div·class="doc"> | 88 | <div·class="doc"> |
89 | <a·id="lab | 89 | <a·id="lab1040"></a><h1·class="section">Specifications·written·using·implications·:</h1> |
90 | ······this·used·to·be·the·default·interface.· | 90 | ······this·used·to·be·the·default·interface.· |
91 | </div> | 91 | </div> |
92 | <div·class="code"> | 92 | <div·class="code"> |
93 | <br/> | 93 | <br/> |
94 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.ImplSpec"·class="idref"·href="#WFactsOn.ImplSpec"><span·class="id"·title="section">ImplSpec</span></a>.<br/> | 94 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.ImplSpec"·class="idref"·href="#WFactsOn.ImplSpec"><span·class="id"·title="section">ImplSpec</span></a>.<br/> |
Offset 201, 15 lines modified | Offset 201, 15 lines modified | ||
201 | <span·class="id"·title="var">filter_1</span>·<span·class="id"·title="var">filter_2</span>·<span·class="id"·title="var">for_all_2</span>·<span·class="id"·title="var">exists_2</span>·<span·class="id"·title="var">elements_2</span><br/> | 201 | <span·class="id"·title="var">filter_1</span>·<span·class="id"·title="var">filter_2</span>·<span·class="id"·title="var">for_all_2</span>·<span·class="id"·title="var">exists_2</span>·<span·class="id"·title="var">elements_2</span><br/> |
202 | :·<span·class="id"·title="tactic">set</span>.<br/> | 202 | :·<span·class="id"·title="tactic">set</span>.<br/> |
203 | <br/> | 203 | <br/> |
204 | </div> | 204 | </div> |
205 | <div·class="doc"> | 205 | <div·class="doc"> |
206 | <a·id="lab | 206 | <a·id="lab1041"></a><h1·class="section">Specifications·written·using·equivalences·:</h1> |
207 | ······this·is·now·provided·by·the·default·interface.· | 207 | ······this·is·now·provided·by·the·default·interface.· |
208 | </div> | 208 | </div> |
209 | <div·class="code"> | 209 | <div·class="code"> |
210 | <br/> | 210 | <br/> |
211 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.IffSpec"·class="idref"·href="#WFactsOn.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> | 211 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.IffSpec"·class="idref"·href="#WFactsOn.IffSpec"><span·class="id"·title="section">IffSpec</span></a>.<br/> |
Offset 290, 15 lines modified | Offset 290, 15 lines modified | ||
290 | ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.union_iff"><span·class="id"·title="abbreviation">union_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.inter_iff"><span·class="id"·title="abbreviation">inter_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.diff_iff"><span·class="id"·title="abbreviation">diff_iff</span></a><br/> | 290 | ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.union_iff"><span·class="id"·title="abbreviation">union_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.inter_iff"><span·class="id"·title="abbreviation">inter_iff</span></a>·||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.diff_iff"><span·class="id"·title="abbreviation">diff_iff</span></a><br/> |
291 | ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.empty_iff"><span·class="id"·title="lemma">empty_iff</span></a>)).<br/> | 291 | ||·<span·class="id"·title="tactic">rewrite</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.empty_iff"><span·class="id"·title="lemma">empty_iff</span></a>)).<br/> |
292 | <br/> | 292 | <br/> |
293 | </div> | 293 | </div> |
294 | <div·class="doc"> | 294 | <div·class="doc"> |
295 | <a·id="lab | 295 | <a·id="lab1042"></a><h1·class="section">Specifications·written·using·boolean·predicates</h1> |
296 | </div> | 296 | </div> |
297 | <div·class="code"> | 297 | <div·class="code"> |
298 | <br/> | 298 | <br/> |
299 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.BoolSpec"·class="idref"·href="#WFactsOn.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 299 | <span·class="id"·title="keyword">Section</span>·<a·id="WFactsOn.BoolSpec"·class="idref"·href="#WFactsOn.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> |
300 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFactsOn.BoolSpec.s"·class="idref"·href="#WFactsOn.BoolSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFactsOn.BoolSpec.s'"·class="idref"·href="#WFactsOn.BoolSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFactsOn.BoolSpec.s''"·class="idref"·href="#WFactsOn.BoolSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 300 | <span·class="id"·title="keyword">Variable</span>·<a·id="WFactsOn.BoolSpec.s"·class="idref"·href="#WFactsOn.BoolSpec.s"><span·class="id"·title="variable">s</span></a>·<a·id="WFactsOn.BoolSpec.s'"·class="idref"·href="#WFactsOn.BoolSpec.s'"><span·class="id"·title="variable">s'</span></a>·<a·id="WFactsOn.BoolSpec.s''"·class="idref"·href="#WFactsOn.BoolSpec.s''"><span·class="id"·title="variable">s''</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetFacts.html#M.t"><span·class="id"·title="axiom">t</span></a>.<br/> |
Offset 354, 15 lines modified | Offset 354, 15 lines modified | ||
354 | <br/> | 354 | <br/> |
355 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> | 355 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetFacts.html#WFactsOn.BoolSpec"><span·class="id"·title="section">BoolSpec</span></a>.<br/> |
356 | <br/> | 356 | <br/> |
357 | </div> | 357 | </div> |
358 | <div·class="doc"> | 358 | <div·class="doc"> |
359 | <a·id="lab | 359 | <a·id="lab1043"></a><h1·class="section">Declarations·of·morphisms·with·respects·to·<span·class="inlinecode"><span·class="id"·title="var">E.eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Equal</span></span></h1> |
360 | </div> | 360 | </div> |
361 | <div·class="code"> | 361 | <div·class="code"> |
362 | <br/> | 362 | <br/> |
363 | #[<span·class="id"·title="var">global</span>]<br/> | 363 | #[<span·class="id"·title="var">global</span>]<br/> |
364 | <span·class="id"·title="keyword">Instance</span>·<a·id="WFactsOn.In_m"·class="idref"·href="#WFactsOn.In_m"><span·class="id"·title="instance">In_m</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.MSets.MSetFacts.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.MSets.MSetFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.MSets.MSetFacts.html#M.In"><span·class="id"·title="axiom">In</span></a>.<br/> | 364 | <span·class="id"·title="keyword">Instance</span>·<a·id="WFactsOn.In_m"·class="idref"·href="#WFactsOn.In_m"><span·class="id"·title="instance">In_m</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.MSets.MSetFacts.html#E.eq"><span·class="id"·title="axiom">E.eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.MSets.MSetFacts.html#M.Equal"><span·class="id"·title="definition">Equal</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.MSets.MSetFacts.html#M.In"><span·class="id"·title="axiom">In</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="lab1094"></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 103, 15 lines modified | Offset 103, 15 lines modified | ||
103 | <span·class="id"·title="keyword">Parameter</span>·<a·id="InfoTyp.t"·class="idref"·href="#InfoTyp.t"><span·class="id"·title="axiom">t</span></a>·:·<span·class="id"·title="keyword">Set</span>.<br/> | 103 | <span·class="id"·title="keyword">Parameter</span>·<a·id="InfoTyp.t"·class="idref"·href="#InfoTyp.t"><span·class="id"·title="axiom">t</span></a>·:·<span·class="id"·title="keyword">Set</span>.<br/> |
104 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#InfoTyp"><span·class="id"·title="module">InfoTyp</span></a>.<br/> | 104 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#InfoTyp"><span·class="id"·title="module">InfoTyp</span></a>.<br/> |
105 | <br/> | 105 | <br/> |
106 | </div> | 106 | </div> |
107 | <div·class="doc"> | 107 | <div·class="doc"> |
108 | <a·id="lab | 108 | <a·id="lab1095"></a><h1·class="section">Ops·:·the·pure·functions</h1> |
109 | </div> | 109 | </div> |
110 | <div·class="code"> | 110 | <div·class="code"> |
111 | <br/> | 111 | <br/> |
112 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)(<span·class="id"·title="var">Info</span>:<a·class="idref"·href="Coq.MSets.MSetGenTree.html#InfoTyp"><span·class="id"·title="module">InfoTyp</span></a>).<br/> | 112 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>)(<span·class="id"·title="var">Info</span>:<a·class="idref"·href="Coq.MSets.MSetGenTree.html#InfoTyp"><span·class="id"·title="module">InfoTyp</span></a>).<br/> |
Offset 125, 15 lines modified | Offset 125, 15 lines modified | ||
125 | |·<a·id="Ops.Leaf"·class="idref"·href="#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a><br/> | 125 | |·<a·id="Ops.Leaf"·class="idref"·href="#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a><br/> |
126 | |·<a·id="Ops.Node"·class="idref"·href="#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Info.t"><span·class="id"·title="axiom">Info.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.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</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.MSets.MSetGenTree.html#X.t"><span·class="id"·title="axiom">X.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.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</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.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a>.<br/> | 126 | |·<a·id="Ops.Node"·class="idref"·href="#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Info.t"><span·class="id"·title="axiom">Info.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.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</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.MSets.MSetGenTree.html#X.t"><span·class="id"·title="axiom">X.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.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</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.MSets.MSetGenTree.html#tree:3"><span·class="id"·title="inductive">tree</span></a>.<br/> |
127 | <br/> | 127 | <br/> |
128 | </div> | 128 | </div> |
129 | <div·class="doc"> | 129 | <div·class="doc"> |
130 | <a·id="lab | 130 | <a·id="lab1096"></a><h2·class="section">The·empty·set·and·emptyness·test</h2> |
131 | </div> | 131 | </div> |
132 | <div·class="code"> | 132 | <div·class="code"> |
133 | <br/> | 133 | <br/> |
134 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.empty"·class="idref"·href="#Ops.empty"><span·class="id"·title="definition">empty</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.empty"·class="idref"·href="#Ops.empty"><span·class="id"·title="definition">empty</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> |
Offset 144, 15 lines modified | Offset 144, 15 lines modified | ||
144 | |·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><br/> | 144 | |·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a><br/> |
145 | <span·class="id"·title="keyword">end</span>.<br/> | 145 | <span·class="id"·title="keyword">end</span>.<br/> |
146 | <br/> | 146 | <br/> |
147 | </div> | 147 | </div> |
148 | <div·class="doc"> | 148 | <div·class="doc"> |
149 | <a·id="lab | 149 | <a·id="lab1097"></a><h2·class="section">Membership·test</h2> |
150 | <div·class="paragraph">·</div> | 150 | <div·class="paragraph">·</div> |
151 | ·The·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·function·is·deciding·membership.·It·exploits·the | 151 | ·The·<span·class="inlinecode"><span·class="id"·title="var">mem</span></span>·function·is·deciding·membership.·It·exploits·the |
152 | ····binary·search·tree·invariant·to·achieve·logarithmic·complexity.· | 152 | ····binary·search·tree·invariant·to·achieve·logarithmic·complexity.· |
153 | </div> | 153 | </div> |
154 | <div·class="code"> | 154 | <div·class="code"> |
Offset 169, 15 lines modified | Offset 169, 15 lines modified | ||
169 | <span·class="id"·title="keyword">end</span><br/> | 169 | <span·class="id"·title="keyword">end</span><br/> |
170 | <span·class="id"·title="keyword">end</span>.<br/> | 170 | <span·class="id"·title="keyword">end</span>.<br/> |
171 | <br/> | 171 | <br/> |
172 | </div> | 172 | </div> |
173 | <div·class="doc"> | 173 | <div·class="doc"> |
174 | <a·id="lab | 174 | <a·id="lab1098"></a><h2·class="section">Minimal,·maximal,·arbitrary·elements</h2> |
175 | </div> | 175 | </div> |
176 | <div·class="code"> | 176 | <div·class="code"> |
177 | <br/> | 177 | <br/> |
178 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.min_elt"·class="idref"·href="#Ops.min_elt"><span·class="id"·title="definition">min_elt</span></a>·(<a·id="t:11"·class="idref"·href="#t:11"><span·class="id"·title="binder">t</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>·:=<br/> | 178 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.min_elt"·class="idref"·href="#Ops.min_elt"><span·class="id"·title="definition">min_elt</span></a>·(<a·id="t:11"·class="idref"·href="#t:11"><span·class="id"·title="binder">t</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#option"><span·class="id"·title="inductive">option</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>·:=<br/> |
179 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#t:11"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> | 179 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#t:11"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 197, 15 lines modified | Offset 197, 15 lines modified | ||
197 | <br/> | 197 | <br/> |
198 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.choose"·class="idref"·href="#Ops.choose"><span·class="id"·title="definition">choose</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.min_elt"><span·class="id"·title="definition">min_elt</span></a>.<br/> | 198 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.choose"·class="idref"·href="#Ops.choose"><span·class="id"·title="definition">choose</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.min_elt"><span·class="id"·title="definition">min_elt</span></a>.<br/> |
199 | <br/> | 199 | <br/> |
200 | </div> | 200 | </div> |
201 | <div·class="doc"> | 201 | <div·class="doc"> |
202 | <a·id="lab | 202 | <a·id="lab1099"></a><h2·class="section">Iteration·on·elements</h2> |
203 | </div> | 203 | </div> |
204 | <div·class="code"> | 204 | <div·class="code"> |
205 | <br/> | 205 | <br/> |
206 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.fold"·class="idref"·href="#Ops.fold"><span·class="id"·title="definition">fold</span></a>·{<a·id="A:17"·class="idref"·href="#A:17"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">Type</span>}·(<a·id="f:18"·class="idref"·href="#f:18"><span·class="id"·title="binder">f</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.elt"><span·class="id"·title="definition">elt</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.MSets.MSetGenTree.html#A:17"><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.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>)·(<a·id="t:19"·class="idref"·href="#t:19"><span·class="id"·title="binder">t</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·(<a·id="base:20"·class="idref"·href="#base:20"><span·class="id"·title="binder">base</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>·:=<br/> | 206 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.fold"·class="idref"·href="#Ops.fold"><span·class="id"·title="definition">fold</span></a>·{<a·id="A:17"·class="idref"·href="#A:17"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">Type</span>}·(<a·id="f:18"·class="idref"·href="#f:18"><span·class="id"·title="binder">f</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.elt"><span·class="id"·title="definition">elt</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.MSets.MSetGenTree.html#A:17"><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.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>)·(<a·id="t:19"·class="idref"·href="#t:19"><span·class="id"·title="binder">t</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·(<a·id="base:20"·class="idref"·href="#base:20"><span·class="id"·title="binder">base</span></a>:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#A:17"><span·class="id"·title="variable">A</span></a>·:=<br/> |
207 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#t:19"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> | 207 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#t:19"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 254, 15 lines modified | Offset 254, 15 lines modified | ||
254 | |·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">r</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.Init.Peano.html#min"><span·class="id"·title="abbreviation">min</span></a>·(<a·class="idref"·href="Coq.MSets.MSetGenTree.html#mindepth:38"><span·class="id"·title="definition">mindepth</span></a>·<span·class="id"·title="var">l</span>)·(<a·class="idref"·href="Coq.MSets.MSetGenTree.html#mindepth:38"><span·class="id"·title="definition">mindepth</span></a>·<span·class="id"·title="var">r</span>))<br/> | 254 | |·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">r</span>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(<a·class="idref"·href="Coq.Init.Peano.html#min"><span·class="id"·title="abbreviation">min</span></a>·(<a·class="idref"·href="Coq.MSets.MSetGenTree.html#mindepth:38"><span·class="id"·title="definition">mindepth</span></a>·<span·class="id"·title="var">l</span>)·(<a·class="idref"·href="Coq.MSets.MSetGenTree.html#mindepth:38"><span·class="id"·title="definition">mindepth</span></a>·<span·class="id"·title="var">r</span>))<br/> |
255 | <span·class="id"·title="keyword">end</span>.<br/> | 255 | <span·class="id"·title="keyword">end</span>.<br/> |
256 | <br/> | 256 | <br/> |
257 | </div> | 257 | </div> |
258 | <div·class="doc"> | 258 | <div·class="doc"> |
259 | <a·id="lab | 259 | <a·id="lab1100"></a><h2·class="section">Testing·universal·or·existential·properties.</h2> |
260 | <div·class="paragraph">·</div> | 260 | <div·class="paragraph">·</div> |
261 | ·We·do·not·use·the·standard·boolean·operators·of·Coq, | 261 | ·We·do·not·use·the·standard·boolean·operators·of·Coq, |
262 | ····but·lazy·ones.· | 262 | ····but·lazy·ones.· |
263 | </div> | 263 | </div> |
264 | <div·class="code"> | 264 | <div·class="code"> |
Offset 279, 15 lines modified | Offset 279, 15 lines modified | ||
279 | |·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">r</span>·=>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Bool.Bool.html#0355f6c50df14bfb34d066e9a1089633"><span·class="id"·title="notation">|||</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#exists_:46"><span·class="id"·title="definition">exists_</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">l</span>·<a·class="idref"·href="Coq.Bool.Bool.html#0355f6c50df14bfb34d066e9a1089633"><span·class="id"·title="notation">|||</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#exists_:46"><span·class="id"·title="definition">exists_</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">r</span><br/> | 279 | |·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">l</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">r</span>·=>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Bool.Bool.html#0355f6c50df14bfb34d066e9a1089633"><span·class="id"·title="notation">|||</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#exists_:46"><span·class="id"·title="definition">exists_</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">l</span>·<a·class="idref"·href="Coq.Bool.Bool.html#0355f6c50df14bfb34d066e9a1089633"><span·class="id"·title="notation">|||</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#exists_:46"><span·class="id"·title="definition">exists_</span></a>·<a·class="idref"·href="Coq.MSets.MSetGenTree.html#f:44"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">r</span><br/> |
280 | <span·class="id"·title="keyword">end</span>.<br/> | 280 | <span·class="id"·title="keyword">end</span>.<br/> |
281 | <br/> | 281 | <br/> |
282 | </div> | 282 | </div> |
283 | <div·class="doc"> | 283 | <div·class="doc"> |
284 | <a·id="lab | 284 | <a·id="lab1101"></a><h2·class="section">Comparison·of·trees</h2> |
285 | <div·class="paragraph">·</div> | 285 | <div·class="paragraph">·</div> |
286 | ·The·algorithm·here·has·been·suggested·by·Xavier·Leroy, | 286 | ·The·algorithm·here·has·been·suggested·by·Xavier·Leroy, |
287 | ····and·transformed·into·c.p.s.·by·Benjamin·Grégoire. | 287 | ····and·transformed·into·c.p.s.·by·Benjamin·Grégoire. |
288 | ····The·original·ocaml·code·(with·non-structural·recursive·calls) | 288 | ····The·original·ocaml·code·(with·non-structural·recursive·calls) |
289 | ····has·also·been·formalized·(thanks·to·Function+measure),·see | 289 | ····has·also·been·formalized·(thanks·to·Function+measure),·see |
Max diff block lines reached; 51539/62004 bytes (83.12%) of diff not shown. |
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="lab1087"></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 314, 15 lines modified | Offset 314, 15 lines modified | ||
314 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#HasWOps"><span·class="id"·title="module">HasWOps</span></a>.<br/> | 314 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#HasWOps"><span·class="id"·title="module">HasWOps</span></a>.<br/> |
315 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WOps"><span·class="id"·title="module">WOps</span></a>.<br/> | 315 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WOps"><span·class="id"·title="module">WOps</span></a>.<br/> |
316 | <br/> | 316 | <br/> |
317 | </div> | 317 | </div> |
318 | <div·class="doc"> | 318 | <div·class="doc"> |
319 | <a·id="lab | 319 | <a·id="lab1088"></a><h2·class="section">Functorial·signature·for·weak·sets</h2> |
320 | <div·class="paragraph">·</div> | 320 | <div·class="paragraph">·</div> |
321 | ····Weak·sets·are·sets·without·ordering·on·base·elements,·only | 321 | ····Weak·sets·are·sets·without·ordering·on·base·elements,·only |
322 | ····a·decidable·equality.· | 322 | ····a·decidable·equality.· |
323 | </div> | 323 | </div> |
Offset 428, 15 lines modified | Offset 428, 15 lines modified | ||
428 | <br/> | 428 | <br/> |
429 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>.<br/> | 429 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>.<br/> |
430 | <br/> | 430 | <br/> |
431 | </div> | 431 | </div> |
432 | <div·class="doc"> | 432 | <div·class="doc"> |
433 | <a·id="lab | 433 | <a·id="lab1089"></a><h2·class="section">Static·signature·for·weak·sets</h2> |
434 | <div·class="paragraph">·</div> | 434 | <div·class="paragraph">·</div> |
435 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">WSetsOn</span></span>,·except·that·the | 435 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">WSetsOn</span></span>,·except·that·the |
436 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 436 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· |
437 | </div> | 437 | </div> |
Offset 448, 15 lines modified | Offset 448, 15 lines modified | ||
448 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSets.E"><span·class="id"·title="module">E</span></a>.<br/> | 448 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSetsOn"><span·class="id"·title="module">WSetsOn</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSets.E"><span·class="id"·title="module">E</span></a>.<br/> |
449 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSets"><span·class="id"·title="module">WSets</span></a>.<br/> | 449 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WSets"><span·class="id"·title="module">WSets</span></a>.<br/> |
450 | <br/> | 450 | <br/> |
451 | </div> | 451 | </div> |
452 | <div·class="doc"> | 452 | <div·class="doc"> |
453 | <a·id="lab | 453 | <a·id="lab1090"></a><h2·class="section">Functorial·signature·for·sets·on·ordered·elements</h2> |
454 | <div·class="paragraph">·</div> | 454 | <div·class="paragraph">·</div> |
455 | ····Based·on·<span·class="inlinecode"><span·class="id"·title="var">WSetsOn</span></span>,·plus·ordering·on·sets·and·<span·class="inlinecode"><span·class="id"·title="var">min_elt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">max_elt</span></span> | 455 | ····Based·on·<span·class="inlinecode"><span·class="id"·title="var">WSetsOn</span></span>,·plus·ordering·on·sets·and·<span·class="inlinecode"><span·class="id"·title="var">min_elt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">max_elt</span></span> |
456 | ····and·some·stronger·specifications·for·other·functions.· | 456 | ····and·some·stronger·specifications·for·other·functions.· |
457 | </div> | 457 | </div> |
Offset 560, 15 lines modified | Offset 560, 15 lines modified | ||
560 | <br/> | 560 | <br/> |
561 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#SetsOn"><span·class="id"·title="module">SetsOn</span></a>.<br/> | 561 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#SetsOn"><span·class="id"·title="module">SetsOn</span></a>.<br/> |
562 | <br/> | 562 | <br/> |
563 | </div> | 563 | </div> |
564 | <div·class="doc"> | 564 | <div·class="doc"> |
565 | <a·id="lab | 565 | <a·id="lab1091"></a><h2·class="section">Static·signature·for·sets·on·ordered·elements</h2> |
566 | <div·class="paragraph">·</div> | 566 | <div·class="paragraph">·</div> |
567 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">SetsOn</span></span>,·except·that·the | 567 | ····Similar·to·the·functorial·signature·<span·class="inlinecode"><span·class="id"·title="var">SetsOn</span></span>,·except·that·the |
568 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· | 568 | ····module·<span·class="inlinecode"><span·class="id"·title="var">E</span></span>·of·base·elements·is·incorporated·in·the·signature.· |
569 | </div> | 569 | </div> |
Offset 583, 15 lines modified | Offset 583, 15 lines modified | ||
583 | <br/> | 583 | <br/> |
584 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="S"·class="idref"·href="#S"><span·class="id"·title="module">S</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Sets"><span·class="id"·title="module">Sets</span></a>.<br/> | 584 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="S"·class="idref"·href="#S"><span·class="id"·title="module">S</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Sets"><span·class="id"·title="module">Sets</span></a>.<br/> |
585 | <br/> | 585 | <br/> |
586 | </div> | 586 | </div> |
587 | <div·class="doc"> | 587 | <div·class="doc"> |
588 | <a·id="lab | 588 | <a·id="lab1092"></a><h2·class="section">Some·subtyping·tests</h2> |
589 | <pre> | 589 | <pre> |
590 | WSetsOn·--->·WSets | 590 | WSetsOn·--->·WSets |
591 | ·|···········| | 591 | ·|···········| |
592 | ·|···········| | 592 | ·|···········| |
593 | ·V···········V | 593 | ·V···········V |
594 | SetsOn··--->·Sets | 594 | SetsOn··--->·Sets |
Offset 600, 15 lines modified | Offset 600, 15 lines modified | ||
600 | Module·Sfun_WSfun·(E:OrderedType)(M·:·SetsOn·E)·<:·WSetsOn·E·:=·M. | 600 | Module·Sfun_WSfun·(E:OrderedType)(M·:·SetsOn·E)·<:·WSetsOn·E·:=·M. |
601 | Module·S_Sfun·(M·:·Sets)·<:·SetsOn·M.E·:=·M. | 601 | Module·S_Sfun·(M·:·Sets)·<:·SetsOn·M.E·:=·M. |
602 | Module·WS_WSfun·(M·:·WSets)·<:·WSetsOn·M.E·:=·M. | 602 | Module·WS_WSfun·(M·:·WSets)·<:·WSetsOn·M.E·:=·M. |
603 | </pre> | 603 | </pre> |
604 | <div·class="paragraph">·</div> | 604 | <div·class="paragraph">·</div> |
605 | <a·id="lab | 605 | <a·id="lab1093"></a><h2·class="section">Signatures·for·set·representations·with·ill-formed·values.</h2> |
606 | <div·class="paragraph">·</div> | 606 | <div·class="paragraph">·</div> |
607 | ···Motivation: | 607 | ···Motivation: |
608 | <div·class="paragraph">·</div> | 608 | <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="lab1187"></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 62, 15 lines modified | Offset 62, 15 lines modified | ||
62 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Structures.OrdersLists.html#"><span·class="id"·title="library">OrdersLists</span></a>.<br/> | 62 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#"><span·class="id"·title="library">MSetInterface</span></a>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#"><span·class="id"·title="library">OrdersFacts</span></a>·<a·class="idref"·href="Coq.Structures.OrdersLists.html#"><span·class="id"·title="library">OrdersLists</span></a>.<br/> |
63 | <span·class="id"·title="keyword">Set·Implicit·Arguments</span>.<br/> | 63 | <span·class="id"·title="keyword">Set·Implicit·Arguments</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="lab1188"></a><h1·class="section">Functions·over·lists</h1> |
68 | <div·class="paragraph">·</div> | 68 | <div·class="paragraph">·</div> |
69 | ···First,·we·provide·sets·as·lists·which·are·not·necessarily·sorted. | 69 | ···First,·we·provide·sets·as·lists·which·are·not·necessarily·sorted. |
70 | ···The·specs·are·proved·under·the·additional·condition·of·being·sorted. | 70 | ···The·specs·are·proved·under·the·additional·condition·of·being·sorted. |
71 | ···And·the·functions·returning·sets·are·proved·to·preserve·this·invariant.· | 71 | ···And·the·functions·returning·sets·are·proved·to·preserve·this·invariant.· |
Offset 90, 15 lines modified | Offset 90, 15 lines modified | ||
90 | <br/> | 90 | <br/> |
91 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.is_empty"·class="idref"·href="#Ops.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:1"·class="idref"·href="#l:1"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetList.html#Ops.t"><span·class="id"·title="definition">t</span></a>)·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#l:1"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 91 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.is_empty"·class="idref"·href="#Ops.is_empty"><span·class="id"·title="definition">is_empty</span></a>·(<a·id="l:1"·class="idref"·href="#l:1"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetList.html#Ops.t"><span·class="id"·title="definition">t</span></a>)·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#l:1"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> |
92 | <br/> | 92 | <br/> |
93 | </div> | 93 | </div> |
94 | <div·class="doc"> | 94 | <div·class="doc"> |
95 | <a·id="lab | 95 | <a·id="lab1189"></a><h2·class="section">The·set·operations.</h2> |
96 | </div> | 96 | </div> |
97 | <div·class="code"> | 97 | <div·class="code"> |
98 | <br/> | 98 | <br/> |
99 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.mem"·class="idref"·href="#Ops.mem"><span·class="id"·title="definition">mem</span></a>·<a·id="x:2"·class="idref"·href="#x:2"><span·class="id"·title="binder">x</span></a>·<a·id="s:3"·class="idref"·href="#s:3"><span·class="id"·title="binder">s</span></a>·:=<br/> | 99 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.mem"·class="idref"·href="#Ops.mem"><span·class="id"·title="definition">mem</span></a>·<a·id="x:2"·class="idref"·href="#x:2"><span·class="id"·title="binder">x</span></a>·<a·id="s:3"·class="idref"·href="#s:3"><span·class="id"·title="binder">s</span></a>·:=<br/> |
100 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#s:3"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 100 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#s:3"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 298, 15 lines modified | Offset 298, 15 lines modified | ||
298 | <br/> | 298 | <br/> |
299 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#Ops"><span·class="id"·title="module">Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 299 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#Ops"><span·class="id"·title="module">Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetList.html#X"><span·class="id"·title="module">X</span></a>.<br/> |
300 | <br/> | 300 | <br/> |
301 | </div> | 301 | </div> |
302 | <div·class="doc"> | 302 | <div·class="doc"> |
303 | <a·id="lab | 303 | <a·id="lab1190"></a><h2·class="section">Proofs·of·set·operation·specifications.</h2> |
304 | </div> | 304 | </div> |
305 | <div·class="code"> | 305 | <div·class="code"> |
306 | <br/> | 306 | <br/> |
307 | <span·class="id"·title="keyword">Section</span>·<a·id="MakeRaw.ForNotations"·class="idref"·href="#MakeRaw.ForNotations"><span·class="id"·title="section">ForNotations</span></a>.<br/> | 307 | <span·class="id"·title="keyword">Section</span>·<a·id="MakeRaw.ForNotations"·class="idref"·href="#MakeRaw.ForNotations"><span·class="id"·title="section">ForNotations</span></a>.<br/> |
Offset 639, 15 lines modified | Offset 639, 15 lines modified | ||
639 | <br/> | 639 | <br/> |
640 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>.<br/> | 640 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetList.html#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>.<br/> |
641 | <br/> | 641 | <br/> |
642 | </div> | 642 | </div> |
643 | <div·class="doc"> | 643 | <div·class="doc"> |
644 | <a·id="lab | 644 | <a·id="lab1191"></a><h1·class="section">Encapsulation</h1> |
645 | <div·class="paragraph">·</div> | 645 | <div·class="paragraph">·</div> |
646 | ···Now,·in·order·to·really·provide·a·functor·implementing·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>,·we | 646 | ···Now,·in·order·to·really·provide·a·functor·implementing·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>,·we |
647 | ···need·to·encapsulate·everything·into·a·type·of·strictly·ordered·lists.· | 647 | ···need·to·encapsulate·everything·into·a·type·of·strictly·ordered·lists.· |
648 | </div> | 648 | </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="lab1173"></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 338, 30 lines modified | Offset 338, 30 lines modified | ||
338 | <span·class="id"·title="var">remove_diff_singleton</span>·<span·class="id"·title="var">diff_inter_empty</span>·<span·class="id"·title="var">diff_inter_all</span>·<span·class="id"·title="var">Add_add</span>·<span·class="id"·title="var">Add_remove</span><br/> | 338 | <span·class="id"·title="var">remove_diff_singleton</span>·<span·class="id"·title="var">diff_inter_empty</span>·<span·class="id"·title="var">diff_inter_all</span>·<span·class="id"·title="var">Add_add</span>·<span·class="id"·title="var">Add_remove</span><br/> |
339 | <span·class="id"·title="var">Equal_remove</span>·<span·class="id"·title="var">add_add</span>·:·<span·class="id"·title="tactic">set</span>.<br/> | 339 | <span·class="id"·title="var">Equal_remove</span>·<span·class="id"·title="var">add_add</span>·:·<span·class="id"·title="tactic">set</span>.<br/> |
340 | <br/> | 340 | <br/> |
341 | </div> | 341 | </div> |
342 | <div·class="doc"> | 342 | <div·class="doc"> |
343 | <a·id="lab | 343 | <a·id="lab1174"></a><h1·class="section">Properties·of·elements</h1> |
344 | </div> | 344 | </div> |
345 | <div·class="code"> | 345 | <div·class="code"> |
346 | <br/> | 346 | <br/> |
347 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.elements_Empty"·class="idref"·href="#WPropertiesOn.elements_Empty"><span·class="id"·title="lemma">elements_Empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:26"><span·class="id"·title="variable">s</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.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:26"><span·class="id"·title="variable">s</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#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 347 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.elements_Empty"·class="idref"·href="#WPropertiesOn.elements_Empty"><span·class="id"·title="lemma">elements_Empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.Empty"><span·class="id"·title="definition">Empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:26"><span·class="id"·title="variable">s</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.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:26"><span·class="id"·title="variable">s</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#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> |
348 | <br/> | 348 | <br/> |
349 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.elements_empty"·class="idref"·href="#WPropertiesOn.elements_empty"><span·class="id"·title="lemma">elements_empty</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</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#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> | 349 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.elements_empty"·class="idref"·href="#WPropertiesOn.elements_empty"><span·class="id"·title="lemma">elements_empty</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</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#nil"><span·class="id"·title="constructor">nil</span></a>.<br/> |
350 | <br/> | 350 | <br/> |
351 | </div> | 351 | </div> |
352 | <div·class="doc"> | 352 | <div·class="doc"> |
353 | <a·id="lab | 353 | <a·id="lab1175"></a><h1·class="section">Conversions·between·lists·and·sets</h1> |
354 | </div> | 354 | </div> |
355 | <div·class="code"> | 355 | <div·class="code"> |
356 | <br/> | 356 | <br/> |
357 | <span·class="id"·title="keyword">Definition</span>·<a·id="WPropertiesOn.of_list"·class="idref"·href="#WPropertiesOn.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·id="l:29"·class="idref"·href="#l:29"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>)·:=·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#l:29"><span·class="id"·title="variable">l</span></a>.<br/> | 357 | <span·class="id"·title="keyword">Definition</span>·<a·id="WPropertiesOn.of_list"·class="idref"·href="#WPropertiesOn.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·id="l:29"·class="idref"·href="#l:29"><span·class="id"·title="binder">l</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elt"><span·class="id"·title="definition">elt</span></a>)·:=·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#l:29"><span·class="id"·title="variable">l</span></a>.<br/> |
Offset 377, 15 lines modified | Offset 377, 15 lines modified | ||
377 | <br/> | 377 | <br/> |
378 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.of_list_3"·class="idref"·href="#WPropertiesOn.of_list_3"><span·class="id"·title="lemma">of_list_3</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>.<br/> | 378 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.of_list_3"·class="idref"·href="#WPropertiesOn.of_list_3"><span·class="id"·title="lemma">of_list_3</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:33"·class="idref"·href="#s:33"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.of_list"><span·class="id"·title="definition">of_list</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:33"><span·class="id"·title="variable">s</span></a>.<br/> |
379 | <br/> | 379 | <br/> |
380 | </div> | 380 | </div> |
381 | <div·class="doc"> | 381 | <div·class="doc"> |
382 | <a·id="lab | 382 | <a·id="lab1176"></a><h1·class="section">Fold</h1> |
383 | </div> | 383 | </div> |
384 | <div·class="code"> | 384 | <div·class="code"> |
385 | <br/> | 385 | <br/> |
386 | <span·class="id"·title="keyword">Section</span>·<a·id="WPropertiesOn.Fold"·class="idref"·href="#WPropertiesOn.Fold"><span·class="id"·title="section">Fold</span></a>.<br/> | 386 | <span·class="id"·title="keyword">Section</span>·<a·id="WPropertiesOn.Fold"·class="idref"·href="#WPropertiesOn.Fold"><span·class="id"·title="section">Fold</span></a>.<br/> |
Offset 405, 15 lines modified | Offset 405, 15 lines modified | ||
405 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_spec_right"·class="idref"·href="#WPropertiesOn.fold_spec_right"><span·class="id"·title="lemma">fold_spec_right</span></a>·(<a·id="s:34"·class="idref"·href="#s:34"><span·class="id"·title="binder">s</span></a>:<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.t"><span·class="id"·title="axiom">t</span></a>)(<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="i:36"·class="idref"·href="#i:36"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>)(<a·id="f:37"·class="idref"·href="#f:37"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elt"><span·class="id"·title="definition">elt</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.MSets.MSetProperties.html#A:35"><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.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>)·:<br/> | 405 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_spec_right"·class="idref"·href="#WPropertiesOn.fold_spec_right"><span·class="id"·title="lemma">fold_spec_right</span></a>·(<a·id="s:34"·class="idref"·href="#s:34"><span·class="id"·title="binder">s</span></a>:<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.t"><span·class="id"·title="axiom">t</span></a>)(<a·id="A:35"·class="idref"·href="#A:35"><span·class="id"·title="binder">A</span></a>:<span·class="id"·title="keyword">Type</span>)(<a·id="i:36"·class="idref"·href="#i:36"><span·class="id"·title="binder">i</span></a>:<a·class="idref"·href="Coq.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>)(<a·id="f:37"·class="idref"·href="#f:37"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elt"><span·class="id"·title="definition">elt</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.MSets.MSetProperties.html#A:35"><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.MSets.MSetProperties.html#A:35"><span·class="id"·title="variable">A</span></a>)·:<br/> |
406 | <a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:34"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:36"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:36"><span·class="id"·title="variable">i</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:34"><span·class="id"·title="variable">s</span></a>)).<br/> | 406 | <a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:34"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:36"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Lists.List.html#fold_right"><span·class="id"·title="definition">List.fold_right</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:36"><span·class="id"·title="variable">i</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.elements"><span·class="id"·title="axiom">elements</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:34"><span·class="id"·title="variable">s</span></a>)).<br/> |
407 | <br/> | 407 | <br/> |
408 | </div> | 408 | </div> |
409 | <div·class="doc"> | 409 | <div·class="doc"> |
410 | <a·id="lab | 410 | <a·id="lab1177"></a><h2·class="section">Induction·principles·for·fold·(contributed·by·S.·Lescuyer)</h2> |
411 | <div·class="paragraph">·</div> | 411 | <div·class="paragraph">·</div> |
412 | ·In·the·following·lemma,·the·step·hypothesis·is·deliberately·restricted | 412 | ·In·the·following·lemma,·the·step·hypothesis·is·deliberately·restricted |
413 | ······to·the·precise·set·s·we·are·considering.· | 413 | ······to·the·precise·set·s·we·are·considering.· |
414 | </div> | 414 | </div> |
415 | <div·class="code"> | 415 | <div·class="code"> |
Offset 511, 15 lines modified | Offset 511, 15 lines modified | ||
511 | <br/> | 511 | <br/> |
512 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_identity"·class="idref"·href="#WPropertiesOn.fold_identity"><span·class="id"·title="lemma">fold_identity</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:120"·class="idref"·href="#s:120"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>.<br/> | 512 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_identity"·class="idref"·href="#WPropertiesOn.fold_identity"><span·class="id"·title="lemma">fold_identity</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="s:120"·class="idref"·href="#s:120"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.add"><span·class="id"·title="axiom">add</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:120"><span·class="id"·title="variable">s</span></a>.<br/> |
513 | <br/> | 513 | <br/> |
514 | </div> | 514 | </div> |
515 | <div·class="doc"> | 515 | <div·class="doc"> |
516 | <a·id="lab | 516 | <a·id="lab1178"></a><h2·class="section">Alternative·(weaker)·specifications·for·<span·class="inlinecode"><span·class="id"·title="tactic">fold</span></span></h2> |
517 | <div·class="paragraph">·</div> | 517 | <div·class="paragraph">·</div> |
518 | ·When·<span·class="inlinecode"><span·class="id"·title="var">MSets</span></span>·was·first·designed,·the·order·in·which·Ocaml's·<span·class="inlinecode"><span·class="id"·title="var">Set.fold</span></span> | 518 | ·When·<span·class="inlinecode"><span·class="id"·title="var">MSets</span></span>·was·first·designed,·the·order·in·which·Ocaml's·<span·class="inlinecode"><span·class="id"·title="var">Set.fold</span></span> |
519 | ······takes·the·set·elements·was·unspecified.·This·specification·reflects | 519 | ······takes·the·set·elements·was·unspecified.·This·specification·reflects |
520 | ······this·fact: | 520 | ······this·fact: |
521 | ·· | 521 | ·· |
Offset 583, 15 lines modified | Offset 583, 15 lines modified | ||
583 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_commutes"·class="idref"·href="#WPropertiesOn.fold_commutes"><span·class="id"·title="lemma">fold_commutes</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:161"·class="idref"·href="#i:161"><span·class="id"·title="binder">i</span></a>·<a·id="s:162"·class="idref"·href="#s:162"><span·class="id"·title="binder">s</span></a>·<a·id="x:163"·class="idref"·href="#x:163"><span·class="id"·title="binder">x</span></a>,<br/> | 583 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_commutes"·class="idref"·href="#WPropertiesOn.fold_commutes"><span·class="id"·title="lemma">fold_commutes</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:161"·class="idref"·href="#i:161"><span·class="id"·title="binder">i</span></a>·<a·id="s:162"·class="idref"·href="#s:162"><span·class="id"·title="binder">s</span></a>·<a·id="x:163"·class="idref"·href="#x:163"><span·class="id"·title="binder">x</span></a>,<br/> |
584 | <a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>)).<br/> | 584 | <a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#x:163"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:162"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:161"><span·class="id"·title="variable">i</span></a>)).<br/> |
585 | <br/> | 585 | <br/> |
586 | </div> | 586 | </div> |
587 | <div·class="doc"> | 587 | <div·class="doc"> |
588 | <a·id="lab | 588 | <a·id="lab1179"></a><h2·class="section">Fold·is·a·morphism</h2> |
589 | </div> | 589 | </div> |
590 | <div·class="code"> | 590 | <div·class="code"> |
591 | <br/> | 591 | <br/> |
592 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_init"·class="idref"·href="#WPropertiesOn.fold_init"><span·class="id"·title="lemma">fold_init</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:168"·class="idref"·href="#i:168"><span·class="id"·title="binder">i</span></a>·<a·id="i':169"·class="idref"·href="#i':169"><span·class="id"·title="binder">i'</span></a>·<a·id="s:170"·class="idref"·href="#s:170"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i':169"><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><br/> | 592 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_init"·class="idref"·href="#WPropertiesOn.fold_init"><span·class="id"·title="lemma">fold_init</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:168"·class="idref"·href="#i:168"><span·class="id"·title="binder">i</span></a>·<a·id="i':169"·class="idref"·href="#i':169"><span·class="id"·title="binder">i'</span></a>·<a·id="s:170"·class="idref"·href="#s:170"><span·class="id"·title="binder">s</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i':169"><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><br/> |
593 | <a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>).<br/> | 593 | <a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:168"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:170"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i':169"><span·class="id"·title="variable">i'</span></a>).<br/> |
Offset 600, 15 lines modified | Offset 600, 15 lines modified | ||
600 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_equal"·class="idref"·href="#WPropertiesOn.fold_equal"><span·class="id"·title="lemma">fold_equal</span></a>·:<br/> | 600 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_equal"·class="idref"·href="#WPropertiesOn.fold_equal"><span·class="id"·title="lemma">fold_equal</span></a>·:<br/> |
601 | <span·class="id"·title="keyword">forall</span>·<a·id="i:171"·class="idref"·href="#i:171"><span·class="id"·title="binder">i</span></a>·<a·id="s:172"·class="idref"·href="#s:172"><span·class="id"·title="binder">s</span></a>·<a·id="s':173"·class="idref"·href="#s':173"><span·class="id"·title="binder">s'</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a><a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a><a·class="idref"·href="Coq.MSets.MSetProperties.html#s':173"><span·class="id"·title="variable">s'</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.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>).<br/> | 601 | <span·class="id"·title="keyword">forall</span>·<a·id="i:171"·class="idref"·href="#i:171"><span·class="id"·title="binder">i</span></a>·<a·id="s:172"·class="idref"·href="#s:172"><span·class="id"·title="binder">s</span></a>·<a·id="s':173"·class="idref"·href="#s':173"><span·class="id"·title="binder">s'</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a><a·class="idref"·href="Coq.MSets.MSetInterface.html#e76abbc315753bea06f53821068cb210"><span·class="id"·title="notation">[=]</span></a><a·class="idref"·href="Coq.MSets.MSetProperties.html#s':173"><span·class="id"·title="variable">s'</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.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.eqA"><span·class="id"·title="variable">eqA</span></a>·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s:172"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>)·(<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#s':173"><span·class="id"·title="variable">s'</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:171"><span·class="id"·title="variable">i</span></a>).<br/> |
602 | <br/> | 602 | <br/> |
603 | </div> | 603 | </div> |
604 | <div·class="doc"> | 604 | <div·class="doc"> |
605 | <a·id="lab | 605 | <a·id="lab1180"></a><h2·class="section">Fold·and·other·set·operators</h2> |
606 | </div> | 606 | </div> |
607 | <div·class="code"> | 607 | <div·class="code"> |
608 | <br/> | 608 | <br/> |
609 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_empty"·class="idref"·href="#WPropertiesOn.fold_empty"><span·class="id"·title="lemma">fold_empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:174"·class="idref"·href="#i:174"><span·class="id"·title="binder">i</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>.<br/> | 609 | <span·class="id"·title="keyword">Lemma</span>·<a·id="WPropertiesOn.fold_empty"·class="idref"·href="#WPropertiesOn.fold_empty"><span·class="id"·title="lemma">fold_empty</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="i:174"·class="idref"·href="#i:174"><span·class="id"·title="binder">i</span></a>,·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.fold"><span·class="id"·title="axiom">fold</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#WPropertiesOn.Fold.Fold_More.f"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#M.empty"><span·class="id"·title="axiom">empty</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.MSets.MSetProperties.html#i:174"><span·class="id"·title="variable">i</span></a>.<br/> |
Offset 652, 31 lines modified | Offset 652, 31 lines modified | ||
Max diff block lines reached; 11479/30071 bytes (38.17%) of diff not shown. |
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="lab1044"></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 149, 27 lines modified | Offset 149, 27 lines modified | ||
149 | <span·class="id"·title="keyword">Definition</span>·<a·id="Color.t"·class="idref"·href="#Color.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#color"><span·class="id"·title="inductive">color</span></a>.<br/> | 149 | <span·class="id"·title="keyword">Definition</span>·<a·id="Color.t"·class="idref"·href="#Color.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#color"><span·class="id"·title="inductive">color</span></a>.<br/> |
150 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Color"><span·class="id"·title="module">Color</span></a>.<br/> | 150 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Color"><span·class="id"·title="module">Color</span></a>.<br/> |
151 | <br/> | 151 | <br/> |
152 | </div> | 152 | </div> |
153 | <div·class="doc"> | 153 | <div·class="doc"> |
154 | <a·id="lab | 154 | <a·id="lab1045"></a><h1·class="section">Ops·:·the·pure·functions</h1> |
155 | </div> | 155 | </div> |
156 | <div·class="code"> | 156 | <div·class="code"> |
157 | <br/> | 157 | <br/> |
158 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">Orders.OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Ops"><span·class="id"·title="module">MSetInterface.Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 158 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">Orders.OrderedType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#Ops"><span·class="id"·title="module">MSetInterface.Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#X"><span·class="id"·title="module">X</span></a>.<br/> |
159 | <br/> | 159 | <br/> |
160 | </div> | 160 | </div> |
161 | <div·class="doc"> | 161 | <div·class="doc"> |
162 | <a·id="lab | 162 | <a·id="lab1046"></a><h2·class="section">Generic·trees·instantiated·with·color</h2> |
163 | <div·class="paragraph">·</div> | 163 | <div·class="paragraph">·</div> |
164 | ·We·reuse·a·generic·definition·of·trees·where·the·information | 164 | ·We·reuse·a·generic·definition·of·trees·where·the·information |
165 | ····parameter·is·a·color.·Functions·like·mem·or·fold·are·also | 165 | ····parameter·is·a·color.·Functions·like·mem·or·fold·are·also |
166 | ····provided·by·this·generic·functor.· | 166 | ····provided·by·this·generic·functor.· |
167 | </div> | 167 | </div> |
Offset 183, 27 lines modified | Offset 183, 27 lines modified | ||
183 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.Rd"·class="idref"·href="#Ops.Rd"><span·class="id"·title="abbreviation">Rd</span></a>·:=·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Red"><span·class="id"·title="constructor">Red</span></a>).<br/> | 183 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.Rd"·class="idref"·href="#Ops.Rd"><span·class="id"·title="abbreviation">Rd</span></a>·:=·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Red"><span·class="id"·title="constructor">Red</span></a>).<br/> |
184 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.Bk"·class="idref"·href="#Ops.Bk"><span·class="id"·title="abbreviation">Bk</span></a>·:=·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Black"><span·class="id"·title="constructor">Black</span></a>).<br/> | 184 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="Ops.Bk"·class="idref"·href="#Ops.Bk"><span·class="id"·title="abbreviation">Bk</span></a>·:=·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Black"><span·class="id"·title="constructor">Black</span></a>).<br/> |
185 | <br/> | 185 | <br/> |
186 | </div> | 186 | </div> |
187 | <div·class="doc"> | 187 | <div·class="doc"> |
188 | <a·id="lab | 188 | <a·id="lab1047"></a><h2·class="section">Basic·tree</h2> |
189 | </div> | 189 | </div> |
190 | <div·class="code"> | 190 | <div·class="code"> |
191 | <br/> | 191 | <br/> |
192 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.singleton"·class="idref"·href="#Ops.singleton"><span·class="id"·title="definition">singleton</span></a>·(<a·id="k:13"·class="idref"·href="#k:13"><span·class="id"·title="binder">k</span></a>:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Bk"><span·class="id"·title="abbreviation">Bk</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#k:13"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> | 192 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.singleton"·class="idref"·href="#Ops.singleton"><span·class="id"·title="definition">singleton</span></a>·(<a·id="k:13"·class="idref"·href="#k:13"><span·class="id"·title="binder">k</span></a>:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.elt"><span·class="id"·title="definition">elt</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Bk"><span·class="id"·title="abbreviation">Bk</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#k:13"><span·class="id"·title="variable">k</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Leaf"><span·class="id"·title="constructor">Leaf</span></a>.<br/> |
193 | <br/> | 193 | <br/> |
194 | </div> | 194 | </div> |
195 | <div·class="doc"> | 195 | <div·class="doc"> |
196 | <a·id="lab | 196 | <a·id="lab1048"></a><h2·class="section">Changing·root·color</h2> |
197 | </div> | 197 | </div> |
198 | <div·class="code"> | 198 | <div·class="code"> |
199 | <br/> | 199 | <br/> |
200 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.makeBlack"·class="idref"·href="#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·<a·id="t:14"·class="idref"·href="#t:14"><span·class="id"·title="binder">t</span></a>·:=<br/> | 200 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.makeBlack"·class="idref"·href="#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·<a·id="t:14"·class="idref"·href="#t:14"><span·class="id"·title="binder">t</span></a>·:=<br/> |
201 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#t:14"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> | 201 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#t:14"><span·class="id"·title="variable">t</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 218, 15 lines modified | Offset 218, 15 lines modified | ||
218 | |·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">a</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">b</span>·=>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Rd"><span·class="id"·title="abbreviation">Rd</span></a>·<span·class="id"·title="var">a</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">b</span><br/> | 218 | |·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Node"><span·class="id"·title="constructor">Node</span></a>·<span·class="id"·title="var">_</span>·<span·class="id"·title="var">a</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">b</span>·=>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.Rd"><span·class="id"·title="abbreviation">Rd</span></a>·<span·class="id"·title="var">a</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">b</span><br/> |
219 | <span·class="id"·title="keyword">end</span>.<br/> | 219 | <span·class="id"·title="keyword">end</span>.<br/> |
220 | <br/> | 220 | <br/> |
221 | </div> | 221 | </div> |
222 | <div·class="doc"> | 222 | <div·class="doc"> |
223 | <a·id="lab | 223 | <a·id="lab1049"></a><h2·class="section">Balancing</h2> |
224 | <div·class="paragraph">·</div> | 224 | <div·class="paragraph">·</div> |
225 | ·We·adapt·when·one·side·is·not·a·true·red-black·tree. | 225 | ·We·adapt·when·one·side·is·not·a·true·red-black·tree. |
226 | ····Both·sides·have·the·same·black·depth.· | 226 | ····Both·sides·have·the·same·black·depth.· |
227 | </div> | 227 | </div> |
228 | <div·class="code"> | 228 | <div·class="code"> |
Offset 299, 15 lines modified | Offset 299, 15 lines modified | ||
299 | <span·class="id"·title="keyword">end</span><br/> | 299 | <span·class="id"·title="keyword">end</span><br/> |
300 | <span·class="id"·title="keyword">end</span>.<br/> | 300 | <span·class="id"·title="keyword">end</span>.<br/> |
301 | <br/> | 301 | <br/> |
302 | </div> | 302 | </div> |
303 | <div·class="doc"> | 303 | <div·class="doc"> |
304 | <a·id="lab | 304 | <a·id="lab1050"></a><h2·class="section">Insertion</h2> |
305 | </div> | 305 | </div> |
306 | <div·class="code"> | 306 | <div·class="code"> |
307 | <br/> | 307 | <br/> |
308 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.ins"·class="idref"·href="#Ops.ins"><span·class="id"·title="definition">ins</span></a>·<a·id="x:40"·class="idref"·href="#x:40"><span·class="id"·title="binder">x</span></a>·<a·id="s:41"·class="idref"·href="#s:41"><span·class="id"·title="binder">s</span></a>·:=<br/> | 308 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.ins"·class="idref"·href="#Ops.ins"><span·class="id"·title="definition">ins</span></a>·<a·id="x:40"·class="idref"·href="#x:40"><span·class="id"·title="binder">x</span></a>·<a·id="s:41"·class="idref"·href="#s:41"><span·class="id"·title="binder">s</span></a>·:=<br/> |
309 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#s:41"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 309 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#s:41"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 331, 15 lines modified | Offset 331, 15 lines modified | ||
331 | <br/> | 331 | <br/> |
332 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.add"·class="idref"·href="#Ops.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:46"·class="idref"·href="#x:46"><span·class="id"·title="binder">x</span></a>·<a·id="s:47"·class="idref"·href="#s:47"><span·class="id"·title="binder">s</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.ins"><span·class="id"·title="definition">ins</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#x:46"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#s:47"><span·class="id"·title="variable">s</span></a>).<br/> | 332 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.add"·class="idref"·href="#Ops.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:46"·class="idref"·href="#x:46"><span·class="id"·title="binder">x</span></a>·<a·id="s:47"·class="idref"·href="#s:47"><span·class="id"·title="binder">s</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.ins"><span·class="id"·title="definition">ins</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#x:46"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#s:47"><span·class="id"·title="variable">s</span></a>).<br/> |
333 | <br/> | 333 | <br/> |
334 | </div> | 334 | </div> |
335 | <div·class="doc"> | 335 | <div·class="doc"> |
336 | <a·id="lab | 336 | <a·id="lab1051"></a><h2·class="section">Deletion</h2> |
337 | </div> | 337 | </div> |
338 | <div·class="code"> | 338 | <div·class="code"> |
339 | <br/> | 339 | <br/> |
340 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.append"·class="idref"·href="#Ops.append"><span·class="id"·title="definition">append</span></a>·(<a·id="l:48"·class="idref"·href="#l:48"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</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.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·:=<br/> | 340 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Ops.append"·class="idref"·href="#Ops.append"><span·class="id"·title="definition">append</span></a>·(<a·id="l:48"·class="idref"·href="#l:48"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>)·:·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</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.MSets.MSetRBT.html#Ops.tree"><span·class="id"·title="inductive">tree</span></a>·:=<br/> |
341 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#l:48"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">with</span><br/> | 341 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#l:48"><span·class="id"·title="variable">l</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 391, 15 lines modified | Offset 391, 15 lines modified | ||
391 | <br/> | 391 | <br/> |
392 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.remove"·class="idref"·href="#Ops.remove"><span·class="id"·title="definition">remove</span></a>·<a·id="x:67"·class="idref"·href="#x:67"><span·class="id"·title="binder">x</span></a>·<a·id="t:68"·class="idref"·href="#t:68"><span·class="id"·title="binder">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.del"><span·class="id"·title="definition">del</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#x:67"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#t:68"><span·class="id"·title="variable">t</span></a>).<br/> | 392 | <span·class="id"·title="keyword">Definition</span>·<a·id="Ops.remove"·class="idref"·href="#Ops.remove"><span·class="id"·title="definition">remove</span></a>·<a·id="x:67"·class="idref"·href="#x:67"><span·class="id"·title="binder">x</span></a>·<a·id="t:68"·class="idref"·href="#t:68"><span·class="id"·title="binder">t</span></a>·:=·<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.makeBlack"><span·class="id"·title="definition">makeBlack</span></a>·(<a·class="idref"·href="Coq.MSets.MSetRBT.html#Ops.del"><span·class="id"·title="definition">del</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#x:67"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.MSets.MSetRBT.html#t:68"><span·class="id"·title="variable">t</span></a>).<br/> |
393 | <br/> | 393 | <br/> |
394 | </div> | 394 | </div> |
395 | <div·class="doc"> | 395 | <div·class="doc"> |
Max diff block lines reached; 78372/87546 bytes (89.52%) of diff not shown. |
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="lab1171"></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="lab1172"></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="lab1034"></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 65, 25 lines modified | Offset 65, 25 lines modified | ||
65 | <br/> | 65 | <br/> |
66 | <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>.<br/> | 66 | <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>.<br/> |
67 | <br/> | 67 | <br/> |
68 | </div> | 68 | </div> |
69 | <div·class="doc"> | 69 | <div·class="doc"> |
70 | <a·id="lab | 70 | <a·id="lab1035"></a><h1·class="section">Functions·over·lists</h1> |
71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> |
72 | ···First,·we·provide·sets·as·lists·which·are·(morally)·without·redundancy. | 72 | ···First,·we·provide·sets·as·lists·which·are·(morally)·without·redundancy. |
73 | ···The·specs·are·proved·under·the·additional·condition·of·no·redundancy. | 73 | ···The·specs·are·proved·under·the·additional·condition·of·no·redundancy. |
74 | ···And·the·functions·returning·sets·are·proved·to·preserve·this·invariant.· | 74 | ···And·the·functions·returning·sets·are·proved·to·preserve·this·invariant.· |
75 | <div·class="paragraph">·</div> | 75 | <div·class="paragraph">·</div> |
76 | <a·id="lab | 76 | <a·id="lab1036"></a><h2·class="section">The·set·operations.</h2> |
77 | </div> | 77 | </div> |
78 | <div·class="code"> | 78 | <div·class="code"> |
79 | <br/> | 79 | <br/> |
80 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WOps"><span·class="id"·title="module">WOps</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 80 | <span·class="id"·title="keyword">Module</span>·<a·id="Ops"·class="idref"·href="#Ops"><span·class="id"·title="module">Ops</span></a>·(<span·class="id"·title="var">X</span>:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WOps"><span·class="id"·title="module">WOps</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> |
Offset 190, 15 lines modified | Offset 190, 15 lines modified | ||
190 | <br/> | 190 | <br/> |
191 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#Ops"><span·class="id"·title="module">Ops</span></a>.<br/> | 191 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#Ops"><span·class="id"·title="module">Ops</span></a>.<br/> |
192 | <br/> | 192 | <br/> |
193 | </div> | 193 | </div> |
194 | <div·class="doc"> | 194 | <div·class="doc"> |
195 | <a·id="lab | 195 | <a·id="lab1037"></a><h2·class="section">Proofs·of·set·operation·specifications.</h2> |
196 | </div> | 196 | </div> |
197 | <div·class="code"> | 197 | <div·class="code"> |
198 | <br/> | 198 | <br/> |
199 | <span·class="id"·title="keyword">Module</span>·<a·id="MakeRaw"·class="idref"·href="#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WRawSets"><span·class="id"·title="module">WRawSets</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 199 | <span·class="id"·title="keyword">Module</span>·<a·id="MakeRaw"·class="idref"·href="#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>·(<span·class="id"·title="var">X</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableType"><span·class="id"·title="module">DecidableType</span></a>)·<:·<a·class="idref"·href="Coq.MSets.MSetInterface.html#WRawSets"><span·class="id"·title="module">WRawSets</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> |
200 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#Ops"><span·class="id"·title="module">Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> | 200 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#Ops"><span·class="id"·title="module">Ops</span></a>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#X"><span·class="id"·title="module">X</span></a>.<br/> |
Offset 422, 15 lines modified | Offset 422, 15 lines modified | ||
422 | <br/> | 422 | <br/> |
423 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>.<br/> | 423 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.MSets.MSetWeakList.html#MakeRaw"><span·class="id"·title="module">MakeRaw</span></a>.<br/> |
424 | <br/> | 424 | <br/> |
425 | </div> | 425 | </div> |
426 | <div·class="doc"> | 426 | <div·class="doc"> |
427 | <a·id="lab | 427 | <a·id="lab1038"></a><h1·class="section">Encapsulation</h1> |
428 | <div·class="paragraph">·</div> | 428 | <div·class="paragraph">·</div> |
429 | ···Now,·in·order·to·really·provide·a·functor·implementing·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>,·we | 429 | ···Now,·in·order·to·really·provide·a·functor·implementing·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>,·we |
430 | ···need·to·encapsulate·everything·into·a·type·of·lists·without·redundancy.· | 430 | ···need·to·encapsulate·everything·into·a·type·of·lists·without·redundancy.· |
431 | </div> | 431 | </div> |
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="lab | 56 | <a·id="lab295"></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 891, 15 lines modified | Offset 891, 15 lines modified | ||
891 | <br/> | 891 | <br/> |
892 | <span·class="id"·title="keyword">Lemma</span>·<a·id="N.pred_div2_up"·class="idref"·href="#N.pred_div2_up"><span·class="id"·title="lemma">pred_div2_up</span></a>·<a·id="p:270"·class="idref"·href="#p:270"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.div2_up"><span·class="id"·title="definition">Pos.div2_up</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#p:270"><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.NArith.BinNat.html#N.div2"><span·class="id"·title="definition">div2</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#p:270"><span·class="id"·title="variable">p</span></a>).<br/> | 892 | <span·class="id"·title="keyword">Lemma</span>·<a·id="N.pred_div2_up"·class="idref"·href="#N.pred_div2_up"><span·class="id"·title="lemma">pred_div2_up</span></a>·<a·id="p:270"·class="idref"·href="#p:270"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.div2_up"><span·class="id"·title="definition">Pos.div2_up</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#p:270"><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.NArith.BinNat.html#N.div2"><span·class="id"·title="definition">div2</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#p:270"><span·class="id"·title="variable">p</span></a>).<br/> |
893 | <br/> | 893 | <br/> |
894 | </div> | 894 | </div> |
895 | <div·class="doc"> | 895 | <div·class="doc"> |
896 | <a·id="lab | 896 | <a·id="lab296"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">iter</span></span></h2> |
897 | </div> | 897 | </div> |
898 | <div·class="code"> | 898 | <div·class="code"> |
899 | <br/> | 899 | <br/> |
900 | <span·class="id"·title="keyword">Lemma</span>·<a·id="N.iter_swap_gen"·class="idref"·href="#N.iter_swap_gen"><span·class="id"·title="lemma">iter_swap_gen</span></a>·<a·id="A:271"·class="idref"·href="#A:271"><span·class="id"·title="binder">A</span></a>·<a·id="B:272"·class="idref"·href="#B:272"><span·class="id"·title="binder">B</span></a>·(<a·id="f:273"·class="idref"·href="#f:273"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><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.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>)·(<a·id="g:274"·class="idref"·href="#g:274"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><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.NArith.BinNat.html#A:271"><span·class="id"·title="variable">A</span></a>)·(<a·id="h:275"·class="idref"·href="#h:275"><span·class="id"·title="binder">h</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#B:272"><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.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>)·:<br/> | 900 | <span·class="id"·title="keyword">Lemma</span>·<a·id="N.iter_swap_gen"·class="idref"·href="#N.iter_swap_gen"><span·class="id"·title="lemma">iter_swap_gen</span></a>·<a·id="A:271"·class="idref"·href="#A:271"><span·class="id"·title="binder">A</span></a>·<a·id="B:272"·class="idref"·href="#B:272"><span·class="id"·title="binder">B</span></a>·(<a·id="f:273"·class="idref"·href="#f:273"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><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.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>)·(<a·id="g:274"·class="idref"·href="#g:274"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#A:271"><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.NArith.BinNat.html#A:271"><span·class="id"·title="variable">A</span></a>)·(<a·id="h:275"·class="idref"·href="#h:275"><span·class="id"·title="binder">h</span></a>:<a·class="idref"·href="Coq.NArith.BinNat.html#B:272"><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.NArith.BinNat.html#B:272"><span·class="id"·title="variable">B</span></a>)·:<br/> |
901 | <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="a:276"·class="idref"·href="#a:276"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.NArith.BinNat.html#f:273"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.NArith.BinNat.html#g:274"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#a:276"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#h:275"><span·class="id"·title="variable">h</span></a>·(<a·class="idref"·href="Coq.NArith.BinNat.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#a:276"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:277"·class="idref"·href="#n:277"><span·class="id"·title="binder">n</span></a>·<a·id="a:278"·class="idref"·href="#a:278"><span·class="id"·title="binder">a</span></a>,<br/> | 901 | <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="a:276"·class="idref"·href="#a:276"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.NArith.BinNat.html#f:273"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.NArith.BinNat.html#g:274"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#a:276"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#h:275"><span·class="id"·title="variable">h</span></a>·(<a·class="idref"·href="Coq.NArith.BinNat.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.NArith.BinNat.html#a:276"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:277"·class="idref"·href="#n:277"><span·class="id"·title="binder">n</span></a>·<a·id="a:278"·class="idref"·href="#a:278"><span·class="id"·title="binder">a</span></a>,<br/> |
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="lab286"></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="lab287"></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="lab288"></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="lab289"></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 114, 15 lines modified | Offset 114, 15 lines modified | ||
114 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span><a·class="idref"·href="Coq.PArith.BinPosDef.html#119ad21c8e0c4947cd973f1f72e5feea"><span·class="id"·title="notation">~1</span></a><br/> | 114 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span><a·class="idref"·href="Coq.PArith.BinPosDef.html#119ad21c8e0c4947cd973f1f72e5feea"><span·class="id"·title="notation">~1</span></a><br/> |
115 | <span·class="id"·title="keyword">end</span>.<br/> | 115 | <span·class="id"·title="keyword">end</span>.<br/> |
116 | <br/> | 116 | <br/> |
117 | </div> | 117 | </div> |
118 | <div·class="doc"> | 118 | <div·class="doc"> |
119 | <a·id="lab | 119 | <a·id="lab290"></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></span></h2> |
120 | </div> | 120 | </div> |
121 | <div·class="code"> | 121 | <div·class="code"> |
122 | <br/> | 122 | <br/> |
123 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.double"·class="idref"·href="#N.double"><span·class="id"·title="definition">double</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·:=<br/> | 123 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.double"·class="idref"·href="#N.double"><span·class="id"·title="definition">double</span></a>·<a·id="n:3"·class="idref"·href="#n:3"><span·class="id"·title="binder">n</span></a>·:=<br/> |
124 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:3"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 124 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:3"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 130, 15 lines modified | Offset 130, 15 lines modified | ||
130 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a><br/> | 130 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a><br/> |
131 | <span·class="id"·title="keyword">end</span>.<br/> | 131 | <span·class="id"·title="keyword">end</span>.<br/> |
132 | <br/> | 132 | <br/> |
133 | </div> | 133 | </div> |
134 | <div·class="doc"> | 134 | <div·class="doc"> |
135 | <a·id="lab | 135 | <a·id="lab291"></a><h2·class="section">Successor</h2> |
136 | </div> | 136 | </div> |
137 | <div·class="code"> | 137 | <div·class="code"> |
138 | <br/> | 138 | <br/> |
139 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ"·class="idref"·href="#N.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="n:5"·class="idref"·href="#n:5"><span·class="id"·title="binder">n</span></a>·:=<br/> | 139 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ"·class="idref"·href="#N.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="n:5"·class="idref"·href="#n:5"><span·class="id"·title="binder">n</span></a>·:=<br/> |
140 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:5"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 140 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:5"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 146, 15 lines modified | Offset 146, 15 lines modified | ||
146 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">Pos.succ</span></a>·<span·class="id"·title="var">p</span>)<br/> | 146 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">Pos.succ</span></a>·<span·class="id"·title="var">p</span>)<br/> |
147 | <span·class="id"·title="keyword">end</span>.<br/> | 147 | <span·class="id"·title="keyword">end</span>.<br/> |
148 | <br/> | 148 | <br/> |
149 | </div> | 149 | </div> |
150 | <div·class="doc"> | 150 | <div·class="doc"> |
151 | <a·id="lab | 151 | <a·id="lab292"></a><h2·class="section">Predecessor</h2> |
152 | </div> | 152 | </div> |
153 | <div·class="code"> | 153 | <div·class="code"> |
154 | <br/> | 154 | <br/> |
155 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.pred"·class="idref"·href="#N.pred"><span·class="id"·title="definition">pred</span></a>·<a·id="n:7"·class="idref"·href="#n:7"><span·class="id"·title="binder">n</span></a>·:=<br/> | 155 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.pred"·class="idref"·href="#N.pred"><span·class="id"·title="definition">pred</span></a>·<a·id="n:7"·class="idref"·href="#n:7"><span·class="id"·title="binder">n</span></a>·:=<br/> |
156 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:7"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 156 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:7"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 162, 15 lines modified | Offset 162, 15 lines modified | ||
162 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·<span·class="id"·title="var">p</span><br/> | 162 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_N"><span·class="id"·title="definition">Pos.pred_N</span></a>·<span·class="id"·title="var">p</span><br/> |
163 | <span·class="id"·title="keyword">end</span>.<br/> | 163 | <span·class="id"·title="keyword">end</span>.<br/> |
164 | <br/> | 164 | <br/> |
165 | </div> | 165 | </div> |
166 | <div·class="doc"> | 166 | <div·class="doc"> |
167 | <a·id="lab | 167 | <a·id="lab293"></a><h2·class="section">The·successor·of·a·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>·can·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span></h2> |
168 | </div> | 168 | </div> |
169 | <div·class="code"> | 169 | <div·class="code"> |
170 | <br/> | 170 | <br/> |
171 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ_pos"·class="idref"·href="#N.succ_pos"><span·class="id"·title="definition">succ_pos</span></a>·(<a·id="n:9"·class="idref"·href="#n:9"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#N"><span·class="id"·title="inductive">N</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·:=<br/> | 171 | <span·class="id"·title="keyword">Definition</span>·<a·id="N.succ_pos"·class="idref"·href="#N.succ_pos"><span·class="id"·title="definition">succ_pos</span></a>·(<a·id="n:9"·class="idref"·href="#n:9"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#N"><span·class="id"·title="inductive">N</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>·:=<br/> |
172 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:9"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 172 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.NArith.BinNatDef.html#n:9"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 178, 15 lines modified | Offset 178, 15 lines modified | ||
178 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">Pos.succ</span></a>·<span·class="id"·title="var">p</span><br/> | 178 | |·<a·class="idref"·href="Coq.NArith.BinNatDef.html#N.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">Pos.succ</span></a>·<span·class="id"·title="var">p</span><br/> |
179 | <span·class="id"·title="keyword">end</span>.<br/> | 179 | <span·class="id"·title="keyword">end</span>.<br/> |
180 | <br/> | 180 | <br/> |
181 | </div> | 181 | </div> |
Max diff block lines reached; 784/10394 bytes (7.54%) of diff not shown. |
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="lab | 53 | <a·id="lab297"></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 164, 15 lines modified | Offset 164, 15 lines modified | ||
164 | <a·class="idref"·href="Coq.NArith.Nnat.html#id"><span·class="id"·title="lemma">N2Nat.id</span></a><br/> | 164 | <a·class="idref"·href="Coq.NArith.Nnat.html#id"><span·class="id"·title="lemma">N2Nat.id</span></a><br/> |
165 | :·<span·class="id"·title="var">Nnat</span>.<br/> | 165 | :·<span·class="id"·title="var">Nnat</span>.<br/> |
166 | <br/> | 166 | <br/> |
167 | </div> | 167 | </div> |
168 | <div·class="doc"> | 168 | <div·class="doc"> |
169 | <a·id="lab | 169 | <a·id="lab298"></a><h1·class="section">Conversions·from·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">N</span></span></h1> |
170 | </div> | 170 | </div> |
171 | <div·class="code"> | 171 | <div·class="code"> |
172 | <br/> | 172 | <br/> |
173 | <span·class="id"·title="keyword">Module</span>·<a·id="Nat2N"·class="idref"·href="#Nat2N"><span·class="id"·title="module">Nat2N</span></a>.<br/> | 173 | <span·class="id"·title="keyword">Module</span>·<a·id="Nat2N"·class="idref"·href="#Nat2N"><span·class="id"·title="module">Nat2N</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="lab8 | 49 | <a·id="lab81"></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="lab | 49 | <a·id="lab20"></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="lab74"></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="lab75"></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 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="lab72"></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="lab73"></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="lab78"></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="lab | 49 | <a·id="lab23"></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="lab | 49 | <a·id="lab85"></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="lab84 | 49 | <a·id="lab84"></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="lab | 49 | <a·id="lab76"></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="lab41"></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="lab | 53 | <a·id="lab42"></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="lab79"></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="lab | 49 | <a·id="lab22"></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="lab | 49 | <a·id="lab71"></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="lab | 49 | <a·id="lab40"></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="lab | 49 | <a·id="lab77"></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="lab | 49 | <a·id="lab80"></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="lab8 | 49 | <a·id="lab83"></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="lab | 53 | <a·id="lab19"></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="lab8 | 49 | <a·id="lab82"></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="lab29"></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 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Numbers.Integer.Abstract</span>·<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>.<br/> | 51 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Numbers.Integer.Abstract</span>·<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>.<br/> |
52 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Numbers.NatInt</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</span></a>.<br/> | 52 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Numbers.NatInt</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#"><span·class="id"·title="library">NZDiv</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="lab25"></a><h1·class="section">Euclidean·Division·for·integers,·Euclid·convention</h1> |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | ····We·use·here·the·"usual"·formulation·of·the·Euclid·Theorem | 58 | ····We·use·here·the·"usual"·formulation·of·the·Euclid·Theorem |
59 | ····<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> | 59 | ····<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 242, 15 lines modified | Offset 242, 15 lines modified | ||
242 | <br/> | 242 | <br/> |
243 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZEuclidProp.mod_small"·class="idref"·href="#ZEuclidProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<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>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><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.Integer.Abstract.ZDivEucl.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.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:45"><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.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a>.<br/> | 243 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZEuclidProp.mod_small"·class="idref"·href="#ZEuclidProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<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>,·0<a·class="idref"·href="Coq.Structures.Orders.html#62fc7208ddb2fa310e7ae9ec2d794c92"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><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.Integer.Abstract.ZDivEucl.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.Numbers.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:45"><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.Integer.Abstract.ZDivEucl.html#a:44"><span·class="id"·title="variable">a</span></a>.<br/> |
244 | · | 244 | · |
245 | <br/> | 245 | <br/> |
246 | </div> | 246 | </div> |
247 | <div·class="doc"> | 247 | <div·class="doc"> |
248 | <a·id="lab | 248 | <a·id="lab26"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> |
249 | </div> | 249 | </div> |
250 | <div·class="code"> | 250 | <div·class="code"> |
251 | <br/> | 251 | <br/> |
252 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.div_0_l"·class="idref"·href="#ZEuclidProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:46"·class="idref"·href="#a:46"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:46"><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.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:46"><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/> | 252 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.div_0_l"·class="idref"·href="#ZEuclidProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:46"·class="idref"·href="#a:46"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:46"><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.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:46"><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 278, 15 lines modified | Offset 278, 15 lines modified | ||
278 | <br/> | 278 | <br/> |
279 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZEuclidProp.div_unique_exact"·class="idref"·href="#ZEuclidProp.div_unique_exact"><span·class="id"·title="lemma">div_unique_exact</span></a>·<a·id="a:56"·class="idref"·href="#a:56"><span·class="id"·title="binder">a</span></a>·<a·id="b:57"·class="idref"·href="#b:57"><span·class="id"·title="binder">b</span></a>·<a·id="q:58"·class="idref"·href="#q:58"><span·class="id"·title="binder">q</span></a>:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</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>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:56"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:58"><span·class="id"·title="variable">q</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.ZDivEucl.html#q:58"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:56"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a>.<br/> | 279 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZEuclidProp.div_unique_exact"·class="idref"·href="#ZEuclidProp.div_unique_exact"><span·class="id"·title="lemma">div_unique_exact</span></a>·<a·id="a:56"·class="idref"·href="#a:56"><span·class="id"·title="binder">a</span></a>·<a·id="b:57"·class="idref"·href="#b:57"><span·class="id"·title="binder">b</span></a>·<a·id="q:58"·class="idref"·href="#q:58"><span·class="id"·title="binder">q</span></a>:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</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>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:56"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:58"><span·class="id"·title="variable">q</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.ZDivEucl.html#q:58"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:56"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:57"><span·class="id"·title="variable">b</span></a>.<br/> |
280 | <br/> | 280 | <br/> |
281 | </div> | 281 | </div> |
282 | <div·class="doc"> | 282 | <div·class="doc"> |
283 | <a·id="lab | 283 | <a·id="lab27"></a><h1·class="section">Order·results·about·mod·and·div</h1> |
284 | <div·class="paragraph">·</div> | 284 | <div·class="paragraph">·</div> |
285 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 285 | ·A·modulo·cannot·grow·beyond·its·starting·point.· |
286 | </div> | 286 | </div> |
287 | <div·class="code"> | 287 | <div·class="code"> |
Offset 407, 15 lines modified | Offset 407, 15 lines modified | ||
407 | <br/> | 407 | <br/> |
408 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.div_le_compat_l"·class="idref"·href="#ZEuclidProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:91"·class="idref"·href="#p:91"><span·class="id"·title="binder">p</span></a>·<a·id="q:92"·class="idref"·href="#q:92"><span·class="id"·title="binder">q</span></a>·<a·id="r:93"·class="idref"·href="#r:93"><span·class="id"·title="binder">r</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.ZDivEucl.html#p:91"><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.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:92"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#r:93"><span·class="id"·title="variable">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.Numbers.Integer.Abstract.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#r:93"><span·class="id"·title="variable">r</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.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:92"><span·class="id"·title="variable">q</span></a>.<br/> | 408 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.div_le_compat_l"·class="idref"·href="#ZEuclidProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:91"·class="idref"·href="#p:91"><span·class="id"·title="binder">p</span></a>·<a·id="q:92"·class="idref"·href="#q:92"><span·class="id"·title="binder">q</span></a>·<a·id="r:93"·class="idref"·href="#r:93"><span·class="id"·title="binder">r</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.ZDivEucl.html#p:91"><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.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:92"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#r:93"><span·class="id"·title="variable">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.Numbers.Integer.Abstract.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#r:93"><span·class="id"·title="variable">r</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.ZDivEucl.html#p:91"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#834b5e404e0dbb1e40faaa41f94a70b2"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#q:92"><span·class="id"·title="variable">q</span></a>.<br/> |
409 | · | 409 | · |
410 | <br/> | 410 | <br/> |
411 | </div> | 411 | </div> |
412 | <div·class="doc"> | 412 | <div·class="doc"> |
413 | <a·id="lab | 413 | <a·id="lab28"></a><h1·class="section">Relations·between·usual·operations·and·mod·and·div</h1> |
414 | </div> | 414 | </div> |
415 | <div·class="code"> | 415 | <div·class="code"> |
416 | <br/> | 416 | <br/> |
417 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.mod_add"·class="idref"·href="#ZEuclidProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:94"·class="idref"·href="#a:94"><span·class="id"·title="binder">a</span></a>·<a·id="b:95"·class="idref"·href="#b:95"><span·class="id"·title="binder">b</span></a>·<a·id="c:96"·class="idref"·href="#c:96"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</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><br/> | 417 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZEuclidProp.mod_add"·class="idref"·href="#ZEuclidProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:94"·class="idref"·href="#a:94"><span·class="id"·title="binder">a</span></a>·<a·id="b:95"·class="idref"·href="#b:95"><span·class="id"·title="binder">b</span></a>·<a·id="c:96"·class="idref"·href="#c:96"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</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><br/> |
418 | <a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:95"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a>.<br/> | 418 | <a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#b:95"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#ZEuclidProp.::euclid:x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivEucl.html#c:96"><span·class="id"·title="variable">c</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.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="lab34"></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 280, 15 lines modified | Offset 280, 15 lines modified | ||
280 | <br/> | 280 | <br/> |
281 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZDivProp.mod_small"·class="idref"·href="#ZDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:68"·class="idref"·href="#a:68"><span·class="id"·title="binder">a</span></a>·<a·id="b:69"·class="idref"·href="#b:69"><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.Integer.Abstract.ZDivFloor.html#a:68"><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.Integer.Abstract.ZDivFloor.html#b:69"><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.Integer.Abstract.ZDivFloor.html#a:68"><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.Integer.Abstract.ZDivFloor.html#b:69"><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.Integer.Abstract.ZDivFloor.html#a:68"><span·class="id"·title="variable">a</span></a>.<br/> | 281 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZDivProp.mod_small"·class="idref"·href="#ZDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:68"·class="idref"·href="#a:68"><span·class="id"·title="binder">a</span></a>·<a·id="b:69"·class="idref"·href="#b:69"><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.Integer.Abstract.ZDivFloor.html#a:68"><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.Integer.Abstract.ZDivFloor.html#b:69"><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.Integer.Abstract.ZDivFloor.html#a:68"><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.Integer.Abstract.ZDivFloor.html#b:69"><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.Integer.Abstract.ZDivFloor.html#a:68"><span·class="id"·title="variable">a</span></a>.<br/> |
282 | · | 282 | · |
283 | <br/> | 283 | <br/> |
284 | </div> | 284 | </div> |
285 | <div·class="doc"> | 285 | <div·class="doc"> |
286 | <a·id="lab | 286 | <a·id="lab35"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> |
287 | </div> | 287 | </div> |
288 | <div·class="code"> | 288 | <div·class="code"> |
289 | <br/> | 289 | <br/> |
290 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.div_0_l"·class="idref"·href="#ZDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:70"·class="idref"·href="#a:70"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:70"><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.Integer.Abstract.ZDivFloor.html#a:70"><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/> | 290 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.div_0_l"·class="idref"·href="#ZDivProp.div_0_l"><span·class="id"·title="lemma">div_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:70"·class="idref"·href="#a:70"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:70"><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.Integer.Abstract.ZDivFloor.html#a:70"><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 316, 15 lines modified | Offset 316, 15 lines modified | ||
316 | <br/> | 316 | <br/> |
317 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZDivProp.div_unique_exact"·class="idref"·href="#ZDivProp.div_unique_exact"><span·class="id"·title="lemma">div_unique_exact</span></a>·<a·id="a:80"·class="idref"·href="#a:80"><span·class="id"·title="binder">a</span></a>·<a·id="b:81"·class="idref"·href="#b:81"><span·class="id"·title="binder">b</span></a>·<a·id="q:82"·class="idref"·href="#q:82"><span·class="id"·title="binder">q</span></a>:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</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>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:80"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:82"><span·class="id"·title="variable">q</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.ZDivFloor.html#q:82"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:80"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a>.<br/> | 317 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZDivProp.div_unique_exact"·class="idref"·href="#ZDivProp.div_unique_exact"><span·class="id"·title="lemma">div_unique_exact</span></a>·<a·id="a:80"·class="idref"·href="#a:80"><span·class="id"·title="binder">a</span></a>·<a·id="b:81"·class="idref"·href="#b:81"><span·class="id"·title="binder">b</span></a>·<a·id="q:82"·class="idref"·href="#q:82"><span·class="id"·title="binder">q</span></a>:·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</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>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:80"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:82"><span·class="id"·title="variable">q</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.ZDivFloor.html#q:82"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:80"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:81"><span·class="id"·title="variable">b</span></a>.<br/> |
318 | <br/> | 318 | <br/> |
319 | </div> | 319 | </div> |
320 | <div·class="doc"> | 320 | <div·class="doc"> |
321 | <a·id="lab | 321 | <a·id="lab36"></a><h1·class="section">Order·results·about·mod·and·div</h1> |
322 | <div·class="paragraph">·</div> | 322 | <div·class="paragraph">·</div> |
323 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 323 | ·A·modulo·cannot·grow·beyond·its·starting·point.· |
324 | </div> | 324 | </div> |
325 | <div·class="code"> | 325 | <div·class="code"> |
Offset 453, 15 lines modified | Offset 453, 15 lines modified | ||
453 | <br/> | 453 | <br/> |
454 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.div_le_compat_l"·class="idref"·href="#ZDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:117"·class="idref"·href="#p:117"><span·class="id"·title="binder">p</span></a>·<a·id="q:118"·class="idref"·href="#q:118"><span·class="id"·title="binder">q</span></a>·<a·id="r:119"·class="idref"·href="#r:119"><span·class="id"·title="binder">r</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.ZDivFloor.html#p:117"><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.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:118"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#r:119"><span·class="id"·title="variable">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.Numbers.Integer.Abstract.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#r:119"><span·class="id"·title="variable">r</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.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:118"><span·class="id"·title="variable">q</span></a>.<br/> | 454 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.div_le_compat_l"·class="idref"·href="#ZDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:117"·class="idref"·href="#p:117"><span·class="id"·title="binder">p</span></a>·<a·id="q:118"·class="idref"·href="#q:118"><span·class="id"·title="binder">q</span></a>·<a·id="r:119"·class="idref"·href="#r:119"><span·class="id"·title="binder">r</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.ZDivFloor.html#p:117"><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.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:118"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#r:119"><span·class="id"·title="variable">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.Numbers.Integer.Abstract.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#r:119"><span·class="id"·title="variable">r</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.ZDivFloor.html#p:117"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#553b1e0c6dfeea0fb5d9a4a0a1c7f719"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#q:118"><span·class="id"·title="variable">q</span></a>.<br/> |
455 | · | 455 | · |
456 | <br/> | 456 | <br/> |
457 | </div> | 457 | </div> |
458 | <div·class="doc"> | 458 | <div·class="doc"> |
459 | <a·id="lab | 459 | <a·id="lab37"></a><h1·class="section">Relations·between·usual·operations·and·mod·and·div</h1> |
460 | </div> | 460 | </div> |
461 | <div·class="code"> | 461 | <div·class="code"> |
462 | <br/> | 462 | <br/> |
463 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.mod_add"·class="idref"·href="#ZDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:120"·class="idref"·href="#a:120"><span·class="id"·title="binder">a</span></a>·<a·id="b:121"·class="idref"·href="#b:121"><span·class="id"·title="binder">b</span></a>·<a·id="c:122"·class="idref"·href="#c:122"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</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><br/> | 463 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZDivProp.mod_add"·class="idref"·href="#ZDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:120"·class="idref"·href="#a:120"><span·class="id"·title="binder">a</span></a>·<a·id="b:121"·class="idref"·href="#b:121"><span·class="id"·title="binder">b</span></a>·<a·id="c:122"·class="idref"·href="#c:122"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</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><br/> |
464 | <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:120"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:121"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:120"><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.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a>.<br/> | 464 | <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:120"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#b:121"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivFloor.html#a:120"><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.Integer.Abstract.ZDivFloor.html#c:122"><span·class="id"·title="variable">c</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.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="lab30"></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 205, 15 lines modified | Offset 205, 15 lines modified | ||
205 | <br/> | 205 | <br/> |
206 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZQuotProp.rem_small"·class="idref"·href="#ZQuotProp.rem_small"><span·class="id"·title="lemma">rem_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:28"·class="idref"·href="#a:28"><span·class="id"·title="binder">a</span></a>·<a·id="b:29"·class="idref"·href="#b:29"><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.Integer.Abstract.ZDivTrunc.html#a:28"><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.Integer.Abstract.ZDivTrunc.html#b:29"><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.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#QuotRemNotation.:::x_'rem'_x"><span·class="id"·title="notation">rem</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:29"><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.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a>.<br/> | 206 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ZQuotProp.rem_small"·class="idref"·href="#ZQuotProp.rem_small"><span·class="id"·title="lemma">rem_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:28"·class="idref"·href="#a:28"><span·class="id"·title="binder">a</span></a>·<a·id="b:29"·class="idref"·href="#b:29"><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.Integer.Abstract.ZDivTrunc.html#a:28"><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.Integer.Abstract.ZDivTrunc.html#b:29"><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.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#QuotRemNotation.:::x_'rem'_x"><span·class="id"·title="notation">rem</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:29"><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.Integer.Abstract.ZDivTrunc.html#a:28"><span·class="id"·title="variable">a</span></a>.<br/> |
207 | · | 207 | · |
208 | <br/> | 208 | <br/> |
209 | </div> | 209 | </div> |
210 | <div·class="doc"> | 210 | <div·class="doc"> |
211 | <a·id="lab | 211 | <a·id="lab31"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> |
212 | </div> | 212 | </div> |
213 | <div·class="code"> | 213 | <div·class="code"> |
214 | <br/> | 214 | <br/> |
215 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.quot_0_l"·class="idref"·href="#ZQuotProp.quot_0_l"><span·class="id"·title="lemma">quot_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:30"·class="idref"·href="#a:30"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:30"><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.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:30"><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/> | 215 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.quot_0_l"·class="idref"·href="#ZQuotProp.quot_0_l"><span·class="id"·title="lemma">quot_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:30"·class="idref"·href="#a:30"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:30"><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.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:30"><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 303, 15 lines modified | Offset 303, 15 lines modified | ||
303 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.rem_bound_abs"·class="idref"·href="#ZQuotProp.rem_bound_abs"><span·class="id"·title="lemma">rem_bound_abs</span></a>·:<br/> | 303 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.rem_bound_abs"·class="idref"·href="#ZQuotProp.rem_bound_abs"><span·class="id"·title="lemma">rem_bound_abs</span></a>·:<br/> |
304 | <span·class="id"·title="keyword">forall</span>·<a·id="a:65"·class="idref"·href="#a:65"><span·class="id"·title="binder">a</span></a>·<a·id="b:66"·class="idref"·href="#b:66"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</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>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#A.abs"><span·class="id"·title="axiom">abs</span></a>·(<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:65"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#QuotRemNotation.:::x_'rem'_x"><span·class="id"·title="notation">rem</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</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.Integer.Abstract.ZDivTrunc.html#A.abs"><span·class="id"·title="axiom">abs</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</span></a>.<br/> | 304 | <span·class="id"·title="keyword">forall</span>·<a·id="a:65"·class="idref"·href="#a:65"><span·class="id"·title="binder">a</span></a>·<a·id="b:66"·class="idref"·href="#b:66"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</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>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#A.abs"><span·class="id"·title="axiom">abs</span></a>·(<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#a:65"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#QuotRemNotation.:::x_'rem'_x"><span·class="id"·title="notation">rem</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</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.Integer.Abstract.ZDivTrunc.html#A.abs"><span·class="id"·title="axiom">abs</span></a>·<a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#b:66"><span·class="id"·title="variable">b</span></a>.<br/> |
305 | <br/> | 305 | <br/> |
306 | </div> | 306 | </div> |
307 | <div·class="doc"> | 307 | <div·class="doc"> |
308 | <a·id="lab | 308 | <a·id="lab32"></a><h1·class="section">Order·results·about·rem·and·quot</h1> |
309 | <div·class="paragraph">·</div> | 309 | <div·class="paragraph">·</div> |
310 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 310 | ·A·modulo·cannot·grow·beyond·its·starting·point.· |
311 | </div> | 311 | </div> |
312 | <div·class="code"> | 312 | <div·class="code"> |
Offset 438, 15 lines modified | Offset 438, 15 lines modified | ||
438 | <br/> | 438 | <br/> |
439 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.quot_le_compat_l"·class="idref"·href="#ZQuotProp.quot_le_compat_l"><span·class="id"·title="lemma">quot_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:105"·class="idref"·href="#p:105"><span·class="id"·title="binder">p</span></a>·<a·id="q:106"·class="idref"·href="#q:106"><span·class="id"·title="binder">q</span></a>·<a·id="r:107"·class="idref"·href="#r:107"><span·class="id"·title="binder">r</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.ZDivTrunc.html#p:105"><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.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#q:106"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#r:107"><span·class="id"·title="variable">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.Numbers.Integer.Abstract.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#r:107"><span·class="id"·title="variable">r</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.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#q:106"><span·class="id"·title="variable">q</span></a>.<br/> | 439 | <span·class="id"·title="keyword">Lemma</span>·<a·id="ZQuotProp.quot_le_compat_l"·class="idref"·href="#ZQuotProp.quot_le_compat_l"><span·class="id"·title="lemma">quot_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:105"·class="idref"·href="#p:105"><span·class="id"·title="binder">p</span></a>·<a·id="q:106"·class="idref"·href="#q:106"><span·class="id"·title="binder">q</span></a>·<a·id="r:107"·class="idref"·href="#r:107"><span·class="id"·title="binder">r</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.ZDivTrunc.html#p:105"><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.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#q:106"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#r:107"><span·class="id"·title="variable">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.Numbers.Integer.Abstract.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#r:107"><span·class="id"·title="variable">r</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.ZDivTrunc.html#p:105"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZAxioms.html#0ac21173a88cb3f0b2c78e8e3159e487"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.Numbers.Integer.Abstract.ZDivTrunc.html#q:106"><span·class="id"·title="variable">q</span></a>.<br/> |
440 | · | 440 | · |
441 | <br/> | 441 | <br/> |
442 | </div> | 442 | </div> |
443 | <div·class="doc"> | 443 | <div·class="doc"> |
444 | <a·id="lab | 444 | <a·id="lab33"></a><h1·class="section">Relations·between·usual·operations·and·rem·and·quot</h1> |
445 | <div·class="paragraph">·</div> | 445 | <div·class="paragraph">·</div> |
446 | ·Unlike·with·other·division·conventions,·some·results·here·aren't | 446 | ·Unlike·with·other·division·conventions,·some·results·here·aren't |
447 | ····always·valid,·and·need·to·be·restricted.·For·instance | 447 | ····always·valid,·and·need·to·be·restricted.·For·instance |
448 | ····<span·class="inlinecode">(<span·class="id"·title="var">a</span>+<span·class="id"·title="var">b</span>*<span·class="id"·title="var">c</span>)</span>·<span·class="inlinecode"><span·class="id"·title="var">rem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">c</span></span>·<span·class="inlinecode"><></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">rem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">c</span></span>·for·<span·class="inlinecode"><span·class="id"·title="var">a</span>=9,<span·class="id"·title="var">b</span>=-5,<span·class="id"·title="var">c</span>=2</span>· | 448 | ····<span·class="inlinecode">(<span·class="id"·title="var">a</span>+<span·class="id"·title="var">b</span>*<span·class="id"·title="var">c</span>)</span>·<span·class="inlinecode"><span·class="id"·title="var">rem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">c</span></span>·<span·class="inlinecode"><></span>·<span·class="inlinecode"><span·class="id"·title="var">a</span></span>·<span·class="inlinecode"><span·class="id"·title="var">rem</span></span>·<span·class="inlinecode"><span·class="id"·title="var">c</span></span>·for·<span·class="inlinecode"><span·class="id"·title="var">a</span>=9,<span·class="id"·title="var">b</span>=-5,<span·class="id"·title="var">c</span>=2</span>· |
449 | </div> | 449 | </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.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="lab38"></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="lab24"></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 67, 15 lines modified | Offset 67, 15 lines modified | ||
67 | <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 67 | <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> |
68 | :=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z"><span·class="id"·title="module">BinInt.Z</span></a>.<br/> | 68 | :=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z"><span·class="id"·title="module">BinInt.Z</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="lab39"></a><h1·class="section">An·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic·for·integers</h1> |
73 | </div> | 73 | </div> |
74 | <div·class="code"> | 74 | <div·class="code"> |
75 | <br/> | 75 | <br/> |
76 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">z_order</span>·:=·<span·class="id"·title="var">Z.order</span>.<br/> | 76 | <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 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">Import</span>·<a·class="idref"·href="Coq.Lists.List.html#"><span·class="id"·title="library">List</span></a>.<br/> | 54 | <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/> |
55 | <br/> | 55 | <br/> |
56 | </div> | 56 | </div> |
57 | <div·class="doc"> | 57 | <div·class="doc"> |
58 | <a·id="lab | 58 | <a·id="lab21"></a><h1·class="section">Generic·dependently-typed·operators·about·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>-ary·functions</h1> |
59 | <div·class="paragraph">·</div> | 59 | <div·class="paragraph">·</div> |
60 | ·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 | 60 | ·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 |
61 | ····<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.· | 61 | ····<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.· |
62 | </div> | 62 | </div> |
63 | <div·class="code"> | 63 | <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="lab60"></a><h1·class="section">Some·properties·of·the·addition·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span></h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZAddProp</span></span>·functor·type.·This·functor·type·is·meant | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZAddProp</span></span>·functor·type.·This·functor·type·is·meant |
52 | to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span>. | 52 | to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</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="lab69"></a><h1·class="section">Properties·of·orders·and·addition·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span></h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZAddOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZAddOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d |
52 | in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span>·(see·<span·class="inlinecode"><span·class="id"·title="var">Coq.Numbers.NatInt.NZAxioms</span></span>). | 52 | in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span>·(see·<span·class="inlinecode"><span·class="id"·title="var">Coq.Numbers.NatInt.NZAxioms</span></span>). |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | </div> | 49 | </div> |
50 | <div·class="doc"> | 50 | <div·class="doc"> |
51 | Initial·Author·:·Evgeny·Makarov,·INRIA,·2007· | 51 | Initial·Author·:·Evgeny·Makarov,·INRIA,·2007· |
52 | <div·class="paragraph">·</div> | 52 | <div·class="paragraph">·</div> |
53 | <a·id="lab | 53 | <a·id="lab64"></a><h1·class="section">Axioms·for·a·domain·with·<span·class="inlinecode"><span·class="id"·title="var">zero</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">pred</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">From</span>·<span·class="id"·title="var">Coq.Structures</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<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/> | 57 | <span·class="id"·title="keyword">From</span>·<span·class="id"·title="var">Coq.Structures</span>·<span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<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/> |
Offset 141, 15 lines modified | Offset 141, 15 lines modified | ||
141 | <span·class="id"·title="keyword">forall</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>·:·<span·class="id"·title="var">t</span>,·<span·class="id"·title="var">CompareSpec</span>·(<span·class="id"·title="var">eq</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·(<span·class="id"·title="var">lt</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·(<span·class="id"·title="var">lt</span>·<span·class="id"·title="var">y</span>·<span·class="id"·title="var">x</span>)·(<span·class="id"·title="var">compare</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>).<br/> | 141 | <span·class="id"·title="keyword">forall</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>·:·<span·class="id"·title="var">t</span>,·<span·class="id"·title="var">CompareSpec</span>·(<span·class="id"·title="var">eq</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·(<span·class="id"·title="var">lt</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>)·(<span·class="id"·title="var">lt</span>·<span·class="id"·title="var">y</span>·<span·class="id"·title="var">x</span>)·(<span·class="id"·title="var">compare</span>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">y</span>).<br/> |
142 | <span·class="id"·title="keyword">End</span> | 142 | <span·class="id"·title="keyword">End</span> |
143 | <div·class="paragraph">·</div> | 143 | <div·class="paragraph">·</div> |
144 | </span>· | 144 | </span>· |
145 | <div·class="paragraph">·</div> | 145 | <div·class="paragraph">·</div> |
146 | <a·id="lab | 146 | <a·id="lab65"></a><h2·class="section">Axiomatization·of·a·domain·with·<span·class="inlinecode"><span·class="id"·title="var">zero</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">pred</span></span>·and·a·bi-directional·induction·principle.</h2> |
147 | </div> | 147 | </div> |
148 | <div·class="code"> | 148 | <div·class="code"> |
149 | <br/> | 149 | <br/> |
150 | </div> | 150 | </div> |
Offset 223, 15 lines modified | Offset 223, 15 lines modified | ||
223 | <a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</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#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:11"><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.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·(<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:11"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:12"·class="idref"·href="#n:12"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:12"><span·class="id"·title="variable">n</span></a>.<br/> | 223 | <a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</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#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:11"·class="idref"·href="#n:11"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:11"><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.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·(<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:11"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">forall</span>·<a·id="n:12"·class="idref"·href="#n:12"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#A:10"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#n:12"><span·class="id"·title="variable">n</span></a>.<br/> |
224 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#IsNZDomain"><span·class="id"·title="module">IsNZDomain</span></a>.<br/> | 224 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#IsNZDomain"><span·class="id"·title="module">IsNZDomain</span></a>.<br/> |
225 | <br/> | 225 | <br/> |
226 | </div> | 226 | </div> |
227 | <div·class="doc"> | 227 | <div·class="doc"> |
228 | <a·id="lab | 228 | <a·id="lab66"></a><h2·class="section">Axiomatization·of·some·more·constants</h2> |
229 | <div·class="paragraph">·</div> | 229 | <div·class="paragraph">·</div> |
230 | ·Simply·denoting·"1"·for·(S·0)·and·so·on·works·ok·when·implementing | 230 | ·Simply·denoting·"1"·for·(S·0)·and·so·on·works·ok·when·implementing |
231 | ····by·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·but·leaves·some·(<span·class="inlinecode"><span·class="id"·title="var">N.succ</span></span>·<span·class="inlinecode"><span·class="id"·title="var">N0</span></span>)·when·implementing·by·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>. | 231 | ····by·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span>,·but·leaves·some·(<span·class="inlinecode"><span·class="id"·title="var">N.succ</span></span>·<span·class="inlinecode"><span·class="id"·title="var">N0</span></span>)·when·implementing·by·<span·class="inlinecode"><span·class="id"·title="var">N</span></span>. |
232 | </div> | 232 | </div> |
Offset 280, 15 lines modified | Offset 280, 15 lines modified | ||
280 | <li>·three·constants·<span·class="inlinecode">0</span>,·<span·class="inlinecode">1</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">0</span>,·<span·class="inlinecode">2</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">1</span> | 280 | <li>·three·constants·<span·class="inlinecode">0</span>,·<span·class="inlinecode">1</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">0</span>,·<span·class="inlinecode">2</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<span·class="inlinecode">1</span> |
281 | </li> | 281 | </li> |
282 | </ul> | 282 | </ul> |
283 | <div·class="paragraph">·</div> | 283 | <div·class="paragraph">·</div> |
284 | <a·id="lab | 284 | <a·id="lab67"></a><h2·class="section">Axiomatization·of·basic·operations·:·<span·class="inlinecode">+</span>·<span·class="inlinecode">-</span>·<span·class="inlinecode">*</span></h2> |
285 | </div> | 285 | </div> |
286 | <div·class="code"> | 286 | <div·class="code"> |
287 | <br/> | 287 | <br/> |
288 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="AddSubMul"·class="idref"·href="#AddSubMul"><span·class="id"·title="module">AddSubMul</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/> | 288 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="AddSubMul"·class="idref"·href="#AddSubMul"><span·class="id"·title="module">AddSubMul</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/> |
289 | <span·class="id"·title="keyword">Parameters</span>·<span·class="id"·title="keyword">Inline</span>·<a·id="AddSubMul.add"·class="idref"·href="#AddSubMul.add"><span·class="id"·title="axiom">add</span></a>·<a·id="AddSubMul.sub"·class="idref"·href="#AddSubMul.sub"><span·class="id"·title="axiom">sub</span></a>·<a·id="AddSubMul.mul"·class="idref"·href="#AddSubMul.mul"><span·class="id"·title="axiom">mul</span></a>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.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.Numbers.NatInt.NZAxioms.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.Numbers.NatInt.NZAxioms.html#T.t"><span·class="id"·title="axiom">t</span></a>.<br/> | 289 | <span·class="id"·title="keyword">Parameters</span>·<span·class="id"·title="keyword">Inline</span>·<a·id="AddSubMul.add"·class="idref"·href="#AddSubMul.add"><span·class="id"·title="axiom">add</span></a>·<a·id="AddSubMul.sub"·class="idref"·href="#AddSubMul.sub"><span·class="id"·title="axiom">sub</span></a>·<a·id="AddSubMul.mul"·class="idref"·href="#AddSubMul.mul"><span·class="id"·title="axiom">mul</span></a>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.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.Numbers.NatInt.NZAxioms.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.Numbers.NatInt.NZAxioms.html#T.t"><span·class="id"·title="axiom">t</span></a>.<br/> |
Offset 336, 15 lines modified | Offset 336, 15 lines modified | ||
336 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZAxiomsSig"·class="idref"·href="#NZAxiomsSig"><span·class="id"·title="module">NZAxiomsSig</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZBasicFunsSig"><span·class="id"·title="module">NZBasicFunsSig</span></a>.<br/> | 336 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZAxiomsSig"·class="idref"·href="#NZAxiomsSig"><span·class="id"·title="module">NZAxiomsSig</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZBasicFunsSig"><span·class="id"·title="module">NZBasicFunsSig</span></a>.<br/> |
337 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZAxiomsSig'"·class="idref"·href="#NZAxiomsSig'"><span·class="id"·title="module">NZAxiomsSig'</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZBasicFunsSig'"><span·class="id"·title="module">NZBasicFunsSig'</span></a>.<br/> | 337 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZAxiomsSig'"·class="idref"·href="#NZAxiomsSig'"><span·class="id"·title="module">NZAxiomsSig'</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZBasicFunsSig'"><span·class="id"·title="module">NZBasicFunsSig'</span></a>.<br/> |
338 | <br/> | 338 | <br/> |
339 | </div> | 339 | </div> |
340 | <div·class="doc"> | 340 | <div·class="doc"> |
341 | <a·id="lab | 341 | <a·id="lab68"></a><h2·class="section">Axiomatization·of·order</h2> |
342 | <div·class="paragraph">·</div> | 342 | <div·class="paragraph">·</div> |
343 | ·The·module·type·<span·class="inlinecode"><span·class="id"·title="var">HasLt</span></span>·(resp.·<span·class="inlinecode"><span·class="id"·title="var">HasLe</span></span>)·is·just·a·type·equipped·with | 343 | ·The·module·type·<span·class="inlinecode"><span·class="id"·title="var">HasLt</span></span>·(resp.·<span·class="inlinecode"><span·class="id"·title="var">HasLe</span></span>)·is·just·a·type·equipped·with |
344 | ····a·relation·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·(resp.·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>)·in·<span·class="inlinecode"><span·class="id"·title="keyword">Prop</span></span>.· | 344 | ····a·relation·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·(resp.·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>)·in·<span·class="inlinecode"><span·class="id"·title="keyword">Prop</span></span>.· |
345 | </div> | 345 | </div> |
346 | <div·class="code"> | 346 | <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="lab43"></a><h1·class="section">Basic·lemmas·about·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZDomainSig'</span></span></h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | This·file·defines·the·functor·type·<span·class="inlinecode"><span·class="id"·title="var">NZBaseProp</span></span>·which·adds·the·following | 51 | This·file·defines·the·functor·type·<span·class="inlinecode"><span·class="id"·title="var">NZBaseProp</span></span>·which·adds·the·following |
52 | lemmas: | 52 | lemmas: |
53 | <ul·class="doclist"> | 53 | <ul·class="doclist"> |
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:47"·class="idref"·href="#a:47"><span·class="id"·title="binder">a</span></a>·<a·id="b:48"·class="idref"·href="#b:48"><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:47"><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:48"><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:47"><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:48"><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:47"><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:47"·class="idref"·href="#a:47"><span·class="id"·title="binder">a</span></a>·<a·id="b:48"·class="idref"·href="#b:48"><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:47"><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:48"><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:47"><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:48"><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:47"><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="lab | 191 | <a·id="lab61"></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:49"·class="idref"·href="#a:49"><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:49"><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:49"><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:49"·class="idref"·href="#a:49"><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:49"><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:49"><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 219, 15 lines modified | Offset 219, 15 lines modified | ||
219 | <br/> | 219 | <br/> |
220 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.mod_mul"·class="idref"·href="#NZDivProp.mod_mul"><span·class="id"·title="lemma">mod_mul</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:57"·class="idref"·href="#a:57"><span·class="id"·title="binder">a</span></a>·<a·id="b:58"·class="idref"·href="#b:58"><span·class="id"·title="binder">b</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.NatInt.NZDiv.html#a:57"><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.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><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#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:57"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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:58"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 220 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.mod_mul"·class="idref"·href="#NZDivProp.mod_mul"><span·class="id"·title="lemma">mod_mul</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:57"·class="idref"·href="#a:57"><span·class="id"·title="binder">a</span></a>·<a·id="b:58"·class="idref"·href="#b:58"><span·class="id"·title="binder">b</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.NatInt.NZDiv.html#a:57"><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.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><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#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:57"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:58"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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:58"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> |
221 | <br/> | 221 | <br/> |
222 | </div> | 222 | </div> |
223 | <div·class="doc"> | 223 | <div·class="doc"> |
224 | <a·id="lab | 224 | <a·id="lab62"></a><h1·class="section">Order·results·about·mod·and·div</h1> |
225 | <div·class="paragraph">·</div> | 225 | <div·class="paragraph">·</div> |
226 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 226 | ·A·modulo·cannot·grow·beyond·its·starting·point.· |
227 | </div> | 227 | </div> |
228 | <div·class="code"> | 228 | <div·class="code"> |
Offset 331, 15 lines modified | Offset 331, 15 lines modified | ||
331 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.div_le_compat_l"·class="idref"·href="#NZDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:91"·class="idref"·href="#p:91"><span·class="id"·title="binder">p</span></a>·<a·id="q:92"·class="idref"·href="#q:92"><span·class="id"·title="binder">q</span></a>·<a·id="r:93"·class="idref"·href="#r:93"><span·class="id"·title="binder">r</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.NatInt.NZDiv.html#p:91"><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.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#q:92"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 331 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.div_le_compat_l"·class="idref"·href="#NZDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:91"·class="idref"·href="#p:91"><span·class="id"·title="binder">p</span></a>·<a·id="q:92"·class="idref"·href="#q:92"><span·class="id"·title="binder">q</span></a>·<a·id="r:93"·class="idref"·href="#r:93"><span·class="id"·title="binder">r</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.NatInt.NZDiv.html#p:91"><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.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#q:92"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
332 | <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a><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#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a><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#q:92"><span·class="id"·title="variable">q</span></a>.<br/> | 332 | <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a><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#r:93"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#p:91"><span·class="id"·title="variable">p</span></a><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#q:92"><span·class="id"·title="variable">q</span></a>.<br/> |
333 | <br/> | 333 | <br/> |
334 | </div> | 334 | </div> |
335 | <div·class="doc"> | 335 | <div·class="doc"> |
336 | <a·id="lab | 336 | <a·id="lab63"></a><h1·class="section">Relations·between·usual·operations·and·mod·and·div</h1> |
337 | </div> | 337 | </div> |
338 | <div·class="code"> | 338 | <div·class="code"> |
339 | <br/> | 339 | <br/> |
340 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.mod_add"·class="idref"·href="#NZDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:94"·class="idref"·href="#a:94"><span·class="id"·title="binder">a</span></a>·<a·id="b:95"·class="idref"·href="#b:95"><span·class="id"·title="binder">b</span></a>·<a·id="c:96"·class="idref"·href="#c:96"><span·class="id"·title="binder">c</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.NatInt.NZDiv.html#a:94"><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.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:95"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</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.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 340 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDivProp.mod_add"·class="idref"·href="#NZDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:94"·class="idref"·href="#a:94"><span·class="id"·title="binder">a</span></a>·<a·id="b:95"·class="idref"·href="#b:95"><span·class="id"·title="binder">b</span></a>·<a·id="c:96"·class="idref"·href="#c:96"><span·class="id"·title="binder">c</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.NatInt.NZDiv.html#a:94"><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.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:95"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</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.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
341 | <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:95"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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#c:96"><span·class="id"·title="variable">c</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:94"><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#c:96"><span·class="id"·title="variable">c</span></a>.<br/> | 341 | <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#a:94"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#b:95"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#c:96"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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#c:96"><span·class="id"·title="variable">c</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:94"><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#c:96"><span·class="id"·title="variable">c</span></a>.<br/> |
Offset 74, 15 lines modified | Offset 74, 15 lines modified | ||
74 | <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/> | 74 | <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/> |
75 | <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/> | 75 | <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/> |
76 | <br/> | 76 | <br/> |
77 | </div> | 77 | </div> |
78 | <div·class="doc"> | 78 | <div·class="doc"> |
79 | <a·id="lab | 79 | <a·id="lab45"></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> |
80 | <div·class="paragraph">·</div> | 80 | <div·class="paragraph">·</div> |
81 | ·For·any·two·points,·one·is·an·iterated·successor·of·the·other.· | 81 | ·For·any·two·points,·one·is·an·iterated·successor·of·the·other.· |
82 | </div> | 82 | </div> |
83 | <div·class="code"> | 83 | <div·class="code"> |
Offset 125, 15 lines modified | Offset 125, 15 lines modified | ||
125 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDomainProp.itersucc0_or_iterpred0"·class="idref"·href="#NZDomainProp.itersucc0_or_iterpred0"><span·class="id"·title="lemma">itersucc0_or_iterpred0</span></a>·:<br/> | 125 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NZDomainProp.itersucc0_or_iterpred0"·class="idref"·href="#NZDomainProp.itersucc0_or_iterpred0"><span·class="id"·title="lemma">itersucc0_or_iterpred0</span></a>·:<br/> |
126 | <span·class="id"·title="keyword">forall</span>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="p:17"·class="idref"·href="#p:17"><span·class="id"·title="binder">p</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.Numbers.NatInt.NZDomain.html#n:16"><span·class="id"·title="variable">n</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.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">0</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:16"><span·class="id"·title="variable">n</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.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.P"><span·class="id"·title="abbreviation">P</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">0</span></a>.<br/> | 126 | <span·class="id"·title="keyword">forall</span>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>,·<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="p:17"·class="idref"·href="#p:17"><span·class="id"·title="binder">p</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.Numbers.NatInt.NZDomain.html#n:16"><span·class="id"·title="variable">n</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.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">0</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:16"><span·class="id"·title="variable">n</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.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.P"><span·class="id"·title="abbreviation">P</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#ecddf82744be1faeed92485fa4c70623"><span·class="id"·title="notation">0</span></a>.<br/> |
127 | <br/> | 127 | <br/> |
128 | </div> | 128 | </div> |
129 | <div·class="doc"> | 129 | <div·class="doc"> |
130 | <a·id="lab | 130 | <a·id="lab46"></a><h1·class="section">Study·of·initial·point·w.r.t.·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>·(if·any).</h1> |
131 | </div> | 131 | </div> |
132 | <div·class="code"> | 132 | <div·class="code"> |
133 | <br/> | 133 | <br/> |
134 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZDomainProp.initial"·class="idref"·href="#NZDomainProp.initial"><span·class="id"·title="definition">initial</span></a>·<a·id="n:18"·class="idref"·href="#n:18"><span·class="id"·title="binder">n</span></a>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="m:19"·class="idref"·href="#m:19"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:18"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#m:19"><span·class="id"·title="variable">m</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZDomainProp.initial"·class="idref"·href="#NZDomainProp.initial"><span·class="id"·title="definition">initial</span></a>·<a·id="n:18"·class="idref"·href="#n:18"><span·class="id"·title="binder">n</span></a>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="m:19"·class="idref"·href="#m:19"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#n:18"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDomain.html#m:19"><span·class="id"·title="variable">m</span></a>.<br/> |
Offset 249, 15 lines modified | Offset 249, 15 lines modified | ||
249 | <div·class="paragraph">·</div> | 249 | <div·class="paragraph">·</div> |
250 | ·····IIa)·if·<span·class="inlinecode"><span·class="id"·title="tactic">exists</span></span>·<span·class="inlinecode"><span·class="id"·title="var">k</span><><span·class="id"·title="var">O</span>,</span>·<span·class="inlinecode">0</span>·<span·class="inlinecode">==</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span>^<span·class="id"·title="var">k</span></span>·<span·class="inlinecode">0</span>,·then·we·have·a·cyclic·structure·Z/nZ | 250 | ·····IIa)·if·<span·class="inlinecode"><span·class="id"·title="tactic">exists</span></span>·<span·class="inlinecode"><span·class="id"·title="var">k</span><><span·class="id"·title="var">O</span>,</span>·<span·class="inlinecode">0</span>·<span·class="inlinecode">==</span>·<span·class="inlinecode"><span·class="id"·title="var">S</span>^<span·class="id"·title="var">k</span></span>·<span·class="inlinecode">0</span>,·then·we·have·a·cyclic·structure·Z/nZ |
251 | ·····IIb)·otherwise,·we·have·Z | 251 | ·····IIb)·otherwise,·we·have·Z |
252 | <div·class="paragraph">·</div> | 252 | <div·class="paragraph">·</div> |
253 | <a·id="lab | 253 | <a·id="lab47"></a><h1·class="section">An·alternative·induction·principle·using·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>.</h1> |
254 | <div·class="paragraph">·</div> | 254 | <div·class="paragraph">·</div> |
255 | ·It·is·weaker·than·<span·class="inlinecode"><span·class="id"·title="var">bi_induction</span></span>.·For·instance·it·cannot·prove·that | 255 | ·It·is·weaker·than·<span·class="inlinecode"><span·class="id"·title="var">bi_induction</span></span>.·For·instance·it·cannot·prove·that |
256 | ····we·can·go·from·one·point·by·many·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<i>or</i>·many·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>,·but·only·by·many | 256 | ····we·can·go·from·one·point·by·many·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·<i>or</i>·many·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>,·but·only·by·many |
257 | ····<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·mixed·with·many·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>.·Think·of·a·model·with·two·copies·of·N: | 257 | ····<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·mixed·with·many·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>.·Think·of·a·model·with·two·copies·of·N: |
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="lab | 419 | <a·id="lab44"></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 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="lab58"></a><h1·class="section">Some·properties·of·the·multiplication·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span></h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZMulProp</span></span>·functor·type·on·top·of·<span·class="inlinecode"><span·class="id"·title="var">NZAddProp</span></span>.·This | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZMulProp</span></span>·functor·type·on·top·of·<span·class="inlinecode"><span·class="id"·title="var">NZAddProp</span></span>.·This |
52 | functor·type·is·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</span></span>. | 52 | functor·type·is·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZBasicFunsSig'</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="lab59"></a><h1·class="section">Properties·of·orders·and·multiplication·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span></h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZMulOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZMulOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d |
52 | in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span>·(see·<span·class="inlinecode"><span·class="id"·title="var">Coq.Numbers.NatInt.NZAxioms</span></span>). | 52 | in·a·module·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdAxiomsSig'</span></span>·(see·<span·class="inlinecode"><span·class="id"·title="var">Coq.Numbers.NatInt.NZAxioms</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="lab48"></a><h1·class="section">Lemmas·about·orders·for·modules·implementing·<span·class="inlinecode"><span·class="id"·title="var">NZOrdSig'</span></span></h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in | 51 | This·file·defines·the·<span·class="inlinecode"><span·class="id"·title="var">NZOrderProp</span></span>·functor·type,·meant·to·be·<span·class="inlinecode"><span·class="id"·title="keyword">Include</span></span>d·in |
52 | a·module·implementing·the·<span·class="inlinecode"><span·class="id"·title="var">NZOrdSig'</span></span>·module·type. | 52 | a·module·implementing·the·<span·class="inlinecode"><span·class="id"·title="var">NZOrdSig'</span></span>·module·type. |
Offset 101, 19 lines modified | Offset 101, 19 lines modified | ||
101 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZOrderProp"·class="idref"·href="#NZOrderProp"><span·class="id"·title="module">NZOrderProp</span></a><br/> | 101 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="NZOrderProp"·class="idref"·href="#NZOrderProp"><span·class="id"·title="module">NZOrderProp</span></a><br/> |
102 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZ</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZOrdSig'"><span·class="id"·title="module">NZOrdSig'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZBase</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.NZOrder.html#NZ"><span·class="id"·title="module">NZ</span></a>).<br/> | 102 | (<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZ</span>·:·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#NZOrdSig'"><span·class="id"·title="module">NZOrdSig'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">NZBase</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.NZOrder.html#NZ"><span·class="id"·title="module">NZ</span></a>).<br/> |
103 | <br/> | 103 | <br/> |
104 | </div> | 104 | </div> |
105 | <div·class="doc"> | 105 | <div·class="doc"> |
106 | <a·id="lab | 106 | <a·id="lab49"></a><h2·class="section">Basic·facts·about·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span></h2> |
107 | <div·class="paragraph">·</div> | 107 | <div·class="paragraph">·</div> |
108 | <a·id="lab | 108 | <a·id="lab50"></a><h3·class="section">Direct·consequences·of·the·specifications·of·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">le</span></span></h3> |
109 | </div> | 109 | </div> |
110 | <div·class="code"> | 110 | <div·class="code"> |
111 | #[<span·class="id"·title="var">global</span>]<br/> | 111 | #[<span·class="id"·title="var">global</span>]<br/> |
112 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.le_wd"·class="idref"·href="#NZOrderProp.le_wd"><span·class="id"·title="instance">le_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.eq"><span·class="id"·title="axiom">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.eq"><span·class="id"·title="axiom">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.le"><span·class="id"·title="axiom">le</span></a>.<br/> | 112 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.le_wd"·class="idref"·href="#NZOrderProp.le_wd"><span·class="id"·title="instance">le_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.eq"><span·class="id"·title="axiom">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.eq"><span·class="id"·title="axiom">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#iff"><span·class="id"·title="definition">iff</span></a>)·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.le"><span·class="id"·title="axiom">le</span></a>.<br/> |
113 | <br/> | 113 | <br/> |
Offset 163, 15 lines modified | Offset 163, 15 lines modified | ||
163 | <br/> | 163 | <br/> |
164 | <span·class="id"·title="keyword">Notation</span>·<a·id="NZOrderProp.lt_eq_gt_cases"·class="idref"·href="#NZOrderProp.lt_eq_gt_cases"><span·class="id"·title="abbreviation">lt_eq_gt_cases</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.lt_trichotomy"><span·class="id"·title="lemma">lt_trichotomy</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 164 | <span·class="id"·title="keyword">Notation</span>·<a·id="NZOrderProp.lt_eq_gt_cases"·class="idref"·href="#NZOrderProp.lt_eq_gt_cases"><span·class="id"·title="abbreviation">lt_eq_gt_cases</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.lt_trichotomy"><span·class="id"·title="lemma">lt_trichotomy</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
165 | <br/> | 165 | <br/> |
166 | </div> | 166 | </div> |
167 | <div·class="doc"> | 167 | <div·class="doc"> |
168 | <a·id="lab | 168 | <a·id="lab51"></a><h3·class="section">Asymmetry·and·transitivity.</h3> |
169 | </div> | 169 | </div> |
170 | <div·class="code"> | 170 | <div·class="code"> |
171 | <br/> | 171 | <br/> |
172 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_asymm"·class="idref"·href="#NZOrderProp.lt_asymm"><span·class="id"·title="lemma">lt_asymm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:16"><span·class="id"·title="variable">n</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.NatInt.NZOrder.html#m:17"><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.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:17"><span·class="id"·title="variable">m</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.NatInt.NZOrder.html#n:16"><span·class="id"·title="variable">n</span></a>.<br/> | 172 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_asymm"·class="idref"·href="#NZOrderProp.lt_asymm"><span·class="id"·title="lemma">lt_asymm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:16"><span·class="id"·title="variable">n</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.NatInt.NZOrder.html#m:17"><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.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:17"><span·class="id"·title="variable">m</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.NatInt.NZOrder.html#n:16"><span·class="id"·title="variable">n</span></a>.<br/> |
Offset 184, 15 lines modified | Offset 184, 15 lines modified | ||
184 | <br/> | 184 | <br/> |
185 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_trans"·class="idref"·href="#NZOrderProp.le_trans"><span·class="id"·title="lemma">le_trans</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:21"·class="idref"·href="#n:21"><span·class="id"·title="binder">n</span></a>·<a·id="m:22"·class="idref"·href="#m:22"><span·class="id"·title="binder">m</span></a>·<a·id="p:23"·class="idref"·href="#p:23"><span·class="id"·title="binder">p</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:21"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:22"><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.NatInt.NZOrder.html#m:22"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#p:23"><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>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:21"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#p:23"><span·class="id"·title="variable">p</span></a>.<br/> | 185 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_trans"·class="idref"·href="#NZOrderProp.le_trans"><span·class="id"·title="lemma">le_trans</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:21"·class="idref"·href="#n:21"><span·class="id"·title="binder">n</span></a>·<a·id="m:22"·class="idref"·href="#m:22"><span·class="id"·title="binder">m</span></a>·<a·id="p:23"·class="idref"·href="#p:23"><span·class="id"·title="binder">p</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:21"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:22"><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.NatInt.NZOrder.html#m:22"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#p:23"><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>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:21"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#p:23"><span·class="id"·title="variable">p</span></a>.<br/> |
186 | <br/> | 186 | <br/> |
187 | </div> | 187 | </div> |
188 | <div·class="doc"> | 188 | <div·class="doc"> |
189 | <a·id="lab | 189 | <a·id="lab52"></a><h3·class="section">Some·type·classes·about·order</h3> |
190 | </div> | 190 | </div> |
191 | <div·class="code"> | 191 | <div·class="code"> |
192 | <br/> | 192 | <br/> |
193 | #[<span·class="id"·title="var">global</span>]<br/> | 193 | #[<span·class="id"·title="var">global</span>]<br/> |
194 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.lt_strorder"·class="idref"·href="#NZOrderProp.lt_strorder"><span·class="id"·title="instance">lt_strorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#StrictOrder"><span·class="id"·title="class">StrictOrder</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.lt"><span·class="id"·title="axiom">lt</span></a>.<br/> | 194 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.lt_strorder"·class="idref"·href="#NZOrderProp.lt_strorder"><span·class="id"·title="instance">lt_strorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#StrictOrder"><span·class="id"·title="class">StrictOrder</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.lt"><span·class="id"·title="axiom">lt</span></a>.<br/> |
Offset 205, 15 lines modified | Offset 205, 15 lines modified | ||
205 | #[<span·class="id"·title="var">global</span>]<br/> | 205 | #[<span·class="id"·title="var">global</span>]<br/> |
206 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.le_partialorder"·class="idref"·href="#NZOrderProp.le_partialorder"><span·class="id"·title="instance">le_partialorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#PartialOrder"><span·class="id"·title="class">PartialOrder</span></a>·<span·class="id"·title="var">_</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.le"><span·class="id"·title="axiom">le</span></a>.<br/> | 206 | <span·class="id"·title="keyword">Instance</span>·<a·id="NZOrderProp.le_partialorder"·class="idref"·href="#NZOrderProp.le_partialorder"><span·class="id"·title="instance">le_partialorder</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#PartialOrder"><span·class="id"·title="class">PartialOrder</span></a>·<span·class="id"·title="var">_</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.le"><span·class="id"·title="axiom">le</span></a>.<br/> |
207 | <br/> | 207 | <br/> |
208 | </div> | 208 | </div> |
209 | <div·class="doc"> | 209 | <div·class="doc"> |
210 | <a·id="lab | 210 | <a·id="lab53"></a><h3·class="section">Making·the·generic·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic</h3> |
211 | </div> | 211 | </div> |
212 | <div·class="code"> | 212 | <div·class="code"> |
213 | <br/> | 213 | <br/> |
214 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZOrderProp.lt_compat"·class="idref"·href="#NZOrderProp.lt_compat"><span·class="id"·title="definition">lt_compat</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.lt_wd"><span·class="id"·title="axiom">lt_wd</span></a>.<br/> | 214 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZOrderProp.lt_compat"·class="idref"·href="#NZOrderProp.lt_compat"><span·class="id"·title="definition">lt_compat</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.lt_wd"><span·class="id"·title="axiom">lt_wd</span></a>.<br/> |
215 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZOrderProp.lt_total"·class="idref"·href="#NZOrderProp.lt_total"><span·class="id"·title="definition">lt_total</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.lt_trichotomy"><span·class="id"·title="lemma">lt_trichotomy</span></a>.<br/> | 215 | <span·class="id"·title="keyword">Definition</span>·<a·id="NZOrderProp.lt_total"·class="idref"·href="#NZOrderProp.lt_total"><span·class="id"·title="definition">lt_total</span></a>·:=·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.lt_trichotomy"><span·class="id"·title="lemma">lt_trichotomy</span></a>.<br/> |
Offset 232, 15 lines modified | Offset 232, 15 lines modified | ||
232 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.Private_OrderTac"><span·class="id"·title="module">Private_OrderTac</span></a>.<br/> | 232 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZOrderProp.Private_OrderTac"><span·class="id"·title="module">Private_OrderTac</span></a>.<br/> |
233 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">order</span>·:=·<span·class="id"·title="var">Private_OrderTac.Tac.order</span>.<br/> | 233 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">order</span>·:=·<span·class="id"·title="var">Private_OrderTac.Tac.order</span>.<br/> |
234 | <br/> | 234 | <br/> |
235 | </div> | 235 | </div> |
236 | <div·class="doc"> | 236 | <div·class="doc"> |
237 | <a·id="lab | 237 | <a·id="lab54"></a><h3·class="section">Some·direct·consequences·of·<span·class="inlinecode"><span·class="id"·title="var">order</span></span></h3> |
238 | </div> | 238 | </div> |
239 | <div·class="code"> | 239 | <div·class="code"> |
240 | <br/> | 240 | <br/> |
241 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_neq"·class="idref"·href="#NZOrderProp.lt_neq"><span·class="id"·title="lemma">lt_neq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:24"·class="idref"·href="#n:24"><span·class="id"·title="binder">n</span></a>·<a·id="m:25"·class="idref"·href="#m:25"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:24"><span·class="id"·title="variable">n</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.NatInt.NZOrder.html#m:25"><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.NatInt.NZOrder.html#n:24"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:25"><span·class="id"·title="variable">m</span></a>.<br/> | 241 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_neq"·class="idref"·href="#NZOrderProp.lt_neq"><span·class="id"·title="lemma">lt_neq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:24"·class="idref"·href="#n:24"><span·class="id"·title="binder">n</span></a>·<a·id="m:25"·class="idref"·href="#m:25"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:24"><span·class="id"·title="variable">n</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.NatInt.NZOrder.html#m:25"><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.NatInt.NZOrder.html#n:24"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#9cff58ff8ba6db8841aeeecf7f406093"><span·class="id"·title="notation">~=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:25"><span·class="id"·title="variable">m</span></a>.<br/> |
242 | · | 242 | · |
Offset 277, 15 lines modified | Offset 277, 15 lines modified | ||
277 | <br/> | 277 | <br/> |
278 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_antisymm"·class="idref"·href="#NZOrderProp.le_antisymm"><span·class="id"·title="lemma">le_antisymm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:48"·class="idref"·href="#n:48"><span·class="id"·title="binder">n</span></a>·<a·id="m:49"·class="idref"·href="#m:49"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:49"><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.NatInt.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><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.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</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.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>.<br/> | 278 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_antisymm"·class="idref"·href="#NZOrderProp.le_antisymm"><span·class="id"·title="lemma">le_antisymm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:48"·class="idref"·href="#n:48"><span·class="id"·title="binder">n</span></a>·<a·id="m:49"·class="idref"·href="#m:49"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:49"><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.NatInt.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:48"><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.Numbers.NatInt.NZOrder.html#n:48"><span·class="id"·title="variable">n</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.NZOrder.html#m:49"><span·class="id"·title="variable">m</span></a>.<br/> |
279 | · | 279 | · |
280 | <br/> | 280 | <br/> |
281 | </div> | 281 | </div> |
282 | <div·class="doc"> | 282 | <div·class="doc"> |
283 | <a·id="lab | 283 | <a·id="lab55"></a><h3·class="section">More·properties·of·<span·class="inlinecode"><</span>·and·<span·class="inlinecode"><=</span>·with·respect·to·<span·class="inlinecode"><span·class="id"·title="var">S</span></span>·and·<span·class="inlinecode">0</span></h3> |
284 | </div> | 284 | </div> |
285 | <div·class="code"> | 285 | <div·class="code"> |
286 | <br/> | 286 | <br/> |
287 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_succ_r"·class="idref"·href="#NZOrderProp.le_succ_r"><span·class="id"·title="lemma">le_succ_r</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:50"·class="idref"·href="#n:50"><span·class="id"·title="binder">n</span></a>·<a·id="m:51"·class="idref"·href="#m:51"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><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.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><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.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</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.NZOrder.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><span·class="id"·title="variable">m</span></a>.<br/> | 287 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.le_succ_r"·class="idref"·href="#NZOrderProp.le_succ_r"><span·class="id"·title="lemma">le_succ_r</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:50"·class="idref"·href="#n:50"><span·class="id"·title="binder">n</span></a>·<a·id="m:51"·class="idref"·href="#m:51"><span·class="id"·title="binder">m</span></a>,·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><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.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><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.Numbers.NatInt.NZOrder.html#n:50"><span·class="id"·title="variable">n</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.NZOrder.html#NZ.S"><span·class="id"·title="abbreviation">S</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZOrder.html#m:51"><span·class="id"·title="variable">m</span></a>.<br/> |
Offset 333, 15 lines modified | Offset 333, 15 lines modified | ||
333 | <br/> | 333 | <br/> |
334 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_1_l"·class="idref"·href="#NZOrderProp.lt_1_l"><span·class="id"·title="lemma">lt_1_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:62"·class="idref"·href="#n:62"><span·class="id"·title="binder">n</span></a>·<a·id="m:63"·class="idref"·href="#m:63"><span·class="id"·title="binder">m</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.NZOrder.html#n:62"><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.Numbers.NatInt.NZOrder.html#n:62"><span·class="id"·title="variable">n</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.NatInt.NZOrder.html#m:63"><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>·1·<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.NZOrder.html#m:63"><span·class="id"·title="variable">m</span></a>.<br/> | 334 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NZOrderProp.lt_1_l"·class="idref"·href="#NZOrderProp.lt_1_l"><span·class="id"·title="lemma">lt_1_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:62"·class="idref"·href="#n:62"><span·class="id"·title="binder">n</span></a>·<a·id="m:63"·class="idref"·href="#m:63"><span·class="id"·title="binder">m</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.NZOrder.html#n:62"><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.Numbers.NatInt.NZOrder.html#n:62"><span·class="id"·title="variable">n</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.NatInt.NZOrder.html#m:63"><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>·1·<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.NZOrder.html#m:63"><span·class="id"·title="variable">m</span></a>.<br/> |
335 | <br/> | 335 | <br/> |
336 | </div> | 336 | </div> |
337 | <div·class="doc"> | 337 | <div·class="doc"> |
338 | <a·id="lab | 338 | <a·id="lab56"></a><h3·class="section">More·Trichotomy,·decidability·and·double·negation·elimination</h3> |
339 | <div·class="paragraph">·</div> | 339 | <div·class="paragraph">·</div> |
Max diff block lines reached; 2099/20092 bytes (10.45%) of diff not shown. |
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="lab | 349 | <a·id="lab70"></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="lab8 | 160 | <a·id="lab86"></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 187, 15 lines modified | Offset 187, 15 lines modified | ||
187 | <br/> | 187 | <br/> |
188 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.mod_mul"·class="idref"·href="#NDivProp.mod_mul"><span·class="id"·title="lemma">mod_mul</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:35"·class="idref"·href="#a:35"><span·class="id"·title="binder">a</span></a>·<a·id="b:36"·class="idref"·href="#b:36"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</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>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:35"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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:36"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> | 188 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.mod_mul"·class="idref"·href="#NDivProp.mod_mul"><span·class="id"·title="lemma">mod_mul</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:35"·class="idref"·href="#a:35"><span·class="id"·title="binder">a</span></a>·<a·id="b:36"·class="idref"·href="#b:36"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</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>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:35"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:36"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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:36"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·0.<br/> |
189 | · | 189 | · |
190 | <br/> | 190 | <br/> |
191 | </div> | 191 | </div> |
192 | <div·class="doc"> | 192 | <div·class="doc"> |
193 | <a·id="lab8 | 193 | <a·id="lab87"></a><h1·class="section">Order·results·about·mod·and·div</h1> |
194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> |
195 | ·A·modulo·cannot·grow·beyond·its·starting·point.· | 195 | ·A·modulo·cannot·grow·beyond·its·starting·point.· |
196 | </div> | 196 | </div> |
197 | <div·class="code"> | 197 | <div·class="code"> |
Offset 285, 15 lines modified | Offset 285, 15 lines modified | ||
285 | <br/> | 285 | <br/> |
286 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.div_le_compat_l"·class="idref"·href="#NDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>·<a·id="q:68"·class="idref"·href="#q:68"><span·class="id"·title="binder">q</span></a>·<a·id="r:69"·class="idref"·href="#r:69"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#q:68"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#r:69"><span·class="id"·title="variable">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.Numbers.Natural.Abstract.NDiv.html#p:67"><span·class="id"·title="variable">p</span></a><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#r:69"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#p:67"><span·class="id"·title="variable">p</span></a><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#q:68"><span·class="id"·title="variable">q</span></a>.<br/> | 286 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.div_le_compat_l"·class="idref"·href="#NDivProp.div_le_compat_l"><span·class="id"·title="lemma">div_le_compat_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>·<a·id="q:68"·class="idref"·href="#q:68"><span·class="id"·title="binder">q</span></a>·<a·id="r:69"·class="idref"·href="#r:69"><span·class="id"·title="binder">r</span></a>,·0<a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#q:68"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.Structures.Orders.html#8c602530c59c13bd8ba993c0e201cbd3"><span·class="id"·title="notation"><=</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#r:69"><span·class="id"·title="variable">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.Numbers.Natural.Abstract.NDiv.html#p:67"><span·class="id"·title="variable">p</span></a><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#r:69"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#p:67"><span·class="id"·title="variable">p</span></a><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#q:68"><span·class="id"·title="variable">q</span></a>.<br/> |
287 | · | 287 | · |
288 | <br/> | 288 | <br/> |
289 | </div> | 289 | </div> |
290 | <div·class="doc"> | 290 | <div·class="doc"> |
291 | <a·id="lab8 | 291 | <a·id="lab88"></a><h1·class="section">Relations·between·usual·operations·and·mod·and·div</h1> |
292 | </div> | 292 | </div> |
293 | <div·class="code"> | 293 | <div·class="code"> |
294 | <br/> | 294 | <br/> |
295 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.mod_add"·class="idref"·href="#NDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:70"·class="idref"·href="#a:70"><span·class="id"·title="binder">a</span></a>·<a·id="b:71"·class="idref"·href="#b:71"><span·class="id"·title="binder">b</span></a>·<a·id="c:72"·class="idref"·href="#c:72"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</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><br/> | 295 | <span·class="id"·title="keyword">Lemma</span>·<a·id="NDivProp.mod_add"·class="idref"·href="#NDivProp.mod_add"><span·class="id"·title="lemma">mod_add</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:70"·class="idref"·href="#a:70"><span·class="id"·title="binder">a</span></a>·<a·id="b:71"·class="idref"·href="#b:71"><span·class="id"·title="binder">b</span></a>·<a·id="c:72"·class="idref"·href="#c:72"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</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><br/> |
296 | <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:70"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:71"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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#c:72"><span·class="id"·title="variable">c</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:70"><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#c:72"><span·class="id"·title="variable">c</span></a>.<br/> | 296 | <a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:70"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#c2e8aaaa0a712025cad3c7b3ed5aeff2"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:71"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#c:72"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">)</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#c:72"><span·class="id"·title="variable">c</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:70"><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#c:72"><span·class="id"·title="variable">c</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.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="lab90"></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="lab8 | 53 | <a·id="lab89"></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 55, 15 lines modified | Offset 55, 15 lines modified | ||
55 | <br/> | 55 | <br/> |
56 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">N_scope</span>.<br/> | 56 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">N_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="lab91"></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> |
61 | </div> | 61 | </div> |
62 | <div·class="code"> | 62 | <div·class="code"> |
63 | <br/> | 63 | <br/> |
64 | <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/> | 64 | <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="lab687"></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 87, 15 lines modified | Offset 87, 15 lines modified | ||
87 | <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 87 | <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> |
88 | <:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>.<br/> | 88 | <:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>.<br/> |
89 | <br/> | 89 | <br/> |
90 | </div> | 90 | </div> |
91 | <div·class="doc"> | 91 | <div·class="doc"> |
92 | <a·id="lab | 92 | <a·id="lab688"></a><h1·class="section">Definitions·of·operations,·now·in·a·separate·file</h1> |
93 | </div> | 93 | </div> |
94 | <div·class="code"> | 94 | <div·class="code"> |
95 | <br/> | 95 | <br/> |
96 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#Pos"><span·class="id"·title="module">BinPosDef.Pos</span></a>.<br/> | 96 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#Pos"><span·class="id"·title="module">BinPosDef.Pos</span></a>.<br/> |
Offset 109, 15 lines modified | Offset 109, 15 lines modified | ||
109 | <br/> | 109 | <br/> |
110 | <br/> | 110 | <br/> |
111 | </div> | 111 | </div> |
112 | <div·class="doc"> | 112 | <div·class="doc"> |
113 | <a·id="lab | 113 | <a·id="lab689"></a><h1·class="section">Logical·Predicates</h1> |
114 | </div> | 114 | </div> |
115 | <div·class="code"> | 115 | <div·class="code"> |
116 | <br/> | 116 | <br/> |
117 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.eq"·class="idref"·href="#Pos.eq"><span·class="id"·title="definition">eq</span></a>·:=·@<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> | 117 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.eq"·class="idref"·href="#Pos.eq"><span·class="id"·title="definition">eq</span></a>·:=·@<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> |
118 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.eq_equiv"·class="idref"·href="#Pos.eq_equiv"><span·class="id"·title="definition">eq_equiv</span></a>·:=·@<a·class="idref"·href="Coq.Classes.RelationClasses.html#eq_equivalence"><span·class="id"·title="instance">eq_equivalence</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> | 118 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.eq_equiv"·class="idref"·href="#Pos.eq_equiv"><span·class="id"·title="definition">eq_equiv</span></a>·:=·@<a·class="idref"·href="Coq.Classes.RelationClasses.html#eq_equivalence"><span·class="id"·title="instance">eq_equivalence</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> |
Offset 141, 50 lines modified | Offset 141, 50 lines modified | ||
141 | <span·class="id"·title="keyword">Notation</span>·<a·id="Pos.::positive_scope:x_'<'_x_'<'_x"·class="idref"·href="#Pos.::positive_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.PArith.BinPos.html#Pos.::positive_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.PArith.BinPos.html#Pos.::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">positive_scope</span>.<br/> | 141 | <span·class="id"·title="keyword">Notation</span>·<a·id="Pos.::positive_scope:x_'<'_x_'<'_x"·class="idref"·href="#Pos.::positive_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.PArith.BinPos.html#Pos.::positive_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.PArith.BinPos.html#Pos.::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">positive_scope</span>.<br/> |
142 | <span·class="id"·title="keyword">Notation</span>·<a·id="30eae3eb4d3ddeda607a70d5afc54c43"·class="idref"·href="#30eae3eb4d3ddeda607a70d5afc54c43"><span·class="id"·title="notation">"</span></a>x·<·y·<=·z"·:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.::positive_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.PArith.BinPos.html#7f6b3352e24ef34244d88fe88c6d33f0"><span·class="id"·title="notation"><=</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">positive_scope</span>.<br/> | 142 | <span·class="id"·title="keyword">Notation</span>·<a·id="30eae3eb4d3ddeda607a70d5afc54c43"·class="idref"·href="#30eae3eb4d3ddeda607a70d5afc54c43"><span·class="id"·title="notation">"</span></a>x·<·y·<=·z"·:=·(<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.::positive_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.PArith.BinPos.html#7f6b3352e24ef34244d88fe88c6d33f0"><span·class="id"·title="notation"><=</span></a>·<span·class="id"·title="var">z</span>)·:·<span·class="id"·title="var">positive_scope</span>.<br/> |
143 | <br/> | 143 | <br/> |
144 | </div> | 144 | </div> |
145 | <div·class="doc"> | 145 | <div·class="doc"> |
146 | <a·id="lab | 146 | <a·id="lab690"></a><h1·class="section">Properties·of·operations·over·positive·numbers</h1> |
147 | <div·class="paragraph">·</div> | 147 | <div·class="paragraph">·</div> |
148 | <a·id="lab | 148 | <a·id="lab691"></a><h2·class="section">Decidability·of·equality·on·binary·positive·numbers</h2> |
149 | </div> | 149 | </div> |
150 | <div·class="code"> | 150 | <div·class="code"> |
151 | <br/> | 151 | <br/> |
152 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.eq_dec"·class="idref"·href="#Pos.eq_dec"><span·class="id"·title="lemma">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:9"·class="idref"·href="#x:9"><span·class="id"·title="binder">x</span></a>·<a·id="y:10"·class="idref"·href="#y:10"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#y:10"><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.PArith.BinPos.html#x:9"><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.PArith.BinPos.html#y:10"><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/> | 152 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.eq_dec"·class="idref"·href="#Pos.eq_dec"><span·class="id"·title="lemma">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:9"·class="idref"·href="#x:9"><span·class="id"·title="binder">x</span></a>·<a·id="y:10"·class="idref"·href="#y:10"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#y:10"><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.PArith.BinPos.html#x:9"><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.PArith.BinPos.html#y:10"><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/> |
153 | <br/> | 153 | <br/> |
154 | </div> | 154 | </div> |
155 | <div·class="doc"> | 155 | <div·class="doc"> |
156 | <a·id="lab | 156 | <a·id="lab692"></a><h1·class="section">Properties·of·successor·on·binary·positive·numbers</h1> |
157 | <div·class="paragraph">·</div> | 157 | <div·class="paragraph">·</div> |
158 | <a·id="lab | 158 | <a·id="lab693"></a><h2·class="section">Specification·of·<span·class="inlinecode"><span·class="id"·title="var">xI</span></span>·in·term·of·<span·class="inlinecode"><span·class="id"·title="var">succ</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">xO</span></span></h2> |
159 | </div> | 159 | </div> |
160 | <div·class="code"> | 160 | <div·class="code"> |
161 | <br/> | 161 | <br/> |
162 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.xI_succ_xO"·class="idref"·href="#Pos.xI_succ_xO"><span·class="id"·title="lemma">xI_succ_xO</span></a>·<a·id="p:11"·class="idref"·href="#p:11"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:11"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#119ad21c8e0c4947cd973f1f72e5feea"><span·class="id"·title="notation">~1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:11"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>.<br/> | 162 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.xI_succ_xO"·class="idref"·href="#Pos.xI_succ_xO"><span·class="id"·title="lemma">xI_succ_xO</span></a>·<a·id="p:11"·class="idref"·href="#p:11"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:11"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#119ad21c8e0c4947cd973f1f72e5feea"><span·class="id"·title="notation">~1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:11"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>.<br/> |
163 | <br/> | 163 | <br/> |
164 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_discr"·class="idref"·href="#Pos.succ_discr"><span·class="id"·title="lemma">succ_discr</span></a>·<a·id="p:12"·class="idref"·href="#p:12"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:12"><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>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:12"><span·class="id"·title="variable">p</span></a>.<br/> | 164 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_discr"·class="idref"·href="#Pos.succ_discr"><span·class="id"·title="lemma">succ_discr</span></a>·<a·id="p:12"·class="idref"·href="#p:12"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:12"><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>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:12"><span·class="id"·title="variable">p</span></a>.<br/> |
165 | <br/> | 165 | <br/> |
166 | </div> | 166 | </div> |
167 | <div·class="doc"> | 167 | <div·class="doc"> |
168 | <a·id="lab | 168 | <a·id="lab694"></a><h2·class="section">Successor·and·double</h2> |
169 | </div> | 169 | </div> |
170 | <div·class="code"> | 170 | <div·class="code"> |
171 | <br/> | 171 | <br/> |
172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.pred_double_spec"·class="idref"·href="#Pos.pred_double_spec"><span·class="id"·title="lemma">pred_double_spec</span></a>·<a·id="p:13"·class="idref"·href="#p:13"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:13"><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.PArith.BinPos.html#Pos.pred"><span·class="id"·title="definition">pred</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#p:13"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>).<br/> | 172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.pred_double_spec"·class="idref"·href="#Pos.pred_double_spec"><span·class="id"·title="lemma">pred_double_spec</span></a>·<a·id="p:13"·class="idref"·href="#p:13"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:13"><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.PArith.BinPos.html#Pos.pred"><span·class="id"·title="definition">pred</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#p:13"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>).<br/> |
Offset 200, 15 lines modified | Offset 200, 15 lines modified | ||
200 | <br/> | 200 | <br/> |
201 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.pred_double_xO_discr"·class="idref"·href="#Pos.pred_double_xO_discr"><span·class="id"·title="lemma">pred_double_xO_discr</span></a>·<a·id="p:17"·class="idref"·href="#p:17"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:17"><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>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>.<br/> | 201 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.pred_double_xO_discr"·class="idref"·href="#Pos.pred_double_xO_discr"><span·class="id"·title="lemma">pred_double_xO_discr</span></a>·<a·id="p:17"·class="idref"·href="#p:17"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:17"><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>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:17"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a>.<br/> |
202 | <br/> | 202 | <br/> |
203 | </div> | 203 | </div> |
204 | <div·class="doc"> | 204 | <div·class="doc"> |
205 | <a·id="lab | 205 | <a·id="lab695"></a><h2·class="section">Successor·and·predecessor</h2> |
206 | </div> | 206 | </div> |
207 | <div·class="code"> | 207 | <div·class="code"> |
208 | <br/> | 208 | <br/> |
209 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_not_1"·class="idref"·href="#Pos.succ_not_1"><span·class="id"·title="lemma">succ_not_1</span></a>·<a·id="p:18"·class="idref"·href="#p:18"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:18"><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>·1.<br/> | 209 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_not_1"·class="idref"·href="#Pos.succ_not_1"><span·class="id"·title="lemma">succ_not_1</span></a>·<a·id="p:18"·class="idref"·href="#p:18"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:18"><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>·1.<br/> |
Offset 221, 107 lines modified | Offset 221, 107 lines modified | ||
221 | <br/> | 221 | <br/> |
222 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_pred"·class="idref"·href="#Pos.succ_pred"><span·class="id"·title="lemma">succ_pred</span></a>·<a·id="p:21"·class="idref"·href="#p:21"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><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>·1·<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.succ"><span·class="id"·title="definition">succ</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred"><span·class="id"·title="definition">pred</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><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.PArith.BinPos.html#p:21"><span·class="id"·title="variable">p</span></a>.<br/> | 222 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Pos.succ_pred"·class="idref"·href="#Pos.succ_pred"><span·class="id"·title="lemma">succ_pred</span></a>·<a·id="p:21"·class="idref"·href="#p:21"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><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>·1·<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.succ"><span·class="id"·title="definition">succ</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred"><span·class="id"·title="definition">pred</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#p:21"><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.PArith.BinPos.html#p:21"><span·class="id"·title="variable">p</span></a>.<br/> |
223 | <br/> | 223 | <br/> |
224 | </div> | 224 | </div> |
225 | <div·class="doc"> | 225 | <div·class="doc"> |
226 | <a·id="lab | 226 | <a·id="lab696"></a><h2·class="section">Injectivity·of·successor</h2> |
227 | </div> | 227 | </div> |
228 | <div·class="code"> | 228 | <div·class="code"> |
Max diff block lines reached; 123752/137139 bytes (90.24%) of diff not shown. |
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="lab660"></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 94, 19 lines modified | Offset 94, 19 lines modified | ||
94 | <br/> | 94 | <br/> |
95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.t"·class="idref"·href="#Pos.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.t"·class="idref"·href="#Pos.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</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="lab661"></a><h1·class="section">Operations·over·positive·numbers</h1> |
100 | <div·class="paragraph">·</div> | 100 | <div·class="paragraph">·</div> |
101 | <a·id="lab | 101 | <a·id="lab662"></a><h2·class="section">Successor</h2> |
102 | </div> | 102 | </div> |
103 | <div·class="code"> | 103 | <div·class="code"> |
104 | <br/> | 104 | <br/> |
105 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.succ"·class="idref"·href="#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> | 105 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.succ"·class="idref"·href="#Pos.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> |
106 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 106 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 115, 15 lines modified | Offset 115, 15 lines modified | ||
115 | |·1·=>·1<a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a><br/> | 115 | |·1·=>·1<a·class="idref"·href="Coq.PArith.BinPosDef.html#35713fcadfdd66af247cbf95acf859fa"><span·class="id"·title="notation">~0</span></a><br/> |
116 | <span·class="id"·title="keyword">end</span>.<br/> | 116 | <span·class="id"·title="keyword">end</span>.<br/> |
117 | <br/> | 117 | <br/> |
118 | </div> | 118 | </div> |
119 | <div·class="doc"> | 119 | <div·class="doc"> |
120 | <a·id="lab | 120 | <a·id="lab663"></a><h2·class="section">Addition</h2> |
121 | </div> | 121 | </div> |
122 | <div·class="code"> | 122 | <div·class="code"> |
123 | <br/> | 123 | <br/> |
124 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.add"·class="idref"·href="#Pos.add"><span·class="id"·title="definition">add</span></a>·<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>·:=<br/> | 124 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.add"·class="idref"·href="#Pos.add"><span·class="id"·title="definition">add</span></a>·<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>·:=<br/> |
125 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:4"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.PArith.BinPosDef.html#y:5"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 125 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:4"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.PArith.BinPosDef.html#y:5"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 154, 15 lines modified | Offset 154, 15 lines modified | ||
154 | <br/> | 154 | <br/> |
155 | <span·class="id"·title="keyword">Infix</span>·<a·id="26e668c1e502054bd18e92982f52c00f"·class="idref"·href="#26e668c1e502054bd18e92982f52c00f"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.PArith.BinPosDef.html#Pos.add"><span·class="id"·title="definition">add</span></a>·:·<span·class="id"·title="var">positive_scope</span>.<br/> | 155 | <span·class="id"·title="keyword">Infix</span>·<a·id="26e668c1e502054bd18e92982f52c00f"·class="idref"·href="#26e668c1e502054bd18e92982f52c00f"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.PArith.BinPosDef.html#Pos.add"><span·class="id"·title="definition">add</span></a>·:·<span·class="id"·title="var">positive_scope</span>.<br/> |
156 | <br/> | 156 | <br/> |
157 | </div> | 157 | </div> |
158 | <div·class="doc"> | 158 | <div·class="doc"> |
159 | <a·id="lab | 159 | <a·id="lab664"></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> |
160 | </div> | 160 | </div> |
161 | <div·class="code"> | 161 | <div·class="code"> |
162 | <br/> | 162 | <br/> |
163 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.pred_double"·class="idref"·href="#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>·:=<br/> | 163 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Pos.pred_double"·class="idref"·href="#Pos.pred_double"><span·class="id"·title="definition">pred_double</span></a>·<a·id="x:14"·class="idref"·href="#x:14"><span·class="id"·title="binder">x</span></a>·:=<br/> |
164 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:14"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 164 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:14"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 171, 15 lines modified | Offset 171, 15 lines modified | ||
171 | |·1·=>·1<br/> | 171 | |·1·=>·1<br/> |
172 | <span·class="id"·title="keyword">end</span>.<br/> | 172 | <span·class="id"·title="keyword">end</span>.<br/> |
173 | <br/> | 173 | <br/> |
174 | </div> | 174 | </div> |
175 | <div·class="doc"> | 175 | <div·class="doc"> |
176 | <a·id="lab | 176 | <a·id="lab665"></a><h2·class="section">Predecessor</h2> |
177 | </div> | 177 | </div> |
178 | <div·class="code"> | 178 | <div·class="code"> |
179 | <br/> | 179 | <br/> |
180 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.pred"·class="idref"·href="#Pos.pred"><span·class="id"·title="definition">pred</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·:=<br/> | 180 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.pred"·class="idref"·href="#Pos.pred"><span·class="id"·title="definition">pred</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·:=<br/> |
181 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:17"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 181 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:17"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 188, 15 lines modified | Offset 188, 15 lines modified | ||
188 | |·1·=>·1<br/> | 188 | |·1·=>·1<br/> |
189 | <span·class="id"·title="keyword">end</span>.<br/> | 189 | <span·class="id"·title="keyword">end</span>.<br/> |
190 | <br/> | 190 | <br/> |
191 | </div> | 191 | </div> |
192 | <div·class="doc"> | 192 | <div·class="doc"> |
193 | <a·id="lab | 193 | <a·id="lab666"></a><h2·class="section">The·predecessor·of·a·positive·number·can·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">N</span></span></h2> |
194 | </div> | 194 | </div> |
195 | <div·class="code"> | 195 | <div·class="code"> |
196 | <br/> | 196 | <br/> |
197 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.pred_N"·class="idref"·href="#Pos.pred_N"><span·class="id"·title="definition">pred_N</span></a>·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>·:=<br/> | 197 | <span·class="id"·title="keyword">Definition</span>·<a·id="Pos.pred_N"·class="idref"·href="#Pos.pred_N"><span·class="id"·title="definition">pred_N</span></a>·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>·:=<br/> |
198 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:19"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 198 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.PArith.BinPosDef.html#x:19"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 205, 30 lines modified | Offset 205, 30 lines modified | ||
205 | |·1·=>·<a·class="idref"·href="Coq.Numbers.BinNums.html#N0"><span·class="id"·title="constructor">N0</span></a><br/> | 205 | |·1·=>·<a·class="idref"·href="Coq.Numbers.BinNums.html#N0"><span·class="id"·title="constructor">N0</span></a><br/> |
206 | <span·class="id"·title="keyword">end</span>.<br/> | 206 | <span·class="id"·title="keyword">end</span>.<br/> |
207 | <br/> | 207 | <br/> |
208 | </div> | 208 | </div> |
209 | <div·class="doc"> | 209 | <div·class="doc"> |
210 | <a·id="lab | 210 | <a·id="lab667"></a><h2·class="section">An·auxiliary·type·for·subtraction</h2> |
211 | </div> | 211 | </div> |
212 | <div·class="code"> | 212 | <div·class="code"> |
213 | <br/> | 213 | <br/> |
214 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Pos.mask"·class="idref"·href="#Pos.mask"><span·class="id"·title="definition,·inductive"><span·id="Pos.mask_rect"·class="id"><span·id="Pos.mask_ind"·class="id"><span·id="Pos.mask_rec"·class="id"><span·id="Pos.mask_sind"·class="id">mask</span></span></span></span></span></a>·:·<span·class="id"·title="keyword">Set</span>·:=<br/> | 214 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Pos.mask"·class="idref"·href="#Pos.mask"><span·class="id"·title="definition,·inductive"><span·id="Pos.mask_rect"·class="id"><span·id="Pos.mask_ind"·class="id"><span·id="Pos.mask_rec"·class="id"><span·id="Pos.mask_sind"·class="id">mask</span></span></span></span></span></a>·:·<span·class="id"·title="keyword">Set</span>·:=<br/> |
215 | |·<a·id="Pos.IsNul"·class="idref"·href="#Pos.IsNul"><span·class="id"·title="constructor">IsNul</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a><br/> | 215 | |·<a·id="Pos.IsNul"·class="idref"·href="#Pos.IsNul"><span·class="id"·title="constructor">IsNul</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a><br/> |
216 | |·<a·id="Pos.IsPos"·class="idref"·href="#Pos.IsPos"><span·class="id"·title="constructor">IsPos</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</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.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a><br/> | 216 | |·<a·id="Pos.IsPos"·class="idref"·href="#Pos.IsPos"><span·class="id"·title="constructor">IsPos</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</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.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a><br/> |
217 | |·<a·id="Pos.IsNeg"·class="idref"·href="#Pos.IsNeg"><span·class="id"·title="constructor">IsNeg</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a>.<br/> | 217 | |·<a·id="Pos.IsNeg"·class="idref"·href="#Pos.IsNeg"><span·class="id"·title="constructor">IsNeg</span></a>·:·<a·class="idref"·href="Coq.PArith.BinPosDef.html#mask:21"><span·class="id"·title="inductive">mask</span></a>.<br/> |
218 | <br/> | 218 | <br/> |
219 | </div> | 219 | </div> |
220 | <div·class="doc"> | 220 | <div·class="doc"> |
221 | <a·id="lab | 221 | <a·id="lab668"></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> |
222 | </div> | 222 | </div> |
223 | <div·class="code"> | 223 | <div·class="code"> |
Max diff block lines reached; 29941/38347 bytes (78.08%) of diff not shown. |
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="lab6 | 56 | <a·id="lab657"></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 67, 15 lines modified | Offset 67, 15 lines modified | ||
67 | </div> | 67 | </div> |
68 | <div·class="doc"> | 68 | <div·class="doc"> |
69 | Note·that·the·last·module·fulfills·by·subtyping·many·other | 69 | Note·that·the·last·module·fulfills·by·subtyping·many·other |
70 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· | 70 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· |
71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> |
72 | <a·id="lab6 | 72 | <a·id="lab658"></a><h1·class="section">OrderedType·structure·for·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·numbers</h1> |
73 | </div> | 73 | </div> |
74 | <div·class="code"> | 74 | <div·class="code"> |
75 | <br/> | 75 | <br/> |
76 | <span·class="id"·title="keyword">Module</span>·<a·id="Positive_as_OT"·class="idref"·href="#Positive_as_OT"><span·class="id"·title="module">Positive_as_OT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos"><span·class="id"·title="module">Pos</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Module</span>·<a·id="Positive_as_OT"·class="idref"·href="#Positive_as_OT"><span·class="id"·title="module">Positive_as_OT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos"><span·class="id"·title="module">Pos</span></a>.<br/> |
Offset 83, 15 lines modified | Offset 83, 15 lines modified | ||
83 | </div> | 83 | </div> |
84 | <div·class="doc"> | 84 | <div·class="doc"> |
85 | Note·that·<span·class="inlinecode"><span·class="id"·title="var">Positive_as_OT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">UsualOrderedType</span></span> | 85 | Note·that·<span·class="inlinecode"><span·class="id"·title="var">Positive_as_OT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">UsualOrderedType</span></span> |
86 | ···and·a·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·(and·also·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>).· | 86 | ···and·a·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·(and·also·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>).· |
87 | <div·class="paragraph">·</div> | 87 | <div·class="paragraph">·</div> |
88 | <a·id="lab6 | 88 | <a·id="lab659"></a><h1·class="section">An·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic·for·positive·numbers</h1> |
89 | </div> | 89 | </div> |
90 | <div·class="code"> | 90 | <div·class="code"> |
91 | <br/> | 91 | <br/> |
92 | <span·class="id"·title="keyword">Module</span>·<a·id="PositiveOrder"·class="idref"·href="#PositiveOrder"><span·class="id"·title="module">PositiveOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.PArith.POrderedType.html#Positive_as_OT"><span·class="id"·title="module">Positive_as_OT</span></a>.<br/> | 92 | <span·class="id"·title="keyword">Module</span>·<a·id="PositiveOrder"·class="idref"·href="#PositiveOrder"><span·class="id"·title="module">PositiveOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.PArith.POrderedType.html#Positive_as_OT"><span·class="id"·title="module">Positive_as_OT</span></a>.<br/> |
93 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">p_order</span>·:=·<span·class="id"·title="var">PositiveOrder.order</span>.<br/> | 93 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">p_order</span>·:=·<span·class="id"·title="var">PositiveOrder.order</span>.<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="lab656"></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="lab1 | 56 | <a·id="lab1230"></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 194, 15 lines modified | Offset 194, 15 lines modified | ||
194 | <br/> | 194 | <br/> |
195 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qcompare_spec"·class="idref"·href="#Qcompare_spec"><span·class="id"·title="lemma">Qcompare_spec</span></a>·<a·id="x:33"·class="idref"·href="#x:33"><span·class="id"·title="binder">x</span></a>·<a·id="y:34"·class="idref"·href="#y:34"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#CompareSpec"><span·class="id"·title="inductive">CompareSpec</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</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#y:34"><span·class="id"·title="variable">y</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#1d4d04159713e8a1510c1de740564e3d"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>).<br/> | 195 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qcompare_spec"·class="idref"·href="#Qcompare_spec"><span·class="id"·title="lemma">Qcompare_spec</span></a>·<a·id="x:33"·class="idref"·href="#x:33"><span·class="id"·title="binder">x</span></a>·<a·id="y:34"·class="idref"·href="#y:34"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#CompareSpec"><span·class="id"·title="inductive">CompareSpec</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</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#y:34"><span·class="id"·title="variable">y</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:33"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#1d4d04159713e8a1510c1de740564e3d"><span·class="id"·title="notation">?=</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:34"><span·class="id"·title="variable">y</span></a>).<br/> |
196 | <br/> | 196 | <br/> |
197 | </div> | 197 | </div> |
198 | <div·class="doc"> | 198 | <div·class="doc"> |
199 | <a·id="lab1 | 199 | <a·id="lab1231"></a><h1·class="section">Properties·of·equality.</h1> |
200 | </div> | 200 | </div> |
201 | <div·class="code"> | 201 | <div·class="code"> |
202 | <br/> | 202 | <br/> |
203 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qeq_refl"·class="idref"·href="#Qeq_refl"><span·class="id"·title="lemma">Qeq_refl</span></a>·<a·id="x:35"·class="idref"·href="#x:35"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:35"><span·class="id"·title="variable">x</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#x:35"><span·class="id"·title="variable">x</span></a>.<br/> | 203 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qeq_refl"·class="idref"·href="#Qeq_refl"><span·class="id"·title="lemma">Qeq_refl</span></a>·<a·id="x:35"·class="idref"·href="#x:35"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:35"><span·class="id"·title="variable">x</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#x:35"><span·class="id"·title="variable">x</span></a>.<br/> |
Offset 286, 15 lines modified | Offset 286, 15 lines modified | ||
286 | #[<span·class="id"·title="var">global</span>]<br/> | 286 | #[<span·class="id"·title="var">global</span>]<br/> |
287 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Qnot_eq_sym</span>·:·<span·class="id"·title="var">qarith</span>.<br/> | 287 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Qnot_eq_sym</span>·:·<span·class="id"·title="var">qarith</span>.<br/> |
288 | <br/> | 288 | <br/> |
289 | </div> | 289 | </div> |
290 | <div·class="doc"> | 290 | <div·class="doc"> |
291 | <a·id="lab1 | 291 | <a·id="lab1232"></a><h1·class="section">Addition,·multiplication·and·opposite</h1> |
292 | <div·class="paragraph">·</div> | 292 | <div·class="paragraph">·</div> |
293 | ·The·addition,·multiplication·and·opposite·are·defined | 293 | ·The·addition,·multiplication·and·opposite·are·defined |
294 | ···in·the·straightforward·way:· | 294 | ···in·the·straightforward·way:· |
295 | </div> | 295 | </div> |
296 | <div·class="code"> | 296 | <div·class="code"> |
Offset 553, 15 lines modified | Offset 553, 15 lines modified | ||
553 | <br/> | 553 | <br/> |
554 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qmake_Qdiv"·class="idref"·href="#Qmake_Qdiv"><span·class="id"·title="lemma">Qmake_Qdiv</span></a>·<a·id="a:139"·class="idref"·href="#a:139"><span·class="id"·title="binder">a</span></a>·<a·id="b:140"·class="idref"·href="#b:140"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#a:139"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#b:140"><span·class="id"·title="variable">b</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#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a:139"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#b:140"><span·class="id"·title="variable">b</span></a>).<br/> | 554 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qmake_Qdiv"·class="idref"·href="#Qmake_Qdiv"><span·class="id"·title="lemma">Qmake_Qdiv</span></a>·<a·id="a:139"·class="idref"·href="#a:139"><span·class="id"·title="binder">a</span></a>·<a·id="b:140"·class="idref"·href="#b:140"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#a:139"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#b:140"><span·class="id"·title="variable">b</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#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#a:139"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#b:140"><span·class="id"·title="variable">b</span></a>).<br/> |
555 | <br/> | 555 | <br/> |
556 | </div> | 556 | </div> |
557 | <div·class="doc"> | 557 | <div·class="doc"> |
558 | <a·id="lab1 | 558 | <a·id="lab1233"></a><h1·class="section">Setoid·compatibility·results</h1> |
559 | </div> | 559 | </div> |
560 | <div·class="code"> | 560 | <div·class="code"> |
561 | <br/> | 561 | <br/> |
562 | #[<span·class="id"·title="var">global</span>]<br/> | 562 | #[<span·class="id"·title="var">global</span>]<br/> |
563 | <span·class="id"·title="keyword">Instance</span>·<a·id="Qplus_comp"·class="idref"·href="#Qplus_comp"><span·class="id"·title="instance">Qplus_comp</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</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.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></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.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></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.QArith.QArith_base.html#Qplus"><span·class="id"·title="definition">Qplus</span></a>.<br/> | 563 | <span·class="id"·title="keyword">Instance</span>·<a·id="Qplus_comp"·class="idref"·href="#Qplus_comp"><span·class="id"·title="instance">Qplus_comp</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</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.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></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.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></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.QArith.QArith_base.html#Qplus"><span·class="id"·title="definition">Qplus</span></a>.<br/> |
Offset 627, 15 lines modified | Offset 627, 15 lines modified | ||
627 | <br/> | 627 | <br/> |
628 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Q_apart_0_1"·class="idref"·href="#Q_apart_0_1"><span·class="id"·title="lemma">Q_apart_0_1</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·1·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 628 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Q_apart_0_1"·class="idref"·href="#Q_apart_0_1"><span·class="id"·title="lemma">Q_apart_0_1</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·1·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> |
629 | <br/> | 629 | <br/> |
630 | </div> | 630 | </div> |
631 | <div·class="doc"> | 631 | <div·class="doc"> |
632 | <a·id="lab1 | 632 | <a·id="lab1234"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Qadd</span></span></h1> |
633 | <div·class="paragraph">·</div> | 633 | <div·class="paragraph">·</div> |
634 | ·Addition·is·associative:· | 634 | ·Addition·is·associative:· |
635 | </div> | 635 | </div> |
636 | <div·class="code"> | 636 | <div·class="code"> |
Offset 667, 15 lines modified | Offset 667, 15 lines modified | ||
667 | <br/> | 667 | <br/> |
668 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qplus_comm"·class="idref"·href="#Qplus_comm"><span·class="id"·title="lemma">Qplus_comm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:146"·class="idref"·href="#x:146"><span·class="id"·title="binder">x</span></a>·<a·id="y:147"·class="idref"·href="#y:147"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:146"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:147"><span·class="id"·title="variable">y</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#y:147"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#x:146"><span·class="id"·title="variable">x</span></a>.<br/> | 668 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qplus_comm"·class="idref"·href="#Qplus_comm"><span·class="id"·title="lemma">Qplus_comm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:146"·class="idref"·href="#x:146"><span·class="id"·title="binder">x</span></a>·<a·id="y:147"·class="idref"·href="#y:147"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:146"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#y:147"><span·class="id"·title="variable">y</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#y:147"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#x:146"><span·class="id"·title="variable">x</span></a>.<br/> |
669 | <br/> | 669 | <br/> |
670 | </div> | 670 | </div> |
671 | <div·class="doc"> | 671 | <div·class="doc"> |
672 | <a·id="lab1 | 672 | <a·id="lab1235"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Qopp</span></span></h1> |
673 | </div> | 673 | </div> |
674 | <div·class="code"> | 674 | <div·class="code"> |
675 | <br/> | 675 | <br/> |
676 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qopp_involutive"·class="idref"·href="#Qopp_involutive"><span·class="id"·title="lemma">Qopp_involutive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="q:148"·class="idref"·href="#q:148"><span·class="id"·title="binder">q</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#q:148"><span·class="id"·title="variable">q</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#q:148"><span·class="id"·title="variable">q</span></a>.<br/> | 676 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qopp_involutive"·class="idref"·href="#Qopp_involutive"><span·class="id"·title="lemma">Qopp_involutive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="q:148"·class="idref"·href="#q:148"><span·class="id"·title="binder">q</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#q:148"><span·class="id"·title="variable">q</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#q:148"><span·class="id"·title="variable">q</span></a>.<br/> |
Offset 698, 15 lines modified | Offset 698, 15 lines modified | ||
698 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qplus_inj_l"·class="idref"·href="#Qplus_inj_l"><span·class="id"·title="lemma">Qplus_inj_l</span></a>·(<a·id="x:153"·class="idref"·href="#x:153"><span·class="id"·title="binder">x</span></a>·<a·id="y:154"·class="idref"·href="#y:154"><span·class="id"·title="binder">y</span></a>·<a·id="z:155"·class="idref"·href="#z:155"><span·class="id"·title="binder">z</span></a>:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>):<br/> | 698 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qplus_inj_l"·class="idref"·href="#Qplus_inj_l"><span·class="id"·title="lemma">Qplus_inj_l</span></a>·(<a·id="x:153"·class="idref"·href="#x:153"><span·class="id"·title="binder">x</span></a>·<a·id="y:154"·class="idref"·href="#y:154"><span·class="id"·title="binder">y</span></a>·<a·id="z:155"·class="idref"·href="#z:155"><span·class="id"·title="binder">z</span></a>:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>):<br/> |
699 | <a·class="idref"·href="Coq.QArith.QArith_base.html#z:155"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:153"><span·class="id"·title="variable">x</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#z:155"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:154"><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.QArith.QArith_base.html#x:153"><span·class="id"·title="variable">x</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#y:154"><span·class="id"·title="variable">y</span></a>.<br/> | 699 | <a·class="idref"·href="Coq.QArith.QArith_base.html#z:155"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:153"><span·class="id"·title="variable">x</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#z:155"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:154"><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.QArith.QArith_base.html#x:153"><span·class="id"·title="variable">x</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#y:154"><span·class="id"·title="variable">y</span></a>.<br/> |
700 | <br/> | 700 | <br/> |
701 | </div> | 701 | </div> |
702 | <div·class="doc"> | 702 | <div·class="doc"> |
703 | <a·id="lab1 | 703 | <a·id="lab1236"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">Qmult</span></span></h1> |
704 | <div·class="paragraph">·</div> | 704 | <div·class="paragraph">·</div> |
705 | ·Multiplication·is·associative:· | 705 | ·Multiplication·is·associative:· |
706 | </div> | 706 | </div> |
707 | <div·class="code"> | 707 | <div·class="code"> |
Offset 780, 15 lines modified | Offset 780, 15 lines modified | ||
780 | <br/> | 780 | <br/> |
781 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qmult_integral_l"·class="idref"·href="#Qmult_integral_l"><span·class="id"·title="lemma">Qmult_integral_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:173"·class="idref"·href="#x:173"><span·class="id"·title="binder">x</span></a>·<a·id="y:174"·class="idref"·href="#y:174"><span·class="id"·title="binder">y</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#x:173"><span·class="id"·title="variable">x</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.QArith.QArith_base.html#x:173"><span·class="id"·title="variable">x</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#y:174"><span·class="id"·title="variable">y</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.QArith.QArith_base.html#y:174"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> | 781 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Qmult_integral_l"·class="idref"·href="#Qmult_integral_l"><span·class="id"·title="lemma">Qmult_integral_l</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:173"·class="idref"·href="#x:173"><span·class="id"·title="binder">x</span></a>·<a·id="y:174"·class="idref"·href="#y:174"><span·class="id"·title="binder">y</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#x:173"><span·class="id"·title="variable">x</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.QArith.QArith_base.html#x:173"><span·class="id"·title="variable">x</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#y:174"><span·class="id"·title="variable">y</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.QArith.QArith_base.html#y:174"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0.<br/> |
782 | <br/> | 782 | <br/> |
783 | </div> | 783 | </div> |
784 | <div·class="doc"> | 784 | <div·class="doc"> |
785 | <a·id="lab1 | 785 | <a·id="lab1237"></a><h1·class="section">inject_Z·is·a·ring·homomorphism:</h1> |
786 | </div> | 786 | </div> |
787 | <div·class="code"> | 787 | <div·class="code"> |
788 | <br/> | 788 | <br/> |
789 | <span·class="id"·title="keyword">Lemma</span>·<a·id="inject_Z_plus"·class="idref"·href="#inject_Z_plus"><span·class="id"·title="lemma">inject_Z_plus</span></a>·(<a·id="x:175"·class="idref"·href="#x:175"><span·class="id"·title="binder">x</span></a>·<a·id="y:176"·class="idref"·href="#y:176"><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.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:175"><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.QArith.QArith_base.html#y:176"><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.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:175"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:176"><span·class="id"·title="variable">y</span></a>.<br/> | 789 | <span·class="id"·title="keyword">Lemma</span>·<a·id="inject_Z_plus"·class="idref"·href="#inject_Z_plus"><span·class="id"·title="lemma">inject_Z_plus</span></a>·(<a·id="x:175"·class="idref"·href="#x:175"><span·class="id"·title="binder">x</span></a>·<a·id="y:176"·class="idref"·href="#y:176"><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.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#x:175"><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.QArith.QArith_base.html#y:176"><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.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#x:175"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#inject_Z"><span·class="id"·title="definition">inject_Z</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#y:176"><span·class="id"·title="variable">y</span></a>.<br/> |
Max diff block lines reached; 32485/48908 bytes (66.42%) of diff not shown. |
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="lab1 | 56 | <a·id="lab1250"></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 89, 15 lines modified | Offset 89, 15 lines modified | ||
89 | </div> | 89 | </div> |
90 | <div·class="doc"> | 90 | <div·class="doc"> |
91 | Note·that·the·last·module·fulfills·by·subtyping·many·other | 91 | Note·that·the·last·module·fulfills·by·subtyping·many·other |
92 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· | 92 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· |
93 | <div·class="paragraph">·</div> | 93 | <div·class="paragraph">·</div> |
94 | <a·id="lab1 | 94 | <a·id="lab1251"></a><h1·class="section">OrderedType·structure·for·rational·numbers</h1> |
95 | </div> | 95 | </div> |
96 | <div·class="code"> | 96 | <div·class="code"> |
97 | <br/> | 97 | <br/> |
98 | <span·class="id"·title="keyword">Module</span>·<a·id="Q_as_OT"·class="idref"·href="#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Module</span>·<a·id="Q_as_OT"·class="idref"·href="#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>.<br/> |
99 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_DT"><span·class="id"·title="module">Q_as_DT</span></a>.<br/> | 99 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_DT"><span·class="id"·title="module">Q_as_DT</span></a>.<br/> |
Offset 120, 15 lines modified | Offset 120, 15 lines modified | ||
120 | <br/> | 120 | <br/> |
121 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>.<br/> | 121 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>.<br/> |
122 | <br/> | 122 | <br/> |
123 | </div> | 123 | </div> |
124 | <div·class="doc"> | 124 | <div·class="doc"> |
125 | <a·id="lab1 | 125 | <a·id="lab1252"></a><h1·class="section">An·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic·for·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span>·numbers</h1> |
126 | </div> | 126 | </div> |
127 | <div·class="code"> | 127 | <div·class="code"> |
128 | <br/> | 128 | <br/> |
129 | <span·class="id"·title="keyword">Module</span>·<a·id="QOrder"·class="idref"·href="#QOrder"><span·class="id"·title="module">QOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>.<br/> | 129 | <span·class="id"·title="keyword">Module</span>·<a·id="QOrder"·class="idref"·href="#QOrder"><span·class="id"·title="module">QOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>.<br/> |
130 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">q_order</span>·:=·<span·class="id"·title="var">QOrder.order</span>.<br/> | 130 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">q_order</span>·:=·<span·class="id"·title="var">QOrder.order</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="lab1 | 49 | <a·id="lab1229"></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="lab1 | 55 | <a·id="lab1209"></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="lab1 | 53 | <a·id="lab1248"></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 97, 15 lines modified | Offset 97, 15 lines modified | ||
97 | <br/> | 97 | <br/> |
98 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties"><span·class="id"·title="module">MinMaxProperties</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>·<a·class="idref"·href="Coq.QArith.Qminmax.html#QHasMinMax"><span·class="id"·title="module">QHasMinMax</span></a>.<br/> | 98 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties"><span·class="id"·title="module">MinMaxProperties</span></a>·<a·class="idref"·href="Coq.QArith.QOrderedType.html#Q_as_OT"><span·class="id"·title="module">Q_as_OT</span></a>·<a·class="idref"·href="Coq.QArith.Qminmax.html#QHasMinMax"><span·class="id"·title="module">QHasMinMax</span></a>.<br/> |
99 | <br/> | 99 | <br/> |
100 | </div> | 100 | </div> |
101 | <div·class="doc"> | 101 | <div·class="doc"> |
102 | <a·id="lab1 | 102 | <a·id="lab1249"></a><h1·class="section">Properties·specific·to·the·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span>·domain</h1> |
103 | <div·class="paragraph">·</div> | 103 | <div·class="paragraph">·</div> |
104 | ·Compatibilities·(consequences·of·monotonicity)· | 104 | ·Compatibilities·(consequences·of·monotonicity)· |
105 | </div> | 105 | </div> |
106 | <div·class="code"> | 106 | <div·class="code"> |
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="lab1 | 53 | <a·id="lab1210"></a><h1·class="section">Properties·of·Qpower_positive</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | <a·id="lab1 | 55 | <a·id="lab1211"></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="lab1 | 65 | <a·id="lab1212"></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="lab1 | 75 | <a·id="lab1213"></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="lab1 | 85 | <a·id="lab1214"></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 114, 28 lines modified | Offset 114, 28 lines modified | ||
114 | (<a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">positive</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 114 | (<a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#::positive_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">positive</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
115 | <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:15"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#::positive_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a>)%<span·class="id"·title="var">positive</span>·<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#91b8b0d313b5cdf9c4004b806e61416a"><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:15"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><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:15"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">)</span></a>.<br/> | 115 | <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:15"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#::positive_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a>)%<span·class="id"·title="var">positive</span>·<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#91b8b0d313b5cdf9c4004b806e61416a"><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:15"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:16"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><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:15"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#m:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#91b8b0d313b5cdf9c4004b806e61416a"><span·class="id"·title="notation">)</span></a>.<br/> |
116 | <br/> | 116 | <br/> |
117 | </div> | 117 | </div> |
118 | <div·class="doc"> | 118 | <div·class="doc"> |
119 | <a·id="lab1 | 119 | <a·id="lab1215"></a><h2·class="section">Qpower·and·exponent·multiplication</h2> |
120 | </div> | 120 | </div> |
121 | <div·class="code"> | 121 | <div·class="code"> |
122 | <br/> | 122 | <br/> |
123 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_mult_positive"·class="idref"·href="#Qpower_mult_positive"><span·class="id"·title="lemma">Qpower_mult_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:18"·class="idref"·href="#a:18"><span·class="id"·title="binder">a</span></a>·<a·id="n:19"·class="idref"·href="#n:19"><span·class="id"·title="binder">n</span></a>·<a·id="m:20"·class="idref"·href="#m:20"><span·class="id"·title="binder">m</span></a>,<br/> | 123 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_mult_positive"·class="idref"·href="#Qpower_mult_positive"><span·class="id"·title="lemma">Qpower_mult_positive</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:18"·class="idref"·href="#a:18"><span·class="id"·title="binder">a</span></a>·<a·id="n:19"·class="idref"·href="#n:19"><span·class="id"·title="binder">n</span></a>·<a·id="m:20"·class="idref"·href="#m:20"><span·class="id"·title="binder">m</span></a>,<br/> |
124 | <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:18"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:19"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#83db3fa9f059c10cb623a122cf097cd0"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:20"><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#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</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:18"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:19"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#m:20"><span·class="id"·title="variable">m</span></a>.<br/> | 124 | <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:18"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:19"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.PArith.BinPos.html#83db3fa9f059c10cb623a122cf097cd0"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#m:20"><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#Qpower_positive"><span·class="id"·title="definition">Qpower_positive</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:18"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#n:19"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#m:20"><span·class="id"·title="variable">m</span></a>.<br/> |
125 | <br/> | 125 | <br/> |
126 | </div> | 126 | </div> |
127 | <div·class="doc"> | 127 | <div·class="doc"> |
128 | <a·id="lab1 | 128 | <a·id="lab1216"></a><h2·class="section">Qpower_positive·decomposition</h2> |
129 | </div> | 129 | </div> |
130 | <div·class="code"> | 130 | <div·class="code"> |
131 | <br/> | 131 | <br/> |
132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_decomp_positive"·class="idref"·href="#Qpower_decomp_positive"><span·class="id"·title="lemma">Qpower_decomp_positive</span></a>·<a·id="p:21"·class="idref"·href="#p:21"><span·class="id"·title="binder">p</span></a>·<a·id="x:22"·class="idref"·href="#x:22"><span·class="id"·title="binder">x</span></a>·<a·id="y:23"·class="idref"·href="#y:23"><span·class="id"·title="binder">y</span></a>·:<br/> | 132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_decomp_positive"·class="idref"·href="#Qpower_decomp_positive"><span·class="id"·title="lemma">Qpower_decomp_positive</span></a>·<a·id="p:21"·class="idref"·href="#p:21"><span·class="id"·title="binder">p</span></a>·<a·id="x:22"·class="idref"·href="#x:22"><span·class="id"·title="binder">x</span></a>·<a·id="y:23"·class="idref"·href="#y:23"><span·class="id"·title="binder">y</span></a>·:<br/> |
133 | <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#x:22"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#y:23"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><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.QArith.Qpower.html#x:22"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#y:23"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#72c1e614b36b07dc51a712bc261ee813"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">)</span></a>.<br/> | 133 | <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#x:22"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#y:23"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><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.QArith.Qpower.html#x:22"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#14ef112b66e341f773bd1e9d05816f43"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#y:23"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#72c1e614b36b07dc51a712bc261ee813"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#p:21"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">)</span></a>.<br/> |
Offset 143, 19 lines modified | Offset 143, 19 lines modified | ||
143 | <br/> | 143 | <br/> |
144 | <span·class="id"·title="keyword">Notation</span>·<a·id="Qpower_decomp"·class="idref"·href="#Qpower_decomp"><span·class="id"·title="abbreviation">Qpower_decomp</span></a>·:=·<a·class="idref"·href="Coq.QArith.Qpower.html#Qpower_decomp_positive"><span·class="id"·title="lemma">Qpower_decomp_positive</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 144 | <span·class="id"·title="keyword">Notation</span>·<a·id="Qpower_decomp"·class="idref"·href="#Qpower_decomp"><span·class="id"·title="abbreviation">Qpower_decomp</span></a>·:=·<a·class="idref"·href="Coq.QArith.Qpower.html#Qpower_decomp_positive"><span·class="id"·title="lemma">Qpower_decomp_positive</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
145 | <br/> | 145 | <br/> |
146 | </div> | 146 | </div> |
147 | <div·class="doc"> | 147 | <div·class="doc"> |
148 | <a·id="lab1 | 148 | <a·id="lab1217"></a><h1·class="section">Properties·of·Qpower</h1> |
149 | <div·class="paragraph">·</div> | 149 | <div·class="paragraph">·</div> |
150 | <a·id="lab1 | 150 | <a·id="lab1218"></a><h2·class="section">Values·of·Qpower·for·specific·arguments</h2> |
151 | </div> | 151 | </div> |
152 | <div·class="code"> | 152 | <div·class="code"> |
153 | <br/> | 153 | <br/> |
154 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_0"·class="idref"·href="#Qpower_0"><span·class="id"·title="lemma">Qpower_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:24"·class="idref"·href="#n:24"><span·class="id"·title="binder">n</span></a>,·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:24"><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)%<span·class="id"·title="var">Z</span>·<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#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#n:24"><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/> | 154 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_0"·class="idref"·href="#Qpower_0"><span·class="id"·title="lemma">Qpower_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:24"·class="idref"·href="#n:24"><span·class="id"·title="binder">n</span></a>,·(<a·class="idref"·href="Coq.QArith.Qpower.html#n:24"><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)%<span·class="id"·title="var">Z</span>·<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#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.QArith.Qpower.html#n:24"><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/> |
Offset 170, 15 lines modified | Offset 170, 15 lines modified | ||
170 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_1_r"·class="idref"·href="#Qpower_1_r"><span·class="id"·title="lemma">Qpower_1_r</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="q:27"·class="idref"·href="#q:27"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,<br/> | 170 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qpower_1_r"·class="idref"·href="#Qpower_1_r"><span·class="id"·title="lemma">Qpower_1_r</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="q:27"·class="idref"·href="#q:27"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,<br/> |
171 | <a·class="idref"·href="Coq.QArith.Qpower.html#q:27"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a>1·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#q:27"><span·class="id"·title="variable">q</span></a>.<br/> | 171 | <a·class="idref"·href="Coq.QArith.Qpower.html#q:27"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a>1·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.QArith.Qpower.html#q:27"><span·class="id"·title="variable">q</span></a>.<br/> |
172 | <br/> | 172 | <br/> |
173 | </div> | 173 | </div> |
174 | <div·class="doc"> | 174 | <div·class="doc"> |
175 | <a·id="lab1 | 175 | <a·id="lab1219"></a><h2·class="section">Relation·of·Qpower·to·zero</h2> |
176 | </div> | 176 | </div> |
177 | <div·class="code"> | 177 | <div·class="code"> |
178 | <br/> | 178 | <br/> |
Max diff block lines reached; 37430/59722 bytes (62.67%) of diff not shown. |
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="lab947"></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 117, 15 lines modified | Offset 117, 15 lines modified | ||
117 | <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:29"><span·class="id"·title="variable">Un</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 117 | <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:29"><span·class="id"·title="variable">Un</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
118 | <a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="l:30"·class="idref"·href="#l:30"><span·class="id"·title="binder">l</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><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·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="N:31"·class="idref"·href="#N:31"><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.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:29"><span·class="id"·title="variable">Un</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:31"><span·class="id"·title="variable">N</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:30"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 118 | <a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="l:30"·class="idref"·href="#l:30"><span·class="id"·title="binder">l</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><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·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="N:31"·class="idref"·href="#N:31"><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.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:29"><span·class="id"·title="variable">Un</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:31"><span·class="id"·title="variable">N</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:30"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> |
119 | <br/> | 119 | <br/> |
120 | </div> | 120 | </div> |
121 | <div·class="doc"> | 121 | <div·class="doc"> |
122 | <a·id="lab | 122 | <a·id="lab948"></a><h1·class="section">Convergence·of·alternated·series</h1> |
123 | </div> | 123 | </div> |
124 | <div·class="code"> | 124 | <div·class="code"> |
125 | <span·class="id"·title="keyword">Theorem</span>·<a·id="alternated_series"·class="idref"·href="#alternated_series"><span·class="id"·title="lemma">alternated_series</span></a>·:<br/> | 125 | <span·class="id"·title="keyword">Theorem</span>·<a·id="alternated_series"·class="idref"·href="#alternated_series"><span·class="id"·title="lemma">alternated_series</span></a>·:<br/> |
126 | <span·class="id"·title="keyword">forall</span>·<a·id="Un:32"·class="idref"·href="#Un:32"><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>,<br/> | 126 | <span·class="id"·title="keyword">forall</span>·<a·id="Un:32"·class="idref"·href="#Un:32"><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>,<br/> |
127 | <a·class="idref"·href="Coq.Reals.SeqProp.html#Un_decreasing"><span·class="id"·title="definition">Un_decreasing</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:32"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 127 | <a·class="idref"·href="Coq.Reals.SeqProp.html#Un_decreasing"><span·class="id"·title="definition">Un_decreasing</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:32"><span·class="id"·title="variable">Un</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
128 | <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:32"><span·class="id"·title="variable">Un</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 128 | <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:32"><span·class="id"·title="variable">Un</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
Offset 139, 15 lines modified | Offset 139, 15 lines modified | ||
139 | <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="N:38"·class="idref"·href="#N:38"><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.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:38"><span·class="id"·title="variable">N</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:36"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 139 | <a·class="idref"·href="Coq.Reals.Rseries.html#Un_cv"><span·class="id"·title="definition">Un_cv</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="N:38"·class="idref"·href="#N:38"><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.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:38"><span·class="id"·title="variable">N</span></a>)·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:36"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
140 | <a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:37"><span·class="id"·title="variable">N</span></a>))·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:36"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:37"><span·class="id"·title="variable">N</span></a>).<br/> | 140 | <a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·(<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:37"><span·class="id"·title="variable">N</span></a>))·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#l:36"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·class="idref"·href="Coq.Reals.AltSeries.html#tg_alt"><span·class="id"·title="definition">tg_alt</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#Un:35"><span·class="id"·title="variable">Un</span></a>)·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#N:37"><span·class="id"·title="variable">N</span></a>).<br/> |
141 | <br/> | 141 | <br/> |
142 | </div> | 142 | </div> |
143 | <div·class="doc"> | 143 | <div·class="doc"> |
144 | <a·id="lab | 144 | <a·id="lab949"></a><h1·class="section">Application·:·construction·of·PI</h1> |
145 | </div> | 145 | </div> |
146 | <div·class="code"> | 146 | <div·class="code"> |
147 | <br/> | 147 | <br/> |
148 | <span·class="id"·title="keyword">Definition</span>·<a·id="PI_tg"·class="idref"·href="#PI_tg"><span·class="id"·title="definition">PI_tg</span></a>·(<a·id="n:47"·class="idref"·href="#n:47"><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.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>·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#n:47"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·1).<br/> | 148 | <span·class="id"·title="keyword">Definition</span>·<a·id="PI_tg"·class="idref"·href="#PI_tg"><span·class="id"·title="definition">PI_tg</span></a>·(<a·id="n:47"·class="idref"·href="#n:47"><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.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>·(2·<a·class="idref"·href="Coq.Init.Peano.html#ea2ff3d561159081cea6fb2e8113cc54"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.AltSeries.html#n:47"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·1).<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="lab891"></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, 16 lines modified | Offset 5556, 16 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 | ||
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·6238··oc">.<a·id="lab8 | ||
00015bb0:·3 | 00015bb0:·3835·223e·3c2f·613e·3c68·3120·636c·6173··85"></a><h1·clas | ||
00015bc0:·733d·2273·6563·7469·6f6e·223e·4669·656c··s="section">Fiel | 00015bc0:·733d·2273·6563·7469·6f6e·223e·4669·656c··s="section">Fiel | ||
00015bd0:·643c·2f68·313e·0a0a·3c2f·6469·763e·0a3c··d</h1>..</div>.< | 00015bd0:·643c·2f68·313e·0a0a·3c2f·6469·763e·0a3c··d</h1>..</div>.< | ||
00015be0:·6469·7620·636c·6173·733d·2263·6f64·6522··div·class="code" | 00015be0:·6469·7620·636c·6173·733d·2263·6f64·6522··div·class="code" | ||
00015bf0:·3e0a·0a3c·6272·2f3e·0a3c·7370·616e·2063··>..<br/>.<span·c | 00015bf0:·3e0a·0a3c·6272·2f3e·0a3c·7370·616e·2063··>..<br/>.<span·c | ||
00015c00:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | 00015c00:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
00015c10:·226b·6579·776f·7264·223e·4c65·6d6d·613c··"keyword">Lemma< | 00015c10:·226b·6579·776f·7264·223e·4c65·6d6d·613c··"keyword">Lemma< | ||
00015c20:·2f73·7061·6e3e·203c·6120·6964·3d22·4352··/span>·<a·id="CR | 00015c20:·2f73·7061·6e3e·203c·6120·6964·3d22·4352··/span>·<a·id="CR |
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="lab886"></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 92, 15 lines modified | Offset 92, 15 lines modified | ||
92 | |·1%<span·class="id"·title="var">positive</span>······=>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a><br/> | 92 | |·1%<span·class="id"·title="var">positive</span>······=>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a><br/> |
93 | <span·class="id"·title="keyword">end</span>.<br/> | 93 | <span·class="id"·title="keyword">end</span>.<br/> |
94 | <br/> | 94 | <br/> |
95 | </div> | 95 | </div> |
96 | <div·class="doc"> | 96 | <div·class="doc"> |
97 | <a·id="lab | 97 | <a·id="lab887"></a><h2·class="section">Power·of·two·closed·upper·bound·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·<span·class="inlinecode"><=</span>·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span></h2> |
98 | </div> | 98 | </div> |
99 | <div·class="code"> | 99 | <div·class="code"> |
100 | <br/> | 100 | <br/> |
101 | <span·class="id"·title="keyword">Definition</span>·<a·id="Qbound_le_ZExp2"·class="idref"·href="#Qbound_le_ZExp2"><span·class="id"·title="definition">Qbound_le_ZExp2</span></a>·(<a·id="q:12"·class="idref"·href="#q:12"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=<br/> | 101 | <span·class="id"·title="keyword">Definition</span>·<a·id="Qbound_le_ZExp2"·class="idref"·href="#Qbound_le_ZExp2"><span·class="id"·title="definition">Qbound_le_ZExp2</span></a>·(<a·id="q:12"·class="idref"·href="#q:12"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=<br/> |
102 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qnum"><span·class="id"·title="projection">Qnum</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:12"><span·class="id"·title="variable">q</span></a>·<span·class="id"·title="keyword">with</span><br/> | 102 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qnum"><span·class="id"·title="projection">Qnum</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:12"><span·class="id"·title="variable">q</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 121, 15 lines modified | Offset 121, 15 lines modified | ||
121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qbound_leabs_ZExp2_spec"·class="idref"·href="#Qbound_leabs_ZExp2_spec"><span·class="id"·title="lemma">Qbound_leabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:15"·class="idref"·href="#q:15"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>),<br/> | 121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qbound_leabs_ZExp2_spec"·class="idref"·href="#Qbound_leabs_ZExp2_spec"><span·class="id"·title="lemma">Qbound_leabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:15"·class="idref"·href="#q:15"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>),<br/> |
122 | (<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:15"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qbound_leabs_ZExp2"><span·class="id"·title="definition">Qbound_leabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:15"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>.<br/> | 122 | (<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:15"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qbound_leabs_ZExp2"><span·class="id"·title="definition">Qbound_leabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:15"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>.<br/> |
123 | <br/> | 123 | <br/> |
124 | </div> | 124 | </div> |
125 | <div·class="doc"> | 125 | <div·class="doc"> |
126 | <a·id="lab | 126 | <a·id="lab888"></a><h2·class="section">Power·of·two·open·upper·bound·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Qabs</span></span>·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span></h2> |
127 | <div·class="paragraph">·</div> | 127 | <div·class="paragraph">·</div> |
128 | ·Compute·a·z·such·that·q<2^z. | 128 | ·Compute·a·z·such·that·q<2^z. |
129 | ····z·shall·be·close·to·as·small·as·possible,·but·we·need·a·compromise·between | 129 | ····z·shall·be·close·to·as·small·as·possible,·but·we·need·a·compromise·between |
130 | ····the·tighness·of·the·bound·and·the·computation·speed·and·proof·complexity. | 130 | ····the·tighness·of·the·bound·and·the·computation·speed·and·proof·complexity. |
131 | ····Looking·just·at·the·log2·of·the·numerator·and·denominator,·this·is·a·tight·bound | 131 | ····Looking·just·at·the·log2·of·the·numerator·and·denominator,·this·is·a·tight·bound |
Offset 167, 15 lines modified | Offset 167, 15 lines modified | ||
167 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qbound_ltabs_ZExp2_spec"·class="idref"·href="#Qbound_ltabs_ZExp2_spec"><span·class="id"·title="lemma">Qbound_ltabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:19"·class="idref"·href="#q:19"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>),<br/> | 167 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qbound_ltabs_ZExp2_spec"·class="idref"·href="#Qbound_ltabs_ZExp2_spec"><span·class="id"·title="lemma">Qbound_ltabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:19"·class="idref"·href="#q:19"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>),<br/> |
168 | (<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:19"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qbound_ltabs_ZExp2"><span·class="id"·title="definition">Qbound_ltabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:19"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>.<br/> | 168 | (<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:19"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qbound_ltabs_ZExp2"><span·class="id"·title="definition">Qbound_ltabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:19"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>.<br/> |
169 | <br/> | 169 | <br/> |
170 | </div> | 170 | </div> |
171 | <div·class="doc"> | 171 | <div·class="doc"> |
172 | <a·id="lab | 172 | <a·id="lab889"></a><h2·class="section">Power·of·2·open·lower·bounds·for·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>·and·<span·class="inlinecode">2^<span·class="id"·title="var">z</span></span>·<span·class="inlinecode"><</span>·<span·class="inlinecode"><span·class="id"·title="var">Qabs</span></span>·<span·class="inlinecode"><span·class="id"·title="var">q</span></span></h2> |
173 | <div·class="paragraph">·</div> | 173 | <div·class="paragraph">·</div> |
174 | ·Note:·the·-2·is·required·cause·of·the·Qlt·limit. | 174 | ·Note:·the·-2·is·required·cause·of·the·Qlt·limit. |
175 | ····In·case·q·is·a·power·of·two,·the·lower·and·upper·bound·must·be·a·factor·of·4·apart· | 175 | ····In·case·q·is·a·power·of·two,·the·lower·and·upper·bound·must·be·a·factor·of·4·apart· |
176 | </div> | 176 | </div> |
177 | <div·class="code"> | 177 | <div·class="code"> |
Offset 198, 15 lines modified | Offset 198, 15 lines modified | ||
198 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qlowbound_ltabs_ZExp2_spec"·class="idref"·href="#Qlowbound_ltabs_ZExp2_spec"><span·class="id"·title="lemma">Qlowbound_ltabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:25"·class="idref"·href="#q:25"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·(<a·id="Hqgt0:26"·class="idref"·href="#Hqgt0:26"><span·class="id"·title="binder">Hqgt0</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0),<br/> | 198 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Qlowbound_ltabs_ZExp2_spec"·class="idref"·href="#Qlowbound_ltabs_ZExp2_spec"><span·class="id"·title="lemma">Qlowbound_ltabs_ZExp2_spec</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="q:25"·class="idref"·href="#q:25"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·(<a·id="Hqgt0:26"·class="idref"·href="#Hqgt0:26"><span·class="id"·title="binder">Hqgt0</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#0eaf04f08ecf51ebfc2703f9e1d22838"><span·class="id"·title="notation">==</span></a>·0),<br/> |
199 | (2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qlowbound_ltabs_ZExp2"><span·class="id"·title="definition">Qlowbound_ltabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a>)%<span·class="id"·title="var">Q</span>.<br/> | 199 | (2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^(</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#Qlowbound_ltabs_ZExp2"><span·class="id"·title="definition">Qlowbound_ltabs_ZExp2</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.QArith.Qabs.html#Qabs"><span·class="id"·title="definition">Qabs</span></a>·<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:25"><span·class="id"·title="variable">q</span></a>)%<span·class="id"·title="var">Q</span>.<br/> |
200 | <br/> | 200 | <br/> |
201 | </div> | 201 | </div> |
202 | <div·class="doc"> | 202 | <div·class="doc"> |
203 | <a·id="lab | 203 | <a·id="lab890"></a><h2·class="section">Existential·formulations·of·power·of·2·lower·and·upper·bounds</h2> |
204 | </div> | 204 | </div> |
205 | <div·class="code"> | 205 | <div·class="code"> |
206 | <br/> | 206 | <br/> |
207 | <span·class="id"·title="keyword">Definition</span>·<a·id="QarchimedeanExp2_Z"·class="idref"·href="#QarchimedeanExp2_Z"><span·class="id"·title="definition">QarchimedeanExp2_Z</span></a>·(<a·id="q:27"·class="idref"·href="#q:27"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)<br/> | 207 | <span·class="id"·title="keyword">Definition</span>·<a·id="QarchimedeanExp2_Z"·class="idref"·href="#QarchimedeanExp2_Z"><span·class="id"·title="definition">QarchimedeanExp2_Z</span></a>·(<a·id="q:27"·class="idref"·href="#q:27"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)<br/> |
208 | :··<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a><a·id="z:28"·class="idref"·href="#z:28"><span·class="id"·title="binder">z</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</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.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·(<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:27"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#z:28"><span·class="id"·title="variable">z</span></a>)%<span·class="id"·title="var">Q</span><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a><br/> | 208 | :··<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a><a·id="z:28"·class="idref"·href="#z:28"><span·class="id"·title="binder">z</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</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.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·(<a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#q:27"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#::Q_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·2<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Reals.Cauchy.QExtra.html#z:28"><span·class="id"·title="variable">z</span></a>)%<span·class="id"·title="var">Q</span><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><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.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="lab797"></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 82, 19 lines modified | Offset 82, 19 lines modified | ||
82 | <span·class="id"·title="keyword">Local·Lemma</span>·<a·id="Qpower_2_neg_le_one"·class="idref"·href="#Qpower_2_neg_le_one"><span·class="id"·title="lemma">Qpower_2_neg_le_one</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:3"·class="idref"·href="#n:3"><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>,<br/> | 82 | <span·class="id"·title="keyword">Local·Lemma</span>·<a·id="Qpower_2_neg_le_one"·class="idref"·href="#Qpower_2_neg_le_one"><span·class="id"·title="lemma">Qpower_2_neg_le_one</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:3"·class="idref"·href="#n:3"><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>,<br/> |
83 | (2·<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><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.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:3"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·1)%<span·class="id"·title="var">Q</span>.<br/> | 83 | (2·<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">^</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><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.BinInt.html#Z.of_nat"><span·class="id"·title="definition">Z.of_nat</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#n:3"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.QArith.QArith_base.html#29252aa5a762eddf72f5ba706a9f72cb"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#bb2ae1e3b1d37b46a15737373eedf343"><span·class="id"·title="notation"><=</span></a>·1)%<span·class="id"·title="var">Q</span>.<br/> |
84 | <br/> | 84 | <br/> |
85 | </div> | 85 | </div> |
86 | <div·class="doc"> | 86 | <div·class="doc"> |
87 | <a·id="lab | 87 | <a·id="lab798"></a><h1·class="section">Dedekind·cuts</h1> |
88 | <div·class="paragraph">·</div> | 88 | <div·class="paragraph">·</div> |
89 | <a·id="lab | 89 | <a·id="lab799"></a><h2·class="section">Definition</h2> |
90 | <div·class="paragraph">·</div> | 90 | <div·class="paragraph">·</div> |
91 | <div·class="paragraph">·</div> | 91 | <div·class="paragraph">·</div> |
92 | ···Classical·Dedekind·reals.·With·the·3·logical·axioms·funext, | 92 | ···Classical·Dedekind·reals.·With·the·3·logical·axioms·funext, |
Offset 128, 15 lines modified | Offset 128, 15 lines modified | ||
128 | <br/> | 128 | <br/> |
129 | <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="q:18"·class="idref"·href="#q:18"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:18"><span·class="id"·title="variable">q</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#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.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="r:19"·class="idref"·href="#r:19"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qle"><span·class="id"·title="definition">Qle</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:18"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:19"><span·class="id"·title="variable">r</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#false"><span·class="id"·title="constructor">false</span></a><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> | 129 | <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="q:18"·class="idref"·href="#q:18"><span·class="id"·title="binder">q</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:18"><span·class="id"·title="variable">q</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#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.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="r:19"·class="idref"·href="#r:19"><span·class="id"·title="binder">r</span></a>:<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>,·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qle"><span·class="id"·title="definition">Qle</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:19"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:18"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:13"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:19"><span·class="id"·title="variable">r</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#false"><span·class="id"·title="constructor">false</span></a><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> |
130 | <br/> | 130 | <br/> |
131 | </div> | 131 | </div> |
132 | <div·class="doc"> | 132 | <div·class="doc"> |
133 | <a·id="lab | 133 | <a·id="lab800"></a><h2·class="section">Properties</h2> |
134 | </div> | 134 | </div> |
135 | <div·class="code"> | 135 | <div·class="code"> |
136 | <br/> | 136 | <br/> |
137 | <span·class="id"·title="keyword">Lemma</span>·<a·id="isLowerCut_hprop"·class="idref"·href="#isLowerCut_hprop"><span·class="id"·title="lemma">isLowerCut_hprop</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:20"·class="idref"·href="#f:20"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</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#bool"><span·class="id"·title="inductive">bool</span></a>),<br/> | 137 | <span·class="id"·title="keyword">Lemma</span>·<a·id="isLowerCut_hprop"·class="idref"·href="#isLowerCut_hprop"><span·class="id"·title="lemma">isLowerCut_hprop</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:20"·class="idref"·href="#f:20"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</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#bool"><span·class="id"·title="inductive">bool</span></a>),<br/> |
138 | <a·class="idref"·href="Coq.Logic.HLevels.html#IsHProp"><span·class="id"·title="definition">IsHProp</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:20"><span·class="id"·title="variable">f</span></a>).<br/> | 138 | <a·class="idref"·href="Coq.Logic.HLevels.html#IsHProp"><span·class="id"·title="definition">IsHProp</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:20"><span·class="id"·title="variable">f</span></a>).<br/> |
Offset 160, 50 lines modified | Offset 160, 50 lines modified | ||
160 | <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.ClassicalDedekindReals.html#f:32"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:34"><span·class="id"·title="variable">r</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#false"><span·class="id"·title="constructor">false</span></a><br/> | 160 | <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.ClassicalDedekindReals.html#f:32"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:34"><span·class="id"·title="variable">r</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#false"><span·class="id"·title="constructor">false</span></a><br/> |
161 | <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qlt"><span·class="id"·title="definition">Qlt</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:33"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:34"><span·class="id"·title="variable">r</span></a>.<br/> | 161 | <a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Qlt"><span·class="id"·title="definition">Qlt</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:33"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#r:34"><span·class="id"·title="variable">r</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="lab801"></a><h1·class="section">Classical·Dedekind·reals</h1> |
166 | <div·class="paragraph">·</div> | 166 | <div·class="paragraph">·</div> |
167 | <a·id="lab | 167 | <a·id="lab802"></a><h2·class="section">Definition</h2> |
168 | </div> | 168 | </div> |
169 | <div·class="code"> | 169 | <div·class="code"> |
170 | <br/> | 170 | <br/> |
171 | <span·class="id"·title="keyword">Definition</span>·<a·id="DReal"·class="idref"·href="#DReal"><span·class="id"·title="definition">DReal</span></a>·:·<span·class="id"·title="keyword">Set</span><br/> | 171 | <span·class="id"·title="keyword">Definition</span>·<a·id="DReal"·class="idref"·href="#DReal"><span·class="id"·title="definition">DReal</span></a>·:·<span·class="id"·title="keyword">Set</span><br/> |
172 | :=·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="f:35"·class="idref"·href="#f:35"><span·class="id"·title="binder">f</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</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#bool"><span·class="id"·title="inductive">bool</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:35"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 172 | :=·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="f:35"·class="idref"·href="#f:35"><span·class="id"·title="binder">f</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</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#bool"><span·class="id"·title="inductive">bool</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:35"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> |
173 | <br/> | 173 | <br/> |
174 | </div> | 174 | </div> |
175 | <div·class="doc"> | 175 | <div·class="doc"> |
176 | <a·id="lab | 176 | <a·id="lab803"></a><h2·class="section">Induction·principle</h2> |
177 | </div> | 177 | </div> |
178 | <div·class="code"> | 178 | <div·class="code"> |
179 | <br/> | 179 | <br/> |
180 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="DRealQlim_rec"·class="idref"·href="#DRealQlim_rec"><span·class="id"·title="definition">DRealQlim_rec</span></a>·(<a·id="f:36"·class="idref"·href="#f:36"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</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#bool"><span·class="id"·title="inductive">bool</span></a>)·(<a·id="low:37"·class="idref"·href="#low:37"><span·class="id"·title="binder">low</span></a>·:·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>)·(<a·id="n:38"·class="idref"·href="#n:38"><span·class="id"·title="binder">n</span></a>·<a·id="p:39"·class="idref"·href="#p:39"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·{·<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">p</span>·}<br/> | 180 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="DRealQlim_rec"·class="idref"·href="#DRealQlim_rec"><span·class="id"·title="definition">DRealQlim_rec</span></a>·(<a·id="f:36"·class="idref"·href="#f:36"><span·class="id"·title="binder">f</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</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#bool"><span·class="id"·title="inductive">bool</span></a>)·(<a·id="low:37"·class="idref"·href="#low:37"><span·class="id"·title="binder">low</span></a>·:·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#isLowerCut"><span·class="id"·title="definition">isLowerCut</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>)·(<a·id="n:38"·class="idref"·href="#n:38"><span·class="id"·title="binder">n</span></a>·<a·id="p:39"·class="idref"·href="#p:39"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·{·<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">p</span>·}<br/> |
181 | :·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#lowerCutBelow"><span·class="id"·title="lemma">lowerCutBelow</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#low:37"><span·class="id"·title="variable">low</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><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.Reals.ClassicalDedekindReals.html#p:39"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</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.ClassicalDedekindReals.html#n:38"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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/> | 181 | :·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#lowerCutBelow"><span·class="id"·title="lemma">lowerCutBelow</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#low:37"><span·class="id"·title="variable">low</span></a>)·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><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.Reals.ClassicalDedekindReals.html#p:39"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</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.ClassicalDedekindReals.html#n:38"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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/> |
182 | <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.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="q:40"·class="idref"·href="#q:40"><span·class="id"·title="binder">q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:40"><span·class="id"·title="variable">q</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#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:40"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a>1·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</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.ClassicalDedekindReals.html#n:38"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 182 | <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.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="q:40"·class="idref"·href="#q:40"><span·class="id"·title="binder">q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:40"><span·class="id"·title="variable">q</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#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#f:36"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:40"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a>1·<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</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.ClassicalDedekindReals.html#n:38"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> |
183 | <br/> | 183 | <br/> |
184 | </div> | 184 | </div> |
185 | <div·class="doc"> | 185 | <div·class="doc"> |
186 | <a·id="lab | 186 | <a·id="lab804"></a><h2·class="section">Conversion·to·and·from·constructive·Cauchy·real·CReal</h2> |
187 | <div·class="paragraph">·</div> | 187 | <div·class="paragraph">·</div> |
188 | <a·id="lab | 188 | <a·id="lab805"></a><h3·class="section">Conversion·from·CReal·to·DReal</h3> |
189 | </div> | 189 | </div> |
190 | <div·class="code"> | 190 | <div·class="code"> |
191 | <br/> | 191 | <br/> |
192 | <span·class="id"·title="keyword">Lemma</span>·<a·id="DRealAbstr_aux"·class="idref"·href="#DRealAbstr_aux"><span·class="id"·title="lemma">DRealAbstr_aux</span></a>·:<br/> | 192 | <span·class="id"·title="keyword">Lemma</span>·<a·id="DRealAbstr_aux"·class="idref"·href="#DRealAbstr_aux"><span·class="id"·title="lemma">DRealAbstr_aux</span></a>·:<br/> |
193 | <span·class="id"·title="keyword">forall</span>·<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>·<a·id="H:43"·class="idref"·href="#H:43"><span·class="id"·title="binder">H</span></a>,<br/> | 193 | <span·class="id"·title="keyword">forall</span>·<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>·<a·id="H:43"·class="idref"·href="#H:43"><span·class="id"·title="binder">H</span></a>,<br/> |
Offset 214, 15 lines modified | Offset 214, 15 lines modified | ||
214 | <br/> | 214 | <br/> |
215 | <span·class="id"·title="keyword">Definition</span>·<a·id="DRealAbstr"·class="idref"·href="#DRealAbstr"><span·class="id"·title="definition">DRealAbstr</span></a>·:·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CReal"><span·class="id"·title="record">CReal</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.ClassicalDedekindReals.html#DReal"><span·class="id"·title="definition">DReal</span></a>.<br/> | 215 | <span·class="id"·title="keyword">Definition</span>·<a·id="DRealAbstr"·class="idref"·href="#DRealAbstr"><span·class="id"·title="definition">DRealAbstr</span></a>·:·<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CReal"><span·class="id"·title="record">CReal</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.ClassicalDedekindReals.html#DReal"><span·class="id"·title="definition">DReal</span></a>.<br/> |
216 | <br/> | 216 | <br/> |
217 | </div> | 217 | </div> |
218 | <div·class="doc"> | 218 | <div·class="doc"> |
219 | <a·id="lab | 219 | <a·id="lab806"></a><h3·class="section">Conversion·from·DReal·to·CReal</h3> |
220 | </div> | 220 | </div> |
221 | <div·class="code"> | 221 | <div·class="code"> |
222 | <br/> | 222 | <br/> |
223 | <span·class="id"·title="keyword">Definition</span>·<a·id="DRealQlim"·class="idref"·href="#DRealQlim"><span·class="id"·title="definition">DRealQlim</span></a>·(<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#DReal"><span·class="id"·title="definition">DReal</span></a>)·(<a·id="n:71"·class="idref"·href="#n:71"><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>)<br/> | 223 | <span·class="id"·title="keyword">Definition</span>·<a·id="DRealQlim"·class="idref"·href="#DRealQlim"><span·class="id"·title="definition">DRealQlim</span></a>·(<a·id="x:70"·class="idref"·href="#x:70"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#DReal"><span·class="id"·title="definition">DReal</span></a>)·(<a·id="n:71"·class="idref"·href="#n:71"><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>)<br/> |
224 | :·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="q:72"·class="idref"·href="#q:72"><span·class="id"·title="binder">q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:72"><span·class="id"·title="variable">q</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#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:70"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:72"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a>1<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</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.ClassicalDedekindReals.html#n:71"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 224 | :·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="q:72"·class="idref"·href="#q:72"><span·class="id"·title="binder">q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:70"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:72"><span·class="id"·title="variable">q</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#true"><span·class="id"·title="constructor">true</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#proj1_sig"><span·class="id"·title="definition">proj1_sig</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:70"><span·class="id"·title="variable">x</span></a>·(<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#q:72"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">(</span></a>1<a·class="idref"·href="Coq.QArith.QArith_base.html#90281ef6c291e34a6461b59eb05ad5cc"><span·class="id"·title="notation">#</span></a>·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.of_nat"><span·class="id"·title="definition">Pos.of_nat</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.ClassicalDedekindReals.html#n:71"><span·class="id"·title="variable">n</span></a>)<a·class="idref"·href="Coq.QArith.QArith_base.html#4f14570d00eeffbb0b18ccb7e91c8ff8"><span·class="id"·title="notation">)</span></a>)%<span·class="id"·title="var">Q</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> |
Offset 265, 15 lines modified | Offset 265, 15 lines modified | ||
265 | <a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#bound"><span·class="id"·title="projection">bound</span></a>·:=·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#CReal_of_DReal_bound"><span·class="id"·title="lemma">CReal_of_DReal_bound</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:90"><span·class="id"·title="variable">x</span></a><br/> | 265 | <a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#bound"><span·class="id"·title="projection">bound</span></a>·:=·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#CReal_of_DReal_bound"><span·class="id"·title="lemma">CReal_of_DReal_bound</span></a>·<a·class="idref"·href="Coq.Reals.ClassicalDedekindReals.html#x:90"><span·class="id"·title="variable">x</span></a><br/> |
266 | |}.<br/> | 266 | |}.<br/> |
267 | <br/> | 267 | <br/> |
268 | </div> | 268 | </div> |
269 | <div·class="doc"> | 269 | <div·class="doc"> |
270 | <a·id="lab | 270 | <a·id="lab807"></a><h2·class="section">Order·for·DReal</h2> |
Max diff block lines reached; 1992/23117 bytes (8.62%) of diff not shown. |
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="lab892"></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 133, 15 lines modified | Offset 133, 15 lines modified | ||
133 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> | 133 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_scope</span>.<br/> |
134 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> | 134 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">R_scope</span>.<br/> |
135 | <br/> | 135 | <br/> |
136 | </div> | 136 | </div> |
137 | <div·class="doc"> | 137 | <div·class="doc"> |
138 | <a·id="lab | 138 | <a·id="lab893"></a><h2·class="section">Relation·between·orders·and·equality</h2> |
139 | <div·class="paragraph">·</div> | 139 | <div·class="paragraph">·</div> |
140 | ·Reflexivity·of·the·large·orders· | 140 | ·Reflexivity·of·the·large·orders· |
141 | </div> | 141 | </div> |
142 | <div·class="code"> | 142 | <div·class="code"> |
Offset 223, 31 lines modified | Offset 223, 31 lines modified | ||
223 | <br/> | 223 | <br/> |
224 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rdichotomy"·class="idref"·href="#Rdichotomy"><span·class="id"·title="lemma">Rdichotomy</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:19"·class="idref"·href="#r1:19"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:20"·class="idref"·href="#r2:20"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><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.RIneq.html#r2:20"><span·class="id"·title="variable">r2</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.RIneq.html#r1:19"><span·class="id"·title="variable">r1</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.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><span·class="id"·title="variable">r1</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.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>.<br/> | 224 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rdichotomy"·class="idref"·href="#Rdichotomy"><span·class="id"·title="lemma">Rdichotomy</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:19"·class="idref"·href="#r1:19"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:20"·class="idref"·href="#r2:20"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><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.RIneq.html#r2:20"><span·class="id"·title="variable">r2</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.RIneq.html#r1:19"><span·class="id"·title="variable">r1</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.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:19"><span·class="id"·title="variable">r1</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.RIneq.html#r2:20"><span·class="id"·title="variable">r2</span></a>.<br/> |
225 | <br/> | 225 | <br/> |
226 | </div> | 226 | </div> |
227 | <div·class="doc"> | 227 | <div·class="doc"> |
228 | <a·id="lab | 228 | <a·id="lab894"></a><h2·class="section">Strong·decidable·equality</h2> |
229 | </div> | 229 | </div> |
230 | <div·class="code"> | 230 | <div·class="code"> |
231 | <br/> | 231 | <br/> |
232 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Req_dec_T"·class="idref"·href="#Req_dec_T"><span·class="id"·title="lemma">Req_dec_T</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:21"·class="idref"·href="#r1:21"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:22"·class="idref"·href="#r2:22"><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.RIneq.html#r1:21"><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.RIneq.html#r2:22"><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.RIneq.html#r1:21"><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.RIneq.html#r2:22"><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/> | 232 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Req_dec_T"·class="idref"·href="#Req_dec_T"><span·class="id"·title="lemma">Req_dec_T</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:21"·class="idref"·href="#r1:21"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:22"·class="idref"·href="#r2:22"><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.RIneq.html#r1:21"><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.RIneq.html#r2:22"><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.RIneq.html#r1:21"><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.RIneq.html#r2:22"><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/> |
233 | <br/> | 233 | <br/> |
234 | </div> | 234 | </div> |
235 | <div·class="doc"> | 235 | <div·class="doc"> |
236 | <a·id="lab | 236 | <a·id="lab895"></a><h2·class="section">Relating·<span·class="inlinecode"><</span>,·<span·class="inlinecode">></span>,·<span·class="inlinecode"><=</span>·and·<span·class="inlinecode">>=</span></h2> |
237 | <div·class="paragraph">·</div> | 237 | <div·class="paragraph">·</div> |
238 | <a·id="lab | 238 | <a·id="lab896"></a><h3·class="section">Relating·strict·and·large·orders</h3> |
239 | </div> | 239 | </div> |
240 | <div·class="code"> | 240 | <div·class="code"> |
241 | <br/> | 241 | <br/> |
242 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_le"·class="idref"·href="#Rlt_le"><span·class="id"·title="lemma">Rlt_le</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:23"·class="idref"·href="#r1:23"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:24"·class="idref"·href="#r2:24"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:23"><span·class="id"·title="variable">r1</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.RIneq.html#r2:24"><span·class="id"·title="variable">r2</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.RIneq.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:24"><span·class="id"·title="variable">r2</span></a>.<br/> | 242 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_le"·class="idref"·href="#Rlt_le"><span·class="id"·title="lemma">Rlt_le</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:23"·class="idref"·href="#r1:23"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:24"·class="idref"·href="#r2:24"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:23"><span·class="id"·title="variable">r1</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.RIneq.html#r2:24"><span·class="id"·title="variable">r2</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.RIneq.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:24"><span·class="id"·title="variable">r2</span></a>.<br/> |
243 | ·#[<span·class="id"·title="var">global</span>]<br/> | 243 | ·#[<span·class="id"·title="var">global</span>]<br/> |
Offset 344, 15 lines modified | Offset 344, 15 lines modified | ||
344 | ·#[<span·class="id"·title="var">global</span>]<br/> | 344 | ·#[<span·class="id"·title="var">global</span>]<br/> |
345 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">Req_ge_sym</span>:·<span·class="id"·title="var">real</span>.<br/> | 345 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Immediate</span>·<span·class="id"·title="var">Req_ge_sym</span>:·<span·class="id"·title="var">real</span>.<br/> |
346 | <br/> | 346 | <br/> |
347 | </div> | 347 | </div> |
348 | <div·class="doc"> | 348 | <div·class="doc"> |
349 | <a·id="lab | 349 | <a·id="lab897"></a><h3·class="section">Asymmetry</h3> |
350 | <div·class="paragraph">·</div> | 350 | <div·class="paragraph">·</div> |
351 | ·Remark:·<span·class="inlinecode"><span·class="id"·title="var">Rlt_asym</span></span>·is·in·<span·class="inlinecode"><span·class="id"·title="var">Raxioms.v</span></span>· | 351 | ·Remark:·<span·class="inlinecode"><span·class="id"·title="var">Rlt_asym</span></span>·is·in·<span·class="inlinecode"><span·class="id"·title="var">Raxioms.v</span></span>· |
352 | </div> | 352 | </div> |
353 | <div·class="code"> | 353 | <div·class="code"> |
Offset 365, 15 lines modified | Offset 365, 15 lines modified | ||
365 | <br/> | 365 | <br/> |
366 | #[<span·class="id"·title="var">export</span>]·<span·class="id"·title="keyword">Instance</span>·<a·id="Rgt_Asymmetric"·class="idref"·href="#Rgt_Asymmetric"><span·class="id"·title="instance">Rgt_Asymmetric</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Asymmetric"><span·class="id"·title="class">Asymmetric</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#Rgt"><span·class="id"·title="definition">Rgt</span></a>·|·10·:=·<a·class="idref"·href="Coq.Reals.RIneq.html#Rgt_asym"><span·class="id"·title="lemma">Rgt_asym</span></a>.<br/> | 366 | #[<span·class="id"·title="var">export</span>]·<span·class="id"·title="keyword">Instance</span>·<a·id="Rgt_Asymmetric"·class="idref"·href="#Rgt_Asymmetric"><span·class="id"·title="instance">Rgt_Asymmetric</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Asymmetric"><span·class="id"·title="class">Asymmetric</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#Rgt"><span·class="id"·title="definition">Rgt</span></a>·|·10·:=·<a·class="idref"·href="Coq.Reals.RIneq.html#Rgt_asym"><span·class="id"·title="lemma">Rgt_asym</span></a>.<br/> |
367 | <br/> | 367 | <br/> |
368 | </div> | 368 | </div> |
369 | <div·class="doc"> | 369 | <div·class="doc"> |
370 | <a·id="lab | 370 | <a·id="lab898"></a><h3·class="section">Antisymmetry</h3> |
371 | </div> | 371 | </div> |
372 | <div·class="code"> | 372 | <div·class="code"> |
373 | <br/> | 373 | <br/> |
374 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rle_antisym"·class="idref"·href="#Rle_antisym"><span·class="id"·title="lemma">Rle_antisym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:73"·class="idref"·href="#r1:73"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:74"·class="idref"·href="#r2:74"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:74"><span·class="id"·title="variable">r2</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.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><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.RIneq.html#r1:73"><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.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>.<br/> | 374 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rle_antisym"·class="idref"·href="#Rle_antisym"><span·class="id"·title="lemma">Rle_antisym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:73"·class="idref"·href="#r1:73"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:74"·class="idref"·href="#r2:74"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:74"><span·class="id"·title="variable">r2</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.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:73"><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.RIneq.html#r1:73"><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.RIneq.html#r2:74"><span·class="id"·title="variable">r2</span></a>.<br/> |
375 | #[<span·class="id"·title="var">global</span>]<br/> | 375 | #[<span·class="id"·title="var">global</span>]<br/> |
Offset 394, 15 lines modified | Offset 394, 15 lines modified | ||
394 | <br/> | 394 | <br/> |
395 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rge_ge_eq"·class="idref"·href="#Rge_ge_eq"><span·class="id"·title="lemma">Rge_ge_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:79"·class="idref"·href="#r1:79"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:80"·class="idref"·href="#r2:80"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><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.RIneq.html#r1:79"><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.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>.<br/> | 395 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rge_ge_eq"·class="idref"·href="#Rge_ge_eq"><span·class="id"·title="lemma">Rge_ge_eq</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:79"·class="idref"·href="#r1:79"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:80"·class="idref"·href="#r2:80"><span·class="id"·title="binder">r2</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:79"><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.RIneq.html#r1:79"><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.RIneq.html#r2:80"><span·class="id"·title="variable">r2</span></a>.<br/> |
396 | <br/> | 396 | <br/> |
397 | </div> | 397 | </div> |
398 | <div·class="doc"> | 398 | <div·class="doc"> |
399 | <a·id="lab | 399 | <a·id="lab899"></a><h3·class="section">Compatibility·with·equality</h3> |
400 | </div> | 400 | </div> |
401 | <div·class="code"> | 401 | <div·class="code"> |
402 | <br/> | 402 | <br/> |
403 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_eq_compat"·class="idref"·href="#Rlt_eq_compat"><span·class="id"·title="lemma">Rlt_eq_compat</span></a>·:<br/> | 403 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_eq_compat"·class="idref"·href="#Rlt_eq_compat"><span·class="id"·title="lemma">Rlt_eq_compat</span></a>·:<br/> |
404 | <span·class="id"·title="keyword">forall</span>·<a·id="r1:81"·class="idref"·href="#r1:81"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:82"·class="idref"·href="#r2:82"><span·class="id"·title="binder">r2</span></a>·<a·id="r3:83"·class="idref"·href="#r3:83"><span·class="id"·title="binder">r3</span></a>·<a·id="r4:84"·class="idref"·href="#r4:84"><span·class="id"·title="binder">r4</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:81"><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.RIneq.html#r2:82"><span·class="id"·title="variable">r2</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.RIneq.html#r2:82"><span·class="id"·title="variable">r2</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.RIneq.html#r4:84"><span·class="id"·title="variable">r4</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.RIneq.html#r4:84"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:83"><span·class="id"·title="variable">r3</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.RIneq.html#r1:81"><span·class="id"·title="variable">r1</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.RIneq.html#r3:83"><span·class="id"·title="variable">r3</span></a>.<br/> | 404 | <span·class="id"·title="keyword">forall</span>·<a·id="r1:81"·class="idref"·href="#r1:81"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:82"·class="idref"·href="#r2:82"><span·class="id"·title="binder">r2</span></a>·<a·id="r3:83"·class="idref"·href="#r3:83"><span·class="id"·title="binder">r3</span></a>·<a·id="r4:84"·class="idref"·href="#r4:84"><span·class="id"·title="binder">r4</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:81"><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.RIneq.html#r2:82"><span·class="id"·title="variable">r2</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.RIneq.html#r2:82"><span·class="id"·title="variable">r2</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.RIneq.html#r4:84"><span·class="id"·title="variable">r4</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.RIneq.html#r4:84"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:83"><span·class="id"·title="variable">r3</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.RIneq.html#r1:81"><span·class="id"·title="variable">r1</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.RIneq.html#r3:83"><span·class="id"·title="variable">r3</span></a>.<br/> |
Offset 411, 15 lines modified | Offset 411, 15 lines modified | ||
411 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rgt_eq_compat"·class="idref"·href="#Rgt_eq_compat"><span·class="id"·title="lemma">Rgt_eq_compat</span></a>·:<br/> | 411 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rgt_eq_compat"·class="idref"·href="#Rgt_eq_compat"><span·class="id"·title="lemma">Rgt_eq_compat</span></a>·:<br/> |
412 | <span·class="id"·title="keyword">forall</span>·<a·id="r1:85"·class="idref"·href="#r1:85"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:86"·class="idref"·href="#r2:86"><span·class="id"·title="binder">r2</span></a>·<a·id="r3:87"·class="idref"·href="#r3:87"><span·class="id"·title="binder">r3</span></a>·<a·id="r4:88"·class="idref"·href="#r4:88"><span·class="id"·title="binder">r4</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:85"><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.RIneq.html#r2:86"><span·class="id"·title="variable">r2</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.RIneq.html#r2:86"><span·class="id"·title="variable">r2</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.RIneq.html#r4:88"><span·class="id"·title="variable">r4</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.RIneq.html#r4:88"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:87"><span·class="id"·title="variable">r3</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.RIneq.html#r1:85"><span·class="id"·title="variable">r1</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.RIneq.html#r3:87"><span·class="id"·title="variable">r3</span></a>.<br/> | 412 | <span·class="id"·title="keyword">forall</span>·<a·id="r1:85"·class="idref"·href="#r1:85"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:86"·class="idref"·href="#r2:86"><span·class="id"·title="binder">r2</span></a>·<a·id="r3:87"·class="idref"·href="#r3:87"><span·class="id"·title="binder">r3</span></a>·<a·id="r4:88"·class="idref"·href="#r4:88"><span·class="id"·title="binder">r4</span></a>,·<a·class="idref"·href="Coq.Reals.RIneq.html#r1:85"><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.RIneq.html#r2:86"><span·class="id"·title="variable">r2</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.RIneq.html#r2:86"><span·class="id"·title="variable">r2</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.RIneq.html#r4:88"><span·class="id"·title="variable">r4</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.RIneq.html#r4:88"><span·class="id"·title="variable">r4</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.RIneq.html#r3:87"><span·class="id"·title="variable">r3</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.RIneq.html#r1:85"><span·class="id"·title="variable">r1</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.RIneq.html#r3:87"><span·class="id"·title="variable">r3</span></a>.<br/> |
413 | · | 413 | · |
414 | <br/> | 414 | <br/> |
415 | </div> | 415 | </div> |
416 | <div·class="doc"> | 416 | <div·class="doc"> |
417 | <a·id="lab | 417 | <a·id="lab900"></a><h3·class="section">Transitivity</h3> |
418 | <div·class="paragraph">·</div> | 418 | <div·class="paragraph">·</div> |
419 | ·Remark:·<span·class="inlinecode"><span·class="id"·title="var">Rlt_trans</span></span>·is·in·Raxioms· | 419 | ·Remark:·<span·class="inlinecode"><span·class="id"·title="var">Rlt_trans</span></span>·is·in·Raxioms· |
420 | </div> | 420 | </div> |
421 | <div·class="code"> | 421 | <div·class="code"> |
422 | #[<span·class="id"·title="var">export</span>]·<span·class="id"·title="keyword">Instance</span>·<a·id="Rlt_Transitive"·class="idref"·href="#Rlt_Transitive"><span·class="id"·title="instance">Rlt_Transitive</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Transitive"><span·class="id"·title="class">Transitive</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.Rlt"><span·class="id"·title="axiom">Rlt</span></a>·|·10·:=·<a·class="idref"·href="Coq.Reals.Raxioms.html#Rlt_trans"><span·class="id"·title="lemma">Rlt_trans</span></a>.<br/> | 422 | #[<span·class="id"·title="var">export</span>]·<span·class="id"·title="keyword">Instance</span>·<a·id="Rlt_Transitive"·class="idref"·href="#Rlt_Transitive"><span·class="id"·title="instance">Rlt_Transitive</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Transitive"><span·class="id"·title="class">Transitive</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.Rlt"><span·class="id"·title="axiom">Rlt</span></a>·|·10·:=·<a·class="idref"·href="Coq.Reals.Raxioms.html#Rlt_trans"><span·class="id"·title="lemma">Rlt_trans</span></a>.<br/> |
Max diff block lines reached; 103623/120696 bytes (85.85%) of diff not shown. |
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="lab844"></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 86, 15 lines modified | Offset 86, 15 lines modified | ||
86 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· | 86 | ····interfaces,·such·as·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>·or·<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>.· |
87 | <div·class="paragraph">·</div> | 87 | <div·class="paragraph">·</div> |
88 | ·Note·that·<span·class="inlinecode"><span·class="id"·title="var">R_as_DT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span> | 88 | ·Note·that·<span·class="inlinecode"><span·class="id"·title="var">R_as_DT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span> |
89 | ····and·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableTypeOrig</span></span>.· | 89 | ····and·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableTypeOrig</span></span>.· |
90 | <div·class="paragraph">·</div> | 90 | <div·class="paragraph">·</div> |
91 | <a·id="lab | 91 | <a·id="lab845"></a><h1·class="section">OrderedType·structure·for·binary·integers</h1> |
92 | </div> | 92 | </div> |
93 | <div·class="code"> | 93 | <div·class="code"> |
94 | <br/> | 94 | <br/> |
95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rcompare"·class="idref"·href="#Rcompare"><span·class="id"·title="definition">Rcompare</span></a>·<a·id="x:7"·class="idref"·href="#x:7"><span·class="id"·title="binder">x</span></a>·<a·id="y:8"·class="idref"·href="#y:8"><span·class="id"·title="binder">y</span></a>·:=<br/> | 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rcompare"·class="idref"·href="#Rcompare"><span·class="id"·title="definition">Rcompare</span></a>·<a·id="x:7"·class="idref"·href="#x:7"><span·class="id"·title="binder">x</span></a>·<a·id="y:8"·class="idref"·href="#y:8"><span·class="id"·title="binder">y</span></a>·:=<br/> |
96 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#total_order_T"><span·class="id"·title="lemma">total_order_T</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#x:7"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#y:8"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 96 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#total_order_T"><span·class="id"·title="lemma">total_order_T</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#x:7"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#y:8"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 134, 15 lines modified | Offset 134, 15 lines modified | ||
134 | </div> | 134 | </div> |
135 | <div·class="doc"> | 135 | <div·class="doc"> |
136 | Note·that·<span·class="inlinecode"><span·class="id"·title="var">R_as_OT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">UsualOrderedType</span></span> | 136 | Note·that·<span·class="inlinecode"><span·class="id"·title="var">R_as_OT</span></span>·can·also·be·seen·as·a·<span·class="inlinecode"><span·class="id"·title="var">UsualOrderedType</span></span> |
137 | ···and·a·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·(and·also·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>).· | 137 | ···and·a·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·(and·also·as·a·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>).· |
138 | <div·class="paragraph">·</div> | 138 | <div·class="paragraph">·</div> |
139 | <a·id="lab | 139 | <a·id="lab846"></a><h1·class="section">An·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic·for·real·numbers</h1> |
140 | </div> | 140 | </div> |
141 | <div·class="code"> | 141 | <div·class="code"> |
142 | <br/> | 142 | <br/> |
143 | <span·class="id"·title="keyword">Module</span>·<a·id="ROrder"·class="idref"·href="#ROrder"><span·class="id"·title="module">ROrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#R_as_OT"><span·class="id"·title="module">R_as_OT</span></a>.<br/> | 143 | <span·class="id"·title="keyword">Module</span>·<a·id="ROrder"·class="idref"·href="#ROrder"><span·class="id"·title="module">ROrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OTF_to_OrderTac"><span·class="id"·title="module">OTF_to_OrderTac</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#R_as_OT"><span·class="id"·title="module">R_as_OT</span></a>.<br/> |
144 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">r_order</span>·:=·<span·class="id"·title="var">ROrder.order</span>.<br/> | 144 | <span·class="id"·title="keyword">Ltac</span>·<span·class="id"·title="var">r_order</span>·:=·<span·class="id"·title="var">ROrder.order</span>.<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="lab952"></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 93, 15 lines modified | Offset 93, 15 lines modified | ||
93 | <br/> | 93 | <br/> |
94 | <span·class="id"·title="keyword">Lemma</span>·<a·id="base_fp"·class="idref"·href="#base_fp"><span·class="id"·title="lemma">base_fp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:10"·class="idref"·href="#r:10"><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.Reals.R_Ifp.html#frac_part"><span·class="id"·title="definition">frac_part</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:10"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#frac_part"><span·class="id"·title="definition">frac_part</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:10"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·1.<br/> | 94 | <span·class="id"·title="keyword">Lemma</span>·<a·id="base_fp"·class="idref"·href="#base_fp"><span·class="id"·title="lemma">base_fp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:10"·class="idref"·href="#r:10"><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.Reals.R_Ifp.html#frac_part"><span·class="id"·title="definition">frac_part</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:10"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#frac_part"><span·class="id"·title="definition">frac_part</span></a>·<a·class="idref"·href="Coq.Reals.R_Ifp.html#r:10"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><span·class="id"·title="notation"><</span></a>·1.<br/> |
95 | <br/> | 95 | <br/> |
96 | </div> | 96 | </div> |
97 | <div·class="doc"> | 97 | <div·class="doc"> |
98 | <a·id="lab | 98 | <a·id="lab953"></a><h1·class="section">Properties</h1> |
99 | <div·class="paragraph">·</div> | 99 | <div·class="paragraph">·</div> |
100 | </div> | 100 | </div> |
101 | <div·class="code"> | 101 | <div·class="code"> |
102 | <span·class="id"·title="keyword">Lemma</span>·<a·id="base_Int_part"·class="idref"·href="#base_Int_part"><span·class="id"·title="lemma">base_Int_part</span></a>·:<br/> | 102 | <span·class="id"·title="keyword">Lemma</span>·<a·id="base_Int_part"·class="idref"·href="#base_Int_part"><span·class="id"·title="lemma">base_Int_part</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.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="lab950"></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 192, 15 lines modified | Offset 192, 15 lines modified | ||
192 | <span·class="id"·title="keyword">forall</span>·<a·id="a:52"·class="idref"·href="#a:52"><span·class="id"·title="binder">a</span></a>·<a·id="b:53"·class="idref"·href="#b:53"><span·class="id"·title="binder">b</span></a>·<a·id="c:54"·class="idref"·href="#c:54"><span·class="id"·title="binder">c</span></a>·<a·id="d:55"·class="idref"·href="#d:55"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 192 | <span·class="id"·title="keyword">forall</span>·<a·id="a:52"·class="idref"·href="#a:52"><span·class="id"·title="binder">a</span></a>·<a·id="b:53"·class="idref"·href="#b:53"><span·class="id"·title="binder">b</span></a>·<a·id="c:54"·class="idref"·href="#c:54"><span·class="id"·title="binder">c</span></a>·<a·id="d:55"·class="idref"·href="#d:55"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> |
193 | <a·class="idref"·href="Coq.Reals.R_sqrt.html#a:52"><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.R_sqrt.html#c:54"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:53"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#d:55"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<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.R_sqrt.html#a:52"><span·class="id"·title="variable">a</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.R_sqrt.html#b:53"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<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.R_sqrt.html#c:54"><span·class="id"·title="variable">c</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.R_sqrt.html#d:55"><span·class="id"·title="variable">d</span></a>).<br/> | 193 | <a·class="idref"·href="Coq.Reals.R_sqrt.html#a:52"><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.R_sqrt.html#c:54"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:53"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#d:55"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<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.R_sqrt.html#a:52"><span·class="id"·title="variable">a</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.R_sqrt.html#b:53"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<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.R_sqrt.html#c:54"><span·class="id"·title="variable">c</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.R_sqrt.html#d:55"><span·class="id"·title="variable">d</span></a>).<br/> |
194 | <br/> | 194 | <br/> |
195 | </div> | 195 | </div> |
196 | <div·class="doc"> | 196 | <div·class="doc"> |
197 | <a·id="lab | 197 | <a·id="lab951"></a><h1·class="section">Resolution·of·<span·class="inlinecode"><span·class="id"·title="var">a</span>*<span·class="id"·title="var">X</span>^2+<span·class="id"·title="var">b</span>*<span·class="id"·title="var">X</span>+<span·class="id"·title="var">c</span>=0</span></h1> |
198 | </div> | 198 | </div> |
199 | <div·class="code"> | 199 | <div·class="code"> |
200 | <br/> | 200 | <br/> |
201 | <span·class="id"·title="keyword">Definition</span>·<a·id="Delta"·class="idref"·href="#Delta"><span·class="id"·title="definition">Delta</span></a>·(<a·id="a:56"·class="idref"·href="#a:56"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#nonzeroreal"><span·class="id"·title="record">nonzeroreal</span></a>)·(<a·id="b:57"·class="idref"·href="#b:57"><span·class="id"·title="binder">b</span></a>·<a·id="c:58"·class="idref"·href="#c:58"><span·class="id"·title="binder">c</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.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:57"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·4·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#a:56"><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.R_sqrt.html#c:58"><span·class="id"·title="variable">c</span></a>.<br/> | 201 | <span·class="id"·title="keyword">Definition</span>·<a·id="Delta"·class="idref"·href="#Delta"><span·class="id"·title="definition">Delta</span></a>·(<a·id="a:56"·class="idref"·href="#a:56"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#nonzeroreal"><span·class="id"·title="record">nonzeroreal</span></a>)·(<a·id="b:57"·class="idref"·href="#b:57"><span·class="id"·title="binder">b</span></a>·<a·id="c:58"·class="idref"·href="#c:58"><span·class="id"·title="binder">c</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.RIneq.html#Rsqr"><span·class="id"·title="definition">Rsqr</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#b:57"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·4·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#a:56"><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.R_sqrt.html#c:58"><span·class="id"·title="variable">c</span></a>.<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="lab814"></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 102, 15 lines modified | Offset 102, 15 lines modified | ||
102 | <span·class="id"·title="keyword">Definition</span>·<a·id="fct_cte"·class="idref"·href="#fct_cte"><span·class="id"·title="definition">fct_cte</span></a>·(<a·id="a:28"·class="idref"·href="#a:28"><span·class="id"·title="binder">a</span></a>·<a·id="x:29"·class="idref"·href="#x:29"><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:28"><span·class="id"·title="variable">a</span></a>.<br/> | 102 | <span·class="id"·title="keyword">Definition</span>·<a·id="fct_cte"·class="idref"·href="#fct_cte"><span·class="id"·title="definition">fct_cte</span></a>·(<a·id="a:28"·class="idref"·href="#a:28"><span·class="id"·title="binder">a</span></a>·<a·id="x:29"·class="idref"·href="#x:29"><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:28"><span·class="id"·title="variable">a</span></a>.<br/> |
103 | <span·class="id"·title="keyword">Definition</span>·<a·id="id"·class="idref"·href="#id"><span·class="id"·title="definition">id</span></a>·(<a·id="x:30"·class="idref"·href="#x:30"><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.Ranalysis1.html#x:30"><span·class="id"·title="variable">x</span></a>.<br/> | 103 | <span·class="id"·title="keyword">Definition</span>·<a·id="id"·class="idref"·href="#id"><span·class="id"·title="definition">id</span></a>·(<a·id="x:30"·class="idref"·href="#x:30"><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.Ranalysis1.html#x:30"><span·class="id"·title="variable">x</span></a>.<br/> |
104 | <br/> | 104 | <br/> |
105 | </div> | 105 | </div> |
106 | <div·class="doc"> | 106 | <div·class="doc"> |
107 | <a·id="lab | 107 | <a·id="lab815"></a><h1·class="section">Variations·of·functions</h1> |
108 | </div> | 108 | </div> |
109 | <div·class="code"> | 109 | <div·class="code"> |
110 | <span·class="id"·title="keyword">Definition</span>·<a·id="increasing"·class="idref"·href="#increasing"><span·class="id"·title="definition">increasing</span></a>·<a·id="f:31"·class="idref"·href="#f:31"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:32"·class="idref"·href="#x:32"><span·class="id"·title="binder">x</span></a>·<a·id="y:33"·class="idref"·href="#y:33"><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.Ranalysis1.html#x:32"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:33"><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.Reals.Ranalysis1.html#f:31"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:32"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:31"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:33"><span·class="id"·title="variable">y</span></a>.<br/> | 110 | <span·class="id"·title="keyword">Definition</span>·<a·id="increasing"·class="idref"·href="#increasing"><span·class="id"·title="definition">increasing</span></a>·<a·id="f:31"·class="idref"·href="#f:31"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:32"·class="idref"·href="#x:32"><span·class="id"·title="binder">x</span></a>·<a·id="y:33"·class="idref"·href="#y:33"><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.Ranalysis1.html#x:32"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:33"><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.Reals.Ranalysis1.html#f:31"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:32"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:31"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:33"><span·class="id"·title="variable">y</span></a>.<br/> |
111 | <span·class="id"·title="keyword">Definition</span>·<a·id="decreasing"·class="idref"·href="#decreasing"><span·class="id"·title="definition">decreasing</span></a>·<a·id="f:34"·class="idref"·href="#f:34"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:35"·class="idref"·href="#x:35"><span·class="id"·title="binder">x</span></a>·<a·id="y:36"·class="idref"·href="#y:36"><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.Ranalysis1.html#x:35"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:36"><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.Reals.Ranalysis1.html#f:34"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:36"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:34"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:35"><span·class="id"·title="variable">x</span></a>.<br/> | 111 | <span·class="id"·title="keyword">Definition</span>·<a·id="decreasing"·class="idref"·href="#decreasing"><span·class="id"·title="definition">decreasing</span></a>·<a·id="f:34"·class="idref"·href="#f:34"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:35"·class="idref"·href="#x:35"><span·class="id"·title="binder">x</span></a>·<a·id="y:36"·class="idref"·href="#y:36"><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.Ranalysis1.html#x:35"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:36"><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.Reals.Ranalysis1.html#f:34"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:36"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:34"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:35"><span·class="id"·title="variable">x</span></a>.<br/> |
112 | <span·class="id"·title="keyword">Definition</span>·<a·id="strict_increasing"·class="idref"·href="#strict_increasing"><span·class="id"·title="definition">strict_increasing</span></a>·<a·id="f:37"·class="idref"·href="#f:37"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>·<a·id="y:39"·class="idref"·href="#y:39"><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.Ranalysis1.html#x:38"><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.Ranalysis1.html#y:39"><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.Reals.Ranalysis1.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:38"><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.Ranalysis1.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:39"><span·class="id"·title="variable">y</span></a>.<br/> | 112 | <span·class="id"·title="keyword">Definition</span>·<a·id="strict_increasing"·class="idref"·href="#strict_increasing"><span·class="id"·title="definition">strict_increasing</span></a>·<a·id="f:37"·class="idref"·href="#f:37"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:38"·class="idref"·href="#x:38"><span·class="id"·title="binder">x</span></a>·<a·id="y:39"·class="idref"·href="#y:39"><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.Ranalysis1.html#x:38"><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.Ranalysis1.html#y:39"><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.Reals.Ranalysis1.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:38"><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.Ranalysis1.html#f:37"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:39"><span·class="id"·title="variable">y</span></a>.<br/> |
113 | <span·class="id"·title="keyword">Definition</span>·<a·id="strict_decreasing"·class="idref"·href="#strict_decreasing"><span·class="id"·title="definition">strict_decreasing</span></a>·<a·id="f:40"·class="idref"·href="#f:40"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:41"·class="idref"·href="#x:41"><span·class="id"·title="binder">x</span></a>·<a·id="y:42"·class="idref"·href="#y:42"><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.Ranalysis1.html#x:41"><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.Ranalysis1.html#y:42"><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.Reals.Ranalysis1.html#f:40"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:42"><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.Ranalysis1.html#f:40"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:41"><span·class="id"·title="variable">x</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Definition</span>·<a·id="strict_decreasing"·class="idref"·href="#strict_decreasing"><span·class="id"·title="definition">strict_decreasing</span></a>·<a·id="f:40"·class="idref"·href="#f:40"><span·class="id"·title="binder">f</span></a>·:·<span·class="id"·title="keyword">Prop</span>·:=·<span·class="id"·title="keyword">forall</span>·<a·id="x:41"·class="idref"·href="#x:41"><span·class="id"·title="binder">x</span></a>·<a·id="y:42"·class="idref"·href="#y:42"><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.Ranalysis1.html#x:41"><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.Ranalysis1.html#y:42"><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.Reals.Ranalysis1.html#f:40"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#y:42"><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.Ranalysis1.html#f:40"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:41"><span·class="id"·title="variable">x</span></a>.<br/> |
Offset 123, 15 lines modified | Offset 123, 15 lines modified | ||
123 | <span·class="id"·title="keyword">Definition</span>·<a·id="constant_D_eq"·class="idref"·href="#constant_D_eq"><span·class="id"·title="definition">constant_D_eq</span></a>·<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>·(<a·id="D:48"·class="idref"·href="#D:48"><span·class="id"·title="binder">D</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>)·(<a·id="c:49"·class="idref"·href="#c:49"><span·class="id"·title="binder">c</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/> | 123 | <span·class="id"·title="keyword">Definition</span>·<a·id="constant_D_eq"·class="idref"·href="#constant_D_eq"><span·class="id"·title="definition">constant_D_eq</span></a>·<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</span></a>·(<a·id="D:48"·class="idref"·href="#D:48"><span·class="id"·title="binder">D</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>)·(<a·id="c:49"·class="idref"·href="#c:49"><span·class="id"·title="binder">c</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/> |
124 | <span·class="id"·title="keyword">forall</span>·<a·id="x:50"·class="idref"·href="#x:50"><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.Ranalysis1.html#D:48"><span·class="id"·title="variable">D</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:50"><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.Ranalysis1.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:50"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#c:49"><span·class="id"·title="variable">c</span></a>.<br/> | 124 | <span·class="id"·title="keyword">forall</span>·<a·id="x:50"·class="idref"·href="#x:50"><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.Ranalysis1.html#D:48"><span·class="id"·title="variable">D</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:50"><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.Ranalysis1.html#f:47"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:50"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#c:49"><span·class="id"·title="variable">c</span></a>.<br/> |
125 | <br/> | 125 | <br/> |
126 | </div> | 126 | </div> |
127 | <div·class="doc"> | 127 | <div·class="doc"> |
128 | <a·id="lab | 128 | <a·id="lab816"></a><h1·class="section">Definition·of·continuity·as·a·limit</h1> |
129 | <div·class="paragraph">·</div> | 129 | <div·class="paragraph">·</div> |
130 | </div> | 130 | </div> |
131 | <div·class="code"> | 131 | <div·class="code"> |
132 | <span·class="id"·title="keyword">Definition</span>·<a·id="continuity_pt"·class="idref"·href="#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·id="f:51"·class="idref"·href="#f:51"><span·class="id"·title="binder">f</span></a>·(<a·id="x0:52"·class="idref"·href="#x0:52"><span·class="id"·title="binder">x0</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.Rderiv.html#continue_in"><span·class="id"·title="definition">continue_in</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#no_cond"><span·class="id"·title="definition">no_cond</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x0:52"><span·class="id"·title="variable">x0</span></a>.<br/> | 132 | <span·class="id"·title="keyword">Definition</span>·<a·id="continuity_pt"·class="idref"·href="#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·id="f:51"·class="idref"·href="#f:51"><span·class="id"·title="binder">f</span></a>·(<a·id="x0:52"·class="idref"·href="#x0:52"><span·class="id"·title="binder">x0</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.Rderiv.html#continue_in"><span·class="id"·title="definition">continue_in</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#no_cond"><span·class="id"·title="definition">no_cond</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x0:52"><span·class="id"·title="variable">x0</span></a>.<br/> |
Offset 227, 15 lines modified | Offset 227, 15 lines modified | ||
227 | <span·class="id"·title="keyword">Lemma</span>·<a·id="continuity_comp"·class="idref"·href="#continuity_comp"><span·class="id"·title="lemma">continuity_comp</span></a>·:<br/> | 227 | <span·class="id"·title="keyword">Lemma</span>·<a·id="continuity_comp"·class="idref"·href="#continuity_comp"><span·class="id"·title="lemma">continuity_comp</span></a>·:<br/> |
228 | <span·class="id"·title="keyword">forall</span>·<a·id="f1:109"·class="idref"·href="#f1:109"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:110"·class="idref"·href="#f2:110"><span·class="id"·title="binder">f2</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:109"><span·class="id"·title="variable">f1</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.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:110"><span·class="id"·title="variable">f2</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.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:110"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#::Rfun_scope:x_'o'_x"><span·class="id"·title="notation">o</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:109"><span·class="id"·title="variable">f1</span></a>).<br/> | 228 | <span·class="id"·title="keyword">forall</span>·<a·id="f1:109"·class="idref"·href="#f1:109"><span·class="id"·title="binder">f1</span></a>·<a·id="f2:110"·class="idref"·href="#f2:110"><span·class="id"·title="binder">f2</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:109"><span·class="id"·title="variable">f1</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.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:110"><span·class="id"·title="variable">f2</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.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f2:110"><span·class="id"·title="variable">f2</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#::Rfun_scope:x_'o'_x"><span·class="id"·title="notation">o</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f1:109"><span·class="id"·title="variable">f1</span></a>).<br/> |
229 | <br/> | 229 | <br/> |
230 | </div> | 230 | </div> |
231 | <div·class="doc"> | 231 | <div·class="doc"> |
232 | <a·id="lab | 232 | <a·id="lab817"></a><h1·class="section">Derivative's·definition·using·Landau's·kernel</h1> |
233 | </div> | 233 | </div> |
234 | <div·class="code"> | 234 | <div·class="code"> |
235 | <br/> | 235 | <br/> |
236 | <span·class="id"·title="keyword">Definition</span>·<a·id="derivable_pt_lim"·class="idref"·href="#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·id="f:111"·class="idref"·href="#f:111"><span·class="id"·title="binder">f</span></a>·(<a·id="x:112"·class="idref"·href="#x:112"><span·class="id"·title="binder">x</span></a>·<a·id="l:113"·class="idref"·href="#l:113"><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/> | 236 | <span·class="id"·title="keyword">Definition</span>·<a·id="derivable_pt_lim"·class="idref"·href="#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·id="f:111"·class="idref"·href="#f:111"><span·class="id"·title="binder">f</span></a>·(<a·id="x:112"·class="idref"·href="#x:112"><span·class="id"·title="binder">x</span></a>·<a·id="l:113"·class="idref"·href="#l:113"><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/> |
237 | <span·class="id"·title="keyword">forall</span>·<a·id="eps:114"·class="idref"·href="#eps:114"><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>,<br/> | 237 | <span·class="id"·title="keyword">forall</span>·<a·id="eps:114"·class="idref"·href="#eps:114"><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>,<br/> |
Offset 267, 15 lines modified | Offset 267, 15 lines modified | ||
267 | <span·class="id"·title="keyword">Definition</span>·<a·id="antiderivative"·class="idref"·href="#antiderivative"><span·class="id"·title="definition">antiderivative</span></a>·<a·id="f:131"·class="idref"·href="#f:131"><span·class="id"·title="binder">f</span></a>·(<a·id="g:132"·class="idref"·href="#g:132"><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>)·(<a·id="a:133"·class="idref"·href="#a:133"><span·class="id"·title="binder">a</span></a>·<a·id="b:134"·class="idref"·href="#b:134"><span·class="id"·title="binder">b</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/> | 267 | <span·class="id"·title="keyword">Definition</span>·<a·id="antiderivative"·class="idref"·href="#antiderivative"><span·class="id"·title="definition">antiderivative</span></a>·<a·id="f:131"·class="idref"·href="#f:131"><span·class="id"·title="binder">f</span></a>·(<a·id="g:132"·class="idref"·href="#g:132"><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>)·(<a·id="a:133"·class="idref"·href="#a:133"><span·class="id"·title="binder">a</span></a>·<a·id="b:134"·class="idref"·href="#b:134"><span·class="id"·title="binder">b</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/> |
268 | <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:135"·class="idref"·href="#x:135"><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>,<br/> | 268 | <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:135"·class="idref"·href="#x:135"><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>,<br/> |
269 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:133"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:134"><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.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="pr:136"·class="idref"·href="#pr:136"><span·class="id"·title="binder">pr</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:132"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:131"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:132"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:136"><span·class="id"·title="variable">pr</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 269 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:133"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:134"><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.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="pr:136"·class="idref"·href="#pr:136"><span·class="id"·title="binder">pr</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:132"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:131"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:132"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:135"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:136"><span·class="id"·title="variable">pr</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> |
270 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:133"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:134"><span·class="id"·title="variable">b</span></a>.<br/> | 270 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:133"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:134"><span·class="id"·title="variable">b</span></a>.<br/> |
271 | </div> | 271 | </div> |
272 | <div·class="doc"> | 272 | <div·class="doc"> |
273 | <a·id="lab | 273 | <a·id="lab818"></a><h1·class="section">Class·of·differential·functions</h1> |
274 | </div> | 274 | </div> |
275 | <div·class="code"> | 275 | <div·class="code"> |
276 | <span·class="id"·title="keyword">Record</span>·<a·id="Differential"·class="idref"·href="#Differential"><span·class="id"·title="record">Differential</span></a>·:·<span·class="id"·title="keyword">Type</span>·:=·<span·class="id"·title="var">mkDifferential</span><br/> | 276 | <span·class="id"·title="keyword">Record</span>·<a·id="Differential"·class="idref"·href="#Differential"><span·class="id"·title="record">Differential</span></a>·:·<span·class="id"·title="keyword">Type</span>·:=·<span·class="id"·title="var">mkDifferential</span><br/> |
277 | {<a·id="d1"·class="idref"·href="#d1"><span·class="id"·title="projection">d1</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>;·<a·id="cond_diff"·class="idref"·href="#cond_diff"><span·class="id"·title="projection">cond_diff</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable"><span·class="id"·title="definition">derivable</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#d1:138"><span·class="id"·title="method">d1</span></a>}.<br/> | 277 | {<a·id="d1"·class="idref"·href="#d1"><span·class="id"·title="projection">d1</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>;·<a·id="cond_diff"·class="idref"·href="#cond_diff"><span·class="id"·title="projection">cond_diff</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable"><span·class="id"·title="definition">derivable</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#d1:138"><span·class="id"·title="method">d1</span></a>}.<br/> |
278 | <br/> | 278 | <br/> |
Offset 323, 15 lines modified | Offset 323, 15 lines modified | ||
323 | <span·class="id"·title="keyword">forall</span>·<a·id="f:178"·class="idref"·href="#f:178"><span·class="id"·title="binder">f</span></a>·(<a·id="x:179"·class="idref"·href="#x:179"><span·class="id"·title="binder">x</span></a>·<a·id="l:180"·class="idref"·href="#l:180"><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>)·(<a·id="pr:181"·class="idref"·href="#pr:181"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>),<br/> | 323 | <span·class="id"·title="keyword">forall</span>·<a·id="f:178"·class="idref"·href="#f:178"><span·class="id"·title="binder">f</span></a>·(<a·id="x:179"·class="idref"·href="#x:179"><span·class="id"·title="binder">x</span></a>·<a·id="l:180"·class="idref"·href="#l:180"><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>)·(<a·id="pr:181"·class="idref"·href="#pr:181"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>),<br/> |
324 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:181"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:180"><span·class="id"·title="variable">l</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.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:180"><span·class="id"·title="variable">l</span></a>.<br/> | 324 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:181"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:180"><span·class="id"·title="variable">l</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.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:179"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:180"><span·class="id"·title="variable">l</span></a>.<br/> |
325 | <br/> | 325 | <br/> |
326 | </div> | 326 | </div> |
327 | <div·class="doc"> | 327 | <div·class="doc"> |
328 | <a·id="lab | 328 | <a·id="lab819"></a><h1·class="section">Equivalence·of·this·definition·with·the·one·using·limit·concept</h1> |
329 | </div> | 329 | </div> |
330 | <div·class="code"> | 330 | <div·class="code"> |
331 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derive_pt_D_in"·class="idref"·href="#derive_pt_D_in"><span·class="id"·title="lemma">derive_pt_D_in</span></a>·:<br/> | 331 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derive_pt_D_in"·class="idref"·href="#derive_pt_D_in"><span·class="id"·title="lemma">derive_pt_D_in</span></a>·:<br/> |
332 | <span·class="id"·title="keyword">forall</span>·<a·id="f:182"·class="idref"·href="#f:182"><span·class="id"·title="binder">f</span></a>·(<a·id="df:183"·class="idref"·href="#df:183"><span·class="id"·title="binder">df</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>)·(<a·id="x:184"·class="idref"·href="#x:184"><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="pr:185"·class="idref"·href="#pr:185"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>),<br/> | 332 | <span·class="id"·title="keyword">forall</span>·<a·id="f:182"·class="idref"·href="#f:182"><span·class="id"·title="binder">f</span></a>·(<a·id="df:183"·class="idref"·href="#df:183"><span·class="id"·title="binder">df</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>)·(<a·id="x:184"·class="idref"·href="#x:184"><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="pr:185"·class="idref"·href="#pr:185"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>),<br/> |
333 | <a·class="idref"·href="Coq.Reals.Rderiv.html#D_in"><span·class="id"·title="definition">D_in</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#df:183"><span·class="id"·title="variable">df</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#no_cond"><span·class="id"·title="definition">no_cond</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><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.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:185"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#df:183"><span·class="id"·title="variable">df</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>.<br/> | 333 | <a·class="idref"·href="Coq.Reals.Rderiv.html#D_in"><span·class="id"·title="definition">D_in</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#df:183"><span·class="id"·title="variable">df</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#no_cond"><span·class="id"·title="definition">no_cond</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><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.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:182"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:185"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#df:183"><span·class="id"·title="variable">df</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:184"><span·class="id"·title="variable">x</span></a>.<br/> |
Offset 354, 15 lines modified | Offset 354, 15 lines modified | ||
354 | <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="z:200"·class="idref"·href="#z:200"><span·class="id"·title="binder">z</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:197"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:198"><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.Reals.Ranalysis1.html#f:194"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:195"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</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/> | 354 | <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="z:200"·class="idref"·href="#z:200"><span·class="id"·title="binder">z</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#a:197"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#b:198"><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.Reals.Ranalysis1.html#f:194"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:195"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#z:200"><span·class="id"·title="variable">z</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/> |
355 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:194"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:196"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:199"><span·class="id"·title="variable">l</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.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:195"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:196"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:199"><span·class="id"·title="variable">l</span></a>.<br/> | 355 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:194"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:196"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:199"><span·class="id"·title="variable">l</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.Ranalysis1.html#derivable_pt_lim"><span·class="id"·title="definition">derivable_pt_lim</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#g:195"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:196"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:199"><span·class="id"·title="variable">l</span></a>.<br/> |
356 | <br/> | 356 | <br/> |
357 | </div> | 357 | </div> |
358 | <div·class="doc"> | 358 | <div·class="doc"> |
359 | <a·id="lab | 359 | <a·id="lab820"></a><h1·class="section">derivability·->·continuity</h1> |
360 | </div> | 360 | </div> |
361 | <div·class="code"> | 361 | <div·class="code"> |
362 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derivable_derive"·class="idref"·href="#derivable_derive"><span·class="id"·title="lemma">derivable_derive</span></a>·:<br/> | 362 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derivable_derive"·class="idref"·href="#derivable_derive"><span·class="id"·title="lemma">derivable_derive</span></a>·:<br/> |
363 | <span·class="id"·title="keyword">forall</span>·<a·id="f:201"·class="idref"·href="#f:201"><span·class="id"·title="binder">f</span></a>·(<a·id="x:202"·class="idref"·href="#x:202"><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="pr:203"·class="idref"·href="#pr:203"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:202"><span·class="id"·title="variable">x</span></a>),··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="l:204"·class="idref"·href="#l:204"><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><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:202"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:203"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:204"><span·class="id"·title="variable">l</span></a>.<br/> | 363 | <span·class="id"·title="keyword">forall</span>·<a·id="f:201"·class="idref"·href="#f:201"><span·class="id"·title="binder">f</span></a>·(<a·id="x:202"·class="idref"·href="#x:202"><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="pr:203"·class="idref"·href="#pr:203"><span·class="id"·title="binder">pr</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:202"><span·class="id"·title="variable">x</span></a>),··<a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="l:204"·class="idref"·href="#l:204"><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><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#x:202"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#pr:203"><span·class="id"·title="variable">pr</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#l:204"><span·class="id"·title="variable">l</span></a>.<br/> |
364 | <br/> | 364 | <br/> |
Offset 372, 19 lines modified | Offset 372, 19 lines modified | ||
372 | <br/> | 372 | <br/> |
373 | <span·class="id"·title="keyword">Theorem</span>·<a·id="derivable_continuous"·class="idref"·href="#derivable_continuous"><span·class="id"·title="lemma">derivable_continuous</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="f:207"·class="idref"·href="#f:207"><span·class="id"·title="binder">f</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable"><span·class="id"·title="definition">derivable</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:207"><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>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:207"><span·class="id"·title="variable">f</span></a>.<br/> | 373 | <span·class="id"·title="keyword">Theorem</span>·<a·id="derivable_continuous"·class="idref"·href="#derivable_continuous"><span·class="id"·title="lemma">derivable_continuous</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="f:207"·class="idref"·href="#f:207"><span·class="id"·title="binder">f</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable"><span·class="id"·title="definition">derivable</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:207"><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>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity"><span·class="id"·title="definition">continuity</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#f:207"><span·class="id"·title="variable">f</span></a>.<br/> |
374 | <br/> | 374 | <br/> |
375 | </div> | 375 | </div> |
376 | <div·class="doc"> | 376 | <div·class="doc"> |
377 | <a·id="lab | 377 | <a·id="lab821"></a><h1·class="section">Main·rules</h1> |
378 | <div·class="paragraph">·</div> | 378 | <div·class="paragraph">·</div> |
379 | <a·id="lab | 379 | <a·id="lab822"></a><h2·class="section">Rules·for·derivable_pt_lim·(value·of·the·derivative·at·a·point)</h2> |
380 | </div> | 380 | </div> |
381 | <div·class="code"> | 381 | <div·class="code"> |
Max diff block lines reached; 16651/52973 bytes (31.43%) of diff not shown. |
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="lab831"></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 135, 19 lines modified | Offset 135, 19 lines modified | ||
135 | <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="x:166"·class="idref"·href="#x:166"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:163"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>··<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:166"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:164"><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>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:162"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:166"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 135 | <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="x:166"·class="idref"·href="#x:166"><span·class="id"·title="binder">x</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:163"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>··<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:166"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:164"><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>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:162"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:166"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
136 | <a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">{</span></a><a·id="x:167"·class="idref"·href="#x:167"><span·class="id"·title="binder">x</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:163"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:167"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:164"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:162"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:167"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:165"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">}</span></a>.<br/> | 136 | <a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">{</span></a><a·id="x:167"·class="idref"·href="#x:167"><span·class="id"·title="binder">x</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:163"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:167"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:164"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:162"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:167"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:165"><span·class="id"·title="variable">y</span></a><a·class="idref"·href="Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span·class="id"·title="notation">}</span></a>.<br/> |
137 | <br/> | 137 | <br/> |
138 | </div> | 138 | </div> |
139 | <div·class="doc"> | 139 | <div·class="doc"> |
140 | <a·id="lab | 140 | <a·id="lab832"></a><h2·class="section">The·derivative·of·a·reciprocal·function</h2> |
141 | <div·class="paragraph">·</div> | 141 | <div·class="paragraph">·</div> |
142 | <a·id="lab | 142 | <a·id="lab833"></a><h1·class="section">Continuity·of·the·reciprocal·function</h1> |
143 | </div> | 143 | </div> |
144 | <div·class="code"> | 144 | <div·class="code"> |
145 | <br/> | 145 | <br/> |
146 | <span·class="id"·title="keyword">Lemma</span>·<a·id="continuity_pt_recip_prelim"·class="idref"·href="#continuity_pt_recip_prelim"><span·class="id"·title="lemma">continuity_pt_recip_prelim</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:178"·class="idref"·href="#f:178"><span·class="id"·title="binder">f</span></a>·<a·id="g:179"·class="idref"·href="#g:179"><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>)·(<a·id="lb:180"·class="idref"·href="#lb:180"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:181"·class="idref"·href="#ub:181"><span·class="id"·title="binder">ub</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="Pr1:182"·class="idref"·href="#Pr1:182"><span·class="id"·title="binder">Pr1</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:180"><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:181"><span·class="id"·title="variable">ub</span></a>),<br/> | 146 | <span·class="id"·title="keyword">Lemma</span>·<a·id="continuity_pt_recip_prelim"·class="idref"·href="#continuity_pt_recip_prelim"><span·class="id"·title="lemma">continuity_pt_recip_prelim</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:178"·class="idref"·href="#f:178"><span·class="id"·title="binder">f</span></a>·<a·id="g:179"·class="idref"·href="#g:179"><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>)·(<a·id="lb:180"·class="idref"·href="#lb:180"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:181"·class="idref"·href="#ub:181"><span·class="id"·title="binder">ub</span></a>·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="Pr1:182"·class="idref"·href="#Pr1:182"><span·class="id"·title="binder">Pr1</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:180"><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:181"><span·class="id"·title="variable">ub</span></a>),<br/> |
147 | <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="x:183"·class="idref"·href="#x:183"><span·class="id"·title="binder">x</span></a>·<a·id="y:184"·class="idref"·href="#y:184"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:180"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><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.Ranalysis5.html#x:183"><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.Ranalysis5.html#y:184"><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.Reals.Ranalysis5.html#y:184"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:181"><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>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><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.Ranalysis5.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:184"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 147 | <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="x:183"·class="idref"·href="#x:183"><span·class="id"·title="binder">x</span></a>·<a·id="y:184"·class="idref"·href="#y:184"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:180"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><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.Ranalysis5.html#x:183"><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.Ranalysis5.html#y:184"><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.Reals.Ranalysis5.html#y:184"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:181"><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>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:183"><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.Ranalysis5.html#f:178"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#y:184"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
Offset 167, 15 lines modified | Offset 167, 15 lines modified | ||
167 | <a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:242"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:244"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#b:252"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:242"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:245"><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/> | 167 | <a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:242"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:244"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#b:252"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:242"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:245"><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/> |
168 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:243"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#b:252"><span·class="id"·title="variable">b</span></a>.<br/> | 168 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:243"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#b:252"><span·class="id"·title="variable">b</span></a>.<br/> |
169 | <br/> | 169 | <br/> |
170 | </div> | 170 | </div> |
171 | <div·class="doc"> | 171 | <div·class="doc"> |
172 | <a·id="lab | 172 | <a·id="lab834"></a><h1·class="section">Derivability·of·the·reciprocal·function</h1> |
173 | </div> | 173 | </div> |
174 | <div·class="code"> | 174 | <div·class="code"> |
175 | <br/> | 175 | <br/> |
176 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derivable_pt_lim_recip_interv"·class="idref"·href="#derivable_pt_lim_recip_interv"><span·class="id"·title="lemma">derivable_pt_lim_recip_interv</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:255"·class="idref"·href="#f:255"><span·class="id"·title="binder">f</span></a>·<a·id="g:256"·class="idref"·href="#g:256"><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>)·(<a·id="lb:257"·class="idref"·href="#lb:257"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:258"·class="idref"·href="#ub:258"><span·class="id"·title="binder">ub</span></a>·<a·id="x:259"·class="idref"·href="#x:259"><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>)<br/> | 176 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derivable_pt_lim_recip_interv"·class="idref"·href="#derivable_pt_lim_recip_interv"><span·class="id"·title="lemma">derivable_pt_lim_recip_interv</span></a>·:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:255"·class="idref"·href="#f:255"><span·class="id"·title="binder">f</span></a>·<a·id="g:256"·class="idref"·href="#g:256"><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>)·(<a·id="lb:257"·class="idref"·href="#lb:257"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:258"·class="idref"·href="#ub:258"><span·class="id"·title="binder">ub</span></a>·<a·id="x:259"·class="idref"·href="#x:259"><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>)<br/> |
177 | (<a·id="Prf:261"·class="idref"·href="#Prf:261"><span·class="id"·title="binder">Prf</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="a:260"·class="idref"·href="#a:260"><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·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:257"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#a:260"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:258"><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>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:255"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#a:260"><span·class="id"·title="variable">a</span></a>)·(<a·id="Prg:262"·class="idref"·href="#Prg:262"><span·class="id"·title="binder">Prg</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:259"><span·class="id"·title="variable">x</span></a>),<br/> | 177 | (<a·id="Prf:261"·class="idref"·href="#Prf:261"><span·class="id"·title="binder">Prf</span></a>:<span·class="id"·title="keyword">forall</span>·<a·id="a:260"·class="idref"·href="#a:260"><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·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:257"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#a:260"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:258"><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>·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:255"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#a:260"><span·class="id"·title="variable">a</span></a>)·(<a·id="Prg:262"·class="idref"·href="#Prg:262"><span·class="id"·title="binder">Prg</span></a>·:·<a·class="idref"·href="Coq.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:256"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:259"><span·class="id"·title="variable">x</span></a>),<br/> |
Offset 241, 15 lines modified | Offset 241, 15 lines modified | ||
241 | <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/> | 241 | <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/> |
242 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:341"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:344"><span·class="id"·title="variable">x</span></a>.<br/> | 242 | <a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:341"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:344"><span·class="id"·title="variable">x</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="lab835"></a><h1·class="section">Value·of·the·derivative·of·the·reciprocal·function</h1> |
247 | </div> | 247 | </div> |
248 | <div·class="code"> | 248 | <div·class="code"> |
249 | <br/> | 249 | <br/> |
250 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derive_pt_recip_interv_prelim0"·class="idref"·href="#derive_pt_recip_interv_prelim0"><span·class="id"·title="lemma">derive_pt_recip_interv_prelim0</span></a>·(<a·id="f:356"·class="idref"·href="#f:356"><span·class="id"·title="binder">f</span></a>·<a·id="g:357"·class="idref"·href="#g:357"><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>)·(<a·id="lb:358"·class="idref"·href="#lb:358"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:359"·class="idref"·href="#ub:359"><span·class="id"·title="binder">ub</span></a>·<a·id="x:360"·class="idref"·href="#x:360"><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>)<br/> | 250 | <span·class="id"·title="keyword">Lemma</span>·<a·id="derive_pt_recip_interv_prelim0"·class="idref"·href="#derive_pt_recip_interv_prelim0"><span·class="id"·title="lemma">derive_pt_recip_interv_prelim0</span></a>·(<a·id="f:356"·class="idref"·href="#f:356"><span·class="id"·title="binder">f</span></a>·<a·id="g:357"·class="idref"·href="#g:357"><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>)·(<a·id="lb:358"·class="idref"·href="#lb:358"><span·class="id"·title="binder">lb</span></a>·<a·id="ub:359"·class="idref"·href="#ub:359"><span·class="id"·title="binder">ub</span></a>·<a·id="x:360"·class="idref"·href="#x:360"><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>)<br/> |
251 | (<a·id="Prf:361"·class="idref"·href="#Prf:361"><span·class="id"·title="binder">Prf</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:356"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:357"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:360"><span·class="id"·title="variable">x</span></a>))·(<a·id="Prg:362"·class="idref"·href="#Prg:362"><span·class="id"·title="binder">Prg</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:357"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:360"><span·class="id"·title="variable">x</span></a>)<br/> | 251 | (<a·id="Prf:361"·class="idref"·href="#Prf:361"><span·class="id"·title="binder">Prf</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:356"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:357"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:360"><span·class="id"·title="variable">x</span></a>))·(<a·id="Prg:362"·class="idref"·href="#Prg:362"><span·class="id"·title="binder">Prg</span></a>:<a·class="idref"·href="Coq.Reals.Ranalysis1.html#derivable_pt"><span·class="id"·title="definition">derivable_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:357"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:360"><span·class="id"·title="variable">x</span></a>)<br/> |
Offset 317, 15 lines modified | Offset 317, 15 lines modified | ||
317 | 1·<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.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:408"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#Prf:421"><span·class="id"·title="variable">Prf</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#derive_pt_recip_interv_prelim1_1_decr"><span·class="id"·title="lemma">derive_pt_recip_interv_prelim1_1_decr</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:408"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:410"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:411"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a><br/> | 317 | 1·<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.Ranalysis1.html#derive_pt"><span·class="id"·title="definition">derive_pt</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:408"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#Prf:421"><span·class="id"·title="variable">Prf</span></a>·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Reals.Ranalysis5.html#derive_pt_recip_interv_prelim1_1_decr"><span·class="id"·title="lemma">derive_pt_recip_interv_prelim1_1_decr</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f:408"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g:409"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb:410"><span·class="id"·title="variable">lb</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#ub:411"><span·class="id"·title="variable">ub</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x:412"><span·class="id"·title="variable">x</span></a><br/> |
318 | <a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb_lt_ub:413"><span·class="id"·title="variable">lb_lt_ub</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x_encad:414"><span·class="id"·title="variable">x_encad</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f_decr:417"><span·class="id"·title="variable">f_decr</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g_wf:419"><span·class="id"·title="variable">g_wf</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f_eq_g:423"><span·class="id"·title="variable">f_eq_g</span></a>))<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>.<br/> | 318 | <a·class="idref"·href="Coq.Reals.Ranalysis5.html#lb_lt_ub:413"><span·class="id"·title="variable">lb_lt_ub</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#x_encad:414"><span·class="id"·title="variable">x_encad</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f_decr:417"><span·class="id"·title="variable">f_decr</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#g_wf:419"><span·class="id"·title="variable">g_wf</span></a>·<a·class="idref"·href="Coq.Reals.Ranalysis5.html#f_eq_g:423"><span·class="id"·title="variable">f_eq_g</span></a>))<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">)</span></a>.<br/> |
319 | <br/> | 319 | <br/> |
320 | </div> | 320 | </div> |
321 | <div·class="doc"> | 321 | <div·class="doc"> |
322 | <a·id="lab | 322 | <a·id="lab836"></a><h1·class="section">Existence·of·the·derivative·of·a·function·which·is·the·limit·of·a·sequence·of·functions</h1> |
323 | </div> | 323 | </div> |
324 | <div·class="code"> | 324 | <div·class="code"> |
325 | <br/> | 325 | <br/> |
326 | <br/> | 326 | <br/> |
Offset 311, 21 lines modified | Offset 311, 21 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>.. | ||
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·3836·3022··>.<a·id="lab860" | ||
000013e0:·3e3c·2f61·3e3c·6831·2063·6c61·7373·3d22··></a><h1·class=" | 000013e0:·3e3c·2f61·3e3c·6831·2063·6c61·7373·3d22··></a><h1·class=" | ||
000013f0:·7365·6374·696f·6e22·3e50·7265·6c69·6d69··section">Prelimi | 000013f0:·7365·6374·696f·6e22·3e50·7265·6c69·6d69··section">Prelimi | ||
00001400:·6e61·7269·6573·3c2f·6831·3e0a·0a3c·6469··naries</h1>..<di | 00001400:·6e61·7269·6573·3c2f·6831·3e0a·0a3c·6469··naries</h1>..<di | ||
00001410:·7620·636c·6173·733d·2270·6172·6167·7261··v·class="paragra | 00001410:·7620·636c·6173·733d·2270·6172·6167·7261··v·class="paragra | ||
00001420:·7068·223e·203c·2f64·6976·3e0a·0a3c·6120··ph">·</div>..<a· | 00001420:·7068·223e·203c·2f64·6976·3e0a·0a3c·6120··ph">·</div>..<a· | ||
00001430:·6964·3d22·6c61·623 | 00001430:·6964·3d22·6c61·6238·3631·223e·3c2f·613e··id="lab861"></a> | ||
00001440:·3c68·3220·636c·6173·733d·2273·6563·7469··<h2·class="secti | 00001440:·3c68·3220·636c·6173·733d·2273·6563·7469··<h2·class="secti | ||
00001450:·6f6e·223e·5661·7269·6f75·7320·6765·6e65··on">Various·gene | 00001450:·6f6e·223e·5661·7269·6f75·7320·6765·6e65··on">Various·gene | ||
00001460:·7269·6320·6c65·6d6d·6173·2077·6869·6368··ric·lemmas·which | 00001460:·7269·6320·6c65·6d6d·6173·2077·6869·6368··ric·lemmas·which | ||
00001470:·2070·726f·6261·626c·7920·7368·6f75·6c64···probably·should | 00001470:·2070·726f·6261·626c·7920·7368·6f75·6c64···probably·should | ||
00001480:·2067·6f20·736f·6d65·7768·6572·6520·656c···go·somewhere·el | 00001480:·2067·6f20·736f·6d65·7768·6572·6520·656c···go·somewhere·el | ||
00001490:·7365·3c2f·6832·3e0a·0a3c·2f64·6976·3e0a··se</h2>..</div>. | 00001490:·7365·3c2f·6832·3e0a·0a3c·2f64·6976·3e0a··se</h2>..</div>. | ||
000014a0:·3c64·6976·2063·6c61·7373·3d22·636f·6465··<div·class="code | 000014a0:·3c64·6976·2063·6c61·7373·3d22·636f·6465··<div·class="code | ||
Offset 1612, 22 lines modified | Offset 1612, 22 lines modified | ||
000064b0:·3539·6566·3966·3630·6663·3265·3361·3532··59ef9f60fc2e3a52 | 000064b0:·3539·6566·3966·3630·6663·3265·3361·3532··59ef9f60fc2e3a52 | ||
000064c0:·6334·3833·3731·6430·3737·3037·223e·3c73··c48371d07707"><s | 000064c0:·6334·3833·3731·6430·3737·3037·223e·3c73··c48371d07707"><s | ||
000064d0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | 000064d0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
000064e0:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | 000064e0:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | ||
000064f0:·5e3c·2f73·7061·6e3e·3c2f·613e·322e·3c62··^</span></a>2.<b | 000064f0:·5e3c·2f73·7061·6e3e·3c2f·613e·322e·3c62··^</span></a>2.<b | ||
00006500:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | 00006500:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | ||
00006510:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | 00006510:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | ||
00006520:·6f63·223e·0a3c·6120·6964·3d22·6c61·623 | 00006520:·6f63·223e·0a3c·6120·6964·3d22·6c61·6238··oc">.<a·id="lab8 | ||
00006530:·3 | 00006530:·3632·223e·3c2f·613e·3c68·3220·636c·6173··62"></a><h2·clas | ||
00006540:·733d·2273·6563·7469·6f6e·223e·5072·6f70··s="section">Prop | 00006540:·733d·2273·6563·7469·6f6e·223e·5072·6f70··s="section">Prop | ||
00006550:·6572·7469·6573·206f·6620·7461·6e67·656e··erties·of·tangen | 00006550:·6572·7469·6573·206f·6620·7461·6e67·656e··erties·of·tangen | ||
00006560:·743c·2f68·323e·0a0a·3c64·6976·2063·6c61··t</h2>..<div·cla | 00006560:·743c·2f68·323e·0a0a·3c64·6976·2063·6c61··t</h2>..<div·cla | ||
00006570:·7373·3d22·7061·7261·6772·6170·6822·3e20··ss="paragraph">· | 00006570:·7373·3d22·7061·7261·6772·6170·6822·3e20··ss="paragraph">· | ||
00006580:·3c2f·6469·763e·0a0a·3c61·2069·643d·226c··</div>..<a·id="l | 00006580:·3c2f·6469·763e·0a0a·3c61·2069·643d·226c··</div>..<a·id="l | ||
00006590:·6162·3 | 00006590:·6162·3836·3322·3e3c·2f61·3e3c·6833·2063··ab863"></a><h3·c | ||
000065a0:·6c61·7373·3d22·7365·6374·696f·6e22·3e44··lass="section">D | 000065a0:·6c61·7373·3d22·7365·6374·696f·6e22·3e44··lass="section">D | ||
000065b0:·6572·6976·6174·6976·6520·6f66·2074·616e··erivative·of·tan | 000065b0:·6572·6976·6174·6976·6520·6f66·2074·616e··erivative·of·tan | ||
000065c0:·6765·6e74·3c2f·6833·3e0a·0a3c·2f64·6976··gent</h3>..</div | 000065c0:·6765·6e74·3c2f·6833·3e0a·0a3c·2f64·6976··gent</h3>..</div | ||
000065d0:·3e0a·3c64·6976·2063·6c61·7373·3d22·636f··>.<div·class="co | 000065d0:·3e0a·3c64·6976·2063·6c61·7373·3d22·636f··>.<div·class="co | ||
000065e0:·6465·223e·0a0a·3c62·722f·3e0a·3c73·7061··de">..<br/>.<spa | 000065e0:·6465·223e·0a0a·3c62·722f·3e0a·3c73·7061··de">..<br/>.<spa | ||
000065f0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | 000065f0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00006600:·6c65·3d22·6b65·7977·6f72·6422·3e4c·656d··le="keyword">Lem | 00006600:·6c65·3d22·6b65·7977·6f72·6422·3e4c·656d··le="keyword">Lem | ||
Offset 1907, 15 lines modified | Offset 1907, 15 lines modified | ||
00007720:·6334·3833·3731·6430·3737·3037·223e·3c73··c48371d07707"><s | 00007720:·6334·3833·3731·6430·3737·3037·223e·3c73··c48371d07707"><s | ||
00007730:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | 00007730:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
00007740:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | 00007740:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | ||
00007750:·295e·3c2f·7370·616e·3e3c·2f61·3e32·2e3c··)^</span></a>2.< | 00007750:·295e·3c2f·7370·616e·3e3c·2f61·3e32·2e3c··)^</span></a>2.< | ||
00007760:·6272·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469··br/>..<br/>.</di | 00007760:·6272·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469··br/>..<br/>.</di | ||
00007770:·763e·0a0a·3c64·6976·2063·6c61·7373·3d22··v>..<div·class=" | 00007770:·763e·0a0a·3c64·6976·2063·6c61·7373·3d22··v>..<div·class=" | ||
00007780:·646f·6322·3e0a·3c61·2069·643d·226c·6162··doc">.<a·id="lab | 00007780:·646f·6322·3e0a·3c61·2069·643d·226c·6162··doc">.<a·id="lab | ||
00007790:·3 | 00007790:·3836·3422·3e3c·2f61·3e3c·6833·2063·6c61··864"></a><h3·cla | ||
000077a0:·7373·3d22·7365·6374·696f·6e22·3e50·726f··ss="section">Pro | 000077a0:·7373·3d22·7365·6374·696f·6e22·3e50·726f··ss="section">Pro | ||
000077b0:·6f66·2074·6861·7420·7461·6e67·656e·7420··of·that·tangent· | 000077b0:·6f66·2074·6861·7420·7461·6e67·656e·7420··of·that·tangent· | ||
000077c0:·6973·2061·2062·696a·6563·7469·6f6e·3c2f··is·a·bijection</ | 000077c0:·6973·2061·2062·696a·6563·7469·6f6e·3c2f··is·a·bijection</ | ||
000077d0:·6833·3e0a·0a3c·2f64·6976·3e0a·3c64·6976··h3>..</div>.<div | 000077d0:·6833·3e0a·0a3c·2f64·6976·3e0a·3c64·6976··h3>..</div>.<div | ||
000077e0:·2063·6c61·7373·3d22·636f·6465·223e·0a0a···class="code">.. | 000077e0:·2063·6c61·7373·3d22·636f·6465·223e·0a0a···class="code">.. | ||
000077f0:·3c62·722f·3e0a·0a3c·6272·2f3e·0a3c·7370··<br/>..<br/>.<sp | 000077f0:·3c62·722f·3e0a·0a3c·6272·2f3e·0a3c·7370··<br/>..<br/>.<sp | ||
00007800:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | 00007800:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | ||
Offset 3260, 22 lines modified | Offset 3260, 22 lines modified | ||
0000cbb0:·3238·6538·3336·6162·3065·3931·6561·3765··28e836ab0e91ea7e | 0000cbb0:·3238·6538·3336·6162·3065·3931·6561·3765··28e836ab0e91ea7e | ||
0000cbc0:·3934·3266·6230·3965·3839·3866·223e·3c73··942fb09e898f"><s | 0000cbc0:·3934·3266·6230·3965·3839·3866·223e·3c73··942fb09e898f"><s | ||
0000cbd0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | 0000cbd0:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
0000cbe0:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | 0000cbe0:·6974·6c65·3d22·6e6f·7461·7469·6f6e·223e··itle="notation"> | ||
0000cbf0:·7d3c·2f73·7061·6e3e·3c2f·613e·2e3c·6272··}</span></a>.<br | 0000cbf0:·7d3c·2f73·7061·6e3e·3c2f·613e·2e3c·6272··}</span></a>.<br | ||
0000cc00:·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469·763e··/>..<br/>.</div> | 0000cc00:·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469·763e··/>..<br/>.</div> | ||
0000cc10:·0a0a·3c64·6976·2063·6c61·7373·3d22·646f··..<div·class="do | 0000cc10:·0a0a·3c64·6976·2063·6c61·7373·3d22·646f··..<div·class="do | ||
0000cc20:·6322·3e0a·3c61·2069·643d·226c·6162·3 | 0000cc20:·6322·3e0a·3c61·2069·643d·226c·6162·3836··c">.<a·id="lab86 | ||
0000cc30:·3 | 0000cc30:·3522·3e3c·2f61·3e3c·6831·2063·6c61·7373··5"></a><h1·class | ||
0000cc40:·3d22·7365·6374·696f·6e22·3e44·6566·696e··="section">Defin | 0000cc40:·3d22·7365·6374·696f·6e22·3e44·6566·696e··="section">Defin | ||
0000cc50:·6974·696f·6e20·6f66·2061·7263·7461·6e67··ition·of·arctang | 0000cc50:·6974·696f·6e20·6f66·2061·7263·7461·6e67··ition·of·arctang | ||
0000cc60:·656e·743c·2f68·313e·0a0a·3c64·6976·2063··ent</h1>..<div·c | 0000cc60:·656e·743c·2f68·313e·0a0a·3c64·6976·2063··ent</h1>..<div·c | ||
0000cc70:·6c61·7373·3d22·7061·7261·6772·6170·6822··lass="paragraph" | 0000cc70:·6c61·7373·3d22·7061·7261·6772·6170·6822··lass="paragraph" | ||
0000cc80:·3e20·3c2f·6469·763e·0a0a·3c61·2069·643d··>·</div>..<a·id= | 0000cc80:·3e20·3c2f·6469·763e·0a0a·3c61·2069·643d··>·</div>..<a·id= | ||
0000cc90:·226c·6162·3 | 0000cc90:·226c·6162·3836·3622·3e3c·2f61·3e3c·6832··"lab866"></a><h2 | ||
0000cca0:·2063·6c61·7373·3d22·7365·6374·696f·6e22···class="section" | 0000cca0:·2063·6c61·7373·3d22·7365·6374·696f·6e22···class="section" | ||
0000ccb0:·3e44·6566·696e·6974·696f·6e20·6f66·2061··>Definition·of·a | 0000ccb0:·3e44·6566·696e·6974·696f·6e20·6f66·2061··>Definition·of·a | ||
0000ccc0:·7263·7461·6e67·656e·7420·6173·2074·6865··rctangent·as·the | 0000ccc0:·7263·7461·6e67·656e·7420·6173·2074·6865··rctangent·as·the | ||
0000ccd0:·2072·6563·6970·726f·6361·6c20·6675·6e63···reciprocal·func | 0000ccd0:·2072·6563·6970·726f·6361·6c20·6675·6e63···reciprocal·func | ||
0000cce0:·7469·6f6e·206f·6620·7461·6e67·656e·7420··tion·of·tangent· | 0000cce0:·7469·6f6e·206f·6620·7461·6e67·656e·7420··tion·of·tangent· | ||
0000ccf0:·616e·6420·7072·6f6f·6620·6f66·2074·6869··and·proof·of·thi | 0000ccf0:·616e·6420·7072·6f6f·6620·6f66·2074·6869··and·proof·of·thi | ||
0000cd00:·7320·7374·6174·7573·3c2f·6832·3e0a·0a3c··s·status</h2>..< | 0000cd00:·7320·7374·6174·7573·3c2f·6832·3e0a·0a3c··s·status</h2>..< | ||
Offset 4682, 16 lines modified | Offset 4682, 16 lines modified | ||
00012490:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | 00012490:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
000124a0:·6172·6961·626c·6522·3e78·3c2f·7370·616e··ariable">x</span | 000124a0:·6172·6961·626c·6522·3e78·3c2f·7370·616e··ariable">x</span | ||
000124b0:·3e3c·2f61·3e29·253c·7370·616e·2063·6c61··></a>)%<span·cla | 000124b0:·3e3c·2f61·3e29·253c·7370·616e·2063·6c61··></a>)%<span·cla | ||
000124c0:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | 000124c0:·7373·3d22·6964·2220·7469·746c·653d·2276··ss="id"·title="v | ||
000124d0:·6172·223e·523c·2f73·7061·6e3e·2e3c·6272··ar">R</span>.<br | 000124d0:·6172·223e·523c·2f73·7061·6e3e·2e3c·6272··ar">R</span>.<br | ||
000124e0:·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469·763e··/>..<br/>.</div> | 000124e0:·2f3e·0a0a·3c62·722f·3e0a·3c2f·6469·763e··/>..<br/>.</div> | ||
000124f0:·0a0a·3c64·6976·2063·6c61·7373·3d22·646f··..<div·class="do | 000124f0:·0a0a·3c64·6976·2063·6c61·7373·3d22·646f··..<div·class="do | ||
00012500:·6322·3e0a·3c61·2069·643d·226c·6162·3 | 00012500:·6322·3e0a·3c61·2069·643d·226c·6162·3836··c">.<a·id="lab86 | ||
00012510:·3 | 00012510:·3722·3e3c·2f61·3e3c·6832·2063·6c61·7373··7"></a><h2·class | ||
00012520:·3d22·7365·6374·696f·6e22·3e44·6572·6976··="section">Deriv | 00012520:·3d22·7365·6374·696f·6e22·3e44·6572·6976··="section">Deriv | ||
00012530:·6174·6976·6520·6f66·2061·7263·7461·6e67··ative·of·arctang | 00012530:·6174·6976·6520·6f66·2061·7263·7461·6e67··ative·of·arctang | ||
00012540:·656e·743c·2f68·323e·0a0a·3c2f·6469·763e··ent</h2>..</div> | 00012540:·656e·743c·2f68·323e·0a0a·3c2f·6469·763e··ent</h2>..</div> | ||
00012550:·0a3c·6469·7620·636c·6173·733d·2263·6f64··.<div·class="cod | 00012550:·0a3c·6469·7620·636c·6173·733d·2263·6f64··.<div·class="cod | ||
00012560:·6522·3e0a·0a3c·6272·2f3e·0a3c·7370·616e··e">..<br/>.<span | 00012560:·6522·3e0a·0a3c·6272·2f3e·0a3c·7370·616e··e">..<br/>.<span | ||
00012570:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | 00012570:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
00012580:·653d·226b·6579·776f·7264·223e·4c65·6d6d··e="keyword">Lemm | 00012580:·653d·226b·6579·776f·7264·223e·4c65·6d6d··e="keyword">Lemm | ||
Offset 4890, 15 lines modified | Offset 4890, 15 lines modified | ||
00013190:·6331·6239·3534·3839·6430·6636·6533·6122··c1b95489d0f6e3a" | 00013190:·6331·6239·3534·3839·6430·6636·6533·6122··c1b95489d0f6e3a" | ||
000131a0:·3e3c·7370·616e·2063·6c61·7373·3d22·6964··><span·class="id | 000131a0:·3e3c·7370·616e·2063·6c61·7373·3d22·6964··><span·class="id | ||
000131b0:·2220·7469·746c·653d·226e·6f74·6174·696f··"·title="notatio | 000131b0:·2220·7469·746c·653d·226e·6f74·6174·696f··"·title="notatio | ||
000131c0:·6e22·3e29·3c2f·7370·616e·3e3c·2f61·3e29··n">)</span></a>) | 000131c0:·6e22·3e29·3c2f·7370·616e·3e3c·2f61·3e29··n">)</span></a>) | ||
000131d0:·2e3c·6272·2f3e·0a0a·3c62·722f·3e0a·3c2f··.<br/>..<br/>.</ | 000131d0:·2e3c·6272·2f3e·0a0a·3c62·722f·3e0a·3c2f··.<br/>..<br/>.</ | ||
000131e0:·6469·763e·0a0a·3c64·6976·2063·6c61·7373··div>..<div·class | 000131e0:·6469·763e·0a0a·3c64·6976·2063·6c61·7373··div>..<div·class | ||
000131f0:·3d22·646f·6322·3e0a·3c61·2069·643d·226c··="doc">.<a·id="l | 000131f0:·3d22·646f·6322·3e0a·3c61·2069·643d·226c··="doc">.<a·id="l | ||
00013200:·6162·3 | 00013200:·6162·3836·3822·3e3c·2f61·3e3c·6832·2063··ab868"></a><h2·c | ||
00013210:·6c61·7373·3d22·7365·6374·696f·6e22·3e44··lass="section">D | 00013210:·6c61·7373·3d22·7365·6374·696f·6e22·3e44··lass="section">D | ||
00013220:·6566·696e·6974·696f·6e20·6f66·2074·6865··efinition·of·the | 00013220:·6566·696e·6974·696f·6e20·6f66·2074·6865··efinition·of·the | ||
00013230:·2061·7263·7461·6e67·656e·7420·6675·6e63···arctangent·func | 00013230:·2061·7263·7461·6e67·656e·7420·6675·6e63···arctangent·func | ||
00013240:·7469·6f6e·2061·7320·7468·6520·7375·6d20··tion·as·the·sum· | 00013240:·7469·6f6e·2061·7320·7468·6520·7375·6d20··tion·as·the·sum· | ||
00013250:·6f66·2074·6865·2061·7263·7461·6e20·706f··of·the·arctan·po | 00013250:·6f66·2074·6865·2061·7263·7461·6e20·706f··of·the·arctan·po | ||
00013260:·7765·7220·7365·7269·6573·3c2f·6832·3e0a··wer·series</h2>. | 00013260:·7765·7220·7365·7269·6573·3c2f·6832·3e0a··wer·series</h2>. | ||
00013270:·0a3c·2f64·6976·3e0a·3c64·6976·2063·6c61··.</div>.<div·cla | 00013270:·0a3c·2f64·6976·3e0a·3c64·6976·2063·6c61··.</div>.<div·cla | ||
Offset 5917, 15 lines modified | Offset 5917, 15 lines modified | ||
000171c0:·3e78·3c2f·7370·616e·3e3c·2f61·3e3c·6272··>x</span></a><br | 000171c0:·3e78·3c2f·7370·616e·3e3c·2f61·3e3c·6272··>x</span></a><br | ||
000171d0:·2f3e·0a26·6e62·7370·3b3c·7370·616e·2063··/>. <span·c | 000171d0:·2f3e·0a26·6e62·7370·3b3c·7370·616e·2063··/>. <span·c | ||
000171e0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | 000171e0:·6c61·7373·3d22·6964·2220·7469·746c·653d··lass="id"·title= | ||
000171f0:·226b·6579·776f·7264·223e·656e·643c·2f73··"keyword">end</s | 000171f0:·226b·6579·776f·7264·223e·656e·643c·2f73··"keyword">end</s | ||
00017200:·7061·6e3e·2e3c·6272·2f3e·0a0a·3c62·722f··pan>.<br/>..<br/ | 00017200:·7061·6e3e·2e3c·6272·2f3e·0a0a·3c62·722f··pan>.<br/>..<br/ | ||
00017210:·3e0a·3c2f·6469·763e·0a0a·3c64·6976·2063··>.</div>..<div·c | 00017210:·3e0a·3c2f·6469·763e·0a0a·3c64·6976·2063··>.</div>..<div·c | ||
00017220:·6c61·7373·3d22·646f·6322·3e0a·3c61·2069··lass="doc">.<a·i | 00017220:·6c61·7373·3d22·646f·6322·3e0a·3c61·2069··lass="doc">.<a·i | ||
00017230:·643d·226c·6162·3 | 00017230:·643d·226c·6162·3836·3922·3e3c·2f61·3e3c··d="lab869"></a>< | ||
00017240:·6832·2063·6c61·7373·3d22·7365·6374·696f··h2·class="sectio | 00017240:·6832·2063·6c61·7373·3d22·7365·6374·696f··h2·class="sectio | ||
00017250:·6e22·3e50·726f·6f66·206f·6620·7468·6520··n">Proof·of·the· | 00017250:·6e22·3e50·726f·6f66·206f·6620·7468·6520··n">Proof·of·the· | ||
Max diff block lines reached; 17630/27111 bytes (65.03%) 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="lab962"></a><h1·class="section">Field·operations</h1> |
71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> |
72 | <a·id="lab | 72 | <a·id="lab963"></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 137, 15 lines modified | Offset 137, 15 lines modified | ||
137 | #[<span·class="id"·title="var">global</span>]<br/> | 137 | #[<span·class="id"·title="var">global</span>]<br/> |
138 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rplus_0_l</span>:·<span·class="id"·title="var">real</span>.<br/> | 138 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rplus_0_l</span>:·<span·class="id"·title="var">real</span>.<br/> |
139 | <br/> | 139 | <br/> |
140 | </div> | 140 | </div> |
141 | <div·class="doc"> | 141 | <div·class="doc"> |
142 | <a·id="lab | 142 | <a·id="lab964"></a><h2·class="section">Multiplication</h2> |
143 | <div·class="paragraph">·</div> | 143 | <div·class="paragraph">·</div> |
144 | </div> | 144 | </div> |
145 | <div·class="code"> | 145 | <div·class="code"> |
146 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmult_comm"·class="idref"·href="#Rmult_comm"><span·class="id"·title="lemma">Rmult_comm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:23"·class="idref"·href="#r1:23"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:24"·class="idref"·href="#r2:24"><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.Reals.Raxioms.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:23"><span·class="id"·title="variable">r1</span></a>.<br/> | 146 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmult_comm"·class="idref"·href="#Rmult_comm"><span·class="id"·title="lemma">Rmult_comm</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:23"·class="idref"·href="#r1:23"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:24"·class="idref"·href="#r2:24"><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.Reals.Raxioms.html#r1:23"><span·class="id"·title="variable">r1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:24"><span·class="id"·title="variable">r2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r1:23"><span·class="id"·title="variable">r1</span></a>.<br/> |
Offset 172, 15 lines modified | Offset 172, 15 lines modified | ||
172 | #[<span·class="id"·title="var">global</span>]<br/> | 172 | #[<span·class="id"·title="var">global</span>]<br/> |
173 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">R1_neq_R0</span>:·<span·class="id"·title="var">real</span>.<br/> | 173 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">R1_neq_R0</span>:·<span·class="id"·title="var">real</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="lab965"></a><h2·class="section">Distributivity</h2> |
178 | <div·class="paragraph">·</div> | 178 | <div·class="paragraph">·</div> |
179 | </div> | 179 | </div> |
180 | <div·class="code"> | 180 | <div·class="code"> |
181 | <span·class="id"·title="keyword">Lemma</span><br/> | 181 | <span·class="id"·title="keyword">Lemma</span><br/> |
Offset 188, 19 lines modified | Offset 188, 19 lines modified | ||
188 | #[<span·class="id"·title="var">global</span>]<br/> | 188 | #[<span·class="id"·title="var">global</span>]<br/> |
189 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rmult_plus_distr_l</span>:·<span·class="id"·title="var">real</span>.<br/> | 189 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rmult_plus_distr_l</span>:·<span·class="id"·title="var">real</span>.<br/> |
190 | <br/> | 190 | <br/> |
191 | </div> | 191 | </div> |
192 | <div·class="doc"> | 192 | <div·class="doc"> |
193 | <a·id="lab | 193 | <a·id="lab966"></a><h1·class="section">Order</h1> |
194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> |
195 | <a·id="lab | 195 | <a·id="lab967"></a><h2·class="section">Lower</h2> |
196 | <div·class="paragraph">·</div> | 196 | <div·class="paragraph">·</div> |
197 | </div> | 197 | </div> |
198 | <div·class="code"> | 198 | <div·class="code"> |
199 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_asym"·class="idref"·href="#Rlt_asym"><span·class="id"·title="lemma">Rlt_asym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:33"·class="idref"·href="#r1:33"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:34"·class="idref"·href="#r2:34"><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.Reals.Raxioms.html#r1:33"><span·class="id"·title="variable">r1</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.Raxioms.html#r2:34"><span·class="id"·title="variable">r2</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#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:34"><span·class="id"·title="variable">r2</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.Raxioms.html#r1:33"><span·class="id"·title="variable">r1</span></a>.<br/> | 199 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rlt_asym"·class="idref"·href="#Rlt_asym"><span·class="id"·title="lemma">Rlt_asym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r1:33"·class="idref"·href="#r1:33"><span·class="id"·title="binder">r1</span></a>·<a·id="r2:34"·class="idref"·href="#r2:34"><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.Reals.Raxioms.html#r1:33"><span·class="id"·title="variable">r1</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.Raxioms.html#r2:34"><span·class="id"·title="variable">r2</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#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#r2:34"><span·class="id"·title="variable">r2</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.Raxioms.html#r1:33"><span·class="id"·title="variable">r1</span></a>.<br/> |
Offset 218, 15 lines modified | Offset 218, 15 lines modified | ||
218 | #[<span·class="id"·title="var">global</span>]<br/> | 218 | #[<span·class="id"·title="var">global</span>]<br/> |
219 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rlt_asym</span>·<span·class="id"·title="var">Rplus_lt_compat_l</span>·<span·class="id"·title="var">Rmult_lt_compat_l</span>:·<span·class="id"·title="var">real</span>.<br/> | 219 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Rlt_asym</span>·<span·class="id"·title="var">Rplus_lt_compat_l</span>·<span·class="id"·title="var">Rmult_lt_compat_l</span>:·<span·class="id"·title="var">real</span>.<br/> |
220 | <br/> | 220 | <br/> |
221 | </div> | 221 | </div> |
222 | <div·class="doc"> | 222 | <div·class="doc"> |
223 | <a·id="lab | 223 | <a·id="lab968"></a><h1·class="section">Injection·from·N·to·R</h1> |
224 | <div·class="paragraph">·</div> | 224 | <div·class="paragraph">·</div> |
225 | </div> | 225 | </div> |
226 | <div·class="code"> | 226 | <div·class="code"> |
227 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="INR"·class="idref"·href="#INR"><span·class="id"·title="definition">INR</span></a>·(<a·id="n:44"·class="idref"·href="#n:44"><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.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 227 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="INR"·class="idref"·href="#INR"><span·class="id"·title="definition">INR</span></a>·(<a·id="n:44"·class="idref"·href="#n:44"><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.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> |
Offset 237, 15 lines modified | Offset 237, 15 lines modified | ||
237 | <span·class="id"·title="keyword">end</span>.<br/> | 237 | <span·class="id"·title="keyword">end</span>.<br/> |
238 | <span·class="id"·title="keyword">Arguments</span>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<span·class="id"·title="var">n</span>%<span·class="id"·title="var">_nat</span>.<br/> | 238 | <span·class="id"·title="keyword">Arguments</span>·<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<span·class="id"·title="var">n</span>%<span·class="id"·title="var">_nat</span>.<br/> |
239 | <br/> | 239 | <br/> |
240 | </div> | 240 | </div> |
241 | <div·class="doc"> | 241 | <div·class="doc"> |
242 | <a·id="lab | 242 | <a·id="lab969"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">R</span></span>·Archimedean</h1> |
243 | </div> | 243 | </div> |
244 | <div·class="code"> | 244 | <div·class="code"> |
245 | <br/> | 245 | <br/> |
246 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rrepr_INR"·class="idref"·href="#Rrepr_INR"><span·class="id"·title="lemma">Rrepr_INR</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:47"·class="idref"·href="#n:47"><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>,<br/> | 246 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rrepr_INR"·class="idref"·href="#Rrepr_INR"><span·class="id"·title="lemma">Rrepr_INR</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:47"·class="idref"·href="#n:47"><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>,<br/> |
247 | <a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CRealEq"><span·class="id"·title="definition">CRealEq</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.Rrepr"><span·class="id"·title="axiom">Rrepr</span></a>·(<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#n:47"><span·class="id"·title="variable">n</span></a>))·(<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#inject_Z"><span·class="id"·title="definition">inject_Z</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.Reals.Raxioms.html#n:47"><span·class="id"·title="variable">n</span></a>)).<br/> | 247 | <a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#CRealEq"><span·class="id"·title="definition">CRealEq</span></a>·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.Rrepr"><span·class="id"·title="axiom">Rrepr</span></a>·(<a·class="idref"·href="Coq.Reals.Raxioms.html#INR"><span·class="id"·title="definition">INR</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#n:47"><span·class="id"·title="variable">n</span></a>))·(<a·class="idref"·href="Coq.Reals.Cauchy.ConstructiveCauchyReals.html#inject_Z"><span·class="id"·title="definition">inject_Z</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.Reals.Raxioms.html#n:47"><span·class="id"·title="variable">n</span></a>)).<br/> |
Offset 265, 15 lines modified | Offset 265, 15 lines modified | ||
265 | <br/> | 265 | <br/> |
266 | <span·class="id"·title="keyword">Lemma</span>·<a·id="archimed"·class="idref"·href="#archimed"><span·class="id"·title="lemma">archimed</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:51"·class="idref"·href="#r:51"><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.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</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.Raxioms.html#r:51"><span·class="id"·title="variable">r</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.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</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.Raxioms.html#r:51"><span·class="id"·title="variable">r</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.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·1.<br/> | 266 | <span·class="id"·title="keyword">Lemma</span>·<a·id="archimed"·class="idref"·href="#archimed"><span·class="id"·title="lemma">archimed</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:51"·class="idref"·href="#r:51"><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.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</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.Raxioms.html#r:51"><span·class="id"·title="variable">r</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.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</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.Raxioms.html#r:51"><span·class="id"·title="variable">r</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.Raxioms.html#r:51"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·1.<br/> |
267 | <br/> | 267 | <br/> |
268 | </div> | 268 | </div> |
269 | <div·class="doc"> | 269 | <div·class="doc"> |
270 | <a·id="lab70 | 270 | <a·id="lab970"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">R</span></span>·Complete</h1> |
271 | <div·class="paragraph">·</div> | 271 | <div·class="paragraph">·</div> |
272 | </div> | 272 | </div> |
273 | <div·class="code"> | 273 | <div·class="code"> |
274 | <span·class="id"·title="keyword">Definition</span>·<a·id="is_upper_bound"·class="idref"·href="#is_upper_bound"><span·class="id"·title="definition">is_upper_bound</span></a>·(<a·id="E:52"·class="idref"·href="#E:52"><span·class="id"·title="binder">E</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>)·(<a·id="m:53"·class="idref"·href="#m:53"><span·class="id"·title="binder">m</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="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.Raxioms.html#E:52"><span·class="id"·title="variable">E</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#x:54"><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.Raxioms.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#m:53"><span·class="id"·title="variable">m</span></a>.<br/> | 274 | <span·class="id"·title="keyword">Definition</span>·<a·id="is_upper_bound"·class="idref"·href="#is_upper_bound"><span·class="id"·title="definition">is_upper_bound</span></a>·(<a·id="E:52"·class="idref"·href="#E:52"><span·class="id"·title="binder">E</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>)·(<a·id="m:53"·class="idref"·href="#m:53"><span·class="id"·title="binder">m</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="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.Raxioms.html#E:52"><span·class="id"·title="variable">E</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#x:54"><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.Raxioms.html#x:54"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Raxioms.html#m:53"><span·class="id"·title="variable">m</span></a>.<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="lab944"></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 127, 15 lines modified | Offset 127, 15 lines modified | ||
127 | <br/> | 127 | <br/> |
128 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmin_glb_lt"·class="idref"·href="#Rmin_glb_lt"><span·class="id"·title="lemma">Rmin_glb_lt</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:41"·class="idref"·href="#x:41"><span·class="id"·title="binder">x</span></a>·<a·id="y:42"·class="idref"·href="#y:42"><span·class="id"·title="binder">y</span></a>·<a·id="z:43"·class="idref"·href="#z:43"><span·class="id"·title="binder">z</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.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</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.Rbasic_fun.html#x:41"><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.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</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.Rbasic_fun.html#y:42"><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.Reals.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</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.Rbasic_fun.html#Rmin"><span·class="id"·title="definition">Rmin</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:41"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:42"><span·class="id"·title="variable">y</span></a>.<br/> | 128 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmin_glb_lt"·class="idref"·href="#Rmin_glb_lt"><span·class="id"·title="lemma">Rmin_glb_lt</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:41"·class="idref"·href="#x:41"><span·class="id"·title="binder">x</span></a>·<a·id="y:42"·class="idref"·href="#y:42"><span·class="id"·title="binder">y</span></a>·<a·id="z:43"·class="idref"·href="#z:43"><span·class="id"·title="binder">z</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.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</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.Rbasic_fun.html#x:41"><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.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</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.Rbasic_fun.html#y:42"><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.Reals.Rbasic_fun.html#z:43"><span·class="id"·title="variable">z</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.Rbasic_fun.html#Rmin"><span·class="id"·title="definition">Rmin</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:41"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:42"><span·class="id"·title="variable">y</span></a>.<br/> |
129 | <br/> | 129 | <br/> |
130 | </div> | 130 | </div> |
131 | <div·class="doc"> | 131 | <div·class="doc"> |
132 | <a·id="lab | 132 | <a·id="lab945"></a><h1·class="section">Rmax</h1> |
133 | <div·class="paragraph">·</div> | 133 | <div·class="paragraph">·</div> |
134 | </div> | 134 | </div> |
135 | <div·class="code"> | 135 | <div·class="code"> |
136 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rmax"·class="idref"·href="#Rmax"><span·class="id"·title="definition">Rmax</span></a>·(<a·id="x:44"·class="idref"·href="#x:44"><span·class="id"·title="binder">x</span></a>·<a·id="y:45"·class="idref"·href="#y:45"><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/> | 136 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rmax"·class="idref"·href="#Rmax"><span·class="id"·title="definition">Rmax</span></a>·(<a·id="x:44"·class="idref"·href="#x:44"><span·class="id"·title="binder">x</span></a>·<a·id="y:45"·class="idref"·href="#y:45"><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 199, 15 lines modified | Offset 199, 15 lines modified | ||
199 | <br/> | 199 | <br/> |
200 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmax_neg"·class="idref"·href="#Rmax_neg"><span·class="id"·title="lemma">Rmax_neg</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:85"·class="idref"·href="#x:85"><span·class="id"·title="binder">x</span></a>·<a·id="y:86"·class="idref"·href="#y:86"><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.Rbasic_fun.html#x:85"><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>·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.Rbasic_fun.html#y:86"><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>·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.Rbasic_fun.html#Rmax"><span·class="id"·title="definition">Rmax</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:85"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:86"><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>·0.<br/> | 200 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rmax_neg"·class="idref"·href="#Rmax_neg"><span·class="id"·title="lemma">Rmax_neg</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:85"·class="idref"·href="#x:85"><span·class="id"·title="binder">x</span></a>·<a·id="y:86"·class="idref"·href="#y:86"><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.Rbasic_fun.html#x:85"><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>·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.Rbasic_fun.html#y:86"><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>·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.Rbasic_fun.html#Rmax"><span·class="id"·title="definition">Rmax</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#x:85"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#y:86"><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>·0.<br/> |
201 | <br/> | 201 | <br/> |
202 | </div> | 202 | </div> |
203 | <div·class="doc"> | 203 | <div·class="doc"> |
204 | <a·id="lab | 204 | <a·id="lab946"></a><h1·class="section">Rabsolu</h1> |
205 | <div·class="paragraph">·</div> | 205 | <div·class="paragraph">·</div> |
206 | </div> | 206 | </div> |
207 | <div·class="code"> | 207 | <div·class="code"> |
208 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rcase_abs"·class="idref"·href="#Rcase_abs"><span·class="id"·title="lemma">Rcase_abs</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:87"·class="idref"·href="#r:87"><span·class="id"·title="binder">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.Rbasic_fun.html#r:87"><span·class="id"·title="variable">r</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.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.Rbasic_fun.html#r:87"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·0<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 208 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rcase_abs"·class="idref"·href="#Rcase_abs"><span·class="id"·title="lemma">Rcase_abs</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="r:87"·class="idref"·href="#r:87"><span·class="id"·title="binder">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.Rbasic_fun.html#r:87"><span·class="id"·title="variable">r</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.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.Rbasic_fun.html#r:87"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><span·class="id"·title="notation">>=</span></a>·0<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</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="lab847"></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:67"·class="idref"·href="#p:67"><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:67"·class="idref"·href="#p:67"><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:67"><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:67"><span·class="id"·title="variable">p</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 262, 15 lines modified | Offset 262, 15 lines modified | ||
262 | <br/> | 262 | <br/> |
263 | <span·class="id"·title="keyword">Definition</span>·<a·id="Q2R"·class="idref"·href="#Q2R"><span·class="id"·title="definition">Q2R</span></a>·(<a·id="x:89"·class="idref"·href="#x:89"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#R"><span·class="id"·title="abbreviation">R</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#Qnum"><span·class="id"·title="projection">Qnum</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#x:89"><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.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#QDen"><span·class="id"·title="abbreviation">QDen</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#x:89"><span·class="id"·title="variable">x</span></a>))%<span·class="id"·title="var">R</span>.<br/> | 263 | <span·class="id"·title="keyword">Definition</span>·<a·id="Q2R"·class="idref"·href="#Q2R"><span·class="id"·title="definition">Q2R</span></a>·(<a·id="x:89"·class="idref"·href="#x:89"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#Q"><span·class="id"·title="record">Q</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#R"><span·class="id"·title="abbreviation">R</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#Qnum"><span·class="id"·title="projection">Qnum</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#x:89"><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.Rdefinitions.html#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#IZR"><span·class="id"·title="definition">IZR</span></a>·(<a·class="idref"·href="Coq.QArith.QArith_base.html#QDen"><span·class="id"·title="abbreviation">QDen</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#x:89"><span·class="id"·title="variable">x</span></a>))%<span·class="id"·title="var">R</span>.<br/> |
264 | <br/> | 264 | <br/> |
265 | </div> | 265 | </div> |
266 | <div·class="doc"> | 266 | <div·class="doc"> |
267 | <a·id="lab | 267 | <a·id="lab848"></a><h1·class="section">Number·notation·for·constants</h1> |
268 | </div> | 268 | </div> |
269 | <div·class="code"> | 269 | <div·class="code"> |
270 | <br/> | 270 | <br/> |
271 | <span·class="id"·title="keyword">Inductive</span>·<a·id="IR"·class="idref"·href="#IR"><span·class="id"·title="definition,·inductive"><span·id="IR_rect"·class="id"><span·id="IR_ind"·class="id"><span·id="IR_rec"·class="id"><span·id="IR_sind"·class="id">IR</span></span></span></span></span></a>·:=<br/> | 271 | <span·class="id"·title="keyword">Inductive</span>·<a·id="IR"·class="idref"·href="#IR"><span·class="id"·title="definition,·inductive"><span·id="IR_rect"·class="id"><span·id="IR_ind"·class="id"><span·id="IR_rec"·class="id"><span·id="IR_sind"·class="id">IR</span></span></span></span></span></a>·:=<br/> |
272 | |·<a·id="IRZ"·class="idref"·href="#IRZ"><span·class="id"·title="constructor">IRZ</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#IZ"><span·class="id"·title="inductive">IZ</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#IR:90"><span·class="id"·title="inductive">IR</span></a><br/> | 272 | |·<a·id="IRZ"·class="idref"·href="#IRZ"><span·class="id"·title="constructor">IRZ</span></a>·:·<a·class="idref"·href="Coq.QArith.QArith_base.html#IZ"><span·class="id"·title="inductive">IZ</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#IR:90"><span·class="id"·title="inductive">IR</span></a><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="lab837"></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 87, 15 lines modified | Offset 87, 15 lines modified | ||
87 | <span·class="id"·title="keyword">Lemma</span>·<a·id="simpl_fact"·class="idref"·href="#simpl_fact"><span·class="id"·title="lemma">simpl_fact</span></a>·:<br/> | 87 | <span·class="id"·title="keyword">Lemma</span>·<a·id="simpl_fact"·class="idref"·href="#simpl_fact"><span·class="id"·title="lemma">simpl_fact</span></a>·:<br/> |
88 | <span·class="id"·title="keyword">forall</span>·<a·id="n:3"·class="idref"·href="#n:3"><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.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.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</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>·<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.Rfunctions.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.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.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</span></a>).<br/> | 88 | <span·class="id"·title="keyword">forall</span>·<a·id="n:3"·class="idref"·href="#n:3"><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.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.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</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>·<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.Rfunctions.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.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.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:3"><span·class="id"·title="variable">n</span></a>).<br/> |
89 | <br/> | 89 | <br/> |
90 | </div> | 90 | </div> |
91 | <div·class="doc"> | 91 | <div·class="doc"> |
92 | <a·id="lab | 92 | <a·id="lab838"></a><h1·class="section">Power</h1> |
93 | </div> | 93 | </div> |
94 | <div·class="code"> | 94 | <div·class="code"> |
95 | <br/> | 95 | <br/> |
96 | <span·class="id"·title="keyword">Infix</span>·<a·id="1fc859ef9f60fc2e3a52c48371d07707"·class="idref"·href="#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">"</span></a>^"·:=·<a·class="idref"·href="Coq.Reals.Rpow_def.html#pow"><span·class="id"·title="definition">pow</span></a>·:·<span·class="id"·title="var">R_scope</span>.<br/> | 96 | <span·class="id"·title="keyword">Infix</span>·<a·id="1fc859ef9f60fc2e3a52c48371d07707"·class="idref"·href="#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">"</span></a>^"·:=·<a·class="idref"·href="Coq.Reals.Rpow_def.html#pow"><span·class="id"·title="definition">pow</span></a>·:·<span·class="id"·title="var">R_scope</span>.<br/> |
Offset 226, 15 lines modified | Offset 226, 15 lines modified | ||
226 | <br/> | 226 | <br/> |
227 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rsqr_pow2"·class="idref"·href="#Rsqr_pow2"><span·class="id"·title="lemma">Rsqr_pow2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:111"·class="idref"·href="#x:111"><span·class="id"·title="binder">x</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.Rfunctions.html#x:111"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:111"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·2.<br/> | 227 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Rsqr_pow2"·class="idref"·href="#Rsqr_pow2"><span·class="id"·title="lemma">Rsqr_pow2</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:111"·class="idref"·href="#x:111"><span·class="id"·title="binder">x</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.Rfunctions.html#x:111"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:111"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#1fc859ef9f60fc2e3a52c48371d07707"><span·class="id"·title="notation">^</span></a>·2.<br/> |
228 | <br/> | 228 | <br/> |
229 | </div> | 229 | </div> |
230 | <div·class="doc"> | 230 | <div·class="doc"> |
231 | <a·id="lab | 231 | <a·id="lab839"></a><h1·class="section">PowerRZ</h1> |
232 | </div> | 232 | </div> |
233 | <div·class="code"> | 233 | <div·class="code"> |
234 | <br/> | 234 | <br/> |
235 | <span·class="id"·title="keyword">Section</span>·<a·id="PowerRZ"·class="idref"·href="#PowerRZ"><span·class="id"·title="section">PowerRZ</span></a>.<br/> | 235 | <span·class="id"·title="keyword">Section</span>·<a·id="PowerRZ"·class="idref"·href="#PowerRZ"><span·class="id"·title="section">PowerRZ</span></a>.<br/> |
Offset 375, 15 lines modified | Offset 375, 15 lines modified | ||
375 | <br/> | 375 | <br/> |
376 | <span·class="id"·title="keyword">Definition</span>·<a·id="decimal_exp"·class="idref"·href="#decimal_exp"><span·class="id"·title="definition">decimal_exp</span></a>·(<a·id="r:168"·class="idref"·href="#r:168"><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·id="z:169"·class="idref"·href="#z:169"><span·class="id"·title="binder">z</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#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#r:168"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·10·<a·class="idref"·href="Coq.Reals.Rfunctions.html#12a5e136bc762a6b124c9852f0671f5b"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Reals.Rfunctions.html#12a5e136bc762a6b124c9852f0671f5b"><span·class="id"·title="notation">Z</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#z:169"><span·class="id"·title="variable">z</span></a>).<br/> | 376 | <span·class="id"·title="keyword">Definition</span>·<a·id="decimal_exp"·class="idref"·href="#decimal_exp"><span·class="id"·title="definition">decimal_exp</span></a>·(<a·id="r:168"·class="idref"·href="#r:168"><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·id="z:169"·class="idref"·href="#z:169"><span·class="id"·title="binder">z</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#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#r:168"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·10·<a·class="idref"·href="Coq.Reals.Rfunctions.html#12a5e136bc762a6b124c9852f0671f5b"><span·class="id"·title="notation">^</span></a><a·class="idref"·href="Coq.Reals.Rfunctions.html#12a5e136bc762a6b124c9852f0671f5b"><span·class="id"·title="notation">Z</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#z:169"><span·class="id"·title="variable">z</span></a>).<br/> |
377 | <br/> | 377 | <br/> |
378 | </div> | 378 | </div> |
379 | <div·class="doc"> | 379 | <div·class="doc"> |
380 | <a·id="lab | 380 | <a·id="lab840"></a><h1·class="section">Sum·of·n·first·naturals</h1> |
381 | </div> | 381 | </div> |
382 | <div·class="code"> | 382 | <div·class="code"> |
383 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="sum_nat_f_O"·class="idref"·href="#sum_nat_f_O"><span·class="id"·title="definition">sum_nat_f_O</span></a>·(<a·id="f:170"·class="idref"·href="#f:170"><span·class="id"·title="binder">f</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.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·(<a·id="n:171"·class="idref"·href="#n:171"><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.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·:=<br/> | 383 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="sum_nat_f_O"·class="idref"·href="#sum_nat_f_O"><span·class="id"·title="definition">sum_nat_f_O</span></a>·(<a·id="f:170"·class="idref"·href="#f:170"><span·class="id"·title="binder">f</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.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>)·(<a·id="n:171"·class="idref"·href="#n:171"><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.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·:=<br/> |
384 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:171"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> | 384 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:171"><span·class="id"·title="variable">n</span></a>·<span·class="id"·title="keyword">with</span><br/> |
385 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·0%<span·class="id"·title="var">nat</span><br/> | 385 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·0%<span·class="id"·title="var">nat</span><br/> |
386 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>·=>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_nat_f_O:172"><span·class="id"·title="definition">sum_nat_f_O</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">n'</span>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><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>·<span·class="id"·title="var">n'</span>))%<span·class="id"·title="var">nat</span><br/> | 386 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">n'</span>·=>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_nat_f_O:172"><span·class="id"·title="definition">sum_nat_f_O</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">n'</span>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:170"><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>·<span·class="id"·title="var">n'</span>))%<span·class="id"·title="var">nat</span><br/> |
Offset 399, 15 lines modified | Offset 399, 15 lines modified | ||
399 | <br/> | 399 | <br/> |
400 | <span·class="id"·title="keyword">Definition</span>·<a·id="sum_nat"·class="idref"·href="#sum_nat"><span·class="id"·title="definition">sum_nat</span></a>·(<a·id="s:180"·class="idref"·href="#s:180"><span·class="id"·title="binder">s</span></a>·<a·id="n:181"·class="idref"·href="#n:181"><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.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_nat_f"><span·class="id"·title="definition">sum_nat_f</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#s:180"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:181"><span·class="id"·title="variable">n</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:182"·class="idref"·href="#x:182"><span·class="id"·title="binder">x</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.Rfunctions.html#x:182"><span·class="id"·title="variable">x</span></a>).<br/> | 400 | <span·class="id"·title="keyword">Definition</span>·<a·id="sum_nat"·class="idref"·href="#sum_nat"><span·class="id"·title="definition">sum_nat</span></a>·(<a·id="s:180"·class="idref"·href="#s:180"><span·class="id"·title="binder">s</span></a>·<a·id="n:181"·class="idref"·href="#n:181"><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.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_nat_f"><span·class="id"·title="definition">sum_nat_f</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#s:180"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:181"><span·class="id"·title="variable">n</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:182"·class="idref"·href="#x:182"><span·class="id"·title="binder">x</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.Rfunctions.html#x:182"><span·class="id"·title="variable">x</span></a>).<br/> |
401 | <br/> | 401 | <br/> |
402 | </div> | 402 | </div> |
403 | <div·class="doc"> | 403 | <div·class="doc"> |
404 | <a·id="lab | 404 | <a·id="lab841"></a><h1·class="section">Sum</h1> |
405 | </div> | 405 | </div> |
406 | <div·class="code"> | 406 | <div·class="code"> |
407 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="sum_f_R0"·class="idref"·href="#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·id="f:183"·class="idref"·href="#f:183"><span·class="id"·title="binder">f</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="N:184"·class="idref"·href="#N:184"><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.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 407 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="sum_f_R0"·class="idref"·href="#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<a·id="f:183"·class="idref"·href="#f:183"><span·class="id"·title="binder">f</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="N:184"·class="idref"·href="#N:184"><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.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> |
408 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#N:184"><span·class="id"·title="variable">N</span></a>·<span·class="id"·title="keyword">with</span><br/> | 408 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#N:184"><span·class="id"·title="variable">N</span></a>·<span·class="id"·title="keyword">with</span><br/> |
409 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·0%<span·class="id"·title="var">nat</span><br/> | 409 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·0%<span·class="id"·title="var">nat</span><br/> |
410 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">i</span>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0:185"><span·class="id"·title="definition">sum_f_R0</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">i</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><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>·<span·class="id"·title="var">i</span>)<br/> | 410 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#S"><span·class="id"·title="constructor">S</span></a>·<span·class="id"·title="var">i</span>·=>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0:185"><span·class="id"·title="definition">sum_f_R0</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><span·class="id"·title="variable">f</span></a>·<span·class="id"·title="var">i</span>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#f:183"><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>·<span·class="id"·title="var">i</span>)<br/> |
Offset 427, 15 lines modified | Offset 427, 15 lines modified | ||
427 | <span·class="id"·title="keyword">forall</span>·(<a·id="x:194"·class="idref"·href="#x:194"><span·class="id"·title="binder">x</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="n:195"·class="idref"·href="#n:195"><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>),<br/> | 427 | <span·class="id"·title="keyword">forall</span>·(<a·id="x:194"·class="idref"·href="#x:194"><span·class="id"·title="binder">x</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="n:195"·class="idref"·href="#n:195"><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>),<br/> |
428 | <a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:194"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:195"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:196"·class="idref"·href="#i:196"><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.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:194"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#i:196"><span·class="id"·title="variable">i</span></a>))·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:195"><span·class="id"·title="variable">n</span></a>.<br/> | 428 | <a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:194"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:195"><span·class="id"·title="variable">n</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#sum_f_R0"><span·class="id"·title="definition">sum_f_R0</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="i:196"·class="idref"·href="#i:196"><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.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:194"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rfunctions.html#i:196"><span·class="id"·title="variable">i</span></a>))·<a·class="idref"·href="Coq.Reals.Rfunctions.html#n:195"><span·class="id"·title="variable">n</span></a>.<br/> |
429 | <br/> | 429 | <br/> |
430 | </div> | 430 | </div> |
431 | <div·class="doc"> | 431 | <div·class="doc"> |
432 | <a·id="lab | 432 | <a·id="lab842"></a><h1·class="section">Distance··in·R</h1> |
433 | <div·class="paragraph">·</div> | 433 | <div·class="paragraph">·</div> |
434 | </div> | 434 | </div> |
435 | <div·class="code"> | 435 | <div·class="code"> |
436 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rdist"·class="idref"·href="#Rdist"><span·class="id"·title="definition">Rdist</span></a>·(<a·id="x:202"·class="idref"·href="#x:202"><span·class="id"·title="binder">x</span></a>·<a·id="y:203"·class="idref"·href="#y:203"><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>·:=·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:202"><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.Rfunctions.html#y:203"><span·class="id"·title="variable">y</span></a>).<br/> | 436 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rdist"·class="idref"·href="#Rdist"><span·class="id"·title="definition">Rdist</span></a>·(<a·id="x:202"·class="idref"·href="#x:202"><span·class="id"·title="binder">x</span></a>·<a·id="y:203"·class="idref"·href="#y:203"><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>·:=·<a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</span></a>·(<a·class="idref"·href="Coq.Reals.Rfunctions.html#x:202"><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.Rfunctions.html#y:203"><span·class="id"·title="variable">y</span></a>).<br/> |
Offset 473, 15 lines modified | Offset 473, 15 lines modified | ||
473 | <span·class="id"·title="keyword">Notation</span>·<a·id="R_dist_plus"·class="idref"·href="#R_dist_plus"><span·class="id"·title="abbreviation">R_dist_plus</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#Rdist_plus"><span·class="id"·title="lemma">Rdist_plus</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 473 | <span·class="id"·title="keyword">Notation</span>·<a·id="R_dist_plus"·class="idref"·href="#R_dist_plus"><span·class="id"·title="abbreviation">R_dist_plus</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#Rdist_plus"><span·class="id"·title="lemma">Rdist_plus</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
474 | <span·class="id"·title="keyword">Notation</span>·<a·id="R_dist_mult_l"·class="idref"·href="#R_dist_mult_l"><span·class="id"·title="abbreviation">R_dist_mult_l</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#Rdist_mult_l"><span·class="id"·title="lemma">Rdist_mult_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 474 | <span·class="id"·title="keyword">Notation</span>·<a·id="R_dist_mult_l"·class="idref"·href="#R_dist_mult_l"><span·class="id"·title="abbreviation">R_dist_mult_l</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rfunctions.html#Rdist_mult_l"><span·class="id"·title="lemma">Rdist_mult_l</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
475 | <br/> | 475 | <br/> |
476 | </div> | 476 | </div> |
477 | <div·class="doc"> | 477 | <div·class="doc"> |
478 | <a·id="lab | 478 | <a·id="lab843"></a><h1·class="section">Infinite·Sum</h1> |
479 | </div> | 479 | </div> |
480 | <div·class="code"> | 480 | <div·class="code"> |
481 | <span·class="id"·title="keyword">Definition</span>·<a·id="infinite_sum"·class="idref"·href="#infinite_sum"><span·class="id"·title="definition">infinite_sum</span></a>·(<a·id="s:221"·class="idref"·href="#s:221"><span·class="id"·title="binder">s</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="l:222"·class="idref"·href="#l:222"><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/> | 481 | <span·class="id"·title="keyword">Definition</span>·<a·id="infinite_sum"·class="idref"·href="#infinite_sum"><span·class="id"·title="definition">infinite_sum</span></a>·(<a·id="s:221"·class="idref"·href="#s:221"><span·class="id"·title="binder">s</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="l:222"·class="idref"·href="#l:222"><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/> |
482 | <span·class="id"·title="keyword">forall</span>·<a·id="eps:223"·class="idref"·href="#eps:223"><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>,<br/> | 482 | <span·class="id"·title="keyword">forall</span>·<a·id="eps:223"·class="idref"·href="#eps:223"><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>,<br/> |
483 | <a·class="idref"·href="Coq.Reals.Rfunctions.html#eps:223"><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><br/> | 483 | <a·class="idref"·href="Coq.Reals.Rfunctions.html#eps:223"><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><br/> |
484 | <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="N:224"·class="idref"·href="#N:224"><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><br/> | 484 | <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="N:224"·class="idref"·href="#N:224"><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><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="lab74 | 58 | <a·id="lab974"></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 87, 15 lines modified | Offset 87, 15 lines modified | ||
87 | <span·class="id"·title="keyword">forall</span>·<a·id="x0:21"·class="idref"·href="#x0:21"><span·class="id"·title="binder">x0</span></a>·<a·id="y0:22"·class="idref"·href="#y0:22"><span·class="id"·title="binder">y0</span></a>·<a·id="x1:23"·class="idref"·href="#x1:23"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:24"·class="idref"·href="#y1:24"><span·class="id"·title="binder">y1</span></a>·<a·id="x2:25"·class="idref"·href="#x2:25"><span·class="id"·title="binder">x2</span></a>·<a·id="y2:26"·class="idref"·href="#y2:26"><span·class="id"·title="binder">y2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 87 | <span·class="id"·title="keyword">forall</span>·<a·id="x0:21"·class="idref"·href="#x0:21"><span·class="id"·title="binder">x0</span></a>·<a·id="y0:22"·class="idref"·href="#y0:22"><span·class="id"·title="binder">y0</span></a>·<a·id="x1:23"·class="idref"·href="#x1:23"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:24"·class="idref"·href="#y1:24"><span·class="id"·title="binder">y1</span></a>·<a·id="x2:25"·class="idref"·href="#x2:25"><span·class="id"·title="binder">x2</span></a>·<a·id="y2:26"·class="idref"·href="#y2:26"><span·class="id"·title="binder">y2</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> |
88 | <a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:21"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:22"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:23"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:24"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:21"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:22"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:25"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:26"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:25"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:26"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:23"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:24"><span·class="id"·title="variable">y1</span></a>.<br/> | 88 | <a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:21"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:22"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:23"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:24"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x0:21"><span·class="id"·title="variable">x0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y0:22"><span·class="id"·title="variable">y0</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:25"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:26"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:25"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:26"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:23"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:24"><span·class="id"·title="variable">y1</span></a>.<br/> |
89 | <br/> | 89 | <br/> |
90 | </div> | 90 | </div> |
91 | <div·class="doc"> | 91 | <div·class="doc"> |
92 | <a·id="lab | 92 | <a·id="lab975"></a><h1·class="section">Translation</h1> |
93 | </div> | 93 | </div> |
94 | <div·class="code"> | 94 | <div·class="code"> |
95 | <br/> | 95 | <br/> |
96 | <span·class="id"·title="keyword">Definition</span>·<a·id="xt"·class="idref"·href="#xt"><span·class="id"·title="definition">xt</span></a>·(<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="tx:28"·class="idref"·href="#tx:28"><span·class="id"·title="binder">tx</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.Rgeom.html#x:27"><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.Rgeom.html#tx:28"><span·class="id"·title="variable">tx</span></a>.<br/> | 96 | <span·class="id"·title="keyword">Definition</span>·<a·id="xt"·class="idref"·href="#xt"><span·class="id"·title="definition">xt</span></a>·(<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="tx:28"·class="idref"·href="#tx:28"><span·class="id"·title="binder">tx</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.Rgeom.html#x:27"><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.Rgeom.html#tx:28"><span·class="id"·title="variable">tx</span></a>.<br/> |
97 | <span·class="id"·title="keyword">Definition</span>·<a·id="yt"·class="idref"·href="#yt"><span·class="id"·title="definition">yt</span></a>·(<a·id="y:29"·class="idref"·href="#y:29"><span·class="id"·title="binder">y</span></a>·<a·id="ty:30"·class="idref"·href="#ty:30"><span·class="id"·title="binder">ty</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.Rgeom.html#y:29"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:30"><span·class="id"·title="variable">ty</span></a>.<br/> | 97 | <span·class="id"·title="keyword">Definition</span>·<a·id="yt"·class="idref"·href="#yt"><span·class="id"·title="definition">yt</span></a>·(<a·id="y:29"·class="idref"·href="#y:29"><span·class="id"·title="binder">y</span></a>·<a·id="ty:30"·class="idref"·href="#ty:30"><span·class="id"·title="binder">ty</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.Rgeom.html#y:29"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:30"><span·class="id"·title="variable">ty</span></a>.<br/> |
Offset 109, 15 lines modified | Offset 109, 15 lines modified | ||
109 | <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#x1:33"><span·class="id"·title="variable">x1</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#x2:34"><span·class="id"·title="variable">x2</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#y1:35"><span·class="id"·title="variable">y1</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#y2:36"><span·class="id"·title="variable">y2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a><br/> | 109 | <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#x1:33"><span·class="id"·title="variable">x1</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#x2:34"><span·class="id"·title="variable">x2</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#y1:35"><span·class="id"·title="variable">y1</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#y2:36"><span·class="id"·title="variable">y2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a><br/> |
110 | <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#xt"><span·class="id"·title="definition">xt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:33"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:37"><span·class="id"·title="variable">tx</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#xt"><span·class="id"·title="definition">xt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:34"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:37"><span·class="id"·title="variable">tx</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#yt"><span·class="id"·title="definition">yt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:35"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:38"><span·class="id"·title="variable">ty</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#yt"><span·class="id"·title="definition">yt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:36"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:38"><span·class="id"·title="variable">ty</span></a>).<br/> | 110 | <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#xt"><span·class="id"·title="definition">xt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:33"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:37"><span·class="id"·title="variable">tx</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#xt"><span·class="id"·title="definition">xt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:34"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#tx:37"><span·class="id"·title="variable">tx</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#yt"><span·class="id"·title="definition">yt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:35"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:38"><span·class="id"·title="variable">ty</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#yt"><span·class="id"·title="definition">yt</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:36"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#ty:38"><span·class="id"·title="variable">ty</span></a>).<br/> |
111 | <br/> | 111 | <br/> |
112 | </div> | 112 | </div> |
113 | <div·class="doc"> | 113 | <div·class="doc"> |
114 | <a·id="lab | 114 | <a·id="lab976"></a><h1·class="section">Rotation</h1> |
115 | </div> | 115 | </div> |
116 | <div·class="code"> | 116 | <div·class="code"> |
117 | <br/> | 117 | <br/> |
118 | <span·class="id"·title="keyword">Definition</span>·<a·id="xr"·class="idref"·href="#xr"><span·class="id"·title="definition">xr</span></a>·(<a·id="x:39"·class="idref"·href="#x:39"><span·class="id"·title="binder">x</span></a>·<a·id="y:40"·class="idref"·href="#y:40"><span·class="id"·title="binder">y</span></a>·<a·id="theta:41"·class="idref"·href="#theta:41"><span·class="id"·title="binder">theta</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.Rgeom.html#x:39"><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.Rgeom.html#theta:41"><span·class="id"·title="variable">theta</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:40"><span·class="id"·title="variable">y</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#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:41"><span·class="id"·title="variable">theta</span></a>.<br/> | 118 | <span·class="id"·title="keyword">Definition</span>·<a·id="xr"·class="idref"·href="#xr"><span·class="id"·title="definition">xr</span></a>·(<a·id="x:39"·class="idref"·href="#x:39"><span·class="id"·title="binder">x</span></a>·<a·id="y:40"·class="idref"·href="#y:40"><span·class="id"·title="binder">y</span></a>·<a·id="theta:41"·class="idref"·href="#theta:41"><span·class="id"·title="binder">theta</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.Rgeom.html#x:39"><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.Rgeom.html#theta:41"><span·class="id"·title="variable">theta</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:40"><span·class="id"·title="variable">y</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#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:41"><span·class="id"·title="variable">theta</span></a>.<br/> |
119 | <span·class="id"·title="keyword">Definition</span>·<a·id="yr"·class="idref"·href="#yr"><span·class="id"·title="definition">yr</span></a>·(<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>·<a·id="y:43"·class="idref"·href="#y:43"><span·class="id"·title="binder">y</span></a>·<a·id="theta:44"·class="idref"·href="#theta:44"><span·class="id"·title="binder">theta</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.Rgeom.html#x:42"><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#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:44"><span·class="id"·title="variable">theta</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:43"><span·class="id"·title="variable">y</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.Rgeom.html#theta:44"><span·class="id"·title="variable">theta</span></a>.<br/> | 119 | <span·class="id"·title="keyword">Definition</span>·<a·id="yr"·class="idref"·href="#yr"><span·class="id"·title="definition">yr</span></a>·(<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>·<a·id="y:43"·class="idref"·href="#y:43"><span·class="id"·title="binder">y</span></a>·<a·id="theta:44"·class="idref"·href="#theta:44"><span·class="id"·title="binder">theta</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.Rgeom.html#x:42"><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#sin"><span·class="id"·title="definition">sin</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:44"><span·class="id"·title="variable">theta</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y:43"><span·class="id"·title="variable">y</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.Rgeom.html#theta:44"><span·class="id"·title="variable">theta</span></a>.<br/> |
Offset 143, 15 lines modified | Offset 143, 15 lines modified | ||
143 | <a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xr"><span·class="id"·title="definition">xr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:54"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:55"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)·(<a·class="idref"·href="Coq.Reals.Rgeom.html#yr"><span·class="id"·title="definition">yr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:54"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:55"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xr"><span·class="id"·title="definition">xr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:56"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:57"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)<br/> | 143 | <a·class="idref"·href="Coq.Reals.Rgeom.html#dist_euc"><span·class="id"·title="definition">dist_euc</span></a>·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xr"><span·class="id"·title="definition">xr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:54"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:55"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)·(<a·class="idref"·href="Coq.Reals.Rgeom.html#yr"><span·class="id"·title="definition">yr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x1:54"><span·class="id"·title="variable">x1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y1:55"><span·class="id"·title="variable">y1</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)·(<a·class="idref"·href="Coq.Reals.Rgeom.html#xr"><span·class="id"·title="definition">xr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:56"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:57"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>)<br/> |
144 | (<a·class="idref"·href="Coq.Reals.Rgeom.html#yr"><span·class="id"·title="definition">yr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:56"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:57"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>).<br/> | 144 | (<a·class="idref"·href="Coq.Reals.Rgeom.html#yr"><span·class="id"·title="definition">yr</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#x2:56"><span·class="id"·title="variable">x2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#y2:57"><span·class="id"·title="variable">y2</span></a>·<a·class="idref"·href="Coq.Reals.Rgeom.html#theta:58"><span·class="id"·title="variable">theta</span></a>).<br/> |
145 | <br/> | 145 | <br/> |
146 | </div> | 146 | </div> |
147 | <div·class="doc"> | 147 | <div·class="doc"> |
148 | <a·id="lab | 148 | <a·id="lab977"></a><h1·class="section">Similarity</h1> |
149 | </div> | 149 | </div> |
150 | <div·class="code"> | 150 | <div·class="code"> |
151 | <br/> | 151 | <br/> |
152 | <span·class="id"·title="keyword">Lemma</span>·<a·id="isometric_rot_trans"·class="idref"·href="#isometric_rot_trans"><span·class="id"·title="lemma">isometric_rot_trans</span></a>·:<br/> | 152 | <span·class="id"·title="keyword">Lemma</span>·<a·id="isometric_rot_trans"·class="idref"·href="#isometric_rot_trans"><span·class="id"·title="lemma">isometric_rot_trans</span></a>·:<br/> |
153 | <span·class="id"·title="keyword">forall</span>·<a·id="x1:59"·class="idref"·href="#x1:59"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:60"·class="idref"·href="#y1:60"><span·class="id"·title="binder">y1</span></a>·<a·id="x2:61"·class="idref"·href="#x2:61"><span·class="id"·title="binder">x2</span></a>·<a·id="y2:62"·class="idref"·href="#y2:62"><span·class="id"·title="binder">y2</span></a>·<a·id="tx:63"·class="idref"·href="#tx:63"><span·class="id"·title="binder">tx</span></a>·<a·id="ty:64"·class="idref"·href="#ty:64"><span·class="id"·title="binder">ty</span></a>·<a·id="theta:65"·class="idref"·href="#theta:65"><span·class="id"·title="binder">theta</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>,<br/> | 153 | <span·class="id"·title="keyword">forall</span>·<a·id="x1:59"·class="idref"·href="#x1:59"><span·class="id"·title="binder">x1</span></a>·<a·id="y1:60"·class="idref"·href="#y1:60"><span·class="id"·title="binder">y1</span></a>·<a·id="x2:61"·class="idref"·href="#x2:61"><span·class="id"·title="binder">x2</span></a>·<a·id="y2:62"·class="idref"·href="#y2:62"><span·class="id"·title="binder">y2</span></a>·<a·id="tx:63"·class="idref"·href="#tx:63"><span·class="id"·title="binder">tx</span></a>·<a·id="ty:64"·class="idref"·href="#ty:64"><span·class="id"·title="binder">ty</span></a>·<a·id="theta:65"·class="idref"·href="#theta:65"><span·class="id"·title="binder">theta</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</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="lab855"></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 80, 15 lines modified | Offset 80, 15 lines modified | ||
80 | <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:7"·class="idref"·href="#n:7"><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.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:7"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 80 | <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:7"·class="idref"·href="#n:7"><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.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:7"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
81 | <a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Nbound"><span·class="id"·title="definition">Nbound</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><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.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="n:8"·class="idref"·href="#n:8"><span·class="id"·title="binder">n</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</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.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:8"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="i:9"·class="idref"·href="#i:9"><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:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:9"><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:9"><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:8"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">}</span></a>.<br/> | 81 | <a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Nbound"><span·class="id"·title="definition">Nbound</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><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.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">{</span></a>·<a·id="n:8"·class="idref"·href="#n:8"><span·class="id"·title="binder">n</span></a><a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">:</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.Specif.html#6556914db359db999889decec6a4a562"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#I:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#n:8"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="i:9"·class="idref"·href="#i:9"><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:6"><span·class="id"·title="variable">I</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#i:9"><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:9"><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:8"><span·class="id"·title="variable">n</span></a>)%<span·class="id"·title="var">nat</span><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><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="lab | 85 | <a·id="lab856"></a><h1·class="section">Step·functions</h1> |
86 | </div> | 86 | </div> |
87 | <div·class="code"> | 87 | <div·class="code"> |
88 | <br/> | 88 | <br/> |
89 | <span·class="id"·title="keyword">Definition</span>·<a·id="open_interval"·class="idref"·href="#open_interval"><span·class="id"·title="definition">open_interval</span></a>·(<a·id="a:18"·class="idref"·href="#a:18"><span·class="id"·title="binder">a</span></a>·<a·id="b:19"·class="idref"·href="#b:19"><span·class="id"·title="binder">b</span></a>·<a·id="x:20"·class="idref"·href="#x:20"><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>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:18"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:19"><span·class="id"·title="variable">b</span></a>.<br/> | 89 | <span·class="id"·title="keyword">Definition</span>·<a·id="open_interval"·class="idref"·href="#open_interval"><span·class="id"·title="definition">open_interval</span></a>·(<a·id="a:18"·class="idref"·href="#a:18"><span·class="id"·title="binder">a</span></a>·<a·id="b:19"·class="idref"·href="#b:19"><span·class="id"·title="binder">b</span></a>·<a·id="x:20"·class="idref"·href="#x:20"><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>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:18"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#x:20"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'<'_x_'<'_x"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:19"><span·class="id"·title="variable">b</span></a>.<br/> |
90 | <span·class="id"·title="keyword">Definition</span>·<a·id="co_interval"·class="idref"·href="#co_interval"><span·class="id"·title="definition">co_interval</span></a>·(<a·id="a:21"·class="idref"·href="#a:21"><span·class="id"·title="binder">a</span></a>·<a·id="b:22"·class="idref"·href="#b:22"><span·class="id"·title="binder">b</span></a>·<a·id="x:23"·class="idref"·href="#x:23"><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>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:21"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#b6aaeb1973f5e630a6779ff194ed22e3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#b6aaeb1973f5e630a6779ff194ed22e3"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:22"><span·class="id"·title="variable">b</span></a>.<br/> | 90 | <span·class="id"·title="keyword">Definition</span>·<a·id="co_interval"·class="idref"·href="#co_interval"><span·class="id"·title="definition">co_interval</span></a>·(<a·id="a:21"·class="idref"·href="#a:21"><span·class="id"·title="binder">a</span></a>·<a·id="b:22"·class="idref"·href="#b:22"><span·class="id"·title="binder">b</span></a>·<a·id="x:23"·class="idref"·href="#x:23"><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>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:21"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#b6aaeb1973f5e630a6779ff194ed22e3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#x:23"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#b6aaeb1973f5e630a6779ff194ed22e3"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:22"><span·class="id"·title="variable">b</span></a>.<br/> |
Offset 120, 15 lines modified | Offset 120, 15 lines modified | ||
120 | <span·class="id"·title="keyword">Definition</span>·<a·id="IsStepFun"·class="idref"·href="#IsStepFun"><span·class="id"·title="definition">IsStepFun</span></a>·(<a·id="f:42"·class="idref"·href="#f:42"><span·class="id"·title="binder">f</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>)·(<a·id="a:43"·class="idref"·href="#a:43"><span·class="id"·title="binder">a</span></a>·<a·id="b:44"·class="idref"·href="#b:44"><span·class="id"·title="binder">b</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">Type</span>·:=<br/> | 120 | <span·class="id"·title="keyword">Definition</span>·<a·id="IsStepFun"·class="idref"·href="#IsStepFun"><span·class="id"·title="definition">IsStepFun</span></a>·(<a·id="f:42"·class="idref"·href="#f:42"><span·class="id"·title="binder">f</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>)·(<a·id="a:43"·class="idref"·href="#a:43"><span·class="id"·title="binder">a</span></a>·<a·id="b:44"·class="idref"·href="#b:44"><span·class="id"·title="binder">b</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">Type</span>·:=<br/> |
121 | <a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">{</span></a>·<a·id="l:45"·class="idref"·href="#l:45"><span·class="id"·title="binder">l</span></a><a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</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#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">&</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#is_subdivision"><span·class="id"·title="definition">is_subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:42"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:43"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:44"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#l:45"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">}</span></a>.<br/> | 121 | <a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">{</span></a>·<a·id="l:45"·class="idref"·href="#l:45"><span·class="id"·title="binder">l</span></a><a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">:</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</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#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">&</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#is_subdivision"><span·class="id"·title="definition">is_subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:42"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:43"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:44"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#l:45"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span·class="id"·title="notation">}</span></a>.<br/> |
122 | <br/> | 122 | <br/> |
123 | </div> | 123 | </div> |
124 | <div·class="doc"> | 124 | <div·class="doc"> |
125 | <a·id="lab | 125 | <a·id="lab857"></a><h2·class="section">Class·of·step·functions</h2> |
126 | </div> | 126 | </div> |
127 | <div·class="code"> | 127 | <div·class="code"> |
128 | <span·class="id"·title="keyword">Record</span>·<a·id="StepFun"·class="idref"·href="#StepFun"><span·class="id"·title="record">StepFun</span></a>·(<a·id="a:46"·class="idref"·href="#a:46"><span·class="id"·title="binder">a</span></a>·<a·id="b:47"·class="idref"·href="#b:47"><span·class="id"·title="binder">b</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">Type</span>·:=·<span·class="id"·title="var">mkStepFun</span><br/> | 128 | <span·class="id"·title="keyword">Record</span>·<a·id="StepFun"·class="idref"·href="#StepFun"><span·class="id"·title="record">StepFun</span></a>·(<a·id="a:46"·class="idref"·href="#a:46"><span·class="id"·title="binder">a</span></a>·<a·id="b:47"·class="idref"·href="#b:47"><span·class="id"·title="binder">b</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">Type</span>·:=·<span·class="id"·title="var">mkStepFun</span><br/> |
129 | {<a·id="fe"·class="idref"·href="#fe"><span·class="id"·title="projection">fe</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>;·<a·id="pre"·class="idref"·href="#pre"><span·class="id"·title="projection">pre</span></a>·:·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#IsStepFun"><span·class="id"·title="definition">IsStepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#fe:49"><span·class="id"·title="method">fe</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:46"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:47"><span·class="id"·title="variable">b</span></a>}.<br/> | 129 | {<a·id="fe"·class="idref"·href="#fe"><span·class="id"·title="projection">fe</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>;·<a·id="pre"·class="idref"·href="#pre"><span·class="id"·title="projection">pre</span></a>·:·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#IsStepFun"><span·class="id"·title="definition">IsStepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#fe:49"><span·class="id"·title="method">fe</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:46"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:47"><span·class="id"·title="variable">b</span></a>}.<br/> |
130 | <br/> | 130 | <br/> |
Offset 152, 29 lines modified | Offset 152, 29 lines modified | ||
152 | <span·class="id"·title="keyword">end</span><br/> | 152 | <span·class="id"·title="keyword">end</span><br/> |
153 | <span·class="id"·title="keyword">end</span>.<br/> | 153 | <span·class="id"·title="keyword">end</span>.<br/> |
154 | <br/> | 154 | <br/> |
155 | </div> | 155 | </div> |
156 | <div·class="doc"> | 156 | <div·class="doc"> |
157 | <a·id="lab | 157 | <a·id="lab858"></a><h2·class="section">Integral·of·step·functions</h2> |
158 | </div> | 158 | </div> |
159 | <div·class="code"> | 159 | <div·class="code"> |
160 | <span·class="id"·title="keyword">Definition</span>·<a·id="RiemannInt_SF"·class="idref"·href="#RiemannInt_SF"><span·class="id"·title="definition">RiemannInt_SF</span></a>·(<a·id="a:62"·class="idref"·href="#a:62"><span·class="id"·title="binder">a</span></a>·<a·id="b:63"·class="idref"·href="#b:63"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="f:64"·class="idref"·href="#f:64"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#StepFun"><span·class="id"·title="record">StepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:62"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:63"><span·class="id"·title="variable">b</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> | 160 | <span·class="id"·title="keyword">Definition</span>·<a·id="RiemannInt_SF"·class="idref"·href="#RiemannInt_SF"><span·class="id"·title="definition">RiemannInt_SF</span></a>·(<a·id="a:62"·class="idref"·href="#a:62"><span·class="id"·title="binder">a</span></a>·<a·id="b:63"·class="idref"·href="#b:63"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="f:64"·class="idref"·href="#f:64"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#StepFun"><span·class="id"·title="record">StepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:62"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:63"><span·class="id"·title="variable">b</span></a>)·:·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=<br/> |
161 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rle_dec"><span·class="id"·title="lemma">Rle_dec</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:62"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:63"><span·class="id"·title="variable">b</span></a>·<span·class="id"·title="keyword">with</span><br/> | 161 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Reals.RIneq.html#Rle_dec"><span·class="id"·title="lemma">Rle_dec</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:62"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:63"><span·class="id"·title="variable">b</span></a>·<span·class="id"·title="keyword">with</span><br/> |
162 | |·<a·class="idref"·href="Coq.Init.Specif.html#left"><span·class="id"·title="constructor">left</span></a>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Int_SF"><span·class="id"·title="definition">Int_SF</span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision_val"><span·class="id"·title="definition">subdivision_val</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision"><span·class="id"·title="definition">subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)<br/> | 162 | |·<a·class="idref"·href="Coq.Init.Specif.html#left"><span·class="id"·title="constructor">left</span></a>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Int_SF"><span·class="id"·title="definition">Int_SF</span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision_val"><span·class="id"·title="definition">subdivision_val</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision"><span·class="id"·title="definition">subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)<br/> |
163 | |·<a·class="idref"·href="Coq.Init.Specif.html#right"><span·class="id"·title="constructor">right</span></a>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Int_SF"><span·class="id"·title="definition">Int_SF</span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision_val"><span·class="id"·title="definition">subdivision_val</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision"><span·class="id"·title="definition">subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)<br/> | 163 | |·<a·class="idref"·href="Coq.Init.Specif.html#right"><span·class="id"·title="constructor">right</span></a>·<span·class="id"·title="var">_</span>·=>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#Int_SF"><span·class="id"·title="definition">Int_SF</span></a>·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision_val"><span·class="id"·title="definition">subdivision_val</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)·(<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#subdivision"><span·class="id"·title="definition">subdivision</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#f:64"><span·class="id"·title="variable">f</span></a>)<br/> |
164 | <span·class="id"·title="keyword">end</span>.<br/> | 164 | <span·class="id"·title="keyword">end</span>.<br/> |
165 | <br/> | 165 | <br/> |
166 | </div> | 166 | </div> |
167 | <div·class="doc"> | 167 | <div·class="doc"> |
168 | <a·id="lab | 168 | <a·id="lab859"></a><h2·class="section">Properties·of·step·functions</h2> |
169 | </div> | 169 | </div> |
170 | <div·class="code"> | 170 | <div·class="code"> |
171 | <br/> | 171 | <br/> |
172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="StepFun_P1"·class="idref"·href="#StepFun_P1"><span·class="id"·title="lemma">StepFun_P1</span></a>·:<br/> | 172 | <span·class="id"·title="keyword">Lemma</span>·<a·id="StepFun_P1"·class="idref"·href="#StepFun_P1"><span·class="id"·title="lemma">StepFun_P1</span></a>·:<br/> |
173 | <span·class="id"·title="keyword">forall</span>·(<a·id="a:65"·class="idref"·href="#a:65"><span·class="id"·title="binder">a</span></a>·<a·id="b:66"·class="idref"·href="#b:66"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="f:67"·class="idref"·href="#f:67"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#StepFun"><span·class="id"·title="record">StepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:65"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:66"><span·class="id"·title="variable">b</span></a>),<br/> | 173 | <span·class="id"·title="keyword">forall</span>·(<a·id="a:65"·class="idref"·href="#a:65"><span·class="id"·title="binder">a</span></a>·<a·id="b:66"·class="idref"·href="#b:66"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>)·(<a·id="f:67"·class="idref"·href="#f:67"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#StepFun"><span·class="id"·title="record">StepFun</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#a:65"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.RiemannInt_SF.html#b:66"><span·class="id"·title="variable">b</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="lab957"></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 97, 15 lines modified | Offset 97, 15 lines modified | ||
97 | <span·class="id"·title="keyword">Lemma</span>·<a·id="mul_factor_gt_f"·class="idref"·href="#mul_factor_gt_f"><span·class="id"·title="lemma">mul_factor_gt_f</span></a>·:<br/> | 97 | <span·class="id"·title="keyword">Lemma</span>·<a·id="mul_factor_gt_f"·class="idref"·href="#mul_factor_gt_f"><span·class="id"·title="lemma">mul_factor_gt_f</span></a>·:<br/> |
98 | <span·class="id"·title="keyword">forall</span>·<a·id="eps:15"·class="idref"·href="#eps:15"><span·class="id"·title="binder">eps</span></a>·<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="l':17"·class="idref"·href="#l':17"><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>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:15"><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.Rbasic_fun.html#Rmin"><span·class="id"·title="definition">Rmin</span></a>·1·(<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:15"><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.Rlimit.html#mul_factor"><span·class="id"·title="definition">mul_factor</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#l':17"><span·class="id"·title="variable">l'</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> | 98 | <span·class="id"·title="keyword">forall</span>·<a·id="eps:15"·class="idref"·href="#eps:15"><span·class="id"·title="binder">eps</span></a>·<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="l':17"·class="idref"·href="#l':17"><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>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:15"><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.Rbasic_fun.html#Rmin"><span·class="id"·title="definition">Rmin</span></a>·1·(<a·class="idref"·href="Coq.Reals.Rlimit.html#eps:15"><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.Rlimit.html#mul_factor"><span·class="id"·title="definition">mul_factor</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#l:16"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#l':17"><span·class="id"·title="variable">l'</span></a>)·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> |
99 | <br/> | 99 | <br/> |
100 | </div> | 100 | </div> |
101 | <div·class="doc"> | 101 | <div·class="doc"> |
102 | <a·id="lab | 102 | <a·id="lab958"></a><h1·class="section">Metric·space</h1> |
103 | <div·class="paragraph">·</div> | 103 | <div·class="paragraph">·</div> |
104 | </div> | 104 | </div> |
105 | <div·class="code"> | 105 | <div·class="code"> |
106 | <span·class="id"·title="keyword">Record</span>·<a·id="Metric_Space"·class="idref"·href="#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 106 | <span·class="id"·title="keyword">Record</span>·<a·id="Metric_Space"·class="idref"·href="#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>·:·<span·class="id"·title="keyword">Type</span>·:=<br/> |
Offset 116, 15 lines modified | Offset 116, 15 lines modified | ||
116 | <a·id="dist_refl"·class="idref"·href="#dist_refl"><span·class="id"·title="projection">dist_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="y:28"·class="idref"·href="#y:28"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base:19"><span·class="id"·title="method">Base</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:28"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:28"><span·class="id"·title="variable">y</span></a>;<br/> | 116 | <a·id="dist_refl"·class="idref"·href="#dist_refl"><span·class="id"·title="projection">dist_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="y:28"·class="idref"·href="#y:28"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base:19"><span·class="id"·title="method">Base</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:28"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:28"><span·class="id"·title="variable">y</span></a>;<br/> |
117 | <a·id="dist_tri"·class="idref"·href="#dist_tri"><span·class="id"·title="projection">dist_tri</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:30"·class="idref"·href="#x:30"><span·class="id"·title="binder">x</span></a>·<a·id="y:31"·class="idref"·href="#y:31"><span·class="id"·title="binder">y</span></a>·<a·id="z:32"·class="idref"·href="#z:32"><span·class="id"·title="binder">z</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base:19"><span·class="id"·title="method">Base</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:30"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:31"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:30"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#z:32"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#z:32"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:31"><span·class="id"·title="variable">y</span></a>}.<br/> | 117 | <a·id="dist_tri"·class="idref"·href="#dist_tri"><span·class="id"·title="projection">dist_tri</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:30"·class="idref"·href="#x:30"><span·class="id"·title="binder">x</span></a>·<a·id="y:31"·class="idref"·href="#y:31"><span·class="id"·title="binder">y</span></a>·<a·id="z:32"·class="idref"·href="#z:32"><span·class="id"·title="binder">z</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base:19"><span·class="id"·title="method">Base</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:30"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:31"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:30"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#z:32"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#dist:20"><span·class="id"·title="method">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#z:32"><span·class="id"·title="variable">z</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#y:31"><span·class="id"·title="variable">y</span></a>}.<br/> |
118 | <br/> | 118 | <br/> |
119 | </div> | 119 | </div> |
120 | <div·class="doc"> | 120 | <div·class="doc"> |
121 | <a·id="lab | 121 | <a·id="lab959"></a><h2·class="section">Limit·in·Metric·space</h2> |
122 | <div·class="paragraph">·</div> | 122 | <div·class="paragraph">·</div> |
123 | </div> | 123 | </div> |
124 | <div·class="code"> | 124 | <div·class="code"> |
125 | <span·class="id"·title="keyword">Definition</span>·<a·id="limit_in"·class="idref"·href="#limit_in"><span·class="id"·title="definition">limit_in</span></a>·(<a·id="X:34"·class="idref"·href="#X:34"><span·class="id"·title="binder">X</span></a>·<a·id="X':35"·class="idref"·href="#X':35"><span·class="id"·title="binder">X'</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>)·(<a·id="f:36"·class="idref"·href="#f:36"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><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.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X':35"><span·class="id"·title="variable">X'</span></a>)<br/> | 125 | <span·class="id"·title="keyword">Definition</span>·<a·id="limit_in"·class="idref"·href="#limit_in"><span·class="id"·title="definition">limit_in</span></a>·(<a·id="X:34"·class="idref"·href="#X:34"><span·class="id"·title="binder">X</span></a>·<a·id="X':35"·class="idref"·href="#X':35"><span·class="id"·title="binder">X'</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>)·(<a·id="f:36"·class="idref"·href="#f:36"><span·class="id"·title="binder">f</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><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.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X':35"><span·class="id"·title="variable">X'</span></a>)<br/> |
Offset 135, 15 lines modified | Offset 135, 15 lines modified | ||
135 | <a·class="idref"·href="Coq.Reals.Rlimit.html#alp:41"><span·class="id"·title="variable">alp</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#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 135 | <a·class="idref"·href="Coq.Reals.Rlimit.html#alp:41"><span·class="id"·title="variable">alp</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#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> |
136 | <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#D:37"><span·class="id"·title="variable">D</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#dist"><span·class="id"·title="projection">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>)·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x0:38"><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.Rlimit.html#alp:41"><span·class="id"·title="variable">alp</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.Rlimit.html#dist"><span·class="id"·title="projection">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X':35"><span·class="id"·title="variable">X'</span></a>)·(<a·class="idref"·href="Coq.Reals.Rlimit.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rlimit.html#l:39"><span·class="id"·title="variable">l</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.Rlimit.html#eps:40"><span·class="id"·title="variable">eps</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> | 136 | <a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="x:42"·class="idref"·href="#x:42"><span·class="id"·title="binder">x</span></a>:<a·class="idref"·href="Coq.Reals.Rlimit.html#Base"><span·class="id"·title="projection">Base</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>,·<a·class="idref"·href="Coq.Reals.Rlimit.html#D:37"><span·class="id"·title="variable">D</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#dist"><span·class="id"·title="projection">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X:34"><span·class="id"·title="variable">X</span></a>)·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x0:38"><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.Rlimit.html#alp:41"><span·class="id"·title="variable">alp</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.Rlimit.html#dist"><span·class="id"·title="projection">dist</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#X':35"><span·class="id"·title="variable">X'</span></a>)·(<a·class="idref"·href="Coq.Reals.Rlimit.html#f:36"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:42"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rlimit.html#l:39"><span·class="id"·title="variable">l</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.Rlimit.html#eps:40"><span·class="id"·title="variable">eps</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> |
137 | <br/> | 137 | <br/> |
138 | </div> | 138 | </div> |
139 | <div·class="doc"> | 139 | <div·class="doc"> |
140 | <a·id="lab | 140 | <a·id="lab960"></a><h2·class="section">R·is·a·metric·space</h2> |
141 | <div·class="paragraph">·</div> | 141 | <div·class="paragraph">·</div> |
142 | </div> | 142 | </div> |
143 | <div·class="code"> | 143 | <div·class="code"> |
144 | <span·class="id"·title="keyword">Definition</span>·<a·id="R_met"·class="idref"·href="#R_met"><span·class="id"·title="definition">R_met</span></a>·:·<a·class="idref"·href="Coq.Reals.Rlimit.html#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>·:=<br/> | 144 | <span·class="id"·title="keyword">Definition</span>·<a·id="R_met"·class="idref"·href="#R_met"><span·class="id"·title="definition">R_met</span></a>·:·<a·class="idref"·href="Coq.Reals.Rlimit.html#Metric_Space"><span·class="id"·title="record">Metric_Space</span></a>·:=<br/> |
Offset 151, 15 lines modified | Offset 151, 15 lines modified | ||
151 | <br/> | 151 | <br/> |
152 | <br/> | 152 | <br/> |
153 | </div> | 153 | </div> |
154 | <div·class="doc"> | 154 | <div·class="doc"> |
155 | <a·id="lab | 155 | <a·id="lab961"></a><h1·class="section">Limit·1·arg</h1> |
156 | </div> | 156 | </div> |
157 | <div·class="code"> | 157 | <div·class="code"> |
158 | <span·class="id"·title="keyword">Definition</span>·<a·id="Dgf"·class="idref"·href="#Dgf"><span·class="id"·title="definition">Dgf</span></a>·(<a·id="Df:43"·class="idref"·href="#Df:43"><span·class="id"·title="binder">Df</span></a>·<a·id="Dg:44"·class="idref"·href="#Dg:44"><span·class="id"·title="binder">Dg</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>)·(<a·id="f:45"·class="idref"·href="#f:45"><span·class="id"·title="binder">f</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>)·(<a·id="x:46"·class="idref"·href="#x:46"><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.Rlimit.html#Df:43"><span·class="id"·title="variable">Df</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:46"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#Dg:44"><span·class="id"·title="variable">Dg</span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#f:45"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:46"><span·class="id"·title="variable">x</span></a>).<br/> | 158 | <span·class="id"·title="keyword">Definition</span>·<a·id="Dgf"·class="idref"·href="#Dgf"><span·class="id"·title="definition">Dgf</span></a>·(<a·id="Df:43"·class="idref"·href="#Df:43"><span·class="id"·title="binder">Df</span></a>·<a·id="Dg:44"·class="idref"·href="#Dg:44"><span·class="id"·title="binder">Dg</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>)·(<a·id="f:45"·class="idref"·href="#f:45"><span·class="id"·title="binder">f</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>)·(<a·id="x:46"·class="idref"·href="#x:46"><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.Rlimit.html#Df:43"><span·class="id"·title="variable">Df</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:46"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#Dg:44"><span·class="id"·title="variable">Dg</span></a>·(<a·class="idref"·href="Coq.Reals.Rlimit.html#f:45"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rlimit.html#x:46"><span·class="id"·title="variable">x</span></a>).<br/> |
159 | <br/> | 159 | <br/> |
160 | <span·class="id"·title="keyword">Definition</span>·<a·id="limit1_in"·class="idref"·href="#limit1_in"><span·class="id"·title="definition">limit1_in</span></a>·(<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</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>)·(<a·id="D:48"·class="idref"·href="#D:48"><span·class="id"·title="binder">D</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>)·(<a·id="l:49"·class="idref"·href="#l:49"><span·class="id"·title="binder">l</span></a>·<a·id="x0:50"·class="idref"·href="#x0:50"><span·class="id"·title="binder">x0</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/> | 160 | <span·class="id"·title="keyword">Definition</span>·<a·id="limit1_in"·class="idref"·href="#limit1_in"><span·class="id"·title="definition">limit1_in</span></a>·(<a·id="f:47"·class="idref"·href="#f:47"><span·class="id"·title="binder">f</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>)·(<a·id="D:48"·class="idref"·href="#D:48"><span·class="id"·title="binder">D</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>)·(<a·id="l:49"·class="idref"·href="#l:49"><span·class="id"·title="binder">l</span></a>·<a·id="x0:50"·class="idref"·href="#x0:50"><span·class="id"·title="binder">x0</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/> |
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="lab811"></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 97, 15 lines modified | Offset 97, 15 lines modified | ||
97 | <br/> | 97 | <br/> |
98 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Reals.Rlogic.html#Arithmetical_dec"><span·class="id"·title="section">Arithmetical_dec</span></a>.<br/> | 98 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Reals.Rlogic.html#Arithmetical_dec"><span·class="id"·title="section">Arithmetical_dec</span></a>.<br/> |
99 | <br/> | 99 | <br/> |
100 | </div> | 100 | </div> |
101 | <div·class="doc"> | 101 | <div·class="doc"> |
102 | <a·id="lab | 102 | <a·id="lab812"></a><h1·class="section">Derivability·of·the·Archimedean·axiom</h1> |
103 | <div·class="paragraph">·</div> | 103 | <div·class="paragraph">·</div> |
104 | ·This·is·a·standard·proof·(it·has·been·taken·from·PlanetMath).·It·is | 104 | ·This·is·a·standard·proof·(it·has·been·taken·from·PlanetMath).·It·is |
105 | formulated·negatively·so·as·to·avoid·the·need·for·classical | 105 | formulated·negatively·so·as·to·avoid·the·need·for·classical |
106 | logic.·Using·a·proof·of·<span·class="inlinecode">{<span·class="id"·title="var">n</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode">~<span·class="id"·title="var">P</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>}+{<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>}</span>,·we·can·in | 106 | logic.·Using·a·proof·of·<span·class="inlinecode">{<span·class="id"·title="var">n</span></span>·<span·class="inlinecode">|</span>·<span·class="inlinecode">~<span·class="id"·title="var">P</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>}+{<span·class="id"·title="keyword">forall</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>,</span>·<span·class="inlinecode"><span·class="id"·title="var">P</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span>}</span>,·we·can·in |
107 | principle·also·derive·<span·class="inlinecode"><span·class="id"·title="var">up</span></span>·and·its·specification.·The·proof·above | 107 | principle·also·derive·<span·class="inlinecode"><span·class="id"·title="var">up</span></span>·and·its·specification.·The·proof·above |
Offset 117, 15 lines modified | Offset 117, 15 lines modified | ||
117 | <span·class="id"·title="keyword">Theorem</span>·<a·id="not_not_archimedean"·class="idref"·href="#not_not_archimedean"><span·class="id"·title="lemma">not_not_archimedean</span></a>·:<br/> | 117 | <span·class="id"·title="keyword">Theorem</span>·<a·id="not_not_archimedean"·class="idref"·href="#not_not_archimedean"><span·class="id"·title="lemma">not_not_archimedean</span></a>·:<br/> |
118 | <span·class="id"·title="keyword">forall</span>·<a·id="r:22"·class="idref"·href="#r:22"><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.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:23"·class="idref"·href="#n:23"><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.Reals.Rlogic.html#n:23"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#r:22"><span·class="id"·title="variable">r</span></a>)%<span·class="id"·title="var">R</span><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">)</span></a>.<br/> | 118 | <span·class="id"·title="keyword">forall</span>·<a·id="r:22"·class="idref"·href="#r:22"><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.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:23"·class="idref"·href="#n:23"><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.Reals.Rlogic.html#n:23"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#r:22"><span·class="id"·title="variable">r</span></a>)%<span·class="id"·title="var">R</span><a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">)</span></a>.<br/> |
119 | <br/> | 119 | <br/> |
120 | </div> | 120 | </div> |
121 | <div·class="doc"> | 121 | <div·class="doc"> |
122 | <a·id="lab | 122 | <a·id="lab813"></a><h1·class="section">Decidability·of·negated·formulas</h1> |
123 | </div> | 123 | </div> |
124 | <div·class="code"> | 124 | <div·class="code"> |
125 | <br/> | 125 | <br/> |
126 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sig_not_dec"·class="idref"·href="#sig_not_dec"><span·class="id"·title="lemma">sig_not_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="P:30"·class="idref"·href="#P:30"><span·class="id"·title="binder">P</span></a>·:·<span·class="id"·title="keyword">Prop</span>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#P:30"><span·class="id"·title="variable">P</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#not"><span·class="id"·title="definition">not</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#P:30"><span·class="id"·title="variable">P</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 126 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sig_not_dec"·class="idref"·href="#sig_not_dec"><span·class="id"·title="lemma">sig_not_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="P:30"·class="idref"·href="#P:30"><span·class="id"·title="binder">P</span></a>·:·<span·class="id"·title="keyword">Prop</span>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·(<a·class="idref"·href="Coq.Init.Logic.html#not"><span·class="id"·title="definition">not</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#P:30"><span·class="id"·title="variable">P</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#not"><span·class="id"·title="definition">not</span></a>·<a·class="idref"·href="Coq.Reals.Rlogic.html#P:30"><span·class="id"·title="variable">P</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> |
127 | </div> | 127 | </div> |
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="lab829"></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 108, 15 lines modified | Offset 108, 15 lines modified | ||
108 | <br/> | 108 | <br/> |
109 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#UsualMinMaxProperties"><span·class="id"·title="module">UsualMinMaxProperties</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#R_as_OT"><span·class="id"·title="module">R_as_OT</span></a>·<a·class="idref"·href="Coq.Reals.Rminmax.html#RHasMinMax"><span·class="id"·title="module">RHasMinMax</span></a>.<br/> | 109 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#UsualMinMaxProperties"><span·class="id"·title="module">UsualMinMaxProperties</span></a>·<a·class="idref"·href="Coq.Reals.ROrderedType.html#R_as_OT"><span·class="id"·title="module">R_as_OT</span></a>·<a·class="idref"·href="Coq.Reals.Rminmax.html#RHasMinMax"><span·class="id"·title="module">RHasMinMax</span></a>.<br/> |
110 | <br/> | 110 | <br/> |
111 | </div> | 111 | </div> |
112 | <div·class="doc"> | 112 | <div·class="doc"> |
113 | <a·id="lab | 113 | <a·id="lab830"></a><h1·class="section">Properties·specific·to·the·<span·class="inlinecode"><span·class="id"·title="var">R</span></span>·domain</h1> |
114 | <div·class="paragraph">·</div> | 114 | <div·class="paragraph">·</div> |
115 | ·Compatibilities·(consequences·of·monotonicity)· | 115 | ·Compatibilities·(consequences·of·monotonicity)· |
116 | </div> | 116 | </div> |
117 | <div·class="code"> | 117 | <div·class="code"> |
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="lab939"></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 125, 15 lines modified | Offset 125, 15 lines modified | ||
125 | <br/> | 125 | <br/> |
126 | <span·class="id"·title="keyword">Theorem</span>·<a·id="exp_Ropp"·class="idref"·href="#exp_Ropp"><span·class="id"·title="lemma">exp_Ropp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:43"·class="idref"·href="#x:43"><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.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:43"><span·class="id"·title="variable">x</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#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</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:43"><span·class="id"·title="variable">x</span></a>.<br/> | 126 | <span·class="id"·title="keyword">Theorem</span>·<a·id="exp_Ropp"·class="idref"·href="#exp_Ropp"><span·class="id"·title="lemma">exp_Ropp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:43"·class="idref"·href="#x:43"><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.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:43"><span·class="id"·title="variable">x</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#2299a6ef56270a66cc1b95489d0f6e3a"><span·class="id"·title="notation">/</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:43"><span·class="id"·title="variable">x</span></a>.<br/> |
127 | <br/> | 127 | <br/> |
128 | </div> | 128 | </div> |
129 | <div·class="doc"> | 129 | <div·class="doc"> |
130 | <a·id="lab | 130 | <a·id="lab940"></a><h1·class="section">Properties·of··Ln</h1> |
131 | </div> | 131 | </div> |
132 | <div·class="code"> | 132 | <div·class="code"> |
133 | <br/> | 133 | <br/> |
134 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_increasing"·class="idref"·href="#ln_increasing"><span·class="id"·title="lemma">ln_increasing</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:44"·class="idref"·href="#x:44"><span·class="id"·title="binder">x</span></a>·<a·id="y:45"·class="idref"·href="#y:45"><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>,·0·<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.Rpower.html#x:44"><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.Rpower.html#x:44"><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.Rpower.html#y:45"><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.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:44"><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.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#y:45"><span·class="id"·title="variable">y</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_increasing"·class="idref"·href="#ln_increasing"><span·class="id"·title="lemma">ln_increasing</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:44"·class="idref"·href="#x:44"><span·class="id"·title="binder">x</span></a>·<a·id="y:45"·class="idref"·href="#y:45"><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>,·0·<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.Rpower.html#x:44"><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.Rpower.html#x:44"><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.Rpower.html#y:45"><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.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:44"><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.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#y:45"><span·class="id"·title="variable">y</span></a>.<br/> |
Offset 165, 27 lines modified | Offset 165, 27 lines modified | ||
165 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_continue"·class="idref"·href="#ln_continue"><span·class="id"·title="lemma">ln_continue</span></a>·:<br/> | 165 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_continue"·class="idref"·href="#ln_continue"><span·class="id"·title="lemma">ln_continue</span></a>·:<br/> |
166 | <span·class="id"·title="keyword">forall</span>·<a·id="y:57"·class="idref"·href="#y:57"><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>,·0·<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.Rpower.html#y:57"><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.Reals.Rderiv.html#continue_in"><span·class="id"·title="definition">continue_in</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:58"·class="idref"·href="#x:58"><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>·=>·0·<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.Rpower.html#x:58"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rpower.html#y:57"><span·class="id"·title="variable">y</span></a>.<br/> | 166 | <span·class="id"·title="keyword">forall</span>·<a·id="y:57"·class="idref"·href="#y:57"><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>,·0·<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.Rpower.html#y:57"><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.Reals.Rderiv.html#continue_in"><span·class="id"·title="definition">continue_in</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:58"·class="idref"·href="#x:58"><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>·=>·0·<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.Rpower.html#x:58"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Reals.Rpower.html#y:57"><span·class="id"·title="variable">y</span></a>.<br/> |
167 | <br/> | 167 | <br/> |
168 | </div> | 168 | </div> |
169 | <div·class="doc"> | 169 | <div·class="doc"> |
170 | <a·id="lab | 170 | <a·id="lab941"></a><h1·class="section">Definition·of··Rpower</h1> |
171 | </div> | 171 | </div> |
172 | <div·class="code"> | 172 | <div·class="code"> |
173 | <br/> | 173 | <br/> |
174 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rpower"·class="idref"·href="#Rpower"><span·class="id"·title="definition">Rpower</span></a>·(<a·id="x:59"·class="idref"·href="#x:59"><span·class="id"·title="binder">x</span></a>·<a·id="y:60"·class="idref"·href="#y:60"><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.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rpower.html#y:60"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:59"><span·class="id"·title="variable">x</span></a>).<br/> | 174 | <span·class="id"·title="keyword">Definition</span>·<a·id="Rpower"·class="idref"·href="#Rpower"><span·class="id"·title="definition">Rpower</span></a>·(<a·id="x:59"·class="idref"·href="#x:59"><span·class="id"·title="binder">x</span></a>·<a·id="y:60"·class="idref"·href="#y:60"><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.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·(<a·class="idref"·href="Coq.Reals.Rpower.html#y:60"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#e1dae7ed53bffa765009199d058dd327"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·<a·class="idref"·href="Coq.Reals.Rpower.html#x:59"><span·class="id"·title="variable">x</span></a>).<br/> |
175 | <br/> | 175 | <br/> |
176 | </div> | 176 | </div> |
177 | <div·class="doc"> | 177 | <div·class="doc"> |
178 | <a·id="lab | 178 | <a·id="lab942"></a><h1·class="section">Properties·of··Rpower</h1> |
179 | <div·class="paragraph">·</div> | 179 | <div·class="paragraph">·</div> |
180 | ·Note:·<span·class="inlinecode"><span·class="id"·title="var">Rpower</span></span>·is·prolongated·to·<span·class="inlinecode">1</span>·on·negative·real·numbers·and | 180 | ·Note:·<span·class="inlinecode"><span·class="id"·title="var">Rpower</span></span>·is·prolongated·to·<span·class="inlinecode">1</span>·on·negative·real·numbers·and |
181 | ····it·thus·does·not·extend·integer·power.·The·next·two·lemmas,·which | 181 | ····it·thus·does·not·extend·integer·power.·The·next·two·lemmas,·which |
182 | ····hold·for·integer·power,·accidentally·hold·on·negative·real·numbers | 182 | ····hold·for·integer·power,·accidentally·hold·on·negative·real·numbers |
183 | ····as·a·side·effect·of·the·default·value·taken·on·negative·real | 183 | ····as·a·side·effect·of·the·default·value·taken·on·negative·real |
Offset 244, 15 lines modified | Offset 244, 15 lines modified | ||
244 | <br/> | 244 | <br/> |
245 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_lt_2"·class="idref"·href="#ln_lt_2"><span·class="id"·title="lemma">ln_lt_2</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>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·2.<br/> | 245 | <span·class="id"·title="keyword">Theorem</span>·<a·id="ln_lt_2"·class="idref"·href="#ln_lt_2"><span·class="id"·title="lemma">ln_lt_2</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>·<a·class="idref"·href="Coq.Reals.Rpower.html#ln"><span·class="id"·title="definition">ln</span></a>·2.<br/> |
246 | <br/> | 246 | <br/> |
247 | </div> | 247 | </div> |
248 | <div·class="doc"> | 248 | <div·class="doc"> |
249 | <a·id="lab | 249 | <a·id="lab943"></a><h1·class="section">Differentiability·of·Ln·and·Rpower</h1> |
250 | </div> | 250 | </div> |
251 | <div·class="code"> | 251 | <div·class="code"> |
252 | <br/> | 252 | <br/> |
253 | <span·class="id"·title="keyword">Theorem</span>·<a·id="limit1_ext"·class="idref"·href="#limit1_ext"><span·class="id"·title="lemma">limit1_ext</span></a>·:<br/> | 253 | <span·class="id"·title="keyword">Theorem</span>·<a·id="limit1_ext"·class="idref"·href="#limit1_ext"><span·class="id"·title="lemma">limit1_ext</span></a>·:<br/> |
254 | <span·class="id"·title="keyword">forall</span>·(<a·id="f:90"·class="idref"·href="#f:90"><span·class="id"·title="binder">f</span></a>·<a·id="g:91"·class="idref"·href="#g:91"><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>)·(<a·id="D:92"·class="idref"·href="#D:92"><span·class="id"·title="binder">D</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>)·(<a·id="l:93"·class="idref"·href="#l:93"><span·class="id"·title="binder">l</span></a>·<a·id="x:94"·class="idref"·href="#x:94"><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>),<br/> | 254 | <span·class="id"·title="keyword">forall</span>·(<a·id="f:90"·class="idref"·href="#f:90"><span·class="id"·title="binder">f</span></a>·<a·id="g:91"·class="idref"·href="#g:91"><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>)·(<a·id="D:92"·class="idref"·href="#D:92"><span·class="id"·title="binder">D</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>)·(<a·id="l:93"·class="idref"·href="#l:93"><span·class="id"·title="binder">l</span></a>·<a·id="x:94"·class="idref"·href="#x:94"><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>),<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="lab978"></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 126, 15 lines modified | Offset 126, 15 lines modified | ||
126 | <br/> | 126 | <br/> |
127 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Reals.Rseries.html#sequence"><span·class="id"·title="section">sequence</span></a>.<br/> | 127 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Reals.Rseries.html#sequence"><span·class="id"·title="section">sequence</span></a>.<br/> |
128 | <br/> | 128 | <br/> |
129 | </div> | 129 | </div> |
130 | <div·class="doc"> | 130 | <div·class="doc"> |
131 | <a·id="lab | 131 | <a·id="lab979"></a><h1·class="section">Definition·of·Power·Series·and·properties</h1> |
132 | </div> | 132 | </div> |
133 | <div·class="code"> | 133 | <div·class="code"> |
134 | <br/> | 134 | <br/> |
135 | <span·class="id"·title="keyword">Section</span>·<a·id="Isequence"·class="idref"·href="#Isequence"><span·class="id"·title="section">Isequence</span></a>.<br/> | 135 | <span·class="id"·title="keyword">Section</span>·<a·id="Isequence"·class="idref"·href="#Isequence"><span·class="id"·title="section">Isequence</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="lab808"></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 303, 15 lines modified | Offset 303, 15 lines modified | ||
303 | <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="c:276"·class="idref"·href="#c:276"><span·class="id"·title="binder">c</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#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:276"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><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.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:276"><span·class="id"·title="variable">c</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/> | 303 | <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="c:276"·class="idref"·href="#c:276"><span·class="id"·title="binder">c</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#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:276"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><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.Reals.Ranalysis1.html#continuity_pt"><span·class="id"·title="definition">continuity_pt</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:276"><span·class="id"·title="variable">c</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/> |
304 | <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="mx:277"·class="idref"·href="#mx:277"><span·class="id"·title="binder">mx</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#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="c:278"·class="idref"·href="#c:278"><span·class="id"·title="binder">c</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#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:278"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><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.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#mx:277"><span·class="id"·title="variable">mx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:278"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#mx:277"><span·class="id"·title="variable">mx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><span·class="id"·title="variable">b</span></a>.<br/> | 304 | <a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="mx:277"·class="idref"·href="#mx:277"><span·class="id"·title="binder">mx</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#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="c:278"·class="idref"·href="#c:278"><span·class="id"·title="binder">c</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#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:278"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><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.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#mx:277"><span·class="id"·title="variable">mx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#77d341fe206b2891763e25999ffddca2"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#f:273"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#c:278"><span·class="id"·title="variable">c</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#a:274"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#mx:277"><span·class="id"·title="variable">mx</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#fbdebc8c1a732d40499de973c18a9a13"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#b:275"><span·class="id"·title="variable">b</span></a>.<br/> |
305 | <br/> | 305 | <br/> |
306 | </div> | 306 | </div> |
307 | <div·class="doc"> | 307 | <div·class="doc"> |
308 | <a·id="lab | 308 | <a·id="lab809"></a><h1·class="section">Proof·of·Bolzano-Weierstrass·theorem</h1> |
309 | </div> | 309 | </div> |
310 | <div·class="code"> | 310 | <div·class="code"> |
311 | <br/> | 311 | <br/> |
312 | <span·class="id"·title="keyword">Definition</span>·<a·id="ValAdh"·class="idref"·href="#ValAdh"><span·class="id"·title="definition">ValAdh</span></a>·(<a·id="un:281"·class="idref"·href="#un:281"><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="x:282"·class="idref"·href="#x:282"><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>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 312 | <span·class="id"·title="keyword">Definition</span>·<a·id="ValAdh"·class="idref"·href="#ValAdh"><span·class="id"·title="definition">ValAdh</span></a>·(<a·id="un:281"·class="idref"·href="#un:281"><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="x:282"·class="idref"·href="#x:282"><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>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> |
313 | <span·class="id"·title="keyword">forall</span>·(<a·id="V:283"·class="idref"·href="#V:283"><span·class="id"·title="binder">V</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>)·(<a·id="N:284"·class="idref"·href="#N:284"><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>),<br/> | 313 | <span·class="id"·title="keyword">forall</span>·(<a·id="V:283"·class="idref"·href="#V:283"><span·class="id"·title="binder">V</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>)·(<a·id="N:284"·class="idref"·href="#N:284"><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>),<br/> |
Offset 376, 15 lines modified | Offset 376, 15 lines modified | ||
376 | <span·class="id"·title="keyword">forall</span>·(<a·id="un:347"·class="idref"·href="#un:347"><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="X:348"·class="idref"·href="#X:348"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>),<br/> | 376 | <span·class="id"·title="keyword">forall</span>·(<a·id="un:347"·class="idref"·href="#un:347"><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="X:348"·class="idref"·href="#X:348"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<span·class="id"·title="keyword">Prop</span>),<br/> |
377 | <a·class="idref"·href="Coq.Reals.Rtopology.html#compact"><span·class="id"·title="definition">compact</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#X:348"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:349"·class="idref"·href="#n:349"><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.Rtopology.html#X:348"><span·class="id"·title="variable">X</span></a>·(<a·class="idref"·href="Coq.Reals.Rtopology.html#un:347"><span·class="id"·title="variable">un</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#n:349"><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.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="l:350"·class="idref"·href="#l:350"><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><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#ValAdh"><span·class="id"·title="definition">ValAdh</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#un:347"><span·class="id"·title="variable">un</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#l:350"><span·class="id"·title="variable">l</span></a>.<br/> | 377 | <a·class="idref"·href="Coq.Reals.Rtopology.html#compact"><span·class="id"·title="definition">compact</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#X:348"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">(</span></a><span·class="id"·title="keyword">forall</span>·<a·id="n:349"·class="idref"·href="#n:349"><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.Rtopology.html#X:348"><span·class="id"·title="variable">X</span></a>·(<a·class="idref"·href="Coq.Reals.Rtopology.html#un:347"><span·class="id"·title="variable">un</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#n:349"><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.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="l:350"·class="idref"·href="#l:350"><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><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#ValAdh"><span·class="id"·title="definition">ValAdh</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#un:347"><span·class="id"·title="variable">un</span></a>·<a·class="idref"·href="Coq.Reals.Rtopology.html#l:350"><span·class="id"·title="variable">l</span></a>.<br/> |
378 | <br/> | 378 | <br/> |
379 | </div> | 379 | </div> |
380 | <div·class="doc"> | 380 | <div·class="doc"> |
381 | <a·id="lab | 381 | <a·id="lab810"></a><h1·class="section">Proof·of·Heine's·theorem</h1> |
382 | </div> | 382 | </div> |
383 | <div·class="code"> | 383 | <div·class="code"> |
384 | <br/> | 384 | <br/> |
385 | <span·class="id"·title="keyword">Definition</span>·<a·id="uniform_continuity"·class="idref"·href="#uniform_continuity"><span·class="id"·title="definition">uniform_continuity</span></a>·(<a·id="f:381"·class="idref"·href="#f:381"><span·class="id"·title="binder">f</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>)·(<a·id="X:382"·class="idref"·href="#X:382"><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.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/> | 385 | <span·class="id"·title="keyword">Definition</span>·<a·id="uniform_continuity"·class="idref"·href="#uniform_continuity"><span·class="id"·title="definition">uniform_continuity</span></a>·(<a·id="f:381"·class="idref"·href="#f:381"><span·class="id"·title="binder">f</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>)·(<a·id="X:382"·class="idref"·href="#X:382"><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.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/> |
386 | <span·class="id"·title="keyword">forall</span>·<a·id="eps:383"·class="idref"·href="#eps:383"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#posreal"><span·class="id"·title="record">posreal</span></a>,<br/> | 386 | <span·class="id"·title="keyword">forall</span>·<a·id="eps:383"·class="idref"·href="#eps:383"><span·class="id"·title="binder">eps</span></a>:<a·class="idref"·href="Coq.Reals.RIneq.html#posreal"><span·class="id"·title="record">posreal</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="lab971"></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 254, 15 lines modified | Offset 254, 15 lines modified | ||
254 | <br/> | 254 | <br/> |
255 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sin_0_var"·class="idref"·href="#cos_sin_0_var"><span·class="id"·title="lemma">cos_sin_0_var</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:76"·class="idref"·href="#x:76"><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#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:76"><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·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><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:76"><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/> | 255 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sin_0_var"·class="idref"·href="#cos_sin_0_var"><span·class="id"·title="lemma">cos_sin_0_var</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:76"·class="idref"·href="#x:76"><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#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#x:76"><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·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><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:76"><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/> |
256 | <br/> | 256 | <br/> |
257 | </div> | 257 | </div> |
258 | <div·class="doc"> | 258 | <div·class="doc"> |
259 | <a·id="lab72 | 259 | <a·id="lab972"></a><h1·class="section">Using·series·definitions·of·cos·and·sin</h1> |
260 | </div> | 260 | </div> |
261 | <div·class="code"> | 261 | <div·class="code"> |
262 | <br/> | 262 | <br/> |
263 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin_lb"·class="idref"·href="#sin_lb"><span·class="id"·title="definition">sin_lb</span></a>·(<a·id="a:77"·class="idref"·href="#a:77"><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·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_alt.html#sin_approx"><span·class="id"·title="definition">sin_approx</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#a:77"><span·class="id"·title="variable">a</span></a>·3.<br/> | 263 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin_lb"·class="idref"·href="#sin_lb"><span·class="id"·title="definition">sin_lb</span></a>·(<a·id="a:77"·class="idref"·href="#a:77"><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·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_alt.html#sin_approx"><span·class="id"·title="definition">sin_approx</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#a:77"><span·class="id"·title="variable">a</span></a>·3.<br/> |
264 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin_ub"·class="idref"·href="#sin_ub"><span·class="id"·title="definition">sin_ub</span></a>·(<a·id="a:78"·class="idref"·href="#a:78"><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·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_alt.html#sin_approx"><span·class="id"·title="definition">sin_approx</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#a:78"><span·class="id"·title="variable">a</span></a>·4.<br/> | 264 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin_ub"·class="idref"·href="#sin_ub"><span·class="id"·title="definition">sin_ub</span></a>·(<a·id="a:78"·class="idref"·href="#a:78"><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·class="idref"·href="Coq.Reals.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_alt.html#sin_approx"><span·class="id"·title="definition">sin_approx</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#a:78"><span·class="id"·title="variable">a</span></a>·4.<br/> |
Offset 288, 15 lines modified | Offset 288, 15 lines modified | ||
288 | <br/> | 288 | <br/> |
289 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PI2_Rlt_PI"·class="idref"·href="#PI2_Rlt_PI"><span·class="id"·title="lemma">PI2_Rlt_PI</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><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>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>.<br/> | 289 | <span·class="id"·title="keyword">Lemma</span>·<a·id="PI2_Rlt_PI"·class="idref"·href="#PI2_Rlt_PI"><span·class="id"·title="lemma">PI2_Rlt_PI</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><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>·<a·class="idref"·href="Coq.Reals.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>.<br/> |
290 | <br/> | 290 | <br/> |
291 | </div> | 291 | </div> |
292 | <div·class="doc"> | 292 | <div·class="doc"> |
293 | <a·id="lab | 293 | <a·id="lab973"></a><h1·class="section">Increasing·and·decreasing·of·<span·class="inlinecode"><span·class="id"·title="var">cos</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">sin</span></span></h1> |
294 | </div> | 294 | </div> |
295 | <div·class="code"> | 295 | <div·class="code"> |
296 | <span·class="id"·title="keyword">Theorem</span>·<a·id="sin_gt_0"·class="idref"·href="#sin_gt_0"><span·class="id"·title="lemma">sin_gt_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:92"·class="idref"·href="#x:92"><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>,·0·<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#x:92"><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.Rtrigo1.html#x:92"><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.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</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.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><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:92"><span·class="id"·title="variable">x</span></a>.<br/> | 296 | <span·class="id"·title="keyword">Theorem</span>·<a·id="sin_gt_0"·class="idref"·href="#sin_gt_0"><span·class="id"·title="lemma">sin_gt_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:92"·class="idref"·href="#x:92"><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>,·0·<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#x:92"><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.Rtrigo1.html#x:92"><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.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</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.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><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:92"><span·class="id"·title="variable">x</span></a>.<br/> |
297 | <br/> | 297 | <br/> |
298 | <span·class="id"·title="keyword">Theorem</span>·<a·id="cos_gt_0"·class="idref"·href="#cos_gt_0"><span·class="id"·title="lemma">cos_gt_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:93"·class="idref"·href="#x:93"><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#::R_scope:'-'_x"><span·class="id"·title="notation">-</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.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">)</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.Rtrigo1.html#x:93"><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.Rtrigo1.html#x:93"><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.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2·<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.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><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:93"><span·class="id"·title="variable">x</span></a>.<br/> | 298 | <span·class="id"·title="keyword">Theorem</span>·<a·id="cos_gt_0"·class="idref"·href="#cos_gt_0"><span·class="id"·title="lemma">cos_gt_0</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:93"·class="idref"·href="#x:93"><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#::R_scope:'-'_x"><span·class="id"·title="notation">-</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.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2<a·class="idref"·href="Coq.Reals.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">)</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.Rtrigo1.html#x:93"><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.Rtrigo1.html#x:93"><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.Rtrigo1.html#PI"><span·class="id"·title="definition">PI</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·2·<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.Reals.Rdefinitions.html#::R_scope:x_'<'_x"><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:93"><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="lab954"></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 76, 15 lines modified | Offset 76, 15 lines modified | ||
76 | <br/> | 76 | <br/> |
77 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_0"·class="idref"·href="#exp_0"><span·class="id"·title="lemma">exp_0</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·1.<br/> | 77 | <span·class="id"·title="keyword">Lemma</span>·<a·id="exp_0"·class="idref"·href="#exp_0"><span·class="id"·title="lemma">exp_0</span></a>·:·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·1.<br/> |
78 | <br/> | 78 | <br/> |
79 | </div> | 79 | </div> |
80 | <div·class="doc"> | 80 | <div·class="doc"> |
81 | <a·id="lab | 81 | <a·id="lab955"></a><h1·class="section">Definition·of·hyperbolic·functions</h1> |
82 | </div> | 82 | </div> |
83 | <div·class="code"> | 83 | <div·class="code"> |
84 | <span·class="id"·title="keyword">Definition</span>·<a·id="cosh"·class="idref"·href="#cosh"><span·class="id"·title="definition">cosh</span></a>·(<a·id="x:13"·class="idref"·href="#x:13"><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#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</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.Rtrigo_def.html#x:13"><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.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</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.Rtrigo_def.html#x:13"><span·class="id"·title="variable">x</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>·2.<br/> | 84 | <span·class="id"·title="keyword">Definition</span>·<a·id="cosh"·class="idref"·href="#cosh"><span·class="id"·title="definition">cosh</span></a>·(<a·id="x:13"·class="idref"·href="#x:13"><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#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</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.Rtrigo_def.html#x:13"><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.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</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.Rtrigo_def.html#x:13"><span·class="id"·title="variable">x</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>·2.<br/> |
85 | <span·class="id"·title="keyword">Definition</span>·<a·id="sinh"·class="idref"·href="#sinh"><span·class="id"·title="definition">sinh</span></a>·(<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.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</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.Rtrigo_def.html#x:14"><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.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</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.Rtrigo_def.html#x:14"><span·class="id"·title="variable">x</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>·2.<br/> | 85 | <span·class="id"·title="keyword">Definition</span>·<a·id="sinh"·class="idref"·href="#sinh"><span·class="id"·title="definition">sinh</span></a>·(<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.Rdefinitions.html#RbaseSymbolsImpl.R"><span·class="id"·title="axiom">R</span></a>·:=·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">(</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.Rtrigo_def.html#x:14"><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.Rtrigo_def.html#exp"><span·class="id"·title="definition">exp</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.Rtrigo_def.html#x:14"><span·class="id"·title="variable">x</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>·2.<br/> |
86 | <span·class="id"·title="keyword">Definition</span>·<a·id="tanh"·class="idref"·href="#tanh"><span·class="id"·title="definition">tanh</span></a>·(<a·id="x:15"·class="idref"·href="#x:15"><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.Rtrigo_def.html#sinh"><span·class="id"·title="definition">sinh</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:15"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cosh"><span·class="id"·title="definition">cosh</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> | 86 | <span·class="id"·title="keyword">Definition</span>·<a·id="tanh"·class="idref"·href="#tanh"><span·class="id"·title="definition">tanh</span></a>·(<a·id="x:15"·class="idref"·href="#x:15"><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.Rtrigo_def.html#sinh"><span·class="id"·title="definition">sinh</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:15"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cosh"><span·class="id"·title="definition">cosh</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> |
Offset 150, 15 lines modified | Offset 150, 15 lines modified | ||
150 | <br/> | 150 | <br/> |
151 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin"·class="idref"·href="#sin"><span·class="id"·title="definition">sin</span></a>·(<a·id="x:38"·class="idref"·href="#x:38"><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>·:=·<span·class="id"·title="keyword">let</span>·(<a·id="a:39"·class="idref"·href="#a:39"><span·class="id"·title="binder">a</span></a>,<span·class="id"·title="var">_</span>)·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exist_sin"><span·class="id"·title="lemma">exist_sin</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.Rtrigo_def.html#x:38"><span·class="id"·title="variable">x</span></a>)·<span·class="id"·title="tactic">in</span>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:38"><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#a:39"><span·class="id"·title="variable">a</span></a>.<br/> | 151 | <span·class="id"·title="keyword">Definition</span>·<a·id="sin"·class="idref"·href="#sin"><span·class="id"·title="definition">sin</span></a>·(<a·id="x:38"·class="idref"·href="#x:38"><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>·:=·<span·class="id"·title="keyword">let</span>·(<a·id="a:39"·class="idref"·href="#a:39"><span·class="id"·title="binder">a</span></a>,<span·class="id"·title="var">_</span>)·:=·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#exist_sin"><span·class="id"·title="lemma">exist_sin</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.Rtrigo_def.html#x:38"><span·class="id"·title="variable">x</span></a>)·<span·class="id"·title="tactic">in</span>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:38"><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#a:39"><span·class="id"·title="variable">a</span></a>.<br/> |
152 | <br/> | 152 | <br/> |
153 | </div> | 153 | </div> |
154 | <div·class="doc"> | 154 | <div·class="doc"> |
155 | <a·id="lab | 155 | <a·id="lab956"></a><h1·class="section">Properties</h1> |
156 | </div> | 156 | </div> |
157 | <div·class="code"> | 157 | <div·class="code"> |
158 | <br/> | 158 | <br/> |
159 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sym"·class="idref"·href="#cos_sym"><span·class="id"·title="lemma">cos_sym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:40"·class="idref"·href="#x:40"><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#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:40"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:40"><span·class="id"·title="variable">x</span></a>).<br/> | 159 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sym"·class="idref"·href="#cos_sym"><span·class="id"·title="lemma">cos_sym</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:40"·class="idref"·href="#x:40"><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#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:40"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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.Rdefinitions.html#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_def.html#x:40"><span·class="id"·title="variable">x</span></a>).<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="lab849"></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 74, 19 lines modified | Offset 74, 19 lines modified | ||
74 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos2_bound"·class="idref"·href="#cos2_bound"><span·class="id"·title="lemma">cos2_bound</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:2"·class="idref"·href="#x:2"><span·class="id"·title="binder">x</span></a>,<br/> | 74 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos2_bound"·class="idref"·href="#cos2_bound"><span·class="id"·title="lemma">cos2_bound</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:2"·class="idref"·href="#x:2"><span·class="id"·title="binder">x</span></a>,<br/> |
75 | 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#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:2"><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/> | 75 | 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#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:2"><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/> |
76 | <br/> | 76 | <br/> |
77 | </div> | 77 | </div> |
78 | <div·class="doc"> | 78 | <div·class="doc"> |
79 | <a·id="lab | 79 | <a·id="lab850"></a><h1·class="section">Express·trigonometric·functions·with·each·other</h1> |
80 | <div·class="paragraph">·</div> | 80 | <div·class="paragraph">·</div> |
81 | <a·id="lab | 81 | <a·id="lab851"></a><h2·class="section">Express·sin·and·cos·with·each·other</h2> |
82 | </div> | 82 | </div> |
83 | <div·class="code"> | 83 | <div·class="code"> |
84 | <br/> | 84 | <br/> |
85 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sin"·class="idref"·href="#cos_sin"><span·class="id"·title="lemma">cos_sin</span></a>·:·<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.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><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/> | 85 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_sin"·class="idref"·href="#cos_sin"><span·class="id"·title="lemma">cos_sin</span></a>·:·<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.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><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/> |
86 | <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</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.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:3"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 86 | <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:3"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</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.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:3"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> |
Offset 111, 15 lines modified | Offset 111, 15 lines modified | ||
111 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_cos_Rabs"·class="idref"·href="#sin_cos_Rabs"><span·class="id"·title="lemma">sin_cos_Rabs</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>,<br/> | 111 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_cos_Rabs"·class="idref"·href="#sin_cos_Rabs"><span·class="id"·title="lemma">sin_cos_Rabs</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:8"·class="idref"·href="#x:8"><span·class="id"·title="binder">x</span></a>,<br/> |
112 | <a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</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:8"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</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.RIneq.html#2774338496db27b8a3a3c51e5609a509"><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.Rtrigo_facts.html#x:8"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 112 | <a·class="idref"·href="Coq.Reals.Rbasic_fun.html#Rabs"><span·class="id"·title="definition">Rabs</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:8"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</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.RIneq.html#2774338496db27b8a3a3c51e5609a509"><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.Rtrigo_facts.html#x:8"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> |
113 | <br/> | 113 | <br/> |
114 | </div> | 114 | </div> |
115 | <div·class="doc"> | 115 | <div·class="doc"> |
116 | <a·id="lab | 116 | <a·id="lab852"></a><h2·class="section">Express·tan·with·sin·and·cos</h2> |
117 | </div> | 117 | </div> |
118 | <div·class="code"> | 118 | <div·class="code"> |
119 | <br/> | 119 | <br/> |
120 | <span·class="id"·title="keyword">Lemma</span>·<a·id="tan_sin"·class="idref"·href="#tan_sin"><span·class="id"·title="lemma">tan_sin</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:9"·class="idref"·href="#x:9"><span·class="id"·title="binder">x</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.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><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><br/> | 120 | <span·class="id"·title="keyword">Lemma</span>·<a·id="tan_sin"·class="idref"·href="#tan_sin"><span·class="id"·title="lemma">tan_sin</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:9"·class="idref"·href="#x:9"><span·class="id"·title="binder">x</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.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><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><br/> |
121 | <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</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.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:9"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 121 | <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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:9"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</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.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:9"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> |
Offset 144, 15 lines modified | Offset 144, 15 lines modified | ||
144 | <span·class="id"·title="keyword">Lemma</span>·<a·id="tan_cos_opp"·class="idref"·href="#tan_cos_opp"><span·class="id"·title="lemma">tan_cos_opp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><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:12"><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><br/> | 144 | <span·class="id"·title="keyword">Lemma</span>·<a·id="tan_cos_opp"·class="idref"·href="#tan_cos_opp"><span·class="id"·title="lemma">tan_cos_opp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>,·0·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#7822f196a19e8673dbc60a529f728eb7"><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:12"><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><br/> |
145 | <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</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#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</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.RIneq.html#2774338496db27b8a3a3c51e5609a509"><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.Rtrigo_facts.html#x:12"><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#3942bfc45fbeaeee49010b741755982b"><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.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a>.<br/> | 145 | <a·class="idref"·href="Coq.Reals.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</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#::R_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</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.RIneq.html#2774338496db27b8a3a3c51e5609a509"><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.Rtrigo_facts.html#x:12"><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#3942bfc45fbeaeee49010b741755982b"><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.Rtrigo_facts.html#x:12"><span·class="id"·title="variable">x</span></a>.<br/> |
146 | <br/> | 146 | <br/> |
147 | </div> | 147 | </div> |
148 | <div·class="doc"> | 148 | <div·class="doc"> |
149 | <a·id="lab | 149 | <a·id="lab853"></a><h2·class="section">Express·sin·and·cos·with·tan</h2> |
150 | </div> | 150 | </div> |
151 | <div·class="code"> | 151 | <div·class="code"> |
152 | <br/> | 152 | <br/> |
153 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_tan"·class="idref"·href="#sin_tan"><span·class="id"·title="lemma">sin_tan</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</span></a>,·0·<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.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><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><br/> | 153 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_tan"·class="idref"·href="#sin_tan"><span·class="id"·title="lemma">sin_tan</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</span></a>,·0·<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.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><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><br/> |
154 | <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:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><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.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 154 | <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:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><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.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:13"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> |
Offset 161, 15 lines modified | Offset 161, 15 lines modified | ||
161 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_tan"·class="idref"·href="#cos_tan"><span·class="id"·title="lemma">cos_tan</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>,·0·<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.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.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><br/> | 161 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cos_tan"·class="idref"·href="#cos_tan"><span·class="id"·title="lemma">cos_tan</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>,·0·<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.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.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><br/> |
162 | <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><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.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> | 162 | <a·class="idref"·href="Coq.Reals.Rtrigo_def.html#cos"><span·class="id"·title="definition">cos</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3942bfc45fbeaeee49010b741755982b"><span·class="id"·title="notation">/</span></a>·<a·class="idref"·href="Coq.Reals.R_sqrt.html#sqrt"><span·class="id"·title="definition">sqrt</span></a>·(1·<a·class="idref"·href="Coq.Reals.Rdefinitions.html#3e57074ab0a6a36b253e873a1bdac6ad"><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.Rtrigo1.html#tan"><span·class="id"·title="definition">tan</span></a>·<a·class="idref"·href="Coq.Reals.Rtrigo_facts.html#x:14"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Reals.RIneq.html#2774338496db27b8a3a3c51e5609a509"><span·class="id"·title="notation">)²</span></a>).<br/> |
163 | <br/> | 163 | <br/> |
164 | </div> | 164 | </div> |
165 | <div·class="doc"> | 165 | <div·class="doc"> |
166 | <a·id="lab | 166 | <a·id="lab854"></a><h1·class="section">Additional·shift·lemmas·for·sin,·cos,·tan</h1> |
167 | </div> | 167 | </div> |
168 | <div·class="code"> | 168 | <div·class="code"> |
169 | <br/> | 169 | <br/> |
170 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_pi_minus"·class="idref"·href="#sin_pi_minus"><span·class="id"·title="lemma">sin_pi_minus</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>,<br/> | 170 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sin_pi_minus"·class="idref"·href="#sin_pi_minus"><span·class="id"·title="lemma">sin_pi_minus</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>,<br/> |
171 | <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#PI"><span·class="id"·title="definition">PI</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.Rtrigo_facts.html#x:15"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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:15"><span·class="id"·title="variable">x</span></a>.<br/> | 171 | <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#PI"><span·class="id"·title="definition">PI</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.Rtrigo_facts.html#x:15"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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:15"><span·class="id"·title="variable">x</span></a>.<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="lab336"></a><h1·class="section">Some·properties·of·the·operators·on·relations</h1> |
50 | <a·id="lab | 50 | <a·id="lab337"></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 177, 20 lines modified | Offset 177, 20 lines modified | ||
177 | <br/> | 177 | <br/> |
178 | <span·class="id"·title="keyword">Section</span>·<a·id="Properties.Equivalences"·class="idref"·href="#Properties.Equivalences"><span·class="id"·title="section">Equivalences</span></a>.<br/> | 178 | <span·class="id"·title="keyword">Section</span>·<a·id="Properties.Equivalences"·class="idref"·href="#Properties.Equivalences"><span·class="id"·title="section">Equivalences</span></a>.<br/> |
179 | <br/> | 179 | <br/> |
180 | </div> | 180 | </div> |
181 | <div·class="doc"> | 181 | <div·class="doc"> |
182 | <a·id="lab | 182 | <a·id="lab338"></a><h3·class="section">Equivalences·between·the·different·definition·of·the·reflexive,</h3> |
183 | ······symmetric,·transitive·closures· | 183 | ······symmetric,·transitive·closures· |
184 | <div·class="paragraph">·</div> | 184 | <div·class="paragraph">·</div> |
185 | <a·id="lab | 185 | <a·id="lab339"></a><h3·class="section">Contributed·by·P.·Castéran</h3> |
186 | <div·class="paragraph">·</div> | 186 | <div·class="paragraph">·</div> |
187 | ·Direct·transitive·closure·vs·left-step·extension· | 187 | ·Direct·transitive·closure·vs·left-step·extension· |
188 | </div> | 188 | </div> |
189 | <div·class="code"> | 189 | <div·class="code"> |
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="lab317"></a><h1·class="section">Some·operators·on·relations</h1> |
50 | <a·id="lab | 50 | <a·id="lab318"></a><h1·class="section">Initial·authors:·Bruno·Barras,·Cristina·Cornes</h1> |
51 | <a·id="lab | 51 | <a·id="lab319"></a><h1·class="section">···································································</h1> |
52 | <a·id="lab | 52 | <a·id="lab320"></a><h1·class="section">Some·of·the·initial·definitions·were·taken·from·:</h1> |
53 | <a·id="lab | 53 | <a·id="lab321"></a><h1·class="section">Constructing·Recursion·Operators·in·Type·Theory</h1> |
54 | <a·id="lab | 54 | <a·id="lab322"></a><h1·class="section">L.·Paulson··JSC·(1986)·2,·325-355</h1> |
55 | <a·id="lab | 55 | <a·id="lab323"></a><h1·class="section">···································································</h1> |
56 | <a·id="lab | 56 | <a·id="lab324"></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="lab325"></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 120, 15 lines modified | Offset 120, 15 lines modified | ||
120 | <br/> | 120 | <br/> |
121 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Transitive_Closure"><span·class="id"·title="section">Transitive_Closure</span></a>.<br/> | 121 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Transitive_Closure"><span·class="id"·title="section">Transitive_Closure</span></a>.<br/> |
122 | <br/> | 122 | <br/> |
123 | </div> | 123 | </div> |
124 | <div·class="doc"> | 124 | <div·class="doc"> |
125 | <a·id="lab | 125 | <a·id="lab326"></a><h2·class="section">Reflexive·closure</h2> |
126 | </div> | 126 | </div> |
127 | <div·class="code"> | 127 | <div·class="code"> |
128 | <br/> | 128 | <br/> |
129 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Closure"·class="idref"·href="#Reflexive_Closure"><span·class="id"·title="section">Reflexive_Closure</span></a>.<br/> | 129 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Closure"·class="idref"·href="#Reflexive_Closure"><span·class="id"·title="section">Reflexive_Closure</span></a>.<br/> |
130 | <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Closure.A"·class="idref"·href="#Reflexive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 130 | <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Closure.A"·class="idref"·href="#Reflexive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
Offset 150, 15 lines modified | Offset 150, 15 lines modified | ||
150 | <br/> | 150 | <br/> |
151 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Closure"><span·class="id"·title="section">Reflexive_Closure</span></a>.<br/> | 151 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Closure"><span·class="id"·title="section">Reflexive_Closure</span></a>.<br/> |
152 | <br/> | 152 | <br/> |
153 | </div> | 153 | </div> |
154 | <div·class="doc"> | 154 | <div·class="doc"> |
155 | <a·id="lab | 155 | <a·id="lab327"></a><h2·class="section">Reflexive-transitive·closure</h2> |
156 | </div> | 156 | </div> |
157 | <div·class="code"> | 157 | <div·class="code"> |
158 | <br/> | 158 | <br/> |
159 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Transitive_Closure"·class="idref"·href="#Reflexive_Transitive_Closure"><span·class="id"·title="section">Reflexive_Transitive_Closure</span></a>.<br/> | 159 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Transitive_Closure"·class="idref"·href="#Reflexive_Transitive_Closure"><span·class="id"·title="section">Reflexive_Transitive_Closure</span></a>.<br/> |
160 | <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Transitive_Closure.A"·class="idref"·href="#Reflexive_Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 160 | <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Transitive_Closure.A"·class="idref"·href="#Reflexive_Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
Offset 210, 15 lines modified | Offset 210, 15 lines modified | ||
210 | <br/> | 210 | <br/> |
211 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Transitive_Closure"><span·class="id"·title="section">Reflexive_Transitive_Closure</span></a>.<br/> | 211 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Transitive_Closure"><span·class="id"·title="section">Reflexive_Transitive_Closure</span></a>.<br/> |
212 | <br/> | 212 | <br/> |
213 | </div> | 213 | </div> |
214 | <div·class="doc"> | 214 | <div·class="doc"> |
215 | <a·id="lab | 215 | <a·id="lab328"></a><h2·class="section">Reflexive-symmetric-transitive·closure</h2> |
216 | </div> | 216 | </div> |
217 | <div·class="code"> | 217 | <div·class="code"> |
218 | <br/> | 218 | <br/> |
219 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Symmetric_Transitive_Closure"·class="idref"·href="#Reflexive_Symmetric_Transitive_Closure"><span·class="id"·title="section">Reflexive_Symmetric_Transitive_Closure</span></a>.<br/> | 219 | <span·class="id"·title="keyword">Section</span>·<a·id="Reflexive_Symmetric_Transitive_Closure"·class="idref"·href="#Reflexive_Symmetric_Transitive_Closure"><span·class="id"·title="section">Reflexive_Symmetric_Transitive_Closure</span></a>.<br/> |
220 | <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Symmetric_Transitive_Closure.A"·class="idref"·href="#Reflexive_Symmetric_Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 220 | <span·class="id"·title="keyword">Variable</span>·<a·id="Reflexive_Symmetric_Transitive_Closure.A"·class="idref"·href="#Reflexive_Symmetric_Transitive_Closure.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
Offset 272, 15 lines modified | Offset 272, 15 lines modified | ||
272 | <br/> | 272 | <br/> |
273 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Symmetric_Transitive_Closure"><span·class="id"·title="section">Reflexive_Symmetric_Transitive_Closure</span></a>.<br/> | 273 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Reflexive_Symmetric_Transitive_Closure"><span·class="id"·title="section">Reflexive_Symmetric_Transitive_Closure</span></a>.<br/> |
274 | <br/> | 274 | <br/> |
275 | </div> | 275 | </div> |
276 | <div·class="doc"> | 276 | <div·class="doc"> |
277 | <a·id="lab | 277 | <a·id="lab329"></a><h2·class="section">Converse·of·a·relation</h2> |
278 | </div> | 278 | </div> |
279 | <div·class="code"> | 279 | <div·class="code"> |
280 | <br/> | 280 | <br/> |
281 | <span·class="id"·title="keyword">Section</span>·<a·id="Converse"·class="idref"·href="#Converse"><span·class="id"·title="section">Converse</span></a>.<br/> | 281 | <span·class="id"·title="keyword">Section</span>·<a·id="Converse"·class="idref"·href="#Converse"><span·class="id"·title="section">Converse</span></a>.<br/> |
282 | <span·class="id"·title="keyword">Variable</span>·<a·id="Converse.A"·class="idref"·href="#Converse.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 282 | <span·class="id"·title="keyword">Variable</span>·<a·id="Converse.A"·class="idref"·href="#Converse.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
Offset 290, 15 lines modified | Offset 290, 15 lines modified | ||
290 | <span·class="id"·title="keyword">Definition</span>·<a·id="transp"·class="idref"·href="#transp"><span·class="id"·title="definition">transp</span></a>·(<a·id="x:79"·class="idref"·href="#x:79"><span·class="id"·title="binder">x</span></a>·<a·id="y:80"·class="idref"·href="#y:80"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse.R"><span·class="id"·title="variable">R</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:80"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:79"><span·class="id"·title="variable">x</span></a>.<br/> | 290 | <span·class="id"·title="keyword">Definition</span>·<a·id="transp"·class="idref"·href="#transp"><span·class="id"·title="definition">transp</span></a>·(<a·id="x:79"·class="idref"·href="#x:79"><span·class="id"·title="binder">x</span></a>·<a·id="y:80"·class="idref"·href="#y:80"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse.R"><span·class="id"·title="variable">R</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:80"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:79"><span·class="id"·title="variable">x</span></a>.<br/> |
291 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse"><span·class="id"·title="section">Converse</span></a>.<br/> | 291 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Converse"><span·class="id"·title="section">Converse</span></a>.<br/> |
292 | <br/> | 292 | <br/> |
293 | </div> | 293 | </div> |
294 | <div·class="doc"> | 294 | <div·class="doc"> |
295 | <a·id="lab | 295 | <a·id="lab330"></a><h2·class="section">Union·of·relations</h2> |
296 | </div> | 296 | </div> |
297 | <div·class="code"> | 297 | <div·class="code"> |
298 | <br/> | 298 | <br/> |
299 | <span·class="id"·title="keyword">Section</span>·<a·id="Union"·class="idref"·href="#Union"><span·class="id"·title="section">Union</span></a>.<br/> | 299 | <span·class="id"·title="keyword">Section</span>·<a·id="Union"·class="idref"·href="#Union"><span·class="id"·title="section">Union</span></a>.<br/> |
300 | <span·class="id"·title="keyword">Variable</span>·<a·id="Union.A"·class="idref"·href="#Union.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> | 300 | <span·class="id"·title="keyword">Variable</span>·<a·id="Union.A"·class="idref"·href="#Union.A"><span·class="id"·title="variable">A</span></a>·:·<span·class="id"·title="keyword">Type</span>.<br/> |
Offset 308, 15 lines modified | Offset 308, 15 lines modified | ||
308 | <span·class="id"·title="keyword">Definition</span>·<a·id="union"·class="idref"·href="#union"><span·class="id"·title="definition">union</span></a>·(<a·id="x:87"·class="idref"·href="#x:87"><span·class="id"·title="binder">x</span></a>·<a·id="y:88"·class="idref"·href="#y:88"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.R1"><span·class="id"·title="variable">R1</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:87"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:88"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.R2"><span·class="id"·title="variable">R2</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:87"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:88"><span·class="id"·title="variable">y</span></a>.<br/> | 308 | <span·class="id"·title="keyword">Definition</span>·<a·id="union"·class="idref"·href="#union"><span·class="id"·title="definition">union</span></a>·(<a·id="x:87"·class="idref"·href="#x:87"><span·class="id"·title="binder">x</span></a>·<a·id="y:88"·class="idref"·href="#y:88"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.R1"><span·class="id"·title="variable">R1</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:87"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:88"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union.R2"><span·class="id"·title="variable">R2</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#x:87"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#y:88"><span·class="id"·title="variable">y</span></a>.<br/> |
309 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union"><span·class="id"·title="section">Union</span></a>.<br/> | 309 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Relations.Relation_Operators.html#Union"><span·class="id"·title="section">Union</span></a>.<br/> |
310 | <br/> | 310 | <br/> |
311 | </div> | 311 | </div> |
312 | <div·class="doc"> | 312 | <div·class="doc"> |
313 | <a·id="lab | 313 | <a·id="lab331"></a><h2·class="section">Disjoint·union·of·relations</h2> |
314 | </div> | 314 | </div> |
315 | <div·class="code"> | 315 | <div·class="code"> |
Max diff block lines reached; 3490/12821 bytes (27.22%) of diff not shown. |
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="lab1 | 49 | <a·id="lab1208"></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 70, 19 lines modified | Offset 70, 19 lines modified | ||
70 | <br/> | 70 | <br/> |
71 | <span·class="id"·title="keyword">Section</span>·<a·id="defs"·class="idref"·href="#defs"><span·class="id"·title="section">defs</span></a>.<br/> | 71 | <span·class="id"·title="keyword">Section</span>·<a·id="defs"·class="idref"·href="#defs"><span·class="id"·title="section">defs</span></a>.<br/> |
72 | <br/> | 72 | <br/> |
73 | </div> | 73 | </div> |
74 | <div·class="doc"> | 74 | <div·class="doc"> |
75 | <a·id="lab11 | 75 | <a·id="lab1197"></a><h1·class="section">Trees·and·heap·trees</h1> |
76 | <div·class="paragraph">·</div> | 76 | <div·class="paragraph">·</div> |
77 | <a·id="lab11 | 77 | <a·id="lab1198"></a><h2·class="section">Definition·of·trees·over·an·ordered·set</h2> |
78 | </div> | 78 | </div> |
79 | <div·class="code"> | 79 | <div·class="code"> |
80 | <br/> | 80 | <br/> |
81 | <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/> | 81 | <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/> |
82 | <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/> | 82 | <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 139, 15 lines modified | Offset 139, 15 lines modified | ||
139 | <span·class="id"·title="keyword">Lemma</span>·<a·id="leA_Tree_Node"·class="idref"·href="#leA_Tree_Node"><span·class="id"·title="lemma">leA_Tree_Node</span></a>·:<br/> | 139 | <span·class="id"·title="keyword">Lemma</span>·<a·id="leA_Tree_Node"·class="idref"·href="#leA_Tree_Node"><span·class="id"·title="lemma">leA_Tree_Node</span></a>·:<br/> |
140 | <span·class="id"·title="keyword">forall</span>·(<a·id="a:36"·class="idref"·href="#a:36"><span·class="id"·title="binder">a</span></a>·<a·id="b:37"·class="idref"·href="#b:37"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="G:38"·class="idref"·href="#G:38"><span·class="id"·title="binder">G</span></a>·<a·id="D:39"·class="idref"·href="#D:39"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>),·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:37"><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.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:36"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Sorting.Heap.html#Tree_Node"><span·class="id"·title="constructor">Tree_Node</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#G:38"><span·class="id"·title="variable">G</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#D:39"><span·class="id"·title="variable">D</span></a>).<br/> | 140 | <span·class="id"·title="keyword">forall</span>·(<a·id="a:36"·class="idref"·href="#a:36"><span·class="id"·title="binder">a</span></a>·<a·id="b:37"·class="idref"·href="#b:37"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="G:38"·class="idref"·href="#G:38"><span·class="id"·title="binder">G</span></a>·<a·id="D:39"·class="idref"·href="#D:39"><span·class="id"·title="binder">D</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>),·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:37"><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.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:36"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Sorting.Heap.html#Tree_Node"><span·class="id"·title="constructor">Tree_Node</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#G:38"><span·class="id"·title="variable">G</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#D:39"><span·class="id"·title="variable">D</span></a>).<br/> |
141 | <br/> | 141 | <br/> |
142 | </div> | 142 | </div> |
143 | <div·class="doc"> | 143 | <div·class="doc"> |
144 | <a·id="lab11 | 144 | <a·id="lab1199"></a><h2·class="section">The·heap·property</h2> |
145 | </div> | 145 | </div> |
146 | <div·class="code"> | 146 | <div·class="code"> |
147 | <br/> | 147 | <br/> |
148 | <span·class="id"·title="keyword">Inductive</span>·<a·id="is_heap"·class="idref"·href="#is_heap"><span·class="id"·title="definition,·inductive"><span·id="is_heap_ind"·class="id"><span·id="is_heap_sind"·class="id">is_heap</span></span></span></a>·:·<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</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/> | 148 | <span·class="id"·title="keyword">Inductive</span>·<a·id="is_heap"·class="idref"·href="#is_heap"><span·class="id"·title="definition,·inductive"><span·id="is_heap_ind"·class="id"><span·id="is_heap_sind"·class="id">is_heap</span></span></span></a>·:·<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</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/> |
149 | |·<a·id="nil_is_heap"·class="idref"·href="#nil_is_heap"><span·class="id"·title="constructor">nil_is_heap</span></a>·:·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap:40"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#Tree_Leaf"><span·class="id"·title="constructor">Tree_Leaf</span></a><br/> | 149 | |·<a·id="nil_is_heap"·class="idref"·href="#nil_is_heap"><span·class="id"·title="constructor">nil_is_heap</span></a>·:·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap:40"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#Tree_Leaf"><span·class="id"·title="constructor">Tree_Leaf</span></a><br/> |
Offset 191, 15 lines modified | Offset 191, 15 lines modified | ||
191 | <span·class="id"·title="keyword">Lemma</span>·<a·id="low_trans"·class="idref"·href="#low_trans"><span·class="id"·title="lemma">low_trans</span></a>·:<br/> | 191 | <span·class="id"·title="keyword">Lemma</span>·<a·id="low_trans"·class="idref"·href="#low_trans"><span·class="id"·title="lemma">low_trans</span></a>·:<br/> |
192 | <span·class="id"·title="keyword">forall</span>·(<a·id="T:58"·class="idref"·href="#T:58"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·(<a·id="a:59"·class="idref"·href="#a:59"><span·class="id"·title="binder">a</span></a>·<a·id="b:60"·class="idref"·href="#b:60"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>),·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:59"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:60"><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.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:58"><span·class="id"·title="variable">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.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:59"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:58"><span·class="id"·title="variable">T</span></a>.<br/> | 192 | <span·class="id"·title="keyword">forall</span>·(<a·id="T:58"·class="idref"·href="#T:58"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·(<a·id="a:59"·class="idref"·href="#a:59"><span·class="id"·title="binder">a</span></a>·<a·id="b:60"·class="idref"·href="#b:60"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>),·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:59"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:60"><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.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#b:60"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:58"><span·class="id"·title="variable">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.Sorting.Heap.html#leA_Tree"><span·class="id"·title="definition">leA_Tree</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:59"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:58"><span·class="id"·title="variable">T</span></a>.<br/> |
193 | <br/> | 193 | <br/> |
194 | </div> | 194 | </div> |
195 | <div·class="doc"> | 195 | <div·class="doc"> |
196 | <a·id="lab1 | 196 | <a·id="lab1200"></a><h2·class="section">Merging·two·sorted·lists</h2> |
197 | </div> | 197 | </div> |
198 | <div·class="code"> | 198 | <div·class="code"> |
199 | <br/> | 199 | <br/> |
200 | <span·class="id"·title="keyword">Inductive</span>·<a·id="merge_lem"·class="idref"·href="#merge_lem"><span·class="id"·title="definition,·inductive"><span·id="merge_lem_rect"·class="id"><span·id="merge_lem_ind"·class="id"><span·id="merge_lem_rec"·class="id"><span·id="merge_lem_sind"·class="id">merge_lem</span></span></span></span></span></a>·(<a·id="l1:61"·class="idref"·href="#l1:61"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:62"·class="idref"·href="#l2:62"><span·class="id"·title="binder">l2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 200 | <span·class="id"·title="keyword">Inductive</span>·<a·id="merge_lem"·class="idref"·href="#merge_lem"><span·class="id"·title="definition,·inductive"><span·id="merge_lem_rect"·class="id"><span·id="merge_lem_ind"·class="id"><span·id="merge_lem_rec"·class="id"><span·id="merge_lem_sind"·class="id">merge_lem</span></span></span></span></span></a>·(<a·id="l1:61"·class="idref"·href="#l1:61"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:62"·class="idref"·href="#l2:62"><span·class="id"·title="binder">l2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> |
201 | <a·id="merge_exist"·class="idref"·href="#merge_exist"><span·class="id"·title="constructor">merge_exist</span></a>·:<br/> | 201 | <a·id="merge_exist"·class="idref"·href="#merge_exist"><span·class="id"·title="constructor">merge_exist</span></a>·:<br/> |
Offset 223, 15 lines modified | Offset 223, 15 lines modified | ||
223 | <span·class="id"·title="keyword">forall</span>·<a·id="l1:67"·class="idref"·href="#l1:67"><span·class="id"·title="binder">l1</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Sorted.html#Sorted"><span·class="id"·title="inductive">Sorted</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l1:67"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 223 | <span·class="id"·title="keyword">forall</span>·<a·id="l1:67"·class="idref"·href="#l1:67"><span·class="id"·title="binder">l1</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Sorted.html#Sorted"><span·class="id"·title="inductive">Sorted</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l1:67"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
224 | <span·class="id"·title="keyword">forall</span>·<a·id="l2:68"·class="idref"·href="#l2:68"><span·class="id"·title="binder">l2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Sorted.html#Sorted"><span·class="id"·title="inductive">Sorted</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l2:68"><span·class="id"·title="variable">l2</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.Sorting.Heap.html#merge_lem"><span·class="id"·title="inductive">merge_lem</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l1:67"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l2:68"><span·class="id"·title="variable">l2</span></a>.<br/> | 224 | <span·class="id"·title="keyword">forall</span>·<a·id="l2:68"·class="idref"·href="#l2:68"><span·class="id"·title="binder">l2</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Sorted.html#Sorted"><span·class="id"·title="inductive">Sorted</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.leA"><span·class="id"·title="variable">leA</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l2:68"><span·class="id"·title="variable">l2</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.Sorting.Heap.html#merge_lem"><span·class="id"·title="inductive">merge_lem</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l1:67"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l2:68"><span·class="id"·title="variable">l2</span></a>.<br/> |
225 | <br/> | 225 | <br/> |
226 | </div> | 226 | </div> |
227 | <div·class="doc"> | 227 | <div·class="doc"> |
228 | <a·id="lab1 | 228 | <a·id="lab1201"></a><h2·class="section">From·trees·to·multisets</h2> |
229 | <div·class="paragraph">·</div> | 229 | <div·class="paragraph">·</div> |
230 | ·contents·of·a·tree·as·a·multiset· | 230 | ·contents·of·a·tree·as·a·multiset· |
231 | <div·class="paragraph">·</div> | 231 | <div·class="paragraph">·</div> |
232 | ·Nota·Bene·:·In·what·follows·the·definition·of·SingletonBag | 232 | ·Nota·Bene·:·In·what·follows·the·definition·of·SingletonBag |
Offset 259, 19 lines modified | Offset 259, 19 lines modified | ||
259 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 259 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> |
260 | <span·class="id"·title="keyword">Definition</span>·<a·id="equiv_Tree"·class="idref"·href="#equiv_Tree"><span·class="id"·title="definition">equiv_Tree</span></a>·(<a·id="t1:72"·class="idref"·href="#t1:72"><span·class="id"·title="binder">t1</span></a>·<a·id="t2:73"·class="idref"·href="#t2:73"><span·class="id"·title="binder">t2</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:=·<a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.Heap.html#contents"><span·class="id"·title="definition">contents</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#t1:72"><span·class="id"·title="variable">t1</span></a>)·(<a·class="idref"·href="Coq.Sorting.Heap.html#contents"><span·class="id"·title="definition">contents</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#t2:73"><span·class="id"·title="variable">t2</span></a>).<br/> | 260 | <span·class="id"·title="keyword">Definition</span>·<a·id="equiv_Tree"·class="idref"·href="#equiv_Tree"><span·class="id"·title="definition">equiv_Tree</span></a>·(<a·id="t1:72"·class="idref"·href="#t1:72"><span·class="id"·title="binder">t1</span></a>·<a·id="t2:73"·class="idref"·href="#t2:73"><span·class="id"·title="binder">t2</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:=·<a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.Heap.html#contents"><span·class="id"·title="definition">contents</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#t1:72"><span·class="id"·title="variable">t1</span></a>)·(<a·class="idref"·href="Coq.Sorting.Heap.html#contents"><span·class="id"·title="definition">contents</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#t2:73"><span·class="id"·title="variable">t2</span></a>).<br/> |
261 | <br/> | 261 | <br/> |
262 | </div> | 262 | </div> |
263 | <div·class="doc"> | 263 | <div·class="doc"> |
264 | <a·id="lab1 | 264 | <a·id="lab1202"></a><h1·class="section">From·lists·to·sorted·lists</h1> |
265 | <div·class="paragraph">·</div> | 265 | <div·class="paragraph">·</div> |
266 | <a·id="lab1 | 266 | <a·id="lab1203"></a><h2·class="section">Specification·of·heap·insertion</h2> |
267 | </div> | 267 | </div> |
268 | <div·class="code"> | 268 | <div·class="code"> |
269 | <br/> | 269 | <br/> |
270 | <span·class="id"·title="keyword">Inductive</span>·<a·id="insert_spec"·class="idref"·href="#insert_spec"><span·class="id"·title="definition,·inductive"><span·id="insert_spec_rect"·class="id"><span·id="insert_spec_ind"·class="id"><span·id="insert_spec_rec"·class="id"><span·id="insert_spec_sind"·class="id">insert_spec</span></span></span></span></span></a>·(<a·id="a:74"·class="idref"·href="#a:74"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="T:75"·class="idref"·href="#T:75"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 270 | <span·class="id"·title="keyword">Inductive</span>·<a·id="insert_spec"·class="idref"·href="#insert_spec"><span·class="id"·title="definition,·inductive"><span·id="insert_spec_rect"·class="id"><span·id="insert_spec_ind"·class="id"><span·id="insert_spec_rec"·class="id"><span·id="insert_spec_sind"·class="id">insert_spec</span></span></span></span></span></a>·(<a·id="a:74"·class="idref"·href="#a:74"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·(<a·id="T:75"·class="idref"·href="#T:75"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> |
271 | <a·id="insert_exist"·class="idref"·href="#insert_exist"><span·class="id"·title="constructor">insert_exist</span></a>·:<br/> | 271 | <a·id="insert_exist"·class="idref"·href="#insert_exist"><span·class="id"·title="constructor">insert_exist</span></a>·:<br/> |
Offset 285, 15 lines modified | Offset 285, 15 lines modified | ||
285 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 285 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> |
286 | <span·class="id"·title="keyword">Lemma</span>·<a·id="insert"·class="idref"·href="#insert"><span·class="id"·title="lemma">insert</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="T:80"·class="idref"·href="#T:80"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:80"><span·class="id"·title="variable">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">forall</span>·<a·id="a:81"·class="idref"·href="#a:81"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#insert_spec"><span·class="id"·title="inductive">insert_spec</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:81"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:80"><span·class="id"·title="variable">T</span></a>.<br/> | 286 | <span·class="id"·title="keyword">Lemma</span>·<a·id="insert"·class="idref"·href="#insert"><span·class="id"·title="lemma">insert</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="T:80"·class="idref"·href="#T:80"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:80"><span·class="id"·title="variable">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">forall</span>·<a·id="a:81"·class="idref"·href="#a:81"><span·class="id"·title="binder">a</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#insert_spec"><span·class="id"·title="inductive">insert_spec</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#a:81"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:80"><span·class="id"·title="variable">T</span></a>.<br/> |
287 | <br/> | 287 | <br/> |
288 | </div> | 288 | </div> |
289 | <div·class="doc"> | 289 | <div·class="doc"> |
290 | <a·id="lab1 | 290 | <a·id="lab1204"></a><h2·class="section">Building·a·heap·from·a·list</h2> |
291 | </div> | 291 | </div> |
292 | <div·class="code"> | 292 | <div·class="code"> |
293 | <br/> | 293 | <br/> |
294 | <span·class="id"·title="keyword">Inductive</span>·<a·id="build_heap"·class="idref"·href="#build_heap"><span·class="id"·title="definition,·inductive"><span·id="build_heap_rect"·class="id"><span·id="build_heap_ind"·class="id"><span·id="build_heap_rec"·class="id"><span·id="build_heap_sind"·class="id">build_heap</span></span></span></span></span></a>·(<a·id="l:82"·class="idref"·href="#l:82"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 294 | <span·class="id"·title="keyword">Inductive</span>·<a·id="build_heap"·class="idref"·href="#build_heap"><span·class="id"·title="definition,·inductive"><span·id="build_heap_rect"·class="id"><span·id="build_heap_ind"·class="id"><span·id="build_heap_rec"·class="id"><span·id="build_heap_sind"·class="id">build_heap</span></span></span></span></span></a>·(<a·id="l:82"·class="idref"·href="#l:82"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> |
295 | <a·id="heap_exist"·class="idref"·href="#heap_exist"><span·class="id"·title="constructor">heap_exist</span></a>·:<br/> | 295 | <a·id="heap_exist"·class="idref"·href="#heap_exist"><span·class="id"·title="constructor">heap_exist</span></a>·:<br/> |
Offset 305, 15 lines modified | Offset 305, 15 lines modified | ||
305 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 305 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> |
306 | <span·class="id"·title="keyword">Lemma</span>·<a·id="list_to_heap"·class="idref"·href="#list_to_heap"><span·class="id"·title="lemma">list_to_heap</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:86"·class="idref"·href="#l:86"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#build_heap"><span·class="id"·title="inductive">build_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l:86"><span·class="id"·title="variable">l</span></a>.<br/> | 306 | <span·class="id"·title="keyword">Lemma</span>·<a·id="list_to_heap"·class="idref"·href="#list_to_heap"><span·class="id"·title="lemma">list_to_heap</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="l:86"·class="idref"·href="#l:86"><span·class="id"·title="binder">l</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#defs.A"><span·class="id"·title="variable">A</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#build_heap"><span·class="id"·title="inductive">build_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#l:86"><span·class="id"·title="variable">l</span></a>.<br/> |
307 | <br/> | 307 | <br/> |
308 | </div> | 308 | </div> |
309 | <div·class="doc"> | 309 | <div·class="doc"> |
310 | <a·id="lab1 | 310 | <a·id="lab1205"></a><h2·class="section">Building·the·sorted·list</h2> |
311 | </div> | 311 | </div> |
312 | <div·class="code"> | 312 | <div·class="code"> |
313 | <br/> | 313 | <br/> |
314 | <span·class="id"·title="keyword">Inductive</span>·<a·id="flat_spec"·class="idref"·href="#flat_spec"><span·class="id"·title="definition,·inductive"><span·id="flat_spec_rect"·class="id"><span·id="flat_spec_ind"·class="id"><span·id="flat_spec_rec"·class="id"><span·id="flat_spec_sind"·class="id">flat_spec</span></span></span></span></span></a>·(<a·id="T:87"·class="idref"·href="#T:87"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> | 314 | <span·class="id"·title="keyword">Inductive</span>·<a·id="flat_spec"·class="idref"·href="#flat_spec"><span·class="id"·title="definition,·inductive"><span·id="flat_spec_rect"·class="id"><span·id="flat_spec_ind"·class="id"><span·id="flat_spec_rec"·class="id"><span·id="flat_spec_sind"·class="id">flat_spec</span></span></span></span></span></a>·(<a·id="T:87"·class="idref"·href="#T:87"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>)·:·<span·class="id"·title="keyword">Type</span>·:=<br/> |
315 | <a·id="flat_exist"·class="idref"·href="#flat_exist"><span·class="id"·title="constructor">flat_exist</span></a>·:<br/> | 315 | <a·id="flat_exist"·class="idref"·href="#flat_exist"><span·class="id"·title="constructor">flat_exist</span></a>·:<br/> |
Offset 326, 15 lines modified | Offset 326, 15 lines modified | ||
326 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> | 326 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.3",·<span·class="id"·title="var">note</span>="Use·mergesort.v")]<br/> |
327 | <span·class="id"·title="keyword">Lemma</span>·<a·id="heap_to_list"·class="idref"·href="#heap_to_list"><span·class="id"·title="lemma">heap_to_list</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="T:92"·class="idref"·href="#T:92"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:92"><span·class="id"·title="variable">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.Sorting.Heap.html#flat_spec"><span·class="id"·title="inductive">flat_spec</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:92"><span·class="id"·title="variable">T</span></a>.<br/> | 327 | <span·class="id"·title="keyword">Lemma</span>·<a·id="heap_to_list"·class="idref"·href="#heap_to_list"><span·class="id"·title="lemma">heap_to_list</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="T:92"·class="idref"·href="#T:92"><span·class="id"·title="binder">T</span></a>:<a·class="idref"·href="Coq.Sorting.Heap.html#Tree"><span·class="id"·title="inductive">Tree</span></a>,·<a·class="idref"·href="Coq.Sorting.Heap.html#is_heap"><span·class="id"·title="inductive">is_heap</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:92"><span·class="id"·title="variable">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.Sorting.Heap.html#flat_spec"><span·class="id"·title="inductive">flat_spec</span></a>·<a·class="idref"·href="Coq.Sorting.Heap.html#T:92"><span·class="id"·title="variable">T</span></a>.<br/> |
328 | <br/> | 328 | <br/> |
329 | </div> | 329 | </div> |
330 | <div·class="doc"> | 330 | <div·class="doc"> |
Max diff block lines reached; 381/18197 bytes (2.09%) of diff not shown. |
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="lab11 | 90 | <a·id="lab1194"></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 124, 15 lines modified | Offset 124, 15 lines modified | ||
124 | <span·class="id"·title="keyword">forall</span>·<a·id="l:14"·class="idref"·href="#l:14"><span·class="id"·title="binder">l</span></a>·<a·id="m:15"·class="idref"·href="#m:15"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>,<br/> | 124 | <span·class="id"·title="keyword">forall</span>·<a·id="l:14"·class="idref"·href="#l:14"><span·class="id"·title="binder">l</span></a>·<a·id="m:15"·class="idref"·href="#m:15"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>,<br/> |
125 | <a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:14"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:15"><span·class="id"·title="variable">m</span></a>))·(<a·class="idref"·href="Coq.Sets.Multiset.html#munion"><span·class="id"·title="definition">munion</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:14"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:15"><span·class="id"·title="variable">m</span></a>)).<br/> | 125 | <a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:14"><span·class="id"·title="variable">l</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:15"><span·class="id"·title="variable">m</span></a>))·(<a·class="idref"·href="Coq.Sets.Multiset.html#munion"><span·class="id"·title="definition">munion</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:14"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:15"><span·class="id"·title="variable">m</span></a>)).<br/> |
126 | <br/> | 126 | <br/> |
127 | </div> | 127 | </div> |
128 | <div·class="doc"> | 128 | <div·class="doc"> |
129 | <a·id="lab11 | 129 | <a·id="lab1195"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">permutation</span></span>:·definition·and·basic·properties</h1> |
130 | </div> | 130 | </div> |
131 | <div·class="code"> | 131 | <div·class="code"> |
132 | <br/> | 132 | <br/> |
133 | <span·class="id"·title="keyword">Definition</span>·<a·id="permutation"·class="idref"·href="#permutation"><span·class="id"·title="definition">permutation</span></a>·(<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:16"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:17"><span·class="id"·title="variable">m</span></a>).<br/> | 133 | <span·class="id"·title="keyword">Definition</span>·<a·id="permutation"·class="idref"·href="#permutation"><span·class="id"·title="definition">permutation</span></a>·(<a·id="l:16"·class="idref"·href="#l:16"><span·class="id"·title="binder">l</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>:<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#Permut.A"><span·class="id"·title="variable">A</span></a>)·:=·<a·class="idref"·href="Coq.Sets.Multiset.html#meq"><span·class="id"·title="definition">meq</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:16"><span·class="id"·title="variable">l</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#list_contents"><span·class="id"·title="definition">list_contents</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#m:17"><span·class="id"·title="variable">m</span></a>).<br/> |
Offset 198, 15 lines modified | Offset 198, 15 lines modified | ||
198 | <span·class="id"·title="keyword">Lemma</span>·<a·id="permut_rev"·class="idref"·href="#permut_rev"><span·class="id"·title="lemma">permut_rev</span></a>·:<br/> | 198 | <span·class="id"·title="keyword">Lemma</span>·<a·id="permut_rev"·class="idref"·href="#permut_rev"><span·class="id"·title="lemma">permut_rev</span></a>·:<br/> |
199 | <span·class="id"·title="keyword">forall</span>·<a·id="l:60"·class="idref"·href="#l:60"><span·class="id"·title="binder">l</span></a>,·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:60"><span·class="id"·title="variable">l</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:60"><span·class="id"·title="variable">l</span></a>).<br/> | 199 | <span·class="id"·title="keyword">forall</span>·<a·id="l:60"·class="idref"·href="#l:60"><span·class="id"·title="binder">l</span></a>,·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:60"><span·class="id"·title="variable">l</span></a>·(<a·class="idref"·href="Coq.Lists.List.html#rev"><span·class="id"·title="definition">rev</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l:60"><span·class="id"·title="variable">l</span></a>).<br/> |
200 | <br/> | 200 | <br/> |
201 | </div> | 201 | </div> |
202 | <div·class="doc"> | 202 | <div·class="doc"> |
203 | <a·id="lab11 | 203 | <a·id="lab1196"></a><h1·class="section">Some·inversion·results.</h1> |
204 | </div> | 204 | </div> |
205 | <div·class="code"> | 205 | <div·class="code"> |
206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="permut_conv_inv"·class="idref"·href="#permut_conv_inv"><span·class="id"·title="lemma">permut_conv_inv</span></a>·:<br/> | 206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="permut_conv_inv"·class="idref"·href="#permut_conv_inv"><span·class="id"·title="lemma">permut_conv_inv</span></a>·:<br/> |
207 | <span·class="id"·title="keyword">forall</span>·<a·id="e:61"·class="idref"·href="#e:61"><span·class="id"·title="binder">e</span></a>·<a·id="l1:62"·class="idref"·href="#l1:62"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:63"·class="idref"·href="#l2:63"><span·class="id"·title="binder">l2</span></a>,·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#e:61"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l1:62"><span·class="id"·title="variable">l1</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#e:61"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l2:63"><span·class="id"·title="variable">l2</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.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l1:62"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l2:63"><span·class="id"·title="variable">l2</span></a>.<br/> | 207 | <span·class="id"·title="keyword">forall</span>·<a·id="e:61"·class="idref"·href="#e:61"><span·class="id"·title="binder">e</span></a>·<a·id="l1:62"·class="idref"·href="#l1:62"><span·class="id"·title="binder">l1</span></a>·<a·id="l2:63"·class="idref"·href="#l2:63"><span·class="id"·title="binder">l2</span></a>,·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#e:61"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l1:62"><span·class="id"·title="variable">l1</span></a>)·(<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#e:61"><span·class="id"·title="variable">e</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#::list_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l2:63"><span·class="id"·title="variable">l2</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.Sorting.PermutSetoid.html#permutation"><span·class="id"·title="definition">permutation</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l1:62"><span·class="id"·title="variable">l1</span></a>·<a·class="idref"·href="Coq.Sorting.PermutSetoid.html#l2:63"><span·class="id"·title="variable">l2</span></a>.<br/> |
208 | <br/> | 208 | <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="lab1 | 49 | <a·id="lab1207"></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="lab540"></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 138, 15 lines modified | Offset 138, 15 lines modified | ||
138 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_neq"·class="idref"·href="#eqb_neq"><span·class="id"·title="lemma">eqb_neq</span></a>·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>·<a·id="y:20"·class="idref"·href="#y:20"><span·class="id"·title="binder">y</span></a>·:·(<a·class="idref"·href="Coq.Strings.Ascii.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#c01d0cbde2bd1a5028600f3321bbcca8"><span·class="id"·title="notation">=?</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#y:20"><span·class="id"·title="variable">y</span></a>)%<span·class="id"·title="var">char</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<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#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#x:19"><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.Strings.Ascii.html#y:20"><span·class="id"·title="variable">y</span></a>.··<br/> | 138 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_neq"·class="idref"·href="#eqb_neq"><span·class="id"·title="lemma">eqb_neq</span></a>·<a·id="x:19"·class="idref"·href="#x:19"><span·class="id"·title="binder">x</span></a>·<a·id="y:20"·class="idref"·href="#y:20"><span·class="id"·title="binder">y</span></a>·:·(<a·class="idref"·href="Coq.Strings.Ascii.html#x:19"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#c01d0cbde2bd1a5028600f3321bbcca8"><span·class="id"·title="notation">=?</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#y:20"><span·class="id"·title="variable">y</span></a>)%<span·class="id"·title="var">char</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<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#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#x:19"><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.Strings.Ascii.html#y:20"><span·class="id"·title="variable">y</span></a>.··<br/> |
139 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_compat"·class="idref"·href="#eqb_compat"><span·class="id"·title="lemma">eqb_compat</span></a>:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Morphisms.Proper</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</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#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>))·<a·class="idref"·href="Coq.Strings.Ascii.html#eqb"><span·class="id"·title="definition">eqb</span></a>.<br/> | 139 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_compat"·class="idref"·href="#eqb_compat"><span·class="id"·title="lemma">eqb_compat</span></a>:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Morphisms.Proper</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</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#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>))·<a·class="idref"·href="Coq.Strings.Ascii.html#eqb"><span·class="id"·title="definition">eqb</span></a>.<br/> |
140 | · | 140 | · |
141 | <br/> | 141 | <br/> |
142 | </div> | 142 | </div> |
143 | <div·class="doc"> | 143 | <div·class="doc"> |
144 | <a·id="lab | 144 | <a·id="lab541"></a><h1·class="section">Conversion·between·natural·numbers·modulo·256·and·ascii·characters</h1> |
145 | <div·class="paragraph">·</div> | 145 | <div·class="paragraph">·</div> |
146 | ·Auxiliary·function·that·turns·a·positive·into·an·ascii·by | 146 | ·Auxiliary·function·that·turns·a·positive·into·an·ascii·by |
147 | ···looking·at·the·last·8·bits,·ie·z·mod·2^8· | 147 | ···looking·at·the·last·8·bits,·ie·z·mod·2^8· |
148 | </div> | 148 | </div> |
149 | <div·class="code"> | 149 | <div·class="code"> |
Offset 280, 15 lines modified | Offset 280, 15 lines modified | ||
280 | <span·class="id"·title="keyword">Infix</span>·<a·id="a03efcf41b31b03a310bd4ab973892ea"·class="idref"·href="#a03efcf41b31b03a310bd4ab973892ea"><span·class="id"·title="notation">"</span></a><?"··:=·<a·class="idref"·href="Coq.Strings.Ascii.html#ltb"><span·class="id"·title="definition">ltb</span></a>·:·<span·class="id"·title="var">char_scope</span>.<br/> | 280 | <span·class="id"·title="keyword">Infix</span>·<a·id="a03efcf41b31b03a310bd4ab973892ea"·class="idref"·href="#a03efcf41b31b03a310bd4ab973892ea"><span·class="id"·title="notation">"</span></a><?"··:=·<a·class="idref"·href="Coq.Strings.Ascii.html#ltb"><span·class="id"·title="definition">ltb</span></a>·:·<span·class="id"·title="var">char_scope</span>.<br/> |
281 | <span·class="id"·title="keyword">Infix</span>·<a·id="f55772a1fdb9e6cfa8863e0bb3b80b46"·class="idref"·href="#f55772a1fdb9e6cfa8863e0bb3b80b46"><span·class="id"·title="notation">"</span></a><=?"·:=·<a·class="idref"·href="Coq.Strings.Ascii.html#leb"><span·class="id"·title="definition">leb</span></a>·:·<span·class="id"·title="var">char_scope</span>.<br/> | 281 | <span·class="id"·title="keyword">Infix</span>·<a·id="f55772a1fdb9e6cfa8863e0bb3b80b46"·class="idref"·href="#f55772a1fdb9e6cfa8863e0bb3b80b46"><span·class="id"·title="notation">"</span></a><=?"·:=·<a·class="idref"·href="Coq.Strings.Ascii.html#leb"><span·class="id"·title="definition">leb</span></a>·:·<span·class="id"·title="var">char_scope</span>.<br/> |
282 | <br/> | 282 | <br/> |
283 | </div> | 283 | </div> |
284 | <div·class="doc"> | 284 | <div·class="doc"> |
285 | <a·id="lab | 285 | <a·id="lab542"></a><h1·class="section">Concrete·syntax</h1> |
286 | <div·class="paragraph">·</div> | 286 | <div·class="paragraph">·</div> |
287 | <div·class="paragraph">·</div> | 287 | <div·class="paragraph">·</div> |
288 | ··Ascii·characters·can·be·represented·in·scope·char_scope·as·follows: | 288 | ··Ascii·characters·can·be·represented·in·scope·char_scope·as·follows: |
Offset 124, 15 lines modified | Offset 124, 15 lines modified | ||
124 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 124 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
125 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>.<br/> | 125 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s1:12"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Init.Datatypes.html#bc347c51eaf667706ae54503b26d52c6"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:13"><span·class="id"·title="variable">s2</span></a>.<br/> |
126 | <br/> | 126 | <br/> |
127 | </div> | 127 | </div> |
128 | <div·class="doc"> | 128 | <div·class="doc"> |
129 | <a·id="lab | 129 | <a·id="lab533"></a><h1·class="section">Properties·of·string·length</h1> |
130 | </div> | 130 | </div> |
131 | <div·class="code"> | 131 | <div·class="code"> |
132 | <br/> | 132 | <br/> |
133 | <span·class="id"·title="keyword">Lemma</span>·<a·id="valid_length"·class="idref"·href="#valid_length"><span·class="id"·title="lemma">valid_length</span></a>·(<a·id="s:14"·class="idref"·href="#s:14"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:<br/> | 133 | <span·class="id"·title="keyword">Lemma</span>·<a·id="valid_length"·class="idref"·href="#valid_length"><span·class="id"·title="lemma">valid_length</span></a>·(<a·id="s:14"·class="idref"·href="#s:14"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:<br/> |
134 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:14"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>.<br/> | 134 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:14"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>.<br/> |
Offset 165, 15 lines modified | Offset 165, 15 lines modified | ||
165 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 165 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
166 | <span·class="id"·title="var">length</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#148675259b0fe2bf16829f061c3d9d0a"><span·class="id"·title="notation">+</span></a>·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)%<span·class="id"·title="var">uint63</span>.<br/> | 166 | <span·class="id"·title="var">length</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:24"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#148675259b0fe2bf16829f061c3d9d0a"><span·class="id"·title="notation">+</span></a>·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:25"><span·class="id"·title="variable">s2</span></a>)%<span·class="id"·title="var">uint63</span>.<br/> |
167 | <br/> | 167 | <br/> |
168 | </div> | 168 | </div> |
169 | <div·class="doc"> | 169 | <div·class="doc"> |
170 | <a·id="lab | 170 | <a·id="lab534"></a><h1·class="section">Properties·of·string·get</h1> |
171 | </div> | 171 | </div> |
172 | <div·class="code"> | 172 | <div·class="code"> |
173 | <br/> | 173 | <br/> |
174 | <span·class="id"·title="keyword">Lemma</span>·<a·id="get_char63_valid"·class="idref"·href="#get_char63_valid"><span·class="id"·title="lemma">get_char63_valid</span></a>·(<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·(<a·id="i:27"·class="idref"·href="#i:27"><span·class="id"·title="binder">i</span></a>·:·<span·class="id"·title="var">int</span>)·:<br/> | 174 | <span·class="id"·title="keyword">Lemma</span>·<a·id="get_char63_valid"·class="idref"·href="#get_char63_valid"><span·class="id"·title="lemma">get_char63_valid</span></a>·(<a·id="s:26"·class="idref"·href="#s:26"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·(<a·id="i:27"·class="idref"·href="#i:27"><span·class="id"·title="binder">i</span></a>·:·<span·class="id"·title="var">int</span>)·:<br/> |
175 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:27"><span·class="id"·title="variable">i</span></a>).<br/> | 175 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:26"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:27"><span·class="id"·title="variable">i</span></a>).<br/> |
Offset 208, 15 lines modified | Offset 208, 15 lines modified | ||
208 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</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.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 208 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</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.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
209 | <span·class="id"·title="var">get</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:41"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:42"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:42"><span·class="id"·title="variable">s2</span></a>·(<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#Uint63NotationsInternalB.::uint63_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:41"><span·class="id"·title="variable">s1</span></a>).<br/> | 209 | <span·class="id"·title="var">get</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:41"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:42"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:42"><span·class="id"·title="variable">s2</span></a>·(<a·class="idref"·href="Coq.Strings.PString.html#i:43"><span·class="id"·title="variable">i</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#Uint63NotationsInternalB.::uint63_scope:x_'-'_x"><span·class="id"·title="notation">-</span></a>·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:41"><span·class="id"·title="variable">s1</span></a>).<br/> |
210 | <br/> | 210 | <br/> |
211 | </div> | 211 | </div> |
212 | <div·class="doc"> | 212 | <div·class="doc"> |
213 | <a·id="lab | 213 | <a·id="lab535"></a><h1·class="section">Properties·of·string·comparison</h1> |
214 | </div> | 214 | </div> |
215 | <div·class="code"> | 215 | <div·class="code"> |
216 | <br/> | 216 | <br/> |
217 | <span·class="id"·title="keyword">Lemma</span>·<a·id="char63_compare_refl"·class="idref"·href="#char63_compare_refl"><span·class="id"·title="lemma">char63_compare_refl</span></a>·(<a·id="c1:44"·class="idref"·href="#c1:44"><span·class="id"·title="binder">c1</span></a>·<a·id="c2:45"·class="idref"·href="#c2:45"><span·class="id"·title="binder">c2</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:<br/> | 217 | <span·class="id"·title="keyword">Lemma</span>·<a·id="char63_compare_refl"·class="idref"·href="#char63_compare_refl"><span·class="id"·title="lemma">char63_compare_refl</span></a>·(<a·id="c1:44"·class="idref"·href="#c1:44"><span·class="id"·title="binder">c1</span></a>·<a·id="c2:45"·class="idref"·href="#c2:45"><span·class="id"·title="binder">c2</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:<br/> |
218 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_compare"><span·class="id"·title="abbreviation">char63_compare</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c1:44"><span·class="id"·title="variable">c1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c2:45"><span·class="id"·title="variable">c2</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#Eq"><span·class="id"·title="constructor">Eq</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.Strings.PString.html#c1:44"><span·class="id"·title="variable">c1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c2:45"><span·class="id"·title="variable">c2</span></a>.<br/> | 218 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_compare"><span·class="id"·title="abbreviation">char63_compare</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c1:44"><span·class="id"·title="variable">c1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c2:45"><span·class="id"·title="variable">c2</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#Eq"><span·class="id"·title="constructor">Eq</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.Strings.PString.html#c1:44"><span·class="id"·title="variable">c1</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#c2:45"><span·class="id"·title="variable">c2</span></a>.<br/> |
Offset 289, 27 lines modified | Offset 289, 27 lines modified | ||
289 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</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.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:80"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> | 289 | <a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</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.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:80"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a><br/> |
290 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_compare"><span·class="id"·title="abbreviation">char63_compare</span></a>·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:79"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</span></a>)·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:80"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</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#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> | 290 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_compare"><span·class="id"·title="abbreviation">char63_compare</span></a>·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:79"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</span></a>)·(<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:80"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#i:81"><span·class="id"·title="variable">i</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#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a><a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">)</span></a>.<br/> |
291 | <br/> | 291 | <br/> |
292 | </div> | 292 | </div> |
293 | <div·class="doc"> | 293 | <div·class="doc"> |
294 | <a·id="lab | 294 | <a·id="lab536"></a><h1·class="section">Properties·of·make</h1> |
295 | </div> | 295 | </div> |
296 | <div·class="code"> | 296 | <div·class="code"> |
297 | <br/> | 297 | <br/> |
298 | <span·class="id"·title="keyword">Lemma</span>·<a·id="make_0"·class="idref"·href="#make_0"><span·class="id"·title="lemma">make_0</span></a>·(<a·id="c:83"·class="idref"·href="#c:83"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:·<span·class="id"·title="var">make</span>·0·<a·class="idref"·href="Coq.Strings.PString.html#c:83"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·""%<span·class="id"·title="var">pstring</span>.<br/> | 298 | <span·class="id"·title="keyword">Lemma</span>·<a·id="make_0"·class="idref"·href="#make_0"><span·class="id"·title="lemma">make_0</span></a>·(<a·id="c:83"·class="idref"·href="#c:83"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:·<span·class="id"·title="var">make</span>·0·<a·class="idref"·href="Coq.Strings.PString.html#c:83"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·""%<span·class="id"·title="var">pstring</span>.<br/> |
299 | <br/> | 299 | <br/> |
300 | </div> | 300 | </div> |
301 | <div·class="doc"> | 301 | <div·class="doc"> |
302 | <a·id="lab | 302 | <a·id="lab537"></a><h1·class="section">Properties·of·cat</h1> |
303 | </div> | 303 | </div> |
304 | <div·class="code"> | 304 | <div·class="code"> |
305 | <br/> | 305 | <br/> |
306 | <span·class="id"·title="keyword">Lemma</span>·<a·id="length_0_empty"·class="idref"·href="#length_0_empty"><span·class="id"·title="lemma">length_0_empty</span></a>·(<a·id="s:84"·class="idref"·href="#s:84"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:84"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0%<span·class="id"·title="var">uint63</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s:84"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·""%<span·class="id"·title="var">pstring</span>.<br/> | 306 | <span·class="id"·title="keyword">Lemma</span>·<a·id="length_0_empty"·class="idref"·href="#length_0_empty"><span·class="id"·title="lemma">length_0_empty</span></a>·(<a·id="s:84"·class="idref"·href="#s:84"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:84"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0%<span·class="id"·title="var">uint63</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s:84"><span·class="id"·title="variable">s</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·""%<span·class="id"·title="var">pstring</span>.<br/> |
Offset 323, 15 lines modified | Offset 323, 15 lines modified | ||
323 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cat_assoc"·class="idref"·href="#cat_assoc"><span·class="id"·title="lemma">cat_assoc</span></a>·(<a·id="s1:87"·class="idref"·href="#s1:87"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:88"·class="idref"·href="#s2:88"><span·class="id"·title="binder">s2</span></a>·<a·id="s3:89"·class="idref"·href="#s3:89"><span·class="id"·title="binder">s3</span></a>·:·<span·class="id"·title="var">string</span>)·:<br/> | 323 | <span·class="id"·title="keyword">Lemma</span>·<a·id="cat_assoc"·class="idref"·href="#cat_assoc"><span·class="id"·title="lemma">cat_assoc</span></a>·(<a·id="s1:87"·class="idref"·href="#s1:87"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:88"·class="idref"·href="#s2:88"><span·class="id"·title="binder">s2</span></a>·<a·id="s3:89"·class="idref"·href="#s3:89"><span·class="id"·title="binder">s3</span></a>·:·<span·class="id"·title="var">string</span>)·:<br/> |
324 | <span·class="id"·title="var">cat</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:87"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:88"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Strings.PString.html#s3:89"><span·class="id"·title="variable">s3</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:87"><span·class="id"·title="variable">s1</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:88"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s3:89"><span·class="id"·title="variable">s3</span></a>).<br/> | 324 | <span·class="id"·title="var">cat</span>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:87"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:88"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.Strings.PString.html#s3:89"><span·class="id"·title="variable">s3</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:87"><span·class="id"·title="variable">s1</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:88"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s3:89"><span·class="id"·title="variable">s3</span></a>).<br/> |
325 | <br/> | 325 | <br/> |
326 | </div> | 326 | </div> |
327 | <div·class="doc"> | 327 | <div·class="doc"> |
328 | <a·id="lab | 328 | <a·id="lab538"></a><h1·class="section">Properties·of·sub</h1> |
329 | </div> | 329 | </div> |
330 | <div·class="code"> | 330 | <div·class="code"> |
331 | <br/> | 331 | <br/> |
332 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sub_full"·class="idref"·href="#sub_full"><span·class="id"·title="lemma">sub_full</span></a>·(<a·id="s:90"·class="idref"·href="#s:90"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<span·class="id"·title="var">sub</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>·0·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>.<br/> | 332 | <span·class="id"·title="keyword">Lemma</span>·<a·id="sub_full"·class="idref"·href="#sub_full"><span·class="id"·title="lemma">sub_full</span></a>·(<a·id="s:90"·class="idref"·href="#s:90"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<span·class="id"·title="var">sub</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>·0·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s:90"><span·class="id"·title="variable">s</span></a>.<br/> |
Offset 371, 15 lines modified | Offset 371, 15 lines modified | ||
371 | (<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>)%<span·class="id"·title="var">Z</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 371 | (<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_Z"><span·class="id"·title="definition">to_Z</span></a>·<span·class="id"·title="var">max_length</span>)%<span·class="id"·title="var">Z</span>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
372 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</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#app"><span·class="id"·title="definition">app</span></a>·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>)·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>).<br/> | 372 | <a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·(<span·class="id"·title="var">cat</span>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</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#app"><span·class="id"·title="definition">app</span></a>·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s1:103"><span·class="id"·title="variable">s1</span></a>)·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PString.html#s2:104"><span·class="id"·title="variable">s2</span></a>).<br/> |
373 | <br/> | 373 | <br/> |
374 | </div> | 374 | </div> |
375 | <div·class="doc"> | 375 | <div·class="doc"> |
376 | <a·id="lab | 376 | <a·id="lab539"></a><h1·class="section">Ordered·type</h1> |
377 | </div> | 377 | </div> |
378 | <div·class="code"> | 378 | <div·class="code"> |
379 | <br/> | 379 | <br/> |
380 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>.<br/> | 380 | <span·class="id"·title="keyword">Require</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>.<br/> |
Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
52 | <span·class="id"·title="keyword">Definition</span>·<a·id="char63_valid"·class="idref"·href="#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<a·id="c:1"·class="idref"·href="#c:1"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:=<br/> | 52 | <span·class="id"·title="keyword">Definition</span>·<a·id="char63_valid"·class="idref"·href="#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<a·id="c:1"·class="idref"·href="#c:1"><span·class="id"·title="binder">c</span></a>·:·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>)·:=<br/> |
53 | (<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#c:1"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#Uint63NotationsInternalB.::uint63_scope:x_'land'_x"><span·class="id"·title="notation">land</span></a>·255·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#c:1"><span·class="id"·title="variable">c</span></a>)%<span·class="id"·title="var">uint63</span>.<br/> | 53 | (<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#c:1"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#Uint63NotationsInternalB.::uint63_scope:x_'land'_x"><span·class="id"·title="notation">land</span></a>·255·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#c:1"><span·class="id"·title="variable">c</span></a>)%<span·class="id"·title="var">uint63</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="lab551"></a><h1·class="section">Conversion·to·/·from·lists</h1> |
58 | </div> | 58 | </div> |
59 | <div·class="code"> | 59 | <div·class="code"> |
60 | <br/> | 60 | <br/> |
61 | <span·class="id"·title="keyword">Definition</span>·<a·id="to_list"·class="idref"·href="#to_list"><span·class="id"·title="definition">to_list</span></a>·(<a·id="s:2"·class="idref"·href="#s:2"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>·:=<br/> | 61 | <span·class="id"·title="keyword">Definition</span>·<a·id="to_list"·class="idref"·href="#to_list"><span·class="id"·title="definition">to_list</span></a>·(<a·id="s:2"·class="idref"·href="#s:2"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Strings.PrimString.html#char63"><span·class="id"·title="definition">char63</span></a>·:=<br/> |
62 | <a·class="idref"·href="Coq.Lists.List.html#map"><span·class="id"·title="definition">List.map</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>·=>·<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:2"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#of_nat"><span·class="id"·title="abbreviation">of_nat</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#i:3"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.Lists.List.html#seq"><span·class="id"·title="definition">List.seq</span></a>·0·(<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_nat"><span·class="id"·title="abbreviation">to_nat</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:2"><span·class="id"·title="variable">s</span></a>))).<br/> | 62 | <a·class="idref"·href="Coq.Lists.List.html#map"><span·class="id"·title="definition">List.map</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>·=>·<span·class="id"·title="var">get</span>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:2"><span·class="id"·title="variable">s</span></a>·(<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#of_nat"><span·class="id"·title="abbreviation">of_nat</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#i:3"><span·class="id"·title="variable">i</span></a>))·(<a·class="idref"·href="Coq.Lists.List.html#seq"><span·class="id"·title="definition">List.seq</span></a>·0·(<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#to_nat"><span·class="id"·title="abbreviation">to_nat</span></a>·(<span·class="id"·title="var">length</span>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:2"><span·class="id"·title="variable">s</span></a>))).<br/> |
Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
87 | <span·class="id"·title="keyword">forall</span>·(<a·id="s:13"·class="idref"·href="#s:13"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>),<br/> | 87 | <span·class="id"·title="keyword">forall</span>·(<a·id="s:13"·class="idref"·href="#s:13"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>),<br/> |
88 | <a·class="idref"·href="Coq.Lists.List.html#Forall"><span·class="id"·title="inductive">List.Forall</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:13"><span·class="id"·title="variable">s</span></a>).<br/> | 88 | <a·class="idref"·href="Coq.Lists.List.html#Forall"><span·class="id"·title="inductive">List.Forall</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#char63_valid"><span·class="id"·title="definition">char63_valid</span></a>·(<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#to_list"><span·class="id"·title="definition">to_list</span></a>·<a·class="idref"·href="Coq.Strings.PrimStringAxioms.html#s:13"><span·class="id"·title="variable">s</span></a>).<br/> |
89 | <br/> | 89 | <br/> |
90 | </div> | 90 | </div> |
91 | <div·class="doc"> | 91 | <div·class="doc"> |
92 | <a·id="lab | 92 | <a·id="lab552"></a><h1·class="section">Axioms·relating·string·operations·with·list·operations</h1> |
93 | </div> | 93 | </div> |
94 | <div·class="code"> | 94 | <div·class="code"> |
95 | <br/> | 95 | <br/> |
96 | <span·class="id"·title="keyword">Axiom</span>·<a·id="length_spec"·class="idref"·href="#length_spec"><span·class="id"·title="axiom">length_spec</span></a>·:<br/> | 96 | <span·class="id"·title="keyword">Axiom</span>·<a·id="length_spec"·class="idref"·href="#length_spec"><span·class="id"·title="axiom">length_spec</span></a>·:<br/> |
97 | <span·class="id"·title="keyword">forall</span>·(<a·id="s:16"·class="idref"·href="#s:16"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>),<br/> | 97 | <span·class="id"·title="keyword">forall</span>·(<a·id="s:16"·class="idref"·href="#s:16"><span·class="id"·title="binder">s</span></a>·:·<span·class="id"·title="var">string</span>),<br/> |
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="lab543"></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 132, 15 lines modified | Offset 132, 15 lines modified | ||
132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_neq"·class="idref"·href="#eqb_neq"><span·class="id"·title="lemma">eqb_neq</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="y:18"·class="idref"·href="#y:18"><span·class="id"·title="binder">y</span></a>·:·(<a·class="idref"·href="Coq.Strings.String.html#x:17"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Strings.String.html#5886275aa8d678ebe8bc38ad41c652c0"><span·class="id"·title="notation">=?</span></a>·<a·class="idref"·href="Coq.Strings.String.html#y:18"><span·class="id"·title="variable">y</span></a>)%<span·class="id"·title="var">string</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<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#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.String.html#x:17"><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.Strings.String.html#y:18"><span·class="id"·title="variable">y</span></a>.··<br/> | 132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_neq"·class="idref"·href="#eqb_neq"><span·class="id"·title="lemma">eqb_neq</span></a>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="y:18"·class="idref"·href="#y:18"><span·class="id"·title="binder">y</span></a>·:·(<a·class="idref"·href="Coq.Strings.String.html#x:17"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Strings.String.html#5886275aa8d678ebe8bc38ad41c652c0"><span·class="id"·title="notation">=?</span></a>·<a·class="idref"·href="Coq.Strings.String.html#y:18"><span·class="id"·title="variable">y</span></a>)%<span·class="id"·title="var">string</span>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<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#::type_scope:x_'<->'_x"><span·class="id"·title="notation"><-></span></a>·<a·class="idref"·href="Coq.Strings.String.html#x:17"><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.Strings.String.html#y:18"><span·class="id"·title="variable">y</span></a>.··<br/> |
133 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_compat"·class="idref"·href="#eqb_compat"><span·class="id"·title="lemma">eqb_compat</span></a>:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Morphisms.Proper</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</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#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>))·<a·class="idref"·href="Coq.Strings.String.html#eqb"><span·class="id"·title="definition">eqb</span></a>.<br/> | 133 | <span·class="id"·title="keyword">Lemma</span>·<a·id="eqb_compat"·class="idref"·href="#eqb_compat"><span·class="id"·title="lemma">eqb_compat</span></a>:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Morphisms.Proper</span></a>·(<a·class="idref"·href="Coq.Classes.Morphisms.html#respectful"><span·class="id"·title="definition">Morphisms.respectful</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#respectful"><span·class="id"·title="definition">Morphisms.respectful</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">eq</span></a>))·<a·class="idref"·href="Coq.Strings.String.html#eqb"><span·class="id"·title="definition">eqb</span></a>.<br/> |
134 | · | 134 | · |
135 | <br/> | 135 | <br/> |
136 | </div> | 136 | </div> |
137 | <div·class="doc"> | 137 | <div·class="doc"> |
138 | <a·id="lab | 138 | <a·id="lab544"></a><h3·class="section">Compare·strings·lexicographically</h3> |
139 | </div> | 139 | </div> |
140 | <div·class="code"> | 140 | <div·class="code"> |
141 | <br/> | 141 | <br/> |
142 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="compare"·class="idref"·href="#compare"><span·class="id"·title="definition">compare</span></a>·(<a·id="s1:19"·class="idref"·href="#s1:19"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:20"·class="idref"·href="#s2:20"><span·class="id"·title="binder">s2</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#comparison"><span·class="id"·title="inductive">comparison</span></a>·:=<br/> | 142 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="compare"·class="idref"·href="#compare"><span·class="id"·title="definition">compare</span></a>·(<a·id="s1:19"·class="idref"·href="#s1:19"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:20"·class="idref"·href="#s2:20"><span·class="id"·title="binder">s2</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·:·<a·class="idref"·href="Coq.Init.Datatypes.html#comparison"><span·class="id"·title="inductive">comparison</span></a>·:=<br/> |
143 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Strings.String.html#s1:19"><span·class="id"·title="variable">s1</span></a>,·<a·class="idref"·href="Coq.Strings.String.html#s2:20"><span·class="id"·title="variable">s2</span></a>·<span·class="id"·title="keyword">with</span><br/> | 143 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Strings.String.html#s1:19"><span·class="id"·title="variable">s1</span></a>,·<a·class="idref"·href="Coq.Strings.String.html#s2:20"><span·class="id"·title="variable">s2</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 182, 15 lines modified | Offset 182, 15 lines modified | ||
182 | <span·class="id"·title="keyword">Infix</span>·<a·id="87601238f1eaf090ffe62946ced339ba"·class="idref"·href="#87601238f1eaf090ffe62946ced339ba"><span·class="id"·title="notation">"</span></a><?"··:=·<a·class="idref"·href="Coq.Strings.String.html#ltb"><span·class="id"·title="definition">ltb</span></a>·····:·<span·class="id"·title="var">string_scope</span>.<br/> | 182 | <span·class="id"·title="keyword">Infix</span>·<a·id="87601238f1eaf090ffe62946ced339ba"·class="idref"·href="#87601238f1eaf090ffe62946ced339ba"><span·class="id"·title="notation">"</span></a><?"··:=·<a·class="idref"·href="Coq.Strings.String.html#ltb"><span·class="id"·title="definition">ltb</span></a>·····:·<span·class="id"·title="var">string_scope</span>.<br/> |
183 | <span·class="id"·title="keyword">Infix</span>·<a·id="942750b36f058c78253954f4d17e5eee"·class="idref"·href="#942750b36f058c78253954f4d17e5eee"><span·class="id"·title="notation">"</span></a><=?"·:=·<a·class="idref"·href="Coq.Strings.String.html#leb"><span·class="id"·title="definition">leb</span></a>·····:·<span·class="id"·title="var">string_scope</span>.<br/> | 183 | <span·class="id"·title="keyword">Infix</span>·<a·id="942750b36f058c78253954f4d17e5eee"·class="idref"·href="#942750b36f058c78253954f4d17e5eee"><span·class="id"·title="notation">"</span></a><=?"·:=·<a·class="idref"·href="Coq.Strings.String.html#leb"><span·class="id"·title="definition">leb</span></a>·····:·<span·class="id"·title="var">string_scope</span>.<br/> |
184 | <br/> | 184 | <br/> |
185 | </div> | 185 | </div> |
186 | <div·class="doc"> | 186 | <div·class="doc"> |
187 | <a·id="lab | 187 | <a·id="lab545"></a><h3·class="section">Concatenation·of·strings</h3> |
188 | </div> | 188 | </div> |
189 | <div·class="code"> | 189 | <div·class="code"> |
190 | <br/> | 190 | <br/> |
191 | <span·class="id"·title="keyword">Reserved·Notation</span>·"x·++·y"·(<span·class="id"·title="tactic">right</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·60).<br/> | 191 | <span·class="id"·title="keyword">Reserved·Notation</span>·"x·++·y"·(<span·class="id"·title="tactic">right</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·60).<br/> |
Offset 273, 15 lines modified | Offset 273, 15 lines modified | ||
273 | <span·class="id"·title="keyword">forall</span>·(<a·id="s1:56"·class="idref"·href="#s1:56"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:57"·class="idref"·href="#s2:57"><span·class="id"·title="binder">s2</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·(<a·id="n:58"·class="idref"·href="#n:58"><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>),<br/> | 273 | <span·class="id"·title="keyword">forall</span>·(<a·id="s1:56"·class="idref"·href="#s1:56"><span·class="id"·title="binder">s1</span></a>·<a·id="s2:57"·class="idref"·href="#s2:57"><span·class="id"·title="binder">s2</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·(<a·id="n:58"·class="idref"·href="#n:58"><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>),<br/> |
274 | <a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·<a·class="idref"·href="Coq.Strings.String.html#n:58"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s2:57"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#n:58"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Strings.String.html#length"><span·class="id"·title="definition">length</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s1:56"><span·class="id"·title="variable">s1</span></a>)·(<a·class="idref"·href="Coq.Strings.String.html#s1:56"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s2:57"><span·class="id"·title="variable">s2</span></a>).<br/> | 274 | <a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·<a·class="idref"·href="Coq.Strings.String.html#n:58"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s2:57"><span·class="id"·title="variable">s2</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#n:58"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Strings.String.html#length"><span·class="id"·title="definition">length</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s1:56"><span·class="id"·title="variable">s1</span></a>)·(<a·class="idref"·href="Coq.Strings.String.html#s1:56"><span·class="id"·title="variable">s1</span></a>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s2:57"><span·class="id"·title="variable">s2</span></a>).<br/> |
275 | <br/> | 275 | <br/> |
276 | </div> | 276 | </div> |
277 | <div·class="doc"> | 277 | <div·class="doc"> |
278 | <a·id="lab | 278 | <a·id="lab546"></a><h3·class="section">Substrings</h3> |
279 | <div·class="paragraph">·</div> | 279 | <div·class="paragraph">·</div> |
280 | ·<span·class="inlinecode"><span·class="id"·title="var">substring</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·returns·the·substring·of·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·that·starts | 280 | ·<span·class="inlinecode"><span·class="id"·title="var">substring</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·returns·the·substring·of·<span·class="inlinecode"><span·class="id"·title="var">s</span></span>·that·starts |
281 | ····at·position·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·and·of·length·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>; | 281 | ····at·position·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·and·of·length·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>; |
282 | ····if·this·does·not·make·sense·it·returns·<span·class="inlinecode">""</span>· | 282 | ····if·this·does·not·make·sense·it·returns·<span·class="inlinecode">""</span>· |
283 | </div> | 283 | </div> |
Offset 322, 15 lines modified | Offset 322, 15 lines modified | ||
322 | <span·class="id"·title="keyword">Theorem</span>·<a·id="substring_correct2"·class="idref"·href="#substring_correct2"><span·class="id"·title="lemma">substring_correct2</span></a>·:<br/> | 322 | <span·class="id"·title="keyword">Theorem</span>·<a·id="substring_correct2"·class="idref"·href="#substring_correct2"><span·class="id"·title="lemma">substring_correct2</span></a>·:<br/> |
323 | <span·class="id"·title="keyword">forall</span>·(<a·id="s:70"·class="idref"·href="#s:70"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·(<a·id="n:71"·class="idref"·href="#n:71"><span·class="id"·title="binder">n</span></a>·<a·id="m:72"·class="idref"·href="#m:72"><span·class="id"·title="binder">m</span></a>·<a·id="p:73"·class="idref"·href="#p:73"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),·<a·class="idref"·href="Coq.Strings.String.html#m:72"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#p:73"><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>·<a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·<a·class="idref"·href="Coq.Strings.String.html#p:73"><span·class="id"·title="variable">p</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#substring"><span·class="id"·title="definition">substring</span></a>·<a·class="idref"·href="Coq.Strings.String.html#n:71"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Strings.String.html#m:72"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:70"><span·class="id"·title="variable">s</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#None"><span·class="id"·title="constructor">None</span></a>.<br/> | 323 | <span·class="id"·title="keyword">forall</span>·(<a·id="s:70"·class="idref"·href="#s:70"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a>)·(<a·id="n:71"·class="idref"·href="#n:71"><span·class="id"·title="binder">n</span></a>·<a·id="m:72"·class="idref"·href="#m:72"><span·class="id"·title="binder">m</span></a>·<a·id="p:73"·class="idref"·href="#p:73"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>),·<a·class="idref"·href="Coq.Strings.String.html#m:72"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#p:73"><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>·<a·class="idref"·href="Coq.Strings.String.html#get"><span·class="id"·title="definition">get</span></a>·<a·class="idref"·href="Coq.Strings.String.html#p:73"><span·class="id"·title="variable">p</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#substring"><span·class="id"·title="definition">substring</span></a>·<a·class="idref"·href="Coq.Strings.String.html#n:71"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Strings.String.html#m:72"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:70"><span·class="id"·title="variable">s</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#None"><span·class="id"·title="constructor">None</span></a>.<br/> |
324 | <br/> | 324 | <br/> |
325 | </div> | 325 | </div> |
326 | <div·class="doc"> | 326 | <div·class="doc"> |
327 | <a·id="lab | 327 | <a·id="lab547"></a><h3·class="section">Concatenating·lists·of·strings</h3> |
328 | <div·class="paragraph">·</div> | 328 | <div·class="paragraph">·</div> |
329 | ·<span·class="inlinecode"><span·class="id"·title="var">concat</span></span>·<span·class="inlinecode"><span·class="id"·title="var">sep</span></span>·<span·class="inlinecode"><span·class="id"·title="var">sl</span></span>·concatenates·the·list·of·strings·<span·class="inlinecode"><span·class="id"·title="var">sl</span></span>,·inserting | 329 | ·<span·class="inlinecode"><span·class="id"·title="var">concat</span></span>·<span·class="inlinecode"><span·class="id"·title="var">sep</span></span>·<span·class="inlinecode"><span·class="id"·title="var">sl</span></span>·concatenates·the·list·of·strings·<span·class="inlinecode"><span·class="id"·title="var">sl</span></span>,·inserting |
330 | ····the·separator·string·<span·class="inlinecode"><span·class="id"·title="var">sep</span></span>·between·each.· | 330 | ····the·separator·string·<span·class="inlinecode"><span·class="id"·title="var">sep</span></span>·between·each.· |
331 | </div> | 331 | </div> |
332 | <div·class="code"> | 332 | <div·class="code"> |
Offset 343, 15 lines modified | Offset 343, 15 lines modified | ||
343 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#cons"><span·class="id"·title="constructor">cons</span></a>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">xs</span>·=>·<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#sep:74"><span·class="id"·title="variable">sep</span></a>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#concat:76"><span·class="id"·title="definition">concat</span></a>·<a·class="idref"·href="Coq.Strings.String.html#sep:74"><span·class="id"·title="variable">sep</span></a>·<span·class="id"·title="var">xs</span><br/> | 343 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#cons"><span·class="id"·title="constructor">cons</span></a>·<span·class="id"·title="var">x</span>·<span·class="id"·title="var">xs</span>·=>·<span·class="id"·title="var">x</span>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#sep:74"><span·class="id"·title="variable">sep</span></a>·<a·class="idref"·href="Coq.Strings.String.html#169ad156fbc6036a53a0338819a2b301"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Strings.String.html#concat:76"><span·class="id"·title="definition">concat</span></a>·<a·class="idref"·href="Coq.Strings.String.html#sep:74"><span·class="id"·title="variable">sep</span></a>·<span·class="id"·title="var">xs</span><br/> |
344 | <span·class="id"·title="keyword">end</span>.<br/> | 344 | <span·class="id"·title="keyword">end</span>.<br/> |
345 | <br/> | 345 | <br/> |
346 | </div> | 346 | </div> |
347 | <div·class="doc"> | 347 | <div·class="doc"> |
348 | <a·id="lab | 348 | <a·id="lab548"></a><h3·class="section">Test·functions</h3> |
349 | <div·class="paragraph">·</div> | 349 | <div·class="paragraph">·</div> |
350 | ·Test·if·<span·class="inlinecode"><span·class="id"·title="var">s1</span></span>·is·a·prefix·of·<span·class="inlinecode"><span·class="id"·title="var">s2</span></span>· | 350 | ·Test·if·<span·class="inlinecode"><span·class="id"·title="var">s1</span></span>·is·a·prefix·of·<span·class="inlinecode"><span·class="id"·title="var">s2</span></span>· |
351 | </div> | 351 | </div> |
352 | <div·class="code"> | 352 | <div·class="code"> |
Offset 495, 15 lines modified | Offset 495, 15 lines modified | ||
495 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a><br/> | 495 | |·<a·class="idref"·href="Coq.Init.Datatypes.html#None"><span·class="id"·title="constructor">None</span></a>·=>·<a·class="idref"·href="Coq.Init.Datatypes.html#O"><span·class="id"·title="constructor">O</span></a><br/> |
496 | <span·class="id"·title="keyword">end</span>.<br/> | 496 | <span·class="id"·title="keyword">end</span>.<br/> |
497 | <br/> | 497 | <br/> |
498 | </div> | 498 | </div> |
499 | <div·class="doc"> | 499 | <div·class="doc"> |
500 | <a·id="lab | 500 | <a·id="lab549"></a><h3·class="section">Conversion·to/from·<span·class="inlinecode"><span·class="id"·title="var">list</span></span>·<span·class="inlinecode"><span·class="id"·title="var">ascii</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">list</span></span>·<span·class="inlinecode"><span·class="id"·title="var">byte</span></span></h3> |
501 | </div> | 501 | </div> |
502 | <div·class="code"> | 502 | <div·class="code"> |
503 | <br/> | 503 | <br/> |
504 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="string_of_list_ascii"·class="idref"·href="#string_of_list_ascii"><span·class="id"·title="definition">string_of_list_ascii</span></a>·(<a·id="s:110"·class="idref"·href="#s:110"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#ascii"><span·class="id"·title="inductive">ascii</span></a>)·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a><br/> | 504 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="string_of_list_ascii"·class="idref"·href="#string_of_list_ascii"><span·class="id"·title="definition">string_of_list_ascii</span></a>·(<a·id="s:110"·class="idref"·href="#s:110"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#list"><span·class="id"·title="inductive">list</span></a>·<a·class="idref"·href="Coq.Strings.Ascii.html#ascii"><span·class="id"·title="inductive">ascii</span></a>)·:·<a·class="idref"·href="Coq.Strings.String.html#string"><span·class="id"·title="inductive">string</span></a><br/> |
505 | :=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Strings.String.html#s:110"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> | 505 | :=·<span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.Strings.String.html#s:110"><span·class="id"·title="variable">s</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 538, 15 lines modified | Offset 538, 15 lines modified | ||
538 | <br/> | 538 | <br/> |
539 | <span·class="id"·title="keyword">Lemma</span>·<a·id="list_byte_of_string_of_list_byte"·class="idref"·href="#list_byte_of_string_of_list_byte"><span·class="id"·title="lemma">list_byte_of_string_of_list_byte</span></a>·<a·id="s:121"·class="idref"·href="#s:121"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#list_byte_of_string"><span·class="id"·title="definition">list_byte_of_string</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#string_of_list_byte"><span·class="id"·title="definition">string_of_list_byte</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:121"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:121"><span·class="id"·title="variable">s</span></a>.<br/> | 539 | <span·class="id"·title="keyword">Lemma</span>·<a·id="list_byte_of_string_of_list_byte"·class="idref"·href="#list_byte_of_string_of_list_byte"><span·class="id"·title="lemma">list_byte_of_string_of_list_byte</span></a>·<a·id="s:121"·class="idref"·href="#s:121"><span·class="id"·title="binder">s</span></a>·:·<a·class="idref"·href="Coq.Strings.String.html#list_byte_of_string"><span·class="id"·title="definition">list_byte_of_string</span></a>·(<a·class="idref"·href="Coq.Strings.String.html#string_of_list_byte"><span·class="id"·title="definition">string_of_list_byte</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:121"><span·class="id"·title="variable">s</span></a>)·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Strings.String.html#s:121"><span·class="id"·title="variable">s</span></a>.<br/> |
540 | <br/> | 540 | <br/> |
541 | </div> | 541 | </div> |
542 | <div·class="doc"> | 542 | <div·class="doc"> |
543 | <a·id="lab | 543 | <a·id="lab550"></a><h3·class="section">Concrete·syntax</h3> |
544 | <div·class="paragraph">·</div> | 544 | <div·class="paragraph">·</div> |
545 | <div·class="paragraph">·</div> | 545 | <div·class="paragraph">·</div> |
546 | ··The·concrete·syntax·for·strings·in·scope·string_scope·follows·the | 546 | ··The·concrete·syntax·for·strings·in·scope·string_scope·follows·the |
Max diff block lines reached; -1/15476 bytes (-0.01%) of diff not shown. |
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="lab1005"></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="lab1006"></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="lab1007"></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="lab | 58 | <a·id="lab1008"></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="lab1017"></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="lab1018"></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 105, 30 lines modified | Offset 105, 30 lines modified | ||
105 | <br/> | 105 | <br/> |
106 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Eq'"·class="idref"·href="#Eq'"><span·class="id"·title="module">Eq'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>.<br/> | 106 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Eq'"·class="idref"·href="#Eq'"><span·class="id"·title="module">Eq'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>.<br/> |
107 | <br/> | 107 | <br/> |
108 | </div> | 108 | </div> |
109 | <div·class="doc"> | 109 | <div·class="doc"> |
110 | <a·id="lab | 110 | <a·id="lab1019"></a><h1·class="section">Specification·of·the·equality·via·the·<span·class="inlinecode"><span·class="id"·title="var">Equivalence</span></span>·type·class</h1> |
111 | </div> | 111 | </div> |
112 | <div·class="code"> | 112 | <div·class="code"> |
113 | <br/> | 113 | <br/> |
114 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsEq"·class="idref"·href="#IsEq"><span·class="id"·title="module">IsEq</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>).<br/> | 114 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsEq"·class="idref"·href="#IsEq"><span·class="id"·title="module">IsEq</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>).<br/> |
115 | #[<span·class="id"·title="var">global</span>]<br/> | 115 | #[<span·class="id"·title="var">global</span>]<br/> |
116 | <span·class="id"·title="var">Declare</span>·<span·class="id"·title="keyword">Instance</span>·<a·id="IsEq.eq_equiv"·class="idref"·href="#IsEq.eq_equiv"><span·class="id"·title="instance">eq_equiv</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E.eq"><span·class="id"·title="axiom">eq</span></a>.<br/> | 116 | <span·class="id"·title="var">Declare</span>·<span·class="id"·title="keyword">Instance</span>·<a·id="IsEq.eq_equiv"·class="idref"·href="#IsEq.eq_equiv"><span·class="id"·title="instance">eq_equiv</span></a>·:·<a·class="idref"·href="Coq.Classes.RelationClasses.html#Equivalence"><span·class="id"·title="class">Equivalence</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E.eq"><span·class="id"·title="axiom">eq</span></a>.<br/> |
117 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>.<br/> | 117 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>.<br/> |
118 | <br/> | 118 | <br/> |
119 | </div> | 119 | </div> |
120 | <div·class="doc"> | 120 | <div·class="doc"> |
121 | <a·id="lab | 121 | <a·id="lab1020"></a><h1·class="section">Earlier·specification·of·equality·by·three·separate·lemmas.</h1> |
122 | </div> | 122 | </div> |
123 | <div·class="code"> | 123 | <div·class="code"> |
124 | <br/> | 124 | <br/> |
125 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsEqOrig"·class="idref"·href="#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq'"><span·class="id"·title="module">Eq'</span></a>).<br/> | 125 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsEqOrig"·class="idref"·href="#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq'"><span·class="id"·title="module">Eq'</span></a>).<br/> |
126 | <span·class="id"·title="keyword">Axiom</span>·<a·id="IsEqOrig.eq_refl"·class="idref"·href="#IsEqOrig.eq_refl"><span·class="id"·title="axiom">eq_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#E.t"><span·class="id"·title="axiom">t</span></a>,·<a·class="idref"·href="Coq.Structures.Equalities.html#x:5"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> | 126 | <span·class="id"·title="keyword">Axiom</span>·<a·id="IsEqOrig.eq_refl"·class="idref"·href="#IsEqOrig.eq_refl"><span·class="id"·title="axiom">eq_refl</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:5"·class="idref"·href="#x:5"><span·class="id"·title="binder">x</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#E.t"><span·class="id"·title="axiom">t</span></a>,·<a·class="idref"·href="Coq.Structures.Equalities.html#x:5"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#x:5"><span·class="id"·title="variable">x</span></a>.<br/> |
Offset 140, 29 lines modified | Offset 140, 29 lines modified | ||
140 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">eq_refl</span>·<span·class="id"·title="var">eq_trans</span>·:·<span·class="id"·title="var">core</span>.<br/> | 140 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">eq_refl</span>·<span·class="id"·title="var">eq_trans</span>·:·<span·class="id"·title="var">core</span>.<br/> |
141 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>.<br/> | 141 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>.<br/> |
142 | <br/> | 142 | <br/> |
143 | </div> | 143 | </div> |
144 | <div·class="doc"> | 144 | <div·class="doc"> |
145 | <a·id="lab | 145 | <a·id="lab1021"></a><h1·class="section">Types·with·decidable·equality</h1> |
146 | </div> | 146 | </div> |
147 | <div·class="code"> | 147 | <div·class="code"> |
148 | <br/> | 148 | <br/> |
149 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasEqDec"·class="idref"·href="#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq'"><span·class="id"·title="module">Eq'</span></a>).<br/> | 149 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasEqDec"·class="idref"·href="#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq'"><span·class="id"·title="module">Eq'</span></a>).<br/> |
150 | <span·class="id"·title="keyword">Parameter</span>·<a·id="HasEqDec.eq_dec"·class="idref"·href="#HasEqDec.eq_dec"><span·class="id"·title="axiom">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="y:18"·class="idref"·href="#y:18"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#E.t"><span·class="id"·title="axiom">t</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:17"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#y:18"><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.Structures.Equalities.html#x:17"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#y:18"><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/> | 150 | <span·class="id"·title="keyword">Parameter</span>·<a·id="HasEqDec.eq_dec"·class="idref"·href="#HasEqDec.eq_dec"><span·class="id"·title="axiom">eq_dec</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:17"·class="idref"·href="#x:17"><span·class="id"·title="binder">x</span></a>·<a·id="y:18"·class="idref"·href="#y:18"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.Equalities.html#E.t"><span·class="id"·title="axiom">t</span></a>,·<a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:17"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#y:18"><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.Structures.Equalities.html#x:17"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#y:18"><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/> |
151 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>.<br/> | 151 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>.<br/> |
152 | <br/> | 152 | <br/> |
153 | </div> | 153 | </div> |
154 | <div·class="doc"> | 154 | <div·class="doc"> |
155 | <a·id="lab | 155 | <a·id="lab1022"></a><h1·class="section">Boolean·Equality</h1> |
156 | <div·class="paragraph">·</div> | 156 | <div·class="paragraph">·</div> |
157 | ·Having·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·is·the·same·as·having·a·boolean·equality·plus | 157 | ·Having·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·is·the·same·as·having·a·boolean·equality·plus |
158 | ····a·correctness·proof.· | 158 | ····a·correctness·proof.· |
159 | </div> | 159 | </div> |
160 | <div·class="code"> | 160 | <div·class="code"> |
Offset 249, 15 lines modified | Offset 249, 15 lines modified | ||
249 | <a·class="idref"·href="Coq.Structures.Equalities.html#BooleanDecidableType"><span·class="id"·title="module">BooleanDecidableType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqbNotation"><span·class="id"·title="module">EqbNotation</span></a>.<br/> | 249 | <a·class="idref"·href="Coq.Structures.Equalities.html#BooleanDecidableType"><span·class="id"·title="module">BooleanDecidableType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqbNotation"><span·class="id"·title="module">EqbNotation</span></a>.<br/> |
250 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="DecidableTypeFull'"·class="idref"·href="#DecidableTypeFull'"><span·class="id"·title="module">DecidableTypeFull'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeFull"><span·class="id"·title="module">DecidableTypeFull</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>.<br/> | 250 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="DecidableTypeFull'"·class="idref"·href="#DecidableTypeFull'"><span·class="id"·title="module">DecidableTypeFull'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeFull"><span·class="id"·title="module">DecidableTypeFull</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#EqNotation"><span·class="id"·title="module">EqNotation</span></a>.<br/> |
251 | <br/> | 251 | <br/> |
252 | </div> | 252 | </div> |
253 | <div·class="doc"> | 253 | <div·class="doc"> |
254 | <a·id="lab | 254 | <a·id="lab1023"></a><h1·class="section">Compatibility·wrapper·from/to·the·old·version·of</h1> |
255 | ······<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>· | 255 | ······<span·class="inlinecode"><span·class="id"·title="var">EqualityType</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>· |
256 | </div> | 256 | </div> |
257 | <div·class="code"> | 257 | <div·class="code"> |
258 | <br/> | 258 | <br/> |
259 | <span·class="id"·title="keyword">Module</span>·<a·id="BackportEq"·class="idref"·href="#BackportEq"><span·class="id"·title="module">BackportEq</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>)(<span·class="id"·title="var">F</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 259 | <span·class="id"·title="keyword">Module</span>·<a·id="BackportEq"·class="idref"·href="#BackportEq"><span·class="id"·title="module">BackportEq</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>)(<span·class="id"·title="var">F</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#IsEqOrig"><span·class="id"·title="module">IsEqOrig</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>.<br/> |
Offset 288, 15 lines modified | Offset 288, 15 lines modified | ||
288 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_DT"·class="idref"·href="#Update_DT"><span·class="id"·title="module">Update_DT</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeOrig"><span·class="id"·title="module">DecidableTypeOrig</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeBoth"><span·class="id"·title="module">DecidableTypeBoth</span></a><br/> | 288 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_DT"·class="idref"·href="#Update_DT"><span·class="id"·title="module">Update_DT</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeOrig"><span·class="id"·title="module">DecidableTypeOrig</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#DecidableTypeBoth"><span·class="id"·title="module">DecidableTypeBoth</span></a><br/> |
289 | :=·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#UpdateEq"><span·class="id"·title="module">UpdateEq</span></a>.<br/> | 289 | :=·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Equalities.html#UpdateEq"><span·class="id"·title="module">UpdateEq</span></a>.<br/> |
290 | <br/> | 290 | <br/> |
291 | </div> | 291 | </div> |
292 | <div·class="doc"> | 292 | <div·class="doc"> |
293 | <a·id="lab | 293 | <a·id="lab1024"></a><h1·class="section">Having·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·is·equivalent·to·having·<span·class="inlinecode"><span·class="id"·title="var">eqb</span></span>·and·its·spec.</h1> |
294 | </div> | 294 | </div> |
295 | <div·class="code"> | 295 | <div·class="code"> |
296 | <br/> | 296 | <br/> |
297 | <span·class="id"·title="keyword">Module</span>·<a·id="HasEqDec2Bool"·class="idref"·href="#HasEqDec2Bool"><span·class="id"·title="module">HasEqDec2Bool</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>)(<span·class="id"·title="var">F</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqBool"><span·class="id"·title="module">HasEqBool</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 297 | <span·class="id"·title="keyword">Module</span>·<a·id="HasEqDec2Bool"·class="idref"·href="#HasEqDec2Bool"><span·class="id"·title="module">HasEqDec2Bool</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#Eq"><span·class="id"·title="module">Eq</span></a>)(<span·class="id"·title="var">F</span>:<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqDec"><span·class="id"·title="module">HasEqDec</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Equalities.html#HasEqBool"><span·class="id"·title="module">HasEqBool</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#E"><span·class="id"·title="module">E</span></a>.<br/> |
298 | <span·class="id"·title="keyword">Definition</span>·<a·id="HasEqDec2Bool.eqb"·class="idref"·href="#HasEqDec2Bool.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="y:28"·class="idref"·href="#y:28"><span·class="id"·title="binder">y</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#F.eq_dec"><span·class="id"·title="axiom">F.eq_dec</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#y:28"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> | 298 | <span·class="id"·title="keyword">Definition</span>·<a·id="HasEqDec2Bool.eqb"·class="idref"·href="#HasEqDec2Bool.eqb"><span·class="id"·title="definition">eqb</span></a>·<a·id="x:27"·class="idref"·href="#x:27"><span·class="id"·title="binder">x</span></a>·<a·id="y:28"·class="idref"·href="#y:28"><span·class="id"·title="binder">y</span></a>·:=·<span·class="id"·title="keyword">if</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#F.eq_dec"><span·class="id"·title="axiom">F.eq_dec</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#x:27"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#y:28"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">then</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#true"><span·class="id"·title="constructor">true</span></a>·<span·class="id"·title="keyword">else</span>·<a·class="idref"·href="Coq.Init.Datatypes.html#false"><span·class="id"·title="constructor">false</span></a>.<br/> |
Offset 386, 15 lines modified | Offset 386, 15 lines modified | ||
386 | <br/> | 386 | <br/> |
387 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#BoolEqualityFacts"><span·class="id"·title="module">BoolEqualityFacts</span></a>.<br/> | 387 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Equalities.html#BoolEqualityFacts"><span·class="id"·title="module">BoolEqualityFacts</span></a>.<br/> |
388 | <br/> | 388 | <br/> |
Max diff block lines reached; 352/15542 bytes (2.26%) of diff not shown. |
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="lab985"></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 223, 15 lines modified | Offset 223, 15 lines modified | ||
223 | <br/> | 223 | <br/> |
224 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>.<br/> | 224 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>.<br/> |
225 | <br/> | 225 | <br/> |
226 | </div> | 226 | </div> |
227 | <div·class="doc"> | 227 | <div·class="doc"> |
228 | <a·id="lab | 228 | <a·id="lab986"></a><h1·class="section">PairDecidableType</h1> |
229 | <div·class="paragraph">·</div> | 229 | <div·class="paragraph">·</div> |
230 | ···From·two·decidable·types,·we·can·build·a·new·DecidableType | 230 | ···From·two·decidable·types,·we·can·build·a·new·DecidableType |
231 | ···over·their·cartesian·product.· | 231 | ···over·their·cartesian·product.· |
232 | </div> | 232 | </div> |
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="lab996"></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="lab997"></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 78, 15 lines modified | Offset 78, 15 lines modified | ||
78 | <br/> | 78 | <br/> |
79 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasMinMax"·class="idref"·href="#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLe"><span·class="id"·title="module">EqLe</span></a>)·:=·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMax"><span·class="id"·title="module">HasMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMin"><span·class="id"·title="module">HasMin</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 79 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="HasMinMax"·class="idref"·href="#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLe"><span·class="id"·title="module">EqLe</span></a>)·:=·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMax"><span·class="id"·title="module">HasMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMin"><span·class="id"·title="module">HasMin</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#E"><span·class="id"·title="module">E</span></a>.<br/> |
80 | <br/> | 80 | <br/> |
81 | </div> | 81 | </div> |
82 | <div·class="doc"> | 82 | <div·class="doc"> |
83 | <a·id="lab | 83 | <a·id="lab998"></a><h2·class="section">Any·<span·class="inlinecode"><span·class="id"·title="var">OrderedTypeFull</span></span>·can·be·equipped·by·<span·class="inlinecode"><span·class="id"·title="var">max</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">min</span></span></h2> |
84 | ····based·on·the·compare·function.· | 84 | ····based·on·the·compare·function.· |
85 | </div> | 85 | </div> |
86 | <div·class="code"> | 86 | <div·class="code"> |
87 | <br/> | 87 | <br/> |
88 | <span·class="id"·title="keyword">Definition</span>·<a·id="gmax"·class="idref"·href="#gmax"><span·class="id"·title="definition">gmax</span></a>·{<a·id="A:21"·class="idref"·href="#A:21"><span·class="id"·title="binder">A</span></a>}·(<a·id="cmp:22"·class="idref"·href="#cmp:22"><span·class="id"·title="binder">cmp</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#A:21"><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.Structures.GenericMinMax.html#A:21"><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.Init.Datatypes.html#comparison"><span·class="id"·title="inductive">comparison</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>·:=<br/> | 88 | <span·class="id"·title="keyword">Definition</span>·<a·id="gmax"·class="idref"·href="#gmax"><span·class="id"·title="definition">gmax</span></a>·{<a·id="A:21"·class="idref"·href="#A:21"><span·class="id"·title="binder">A</span></a>}·(<a·id="cmp:22"·class="idref"·href="#cmp:22"><span·class="id"·title="binder">cmp</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#A:21"><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.Structures.GenericMinMax.html#A:21"><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.Init.Datatypes.html#comparison"><span·class="id"·title="inductive">comparison</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>·:=<br/> |
Offset 119, 15 lines modified | Offset 119, 15 lines modified | ||
119 | <br/> | 119 | <br/> |
120 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#GenericMinMax"><span·class="id"·title="module">GenericMinMax</span></a>.<br/> | 120 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#GenericMinMax"><span·class="id"·title="module">GenericMinMax</span></a>.<br/> |
121 | <br/> | 121 | <br/> |
122 | </div> | 122 | </div> |
123 | <div·class="doc"> | 123 | <div·class="doc"> |
124 | <a·id="lab | 124 | <a·id="lab999"></a><h2·class="section">Consequences·of·the·minimalist·interface:·facts·about·<span·class="inlinecode"><span·class="id"·title="var">max</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">min</span></span>.</h2> |
125 | </div> | 125 | </div> |
126 | <div·class="code"> | 126 | <div·class="code"> |
127 | <br/> | 127 | <br/> |
128 | <span·class="id"·title="keyword">Module</span>·<a·id="MinMaxLogicalProperties"·class="idref"·href="#MinMaxLogicalProperties"><span·class="id"·title="module">MinMaxLogicalProperties</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder'"><span·class="id"·title="module">TotalOrder'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 128 | <span·class="id"·title="keyword">Module</span>·<a·id="MinMaxLogicalProperties"·class="idref"·href="#MinMaxLogicalProperties"><span·class="id"·title="module">MinMaxLogicalProperties</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder'"><span·class="id"·title="module">TotalOrder'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>).<br/> |
129 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="MinMaxLogicalProperties.Private_Tac"·class="idref"·href="#MinMaxLogicalProperties.Private_Tac"><span·class="id"·title="module">Private_Tac</span></a>·:=·!<a·class="idref"·href="Coq.Structures.OrdersTac.html#MakeOrderTac"><span·class="id"·title="module">MakeOrderTac</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>.<br/> | 129 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="MinMaxLogicalProperties.Private_Tac"·class="idref"·href="#MinMaxLogicalProperties.Private_Tac"><span·class="id"·title="module">Private_Tac</span></a>·:=·!<a·class="idref"·href="Coq.Structures.OrdersTac.html#MakeOrderTac"><span·class="id"·title="module">MakeOrderTac</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>.<br/> |
Offset 197, 15 lines modified | Offset 197, 15 lines modified | ||
197 | <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.Structures.GenericMinMax.html#O.le"><span·class="id"·title="axiom">le</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O.le"><span·class="id"·title="axiom">le</span></a>)·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><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>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 197 | <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.Structures.GenericMinMax.html#O.le"><span·class="id"·title="axiom">le</span></a>·<a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O.le"><span·class="id"·title="axiom">le</span></a>)·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><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>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
198 | <span·class="id"·title="keyword">forall</span>·<a·id="x:52"·class="idref"·href="#x:52"><span·class="id"·title="binder">x</span></a>·<a·id="y:53"·class="idref"·href="#y:53"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#x:52"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#y:53"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#y:53"><span·class="id"·title="variable">y</span></a>).<br/> | 198 | <span·class="id"·title="keyword">forall</span>·<a·id="x:52"·class="idref"·href="#x:52"><span·class="id"·title="binder">x</span></a>·<a·id="y:53"·class="idref"·href="#y:53"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#x:52"><span·class="id"·title="variable">x</span></a>)·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#y:53"><span·class="id"·title="variable">y</span></a>)·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#f:51"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#x:52"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#y:53"><span·class="id"·title="variable">y</span></a>).<br/> |
199 | <br/> | 199 | <br/> |
200 | </div> | 200 | </div> |
201 | <div·class="doc"> | 201 | <div·class="doc"> |
202 | <a·id="lab | 202 | <a·id="lab1000"></a><h3·class="section">Semi-lattice·algebraic·properties·of·<span·class="inlinecode"><span·class="id"·title="var">max</span></span></h3> |
203 | </div> | 203 | </div> |
204 | <div·class="code"> | 204 | <div·class="code"> |
205 | <br/> | 205 | <br/> |
206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.max_id"·class="idref"·href="#MinMaxLogicalProperties.max_id"><span·class="id"·title="lemma">max_id</span></a>·<a·id="n:54"·class="idref"·href="#n:54"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>.<br/> | 206 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.max_id"·class="idref"·href="#MinMaxLogicalProperties.max_id"><span·class="id"·title="lemma">max_id</span></a>·<a·id="n:54"·class="idref"·href="#n:54"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:54"><span·class="id"·title="variable">n</span></a>.<br/> |
Offset 224, 15 lines modified | Offset 224, 15 lines modified | ||
224 | <span·class="id"·title="tactic">destruct</span>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxLogicalProperties.max_spec"><span·class="id"·title="lemma">max_spec</span></a>·<span·class="id"·title="var">n</span>·<span·class="id"·title="var">m</span>);·<span·class="id"·title="tactic">intuition</span>;·<span·class="id"·title="var">order</span><br/> | 224 | <span·class="id"·title="tactic">destruct</span>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxLogicalProperties.max_spec"><span·class="id"·title="lemma">max_spec</span></a>·<span·class="id"·title="var">n</span>·<span·class="id"·title="var">m</span>);·<span·class="id"·title="tactic">intuition</span>;·<span·class="id"·title="var">order</span><br/> |
225 | <span·class="id"·title="keyword">end</span>.<br/> | 225 | <span·class="id"·title="keyword">end</span>.<br/> |
226 | <br/> | 226 | <br/> |
227 | </div> | 227 | </div> |
228 | <div·class="doc"> | 228 | <div·class="doc"> |
229 | <a·id="lab | 229 | <a·id="lab1001"></a><h3·class="section">Least-upper·bound·properties·of·<span·class="inlinecode"><span·class="id"·title="var">max</span></span></h3> |
230 | </div> | 230 | </div> |
231 | <div·class="code"> | 231 | <div·class="code"> |
232 | <br/> | 232 | <br/> |
233 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.le_max_l"·class="idref"·href="#MinMaxLogicalProperties.le_max_l"><span·class="id"·title="lemma">le_max_l</span></a>·<a·id="n:60"·class="idref"·href="#n:60"><span·class="id"·title="binder">n</span></a>·<a·id="m:61"·class="idref"·href="#m:61"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:60"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:60"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:61"><span·class="id"·title="variable">m</span></a>.<br/> | 233 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.le_max_l"·class="idref"·href="#MinMaxLogicalProperties.le_max_l"><span·class="id"·title="lemma">le_max_l</span></a>·<a·id="n:60"·class="idref"·href="#n:60"><span·class="id"·title="binder">n</span></a>·<a·id="m:61"·class="idref"·href="#m:61"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:60"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:60"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:61"><span·class="id"·title="variable">m</span></a>.<br/> |
234 | · | 234 | · |
Offset 383, 15 lines modified | Offset 383, 15 lines modified | ||
383 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.min_le_compat"·class="idref"·href="#MinMaxLogicalProperties.min_le_compat"><span·class="id"·title="lemma">min_le_compat</span></a>·<a·id="n:167"·class="idref"·href="#n:167"><span·class="id"·title="binder">n</span></a>·<a·id="m:168"·class="idref"·href="#m:168"><span·class="id"·title="binder">m</span></a>·<a·id="p:169"·class="idref"·href="#p:169"><span·class="id"·title="binder">p</span></a>·<a·id="q:170"·class="idref"·href="#q:170"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:167"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:168"><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.Structures.GenericMinMax.html#p:169"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#q:170"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 383 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.min_le_compat"·class="idref"·href="#MinMaxLogicalProperties.min_le_compat"><span·class="id"·title="lemma">min_le_compat</span></a>·<a·id="n:167"·class="idref"·href="#n:167"><span·class="id"·title="binder">n</span></a>·<a·id="m:168"·class="idref"·href="#m:168"><span·class="id"·title="binder">m</span></a>·<a·id="p:169"·class="idref"·href="#p:169"><span·class="id"·title="binder">p</span></a>·<a·id="q:170"·class="idref"·href="#q:170"><span·class="id"·title="binder">q</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:167"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:168"><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.Structures.GenericMinMax.html#p:169"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#q:170"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
384 | <a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:167"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#p:169"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:168"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#q:170"><span·class="id"·title="variable">q</span></a>.<br/> | 384 | <a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:167"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#p:169"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#6733f1c73babd16d47d3db78628c74d6"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:168"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#q:170"><span·class="id"·title="variable">q</span></a>.<br/> |
385 | <br/> | 385 | <br/> |
386 | </div> | 386 | </div> |
387 | <div·class="doc"> | 387 | <div·class="doc"> |
388 | <a·id="lab | 388 | <a·id="lab1002"></a><h3·class="section">Combined·properties·of·min·and·max</h3> |
389 | </div> | 389 | </div> |
390 | <div·class="code"> | 390 | <div·class="code"> |
391 | <br/> | 391 | <br/> |
392 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.min_max_absorption"·class="idref"·href="#MinMaxLogicalProperties.min_max_absorption"><span·class="id"·title="lemma">min_max_absorption</span></a>·<a·id="n:171"·class="idref"·href="#n:171"><span·class="id"·title="binder">n</span></a>·<a·id="m:172"·class="idref"·href="#m:172"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:172"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>.<br/> | 392 | <span·class="id"·title="keyword">Lemma</span>·<a·id="MinMaxLogicalProperties.min_max_absorption"·class="idref"·href="#MinMaxLogicalProperties.min_max_absorption"><span·class="id"·title="lemma">min_max_absorption</span></a>·<a·id="n:171"·class="idref"·href="#n:171"><span·class="id"·title="binder">n</span></a>·<a·id="m:172"·class="idref"·href="#m:172"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.max"><span·class="id"·title="axiom">max</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>·(<a·class="idref"·href="Coq.Structures.GenericMinMax.html#M.min"><span·class="id"·title="axiom">min</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#m:172"><span·class="id"·title="variable">m</span></a>)·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#n:171"><span·class="id"·title="variable">n</span></a>.<br/> |
Offset 465, 15 lines modified | Offset 465, 15 lines modified | ||
465 | <br/> | 465 | <br/> |
466 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxLogicalProperties"><span·class="id"·title="module">MinMaxLogicalProperties</span></a>.<br/> | 466 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxLogicalProperties"><span·class="id"·title="module">MinMaxLogicalProperties</span></a>.<br/> |
467 | <br/> | 467 | <br/> |
468 | </div> | 468 | </div> |
469 | <div·class="doc"> | 469 | <div·class="doc"> |
470 | <a·id="lab | 470 | <a·id="lab1003"></a><h2·class="section">Properties·requiring·a·decidable·order</h2> |
471 | </div> | 471 | </div> |
472 | <div·class="code"> | 472 | <div·class="code"> |
473 | <br/> | 473 | <br/> |
474 | <span·class="id"·title="keyword">Module</span>·<a·id="MinMaxDecProperties"·class="idref"·href="#MinMaxDecProperties"><span·class="id"·title="module">MinMaxDecProperties</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 474 | <span·class="id"·title="keyword">Module</span>·<a·id="MinMaxDecProperties"·class="idref"·href="#MinMaxDecProperties"><span·class="id"·title="module">MinMaxDecProperties</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>)(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">M</span>:<a·class="idref"·href="Coq.Structures.GenericMinMax.html#HasMinMax"><span·class="id"·title="module">HasMinMax</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#O"><span·class="id"·title="module">O</span></a>).<br/> |
Offset 545, 15 lines modified | Offset 545, 15 lines modified | ||
545 | <span·class="id"·title="keyword">Notation</span>·<a·id="MinMaxProperties.min_max_antimonotone"·class="idref"·href="#MinMaxProperties.min_max_antimonotone"><span·class="id"·title="abbreviation">min_max_antimonotone</span></a>·:=·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties.min_max_antimono"><span·class="id"·title="lemma">min_max_antimono</span></a>.<br/> | 545 | <span·class="id"·title="keyword">Notation</span>·<a·id="MinMaxProperties.min_max_antimonotone"·class="idref"·href="#MinMaxProperties.min_max_antimonotone"><span·class="id"·title="abbreviation">min_max_antimonotone</span></a>·:=·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties.min_max_antimono"><span·class="id"·title="lemma">min_max_antimono</span></a>.<br/> |
546 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties"><span·class="id"·title="module">MinMaxProperties</span></a>.<br/> | 546 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#MinMaxProperties"><span·class="id"·title="module">MinMaxProperties</span></a>.<br/> |
547 | <br/> | 547 | <br/> |
548 | </div> | 548 | </div> |
549 | <div·class="doc"> | 549 | <div·class="doc"> |
550 | <a·id="lab | 550 | <a·id="lab1004"></a><h2·class="section">When·the·equality·is·Leibniz,·we·can·skip·a·few·<span·class="inlinecode"><span·class="id"·title="var">Proper</span></span>·precondition.</h2> |
551 | </div> | 551 | </div> |
552 | <div·class="code"> | 552 | <div·class="code"> |
Max diff block lines reached; 760/19499 bytes (3.90%) of diff not shown. |
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="lab987"></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 134, 15 lines modified | Offset 134, 15 lines modified | ||
134 | <br/> | 134 | <br/> |
135 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#MOT_to_OT"><span·class="id"·title="module">MOT_to_OT</span></a>.<br/> | 135 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrderedType.html#MOT_to_OT"><span·class="id"·title="module">MOT_to_OT</span></a>.<br/> |
136 | <br/> | 136 | <br/> |
137 | </div> | 137 | </div> |
138 | <div·class="doc"> | 138 | <div·class="doc"> |
139 | <a·id="lab | 139 | <a·id="lab988"></a><h1·class="section">Ordered·types·properties</h1> |
140 | <div·class="paragraph">·</div> | 140 | <div·class="paragraph">·</div> |
141 | ·Additional·properties·that·can·be·derived·from·signature | 141 | ·Additional·properties·that·can·be·derived·from·signature |
142 | ····<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>.· | 142 | ····<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>.· |
143 | </div> | 143 | </div> |
144 | <div·class="code"> | 144 | <div·class="code"> |
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="lab1033"></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="lab | 57 | <a·id="lab984"></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="lab989"></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 184, 15 lines modified | Offset 184, 15 lines modified | ||
184 | <div·class="doc"> | 184 | <div·class="doc"> |
185 | NB:·in·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>,·an·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·could·be·deduced·from·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>. | 185 | NB:·in·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>,·an·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>·could·be·deduced·from·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>. |
186 | ··But·adding·this·redundant·field·allows·seeing·an·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·as·a | 186 | ··But·adding·this·redundant·field·allows·seeing·an·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span>·as·a |
187 | ··<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>.· | 187 | ··<span·class="inlinecode"><span·class="id"·title="var">DecidableType</span></span>.· |
188 | <div·class="paragraph">·</div> | 188 | <div·class="paragraph">·</div> |
189 | <a·id="lab | 189 | <a·id="lab990"></a><h1·class="section">Versions·with·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>·being·the·usual·Leibniz·equality·of·Coq</h1> |
190 | </div> | 190 | </div> |
191 | <div·class="code"> | 191 | <div·class="code"> |
192 | <br/> | 192 | <br/> |
193 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualStrOrder"·class="idref"·href="#UsualStrOrder"><span·class="id"·title="module">UsualStrOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualEqualityType"><span·class="id"·title="module">UsualEqualityType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasLt"><span·class="id"·title="module">HasLt</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#IsStrOrder"><span·class="id"·title="module">IsStrOrder</span></a>.<br/> | 193 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualStrOrder"·class="idref"·href="#UsualStrOrder"><span·class="id"·title="module">UsualStrOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualEqualityType"><span·class="id"·title="module">UsualEqualityType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasLt"><span·class="id"·title="module">HasLt</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#IsStrOrder"><span·class="id"·title="module">IsStrOrder</span></a>.<br/> |
194 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualDecStrOrder"·class="idref"·href="#UsualDecStrOrder"><span·class="id"·title="module">UsualDecStrOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualStrOrder"><span·class="id"·title="module">UsualStrOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasCompare"><span·class="id"·title="module">HasCompare</span></a>.<br/> | 194 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualDecStrOrder"·class="idref"·href="#UsualDecStrOrder"><span·class="id"·title="module">UsualDecStrOrder</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualStrOrder"><span·class="id"·title="module">UsualStrOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasCompare"><span·class="id"·title="module">HasCompare</span></a>.<br/> |
Offset 216, 15 lines modified | Offset 216, 15 lines modified | ||
216 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualOrderedType'"·class="idref"·href="#UsualOrderedType'"><span·class="id"·title="module">UsualOrderedType'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualOrderedType"><span·class="id"·title="module">UsualOrderedType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation"><span·class="id"·title="module">LtNotation</span></a>.<br/> | 216 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualOrderedType'"·class="idref"·href="#UsualOrderedType'"><span·class="id"·title="module">UsualOrderedType'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualOrderedType"><span·class="id"·title="module">UsualOrderedType</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtNotation"><span·class="id"·title="module">LtNotation</span></a>.<br/> |
217 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualOrderedTypeFull'"·class="idref"·href="#UsualOrderedTypeFull'"><span·class="id"·title="module">UsualOrderedTypeFull'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualOrderedTypeFull"><span·class="id"·title="module">UsualOrderedTypeFull</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtLeNotation"><span·class="id"·title="module">LtLeNotation</span></a>.<br/> | 217 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualOrderedTypeFull'"·class="idref"·href="#UsualOrderedTypeFull'"><span·class="id"·title="module">UsualOrderedTypeFull'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualOrderedTypeFull"><span·class="id"·title="module">UsualOrderedTypeFull</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtLeNotation"><span·class="id"·title="module">LtLeNotation</span></a>.<br/> |
218 | <br/> | 218 | <br/> |
219 | </div> | 219 | </div> |
220 | <div·class="doc"> | 220 | <div·class="doc"> |
221 | <a·id="lab | 221 | <a·id="lab991"></a><h1·class="section">Purely·logical·versions</h1> |
222 | </div> | 222 | </div> |
223 | <div·class="code"> | 223 | <div·class="code"> |
224 | <br/> | 224 | <br/> |
225 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="LtIsTotal"·class="idref"·href="#LtIsTotal"><span·class="id"·title="module">LtIsTotal</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLt'"><span·class="id"·title="module">EqLt'</span></a>).<br/> | 225 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="LtIsTotal"·class="idref"·href="#LtIsTotal"><span·class="id"·title="module">LtIsTotal</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLt'"><span·class="id"·title="module">EqLt'</span></a>).<br/> |
226 | <span·class="id"·title="keyword">Axiom</span>·<a·id="LtIsTotal.lt_total"·class="idref"·href="#LtIsTotal.lt_total"><span·class="id"·title="axiom">lt_total</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>·<a·id="y:16"·class="idref"·href="#y:16"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</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.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</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.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> | 226 | <span·class="id"·title="keyword">Axiom</span>·<a·id="LtIsTotal.lt_total"·class="idref"·href="#LtIsTotal.lt_total"><span·class="id"·title="axiom">lt_total</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="x:15"·class="idref"·href="#x:15"><span·class="id"·title="binder">x</span></a>·<a·id="y:16"·class="idref"·href="#y:16"><span·class="id"·title="binder">y</span></a>,·<a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</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.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#y:16"><span·class="id"·title="variable">y</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.Structures.Orders.html#x:15"><span·class="id"·title="variable">x</span></a>.<br/> |
Offset 239, 15 lines modified | Offset 239, 15 lines modified | ||
239 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="TotalOrder'"·class="idref"·href="#TotalOrder'"><span·class="id"·title="module">TotalOrder'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLeNotation"><span·class="id"·title="module">EqLtLeNotation</span></a>.<br/> | 239 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="TotalOrder'"·class="idref"·href="#TotalOrder'"><span·class="id"·title="module">TotalOrder'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLeNotation"><span·class="id"·title="module">EqLtLeNotation</span></a>.<br/> |
240 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualTotalOrder'"·class="idref"·href="#UsualTotalOrder'"><span·class="id"·title="module">UsualTotalOrder'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualTotalOrder"><span·class="id"·title="module">UsualTotalOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtLeNotation"><span·class="id"·title="module">LtLeNotation</span></a>.<br/> | 240 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="UsualTotalOrder'"·class="idref"·href="#UsualTotalOrder'"><span·class="id"·title="module">UsualTotalOrder'</span></a>·:=·<a·class="idref"·href="Coq.Structures.Orders.html#UsualTotalOrder"><span·class="id"·title="module">UsualTotalOrder</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtLeNotation"><span·class="id"·title="module">LtLeNotation</span></a>.<br/> |
241 | <br/> | 241 | <br/> |
242 | </div> | 242 | </div> |
243 | <div·class="doc"> | 243 | <div·class="doc"> |
244 | <a·id="lab | 244 | <a·id="lab992"></a><h1·class="section">Conversions</h1> |
245 | <div·class="paragraph">·</div> | 245 | <div·class="paragraph">·</div> |
246 | ·From·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">eqb</span></span>,·and·then·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>· | 246 | ·From·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">eqb</span></span>,·and·then·<span·class="inlinecode"><span·class="id"·title="var">eq_dec</span></span>· |
247 | </div> | 247 | </div> |
248 | <div·class="code"> | 248 | <div·class="code"> |
Offset 300, 15 lines modified | Offset 300, 15 lines modified | ||
300 | <span·class="id"·title="keyword">Module</span>·<a·id="OTF_to_TotalOrder"·class="idref"·href="#OTF_to_TotalOrder"><span·class="id"·title="module">OTF_to_TotalOrder</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a><br/> | 300 | <span·class="id"·title="keyword">Module</span>·<a·id="OTF_to_TotalOrder"·class="idref"·href="#OTF_to_TotalOrder"><span·class="id"·title="module">OTF_to_TotalOrder</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull"><span·class="id"·title="module">OrderedTypeFull</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a><br/> |
301 | :=·<a·class="idref"·href="Coq.Structures.Orders.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#OTF_LtIsTotal"><span·class="id"·title="module">OTF_LtIsTotal</span></a>.<br/> | 301 | :=·<a·class="idref"·href="Coq.Structures.Orders.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#OTF_LtIsTotal"><span·class="id"·title="module">OTF_LtIsTotal</span></a>.<br/> |
302 | <br/> | 302 | <br/> |
303 | </div> | 303 | </div> |
304 | <div·class="doc"> | 304 | <div·class="doc"> |
305 | <a·id="lab | 305 | <a·id="lab993"></a><h1·class="section">Versions·with·boolean·comparisons</h1> |
306 | <div·class="paragraph">·</div> | 306 | <div·class="paragraph">·</div> |
307 | ····This·style·is·used·in·<span·class="inlinecode"><span·class="id"·title="var">Mergesort</span></span> | 307 | ····This·style·is·used·in·<span·class="inlinecode"><span·class="id"·title="var">Mergesort</span></span> |
308 | <div·class="paragraph">·</div> | 308 | <div·class="paragraph">·</div> |
Offset 402, 15 lines modified | Offset 402, 15 lines modified | ||
402 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderFunctions'"·class="idref"·href="#OrderFunctions'"><span·class="id"·title="module">OrderFunctions'</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)·:=<br/> | 402 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="OrderFunctions'"·class="idref"·href="#OrderFunctions'"><span·class="id"·title="module">OrderFunctions'</span></a>·(<span·class="id"·title="var">E</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)·:=<br/> |
403 | <a·class="idref"·href="Coq.Structures.Orders.html#HasCompare"><span·class="id"·title="module">HasCompare</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#CmpNotation"><span·class="id"·title="module">CmpNotation</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasBoolOrdFuns'"><span·class="id"·title="module">HasBoolOrdFuns'</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#BoolOrdSpecs"><span·class="id"·title="module">BoolOrdSpecs</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>.<br/> | 403 | <a·class="idref"·href="Coq.Structures.Orders.html#HasCompare"><span·class="id"·title="module">HasCompare</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#CmpNotation"><span·class="id"·title="module">CmpNotation</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#HasBoolOrdFuns'"><span·class="id"·title="module">HasBoolOrdFuns'</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#BoolOrdSpecs"><span·class="id"·title="module">BoolOrdSpecs</span></a>·<a·class="idref"·href="Coq.Structures.Orders.html#E"><span·class="id"·title="module">E</span></a>.<br/> |
404 | <br/> | 404 | <br/> |
405 | </div> | 405 | </div> |
406 | <div·class="doc"> | 406 | <div·class="doc"> |
407 | <a·id="lab | 407 | <a·id="lab994"></a><h1·class="section">From·<span·class="inlinecode"><span·class="id"·title="var">OrderedTypeFull</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">TotalTransitiveLeBool</span></span></h1> |
408 | </div> | 408 | </div> |
409 | <div·class="code"> | 409 | <div·class="code"> |
410 | <br/> | 410 | <br/> |
411 | <span·class="id"·title="keyword">Module</span>·<a·id="OTF_to_TTLB"·class="idref"·href="#OTF_to_TTLB"><span·class="id"·title="module">OTF_to_TTLB</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>·:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalTransitiveLeBool"><span·class="id"·title="module">TotalTransitiveLeBool</span></a>.<br/> | 411 | <span·class="id"·title="keyword">Module</span>·<a·id="OTF_to_TTLB"·class="idref"·href="#OTF_to_TTLB"><span·class="id"·title="module">OTF_to_TTLB</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>·:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalTransitiveLeBool"><span·class="id"·title="module">TotalTransitiveLeBool</span></a>.<br/> |
Offset 433, 15 lines modified | Offset 433, 15 lines modified | ||
433 | <br/> | 433 | <br/> |
434 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Orders.html#OTF_to_TTLB"><span·class="id"·title="module">OTF_to_TTLB</span></a>.<br/> | 434 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.Orders.html#OTF_to_TTLB"><span·class="id"·title="module">OTF_to_TTLB</span></a>.<br/> |
435 | <br/> | 435 | <br/> |
436 | </div> | 436 | </div> |
437 | <div·class="doc"> | 437 | <div·class="doc"> |
438 | <a·id="lab | 438 | <a·id="lab995"></a><h1·class="section">From·<span·class="inlinecode"><span·class="id"·title="var">TotalTransitiveLeBool</span></span>·to·<span·class="inlinecode"><span·class="id"·title="var">OrderedTypeFull</span></span></h1> |
439 | <div·class="paragraph">·</div> | 439 | <div·class="paragraph">·</div> |
440 | ····<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">leb</span></span>·<span·class="inlinecode">...</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>. | 440 | ····<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">leb</span></span>·<span·class="inlinecode">...</span>·<span·class="inlinecode">=</span>·<span·class="inlinecode"><span·class="id"·title="var">true</span></span>. |
441 | ····<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode"><span·class="id"·title="var">swap</span></span>·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>. | 441 | ····<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode"><span·class="id"·title="var">swap</span></span>·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>. |
442 | ····<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">~<span·class="id"·title="var">swap</span></span>·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>. | 442 | ····<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·is·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·<span·class="inlinecode">/\</span>·<span·class="inlinecode">~<span·class="id"·title="var">swap</span></span>·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>. |
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="lab | 56 | <a·id="lab1026"></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="lab | 59 | <a·id="lab1027"></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="lab | 67 | <a·id="lab1028"></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 98, 15 lines modified | Offset 98, 15 lines modified | ||
98 | <br/> | 98 | <br/> |
99 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>.<br/> | 99 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</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="lab1029"></a><h2·class="section">From·OrderedTypeOrig·to·OrderedType.</h2> |
104 | </div> | 104 | </div> |
105 | <div·class="code"> | 105 | <div·class="code"> |
106 | <br/> | 106 | <br/> |
107 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_OT"·class="idref"·href="#Update_OT"><span·class="id"·title="module">Update_OT</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> | 107 | <span·class="id"·title="keyword">Module</span>·<a·id="Update_OT"·class="idref"·href="#Update_OT"><span·class="id"·title="module">Update_OT</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> |
Offset 137, 15 lines modified | Offset 137, 15 lines modified | ||
137 | <br/> | 137 | <br/> |
138 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#Update_OT"><span·class="id"·title="module">Update_OT</span></a>.<br/> | 138 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#Update_OT"><span·class="id"·title="module">Update_OT</span></a>.<br/> |
139 | <br/> | 139 | <br/> |
140 | </div> | 140 | </div> |
141 | <div·class="doc"> | 141 | <div·class="doc"> |
142 | <a·id="lab | 142 | <a·id="lab1030"></a><h2·class="section">From·OrderedType·to·OrderedTypeOrig.</h2> |
143 | </div> | 143 | </div> |
144 | <div·class="code"> | 144 | <div·class="code"> |
145 | <br/> | 145 | <br/> |
146 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_OT"·class="idref"·href="#Backport_OT"><span·class="id"·title="module">Backport_OT</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>)·<:·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>.<br/> | 146 | <span·class="id"·title="keyword">Module</span>·<a·id="Backport_OT"·class="idref"·href="#Backport_OT"><span·class="id"·title="module">Backport_OT</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>)·<:·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeOrig"><span·class="id"·title="module">OrderedTypeOrig</span></a>.<br/> |
Offset 166, 15 lines modified | Offset 166, 15 lines modified | ||
166 | <br/> | 166 | <br/> |
167 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#Backport_OT"><span·class="id"·title="module">Backport_OT</span></a>.<br/> | 167 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersAlt.html#Backport_OT"><span·class="id"·title="module">Backport_OT</span></a>.<br/> |
168 | <br/> | 168 | <br/> |
169 | </div> | 169 | </div> |
170 | <div·class="doc"> | 170 | <div·class="doc"> |
171 | <a·id="lab | 171 | <a·id="lab1031"></a><h2·class="section">From·OrderedTypeAlt·to·OrderedType.</h2> |
172 | </div> | 172 | </div> |
173 | <div·class="code"> | 173 | <div·class="code"> |
174 | <br/> | 174 | <br/> |
175 | <span·class="id"·title="keyword">Module</span>·<a·id="OT_from_Alt"·class="idref"·href="#OT_from_Alt"><span·class="id"·title="module">OT_from_Alt</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</span></a>.<br/> | 175 | <span·class="id"·title="keyword">Module</span>·<a·id="OT_from_Alt"·class="idref"·href="#OT_from_Alt"><span·class="id"·title="module">OT_from_Alt</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.OrdersAlt.html#OrderedTypeAlt"><span·class="id"·title="module">OrderedTypeAlt</span></a>)·<:·<a·class="idref"·href="Coq.Structures.Orders.html#OrderedType"><span·class="id"·title="module">OrderedType</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="lab1032"></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="lab1011"></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 101, 15 lines modified | Offset 101, 15 lines modified | ||
101 | <br/> | 101 | <br/> |
102 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#CompareFacts"><span·class="id"·title="module">CompareFacts</span></a>.<br/> | 102 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#CompareFacts"><span·class="id"·title="module">CompareFacts</span></a>.<br/> |
103 | <br/> | 103 | <br/> |
104 | </div> | 104 | </div> |
105 | <div·class="doc"> | 105 | <div·class="doc"> |
106 | <a·id="lab | 106 | <a·id="lab1012"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">OrderedTypeFull</span></span></h1> |
107 | </div> | 107 | </div> |
108 | <div·class="code"> | 108 | <div·class="code"> |
109 | <br/> | 109 | <br/> |
110 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeFullFacts"·class="idref"·href="#OrderedTypeFullFacts"><span·class="id"·title="module">OrderedTypeFullFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>).<br/> | 110 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeFullFacts"·class="idref"·href="#OrderedTypeFullFacts"><span·class="id"·title="module">OrderedTypeFullFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#OrderedTypeFull'"><span·class="id"·title="module">OrderedTypeFull'</span></a>).<br/> |
Offset 161, 15 lines modified | Offset 161, 15 lines modified | ||
161 | <br/> | 161 | <br/> |
162 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeFullFacts"><span·class="id"·title="module">OrderedTypeFullFacts</span></a>.<br/> | 162 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeFullFacts"><span·class="id"·title="module">OrderedTypeFullFacts</span></a>.<br/> |
163 | <br/> | 163 | <br/> |
164 | </div> | 164 | </div> |
165 | <div·class="doc"> | 165 | <div·class="doc"> |
166 | <a·id="lab | 166 | <a·id="lab1013"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">OrderedType</span></span></h1> |
167 | </div> | 167 | </div> |
168 | <div·class="code"> | 168 | <div·class="code"> |
169 | <br/> | 169 | <br/> |
170 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeFacts"·class="idref"·href="#OrderedTypeFacts"><span·class="id"·title="module">OrderedTypeFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<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/> | 170 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderedTypeFacts"·class="idref"·href="#OrderedTypeFacts"><span·class="id"·title="module">OrderedTypeFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<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 256, 15 lines modified | Offset 256, 15 lines modified | ||
256 | <br/> | 256 | <br/> |
257 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeFacts"><span·class="id"·title="module">OrderedTypeFacts</span></a>.<br/> | 257 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeFacts"><span·class="id"·title="module">OrderedTypeFacts</span></a>.<br/> |
258 | <br/> | 258 | <br/> |
259 | </div> | 259 | </div> |
260 | <div·class="doc"> | 260 | <div·class="doc"> |
261 | <a·id="lab | 261 | <a·id="lab1014"></a><h1·class="section">Tests·of·the·order·tactic</h1> |
262 | <div·class="paragraph">·</div> | 262 | <div·class="paragraph">·</div> |
263 | ····Is·it·at·least·capable·of·proving·some·basic·properties·?· | 263 | ····Is·it·at·least·capable·of·proving·some·basic·properties·?· |
264 | </div> | 264 | </div> |
265 | <div·class="code"> | 265 | <div·class="code"> |
Offset 294, 15 lines modified | Offset 294, 15 lines modified | ||
294 | <span·class="id"·title="keyword">Lemma</span>·<a·id="OrderedTypeTest.eq_is_nlt_ngt"·class="idref"·href="#OrderedTypeTest.eq_is_nlt_ngt"><span·class="id"·title="lemma">eq_is_nlt_ngt</span></a>·<a·id="x:96"·class="idref"·href="#x:96"><span·class="id"·title="binder">x</span></a>·<a·id="y:97"·class="idref"·href="#y:97"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#y:97"><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.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</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.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><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.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</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.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a>.<br/> | 294 | <span·class="id"·title="keyword">Lemma</span>·<a·id="OrderedTypeTest.eq_is_nlt_ngt"·class="idref"·href="#OrderedTypeTest.eq_is_nlt_ngt"><span·class="id"·title="lemma">eq_is_nlt_ngt</span></a>·<a·id="x:96"·class="idref"·href="#x:96"><span·class="id"·title="binder">x</span></a>·<a·id="y:97"·class="idref"·href="#y:97"><span·class="id"·title="binder">y</span></a>·:·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a><a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#y:97"><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.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span·class="id"·title="notation">~</span></a><a·class="idref"·href="Coq.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</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.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><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.Structures.OrdersFacts.html#y:97"><span·class="id"·title="variable">y</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.Structures.OrdersFacts.html#x:96"><span·class="id"·title="variable">x</span></a>.<br/> |
295 | ·<span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeTest"><span·class="id"·title="module">OrderedTypeTest</span></a>.<br/> | 295 | ·<span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersFacts.html#OrderedTypeTest"><span·class="id"·title="module">OrderedTypeTest</span></a>.<br/> |
296 | <br/> | 296 | <br/> |
297 | </div> | 297 | </div> |
298 | <div·class="doc"> | 298 | <div·class="doc"> |
299 | <a·id="lab | 299 | <a·id="lab1015"></a><h1·class="section">Reversed·OrderedTypeFull.</h1> |
300 | <div·class="paragraph">·</div> | 300 | <div·class="paragraph">·</div> |
301 | ···we·can·switch·the·orientation·of·the·order.·This·is·used·for | 301 | ···we·can·switch·the·orientation·of·the·order.·This·is·used·for |
302 | ···example·when·deriving·properties·of·<span·class="inlinecode"><span·class="id"·title="var">min</span></span>·out·of·the·ones·of·<span·class="inlinecode"><span·class="id"·title="var">max</span></span> | 302 | ···example·when·deriving·properties·of·<span·class="inlinecode"><span·class="id"·title="var">min</span></span>·out·of·the·ones·of·<span·class="inlinecode"><span·class="id"·title="var">max</span></span> |
303 | ···(see·<span·class="inlinecode"><span·class="id"·title="var">GenericMinMax</span></span>). | 303 | ···(see·<span·class="inlinecode"><span·class="id"·title="var">GenericMinMax</span></span>). |
Offset 345, 15 lines modified | Offset 345, 15 lines modified | ||
345 | <br/> | 345 | <br/> |
346 | <span·class="id"·title="keyword">Unset·Implicit·Arguments</span>.<br/> | 346 | <span·class="id"·title="keyword">Unset·Implicit·Arguments</span>.<br/> |
347 | <br/> | 347 | <br/> |
348 | </div> | 348 | </div> |
349 | <div·class="doc"> | 349 | <div·class="doc"> |
350 | <a·id="lab | 350 | <a·id="lab1016"></a><h1·class="section">Order·relations·derived·from·a·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>·function.</h1> |
351 | <div·class="paragraph">·</div> | 351 | <div·class="paragraph">·</div> |
352 | ··We·factorize·here·some·common·properties·for·ZArith,·NArith | 352 | ··We·factorize·here·some·common·properties·for·ZArith,·NArith |
353 | ··and·co,·where·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·are·defined·in·terms·of·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>. | 353 | ··and·co,·where·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">le</span></span>·are·defined·in·terms·of·<span·class="inlinecode"><span·class="id"·title="var">compare</span></span>. |
354 | ··Note·that·we·do·not·require·anything·here·concerning·compatibility | 354 | ··Note·that·we·do·not·require·anything·here·concerning·compatibility |
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="lab1009"></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 106, 15 lines modified | Offset 106, 15 lines modified | ||
106 | <br/> | 106 | <br/> |
107 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersLists.html#OrderedTypeLists"><span·class="id"·title="module">OrderedTypeLists</span></a>.<br/> | 107 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersLists.html#OrderedTypeLists"><span·class="id"·title="module">OrderedTypeLists</span></a>.<br/> |
108 | <br/> | 108 | <br/> |
109 | </div> | 109 | </div> |
110 | <div·class="doc"> | 110 | <div·class="doc"> |
111 | <a·id="lab | 111 | <a·id="lab1010"></a><h1·class="section">Results·about·keys·and·data·as·manipulated·in·the·future·MMaps.</h1> |
112 | </div> | 112 | </div> |
113 | <div·class="code"> | 113 | <div·class="code"> |
114 | <br/> | 114 | <br/> |
115 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyOrderedType"·class="idref"·href="#KeyOrderedType"><span·class="id"·title="module">KeyOrderedType</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/> | 115 | <span·class="id"·title="keyword">Module</span>·<a·id="KeyOrderedType"·class="idref"·href="#KeyOrderedType"><span·class="id"·title="module">KeyOrderedType</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/> |
116 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<a·class="idref"·href="Coq.Structures.OrdersLists.html#O"><span·class="id"·title="module">O</span></a>).· | 116 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.EqualitiesFacts.html#KeyDecidableType"><span·class="id"·title="module">KeyDecidableType</span></a>(<a·class="idref"·href="Coq.Structures.OrdersLists.html#O"><span·class="id"·title="module">O</span></a>).· |
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="lab | 54 | <a·id="lab980"></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 88, 15 lines modified | Offset 88, 15 lines modified | ||
88 | <span·class="id"·title="keyword">end</span>.<br/> | 88 | <span·class="id"·title="keyword">end</span>.<br/> |
89 | <span·class="id"·title="keyword">Local·Infix</span>·<a·id="00f623954fe4dd5f04bdc5ceb1846ff4"·class="idref"·href="#00f623954fe4dd5f04bdc5ceb1846ff4"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#trans_ord"><span·class="id"·title="definition">trans_ord</span></a>.<br/> | 89 | <span·class="id"·title="keyword">Local·Infix</span>·<a·id="00f623954fe4dd5f04bdc5ceb1846ff4"·class="idref"·href="#00f623954fe4dd5f04bdc5ceb1846ff4"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.Structures.OrdersTac.html#trans_ord"><span·class="id"·title="definition">trans_ord</span></a>.<br/> |
90 | <br/> | 90 | <br/> |
91 | </div> | 91 | </div> |
92 | <div·class="doc"> | 92 | <div·class="doc"> |
93 | <a·id="lab | 93 | <a·id="lab981"></a><h2·class="section">The·tactic·requirements·:·a·total·order</h2> |
94 | <div·class="paragraph">·</div> | 94 | <div·class="paragraph">·</div> |
95 | ···We·need·: | 95 | ···We·need·: |
96 | <ul·class="doclist"> | 96 | <ul·class="doclist"> |
97 | <li>·an·equivalence·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>, | 97 | <li>·an·equivalence·<span·class="inlinecode"><span·class="id"·title="var">eq</span></span>, |
Offset 124, 15 lines modified | Offset 124, 15 lines modified | ||
124 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsTotalOrder"·class="idref"·href="#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)·:=<br/> | 124 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="IsTotalOrder"·class="idref"·href="#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·(<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)·:=<br/> |
125 | <a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#IsStrOrder"><span·class="id"·title="module">IsStrOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LeIsLtEq"><span·class="id"·title="module">LeIsLtEq</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtIsTotal"><span·class="id"·title="module">LtIsTotal</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>.<br/> | 125 | <a·class="idref"·href="Coq.Structures.Equalities.html#IsEq"><span·class="id"·title="module">IsEq</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#IsStrOrder"><span·class="id"·title="module">IsStrOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LeIsLtEq"><span·class="id"·title="module">LeIsLtEq</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<+·<a·class="idref"·href="Coq.Structures.Orders.html#LtIsTotal"><span·class="id"·title="module">LtIsTotal</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>.<br/> |
126 | <br/> | 126 | <br/> |
127 | </div> | 127 | </div> |
128 | <div·class="doc"> | 128 | <div·class="doc"> |
129 | <a·id="lab | 129 | <a·id="lab982"></a><h2·class="section">Properties·that·will·be·used·by·the·<span·class="inlinecode"><span·class="id"·title="var">order</span></span>·tactic</h2> |
130 | </div> | 130 | </div> |
131 | <div·class="code"> | 131 | <div·class="code"> |
132 | <br/> | 132 | <br/> |
133 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderFacts"·class="idref"·href="#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)(<span·class="id"·title="var">P</span>:<a·class="idref"·href="Coq.Structures.OrdersTac.html#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 133 | <span·class="id"·title="keyword">Module</span>·<a·id="OrderFacts"·class="idref"·href="#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)(<span·class="id"·title="var">P</span>:<a·class="idref"·href="Coq.Structures.OrdersTac.html#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>).<br/> |
134 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLeNotation"><span·class="id"·title="module">EqLtLeNotation</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>.<br/> | 134 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLeNotation"><span·class="id"·title="module">EqLtLeNotation</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>.<br/> |
Offset 234, 15 lines modified | Offset 234, 15 lines modified | ||
234 | <br/> | 234 | <br/> |
235 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>.<br/> | 235 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>.<br/> |
236 | <br/> | 236 | <br/> |
237 | </div> | 237 | </div> |
238 | <div·class="doc"> | 238 | <div·class="doc"> |
239 | <a·id="lab83 | 239 | <a·id="lab983"></a><h2·class="section"><span·class="inlinecode"><span·class="id"·title="var">MakeOrderTac</span></span>·:·The·functor·providing·the·order·tactic.</h2> |
240 | </div> | 240 | </div> |
241 | <div·class="code"> | 241 | <div·class="code"> |
242 | <br/> | 242 | <br/> |
243 | <span·class="id"·title="keyword">Module</span>·<a·id="MakeOrderTac"·class="idref"·href="#MakeOrderTac"><span·class="id"·title="module">MakeOrderTac</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)(<span·class="id"·title="var">P</span>:<a·class="idref"·href="Coq.Structures.OrdersTac.html#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>).<br/> | 243 | <span·class="id"·title="keyword">Module</span>·<a·id="MakeOrderTac"·class="idref"·href="#MakeOrderTac"><span·class="id"·title="module">MakeOrderTac</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">O</span>:<a·class="idref"·href="Coq.Structures.Orders.html#EqLtLe"><span·class="id"·title="module">EqLtLe</span></a>)(<span·class="id"·title="var">P</span>:<a·class="idref"·href="Coq.Structures.OrdersTac.html#IsTotalOrder"><span·class="id"·title="module">IsTotalOrder</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>).<br/> |
244 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#P"><span·class="id"·title="module">P</span></a>.<br/> | 244 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#OrderFacts"><span·class="id"·title="module">OrderFacts</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#O"><span·class="id"·title="module">O</span></a>·<a·class="idref"·href="Coq.Structures.OrdersTac.html#P"><span·class="id"·title="module">P</span></a>.<br/> |
Offset 5874, 15 lines modified | Offset 5874, 15 lines modified | ||
00016f10:·7265·6622·2068·7265·663d·2223·4954·4552··ref"·href="#ITER | 00016f10:·7265·6622·2068·7265·663d·2223·4954·4552··ref"·href="#ITER | ||
00016f20:·4154·4f52·5322·3e3c·7370·616e·2063·6c61··ATORS"><span·cla | 00016f20:·4154·4f52·5322·3e3c·7370·616e·2063·6c61··ATORS"><span·cla | ||
00016f30:·7373·3d22·6964·2220·7469·746c·653d·2273··ss="id"·title="s | 00016f30:·7373·3d22·6964·2220·7469·746c·653d·2273··ss="id"·title="s | ||
00016f40:·6563·7469·6f6e·223e·4954·4552·4154·4f52··ection">ITERATOR | 00016f40:·6563·7469·6f6e·223e·4954·4552·4154·4f52··ection">ITERATOR | ||
00016f50:·533c·2f73·7061·6e3e·3c2f·613e·2e3c·6272··S</span></a>.<br | 00016f50:·533c·2f73·7061·6e3e·3c2f·613e·2e3c·6272··S</span></a>.<br | ||
00016f60:·2f3e·0a3c·2f64·6976·3e0a·0a3c·6469·7620··/>.</div>..<div· | 00016f60:·2f3e·0a3c·2f64·6976·3e0a·0a3c·6469·7620··/>.</div>..<div· | ||
00016f70:·636c·6173·733d·2264·6f63·223e·0a3c·6120··class="doc">.<a· | 00016f70:·636c·6173·733d·2264·6f63·223e·0a3c·6120··class="doc">.<a· | ||
00016f80:·6964·3d22·6c61·623 | 00016f80:·6964·3d22·6c61·6231·3130·223e·3c2f·613e··id="lab110"></a> | ||
00016f90:·3c68·3120·636c·6173·733d·2273·6563·7469··<h1·class="secti | 00016f90:·3c68·3120·636c·6173·733d·2273·6563·7469··<h1·class="secti | ||
00016fa0:·6f6e·223e·4865·7265·2061·7265·2073·7065··on">Here·are·spe | 00016fa0:·6f6e·223e·4865·7265·2061·7265·2073·7065··on">Here·are·spe | ||
00016fb0:·6369·616c·206e·6f6e·2064·6570·656e·6465··cial·non·depende | 00016fb0:·6369·616c·206e·6f6e·2064·6570·656e·6465··cial·non·depende | ||
00016fc0:·6e74·2075·7365·6675·6c20·696e·7374·616e··nt·useful·instan | 00016fc0:·6e74·2075·7365·6675·6c20·696e·7374·616e··nt·useful·instan | ||
00016fd0:·7469·6174·696f·6e20·6f66·2069·6e64·7563··tiation·of·induc | 00016fd0:·7469·6174·696f·6e20·6f66·2069·6e64·7563··tiation·of·induc | ||
00016fe0:·7469·6f6e·2073·6368·656d·6573·3c2f·6831··tion·schemes</h1 | 00016fe0:·7469·6f6e·2073·6368·656d·6573·3c2f·6831··tion·schemes</h1 | ||
00016ff0:·3e0a·0a3c·6469·7620·636c·6173·733d·2270··>..<div·class="p | 00016ff0:·3e0a·0a3c·6469·7620·636c·6173·733d·2270··>..<div·class="p | ||
Offset 9280, 15 lines modified | Offset 9280, 15 lines modified | ||
000243f0:·2269·6472·6566·2220·6872·6566·3d22·2356··"idref"·href="#V | 000243f0:·2269·6472·6566·2220·6872·6566·3d22·2356··"idref"·href="#V | ||
00024400:·4543·544f·524c·4953·5422·3e3c·7370·616e··ECTORLIST"><span | 00024400:·4543·544f·524c·4953·5422·3e3c·7370·616e··ECTORLIST"><span | ||
00024410:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | 00024410:·2063·6c61·7373·3d22·6964·2220·7469·746c···class="id"·titl | ||
00024420:·653d·2273·6563·7469·6f6e·223e·5645·4354··e="section">VECT | 00024420:·653d·2273·6563·7469·6f6e·223e·5645·4354··e="section">VECT | ||
00024430:·4f52·4c49·5354·3c2f·7370·616e·3e3c·2f61··ORLIST</span></a | 00024430:·4f52·4c49·5354·3c2f·7370·616e·3e3c·2f61··ORLIST</span></a | ||
00024440:·3e2e·3c62·722f·3e0a·3c2f·6469·763e·0a0a··>.<br/>.</div>.. | 00024440:·3e2e·3c62·722f·3e0a·3c2f·6469·763e·0a0a··>.<br/>.</div>.. | ||
00024450:·3c64·6976·2063·6c61·7373·3d22·646f·6322··<div·class="doc" | 00024450:·3c64·6976·2063·6c61·7373·3d22·646f·6322··<div·class="doc" | ||
00024460:·3e0a·3c61·2069·643d·226c·6162·3 | 00024460:·3e0a·3c61·2069·643d·226c·6162·3131·3122··>.<a·id="lab111" | ||
00024470:·3e3c·2f61·3e3c·6831·2063·6c61·7373·3d22··></a><h1·class=" | 00024470:·3e3c·2f61·3e3c·6831·2063·6c61·7373·3d22··></a><h1·class=" | ||
00024480:·7365·6374·696f·6e22·3e76·6563·746f·7220··section">vector· | 00024480:·7365·6374·696f·6e22·3e76·6563·746f·7220··section">vector· | ||
00024490:·266c·743b·3d26·6774·3b20·6c69·7374·2066··<=>·list·f | 00024490:·266c·743b·3d26·6774·3b20·6c69·7374·2066··<=>·list·f | ||
000244a0:·756e·6374·696f·6e73·3c2f·6831·3e0a·0a3c··unctions</h1>..< | 000244a0:·756e·6374·696f·6e73·3c2f·6831·3e0a·0a3c··unctions</h1>..< | ||
000244b0:·2f64·6976·3e0a·3c64·6976·2063·6c61·7373··/div>.<div·class | 000244b0:·2f64·6976·3e0a·3c64·6976·2063·6c61·7373··/div>.<div·class | ||
000244c0:·3d22·636f·6465·223e·0a0a·3c62·722f·3e0a··="code">..<br/>. | 000244c0:·3d22·636f·6465·223e·0a0a·3c62·722f·3e0a··="code">..<br/>. | ||
000244d0:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | 000244d0:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" |
Offset 91, 15 lines modified | Offset 91, 15 lines modified | ||
91 | </div> | 91 | </div> |
92 | <div·class="doc"> | 92 | <div·class="doc"> |
93 | 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 | 93 | 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 |
94 | is·true·for·the·one·that·use·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>· | 94 | is·true·for·the·one·that·use·<span·class="inlinecode"><span·class="id"·title="var">lt</span></span>· |
95 | <div·class="paragraph">·</div> | 95 | <div·class="paragraph">·</div> |
96 | <a·id="lab | 96 | <a·id="lab112"></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> |
97 | </div> | 97 | </div> |
98 | <div·class="code"> | 98 | <div·class="code"> |
99 | <br/> | 99 | <br/> |
100 | <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/> | 100 | <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/> |
101 | <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/> | 101 | <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 132, 15 lines modified | Offset 132, 15 lines modified | ||
132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="In_nth"·class="idref"·href="#In_nth"><span·class="id"·title="lemma">In_nth</span></a>·<a·id="A:64"·class="idref"·href="#A:64"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:65"·class="idref"·href="#n:65"><span·class="id"·title="binder">n</span></a>·(<a·id="v:66"·class="idref"·href="#v:66"><span·class="id"·title="binder">v</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:64"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:65"><span·class="id"·title="variable">n</span></a>)·<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>,<br/> | 132 | <span·class="id"·title="keyword">Lemma</span>·<a·id="In_nth"·class="idref"·href="#In_nth"><span·class="id"·title="lemma">In_nth</span></a>·<a·id="A:64"·class="idref"·href="#A:64"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:65"·class="idref"·href="#n:65"><span·class="id"·title="binder">n</span></a>·(<a·id="v:66"·class="idref"·href="#v:66"><span·class="id"·title="binder">v</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:64"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:65"><span·class="id"·title="variable">n</span></a>)·<a·id="p:67"·class="idref"·href="#p:67"><span·class="id"·title="binder">p</span></a>,<br/> |
133 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorDef.html#nth"><span·class="id"·title="definition">nth</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:66"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:67"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:66"><span·class="id"·title="variable">v</span></a>.<br/> | 133 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorDef.html#nth"><span·class="id"·title="definition">nth</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:66"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:67"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:66"><span·class="id"·title="variable">v</span></a>.<br/> |
134 | <br/> | 134 | <br/> |
135 | </div> | 135 | </div> |
136 | <div·class="doc"> | 136 | <div·class="doc"> |
137 | <a·id="lab | 137 | <a·id="lab113"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="tactic">replace</span></span></h2> |
138 | </div> | 138 | </div> |
139 | <div·class="code"> | 139 | <div·class="code"> |
140 | <br/> | 140 | <br/> |
141 | <span·class="id"·title="keyword">Lemma</span>·<a·id="nth_replace_eq"·class="idref"·href="#nth_replace_eq"><span·class="id"·title="lemma">nth_replace_eq</span></a>·<a·id="A:68"·class="idref"·href="#A:68"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:69"·class="idref"·href="#n:69"><span·class="id"·title="binder">n</span></a>·<a·id="p:70"·class="idref"·href="#p:70"><span·class="id"·title="binder">p</span></a>·(<a·id="v:71"·class="idref"·href="#v:71"><span·class="id"·title="binder">v</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:68"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:69"><span·class="id"·title="variable">n</span></a>)·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>,<br/> | 141 | <span·class="id"·title="keyword">Lemma</span>·<a·id="nth_replace_eq"·class="idref"·href="#nth_replace_eq"><span·class="id"·title="lemma">nth_replace_eq</span></a>·<a·id="A:68"·class="idref"·href="#A:68"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:69"·class="idref"·href="#n:69"><span·class="id"·title="binder">n</span></a>·<a·id="p:70"·class="idref"·href="#p:70"><span·class="id"·title="binder">p</span></a>·(<a·id="v:71"·class="idref"·href="#v:71"><span·class="id"·title="binder">v</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:68"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:69"><span·class="id"·title="variable">n</span></a>)·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>,<br/> |
142 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#nth"><span·class="id"·title="definition">nth</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:71"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:70"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:72"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:70"><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.Vectors.VectorSpec.html#a:72"><span·class="id"·title="variable">a</span></a>.<br/> | 142 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#nth"><span·class="id"·title="definition">nth</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:71"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:70"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:72"><span·class="id"·title="variable">a</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:70"><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.Vectors.VectorSpec.html#a:72"><span·class="id"·title="variable">a</span></a>.<br/> |
Offset 178, 30 lines modified | Offset 178, 30 lines modified | ||
178 | <span·class="id"·title="keyword">Lemma</span>·<a·id="replace_append_R"·class="idref"·href="#replace_append_R"><span·class="id"·title="lemma">replace_append_R</span></a>·<a·id="A:132"·class="idref"·href="#A:132"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:133"·class="idref"·href="#n:133"><span·class="id"·title="binder">n</span></a>·<a·id="m:134"·class="idref"·href="#m:134"><span·class="id"·title="binder">m</span></a>·(<a·id="v:135"·class="idref"·href="#v:135"><span·class="id"·title="binder">v</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:132"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:133"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:136"·class="idref"·href="#w:136"><span·class="id"·title="binder">w</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:132"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:134"><span·class="id"·title="variable">m</span></a>)·<a·id="p:137"·class="idref"·href="#p:137"><span·class="id"·title="binder">p</span></a>·<a·id="a:138"·class="idref"·href="#a:138"><span·class="id"·title="binder">a</span></a>,<br/> | 178 | <span·class="id"·title="keyword">Lemma</span>·<a·id="replace_append_R"·class="idref"·href="#replace_append_R"><span·class="id"·title="lemma">replace_append_R</span></a>·<a·id="A:132"·class="idref"·href="#A:132"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:133"·class="idref"·href="#n:133"><span·class="id"·title="binder">n</span></a>·<a·id="m:134"·class="idref"·href="#m:134"><span·class="id"·title="binder">m</span></a>·(<a·id="v:135"·class="idref"·href="#v:135"><span·class="id"·title="binder">v</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:132"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:133"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:136"·class="idref"·href="#w:136"><span·class="id"·title="binder">w</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:132"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:134"><span·class="id"·title="variable">m</span></a>)·<a·id="p:137"·class="idref"·href="#p:137"><span·class="id"·title="binder">p</span></a>·<a·id="a:138"·class="idref"·href="#a:138"><span·class="id"·title="binder">a</span></a>,<br/> |
179 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:135"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:136"><span·class="id"·title="variable">w</span></a>)·(<a·class="idref"·href="Coq.Vectors.Fin.html#R"><span·class="id"·title="definition">Fin.R</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:133"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:137"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:138"><span·class="id"·title="variable">a</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#v:135"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:136"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:137"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:138"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>.<br/> | 179 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:135"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:136"><span·class="id"·title="variable">w</span></a>)·(<a·class="idref"·href="Coq.Vectors.Fin.html#R"><span·class="id"·title="definition">Fin.R</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:133"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:137"><span·class="id"·title="variable">p</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:138"><span·class="id"·title="variable">a</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#v:135"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#replace"><span·class="id"·title="definition">replace</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:136"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:137"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:138"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>.<br/> |
180 | <br/> | 180 | <br/> |
181 | </div> | 181 | </div> |
182 | <div·class="doc"> | 182 | <div·class="doc"> |
183 | <a·id="lab | 183 | <a·id="lab114"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">const</span></span></h2> |
184 | </div> | 184 | </div> |
185 | <div·class="code"> | 185 | <div·class="code"> |
186 | <br/> | 186 | <br/> |
187 | <span·class="id"·title="keyword">Lemma</span>·<a·id="const_nth"·class="idref"·href="#const_nth"><span·class="id"·title="lemma">const_nth</span></a>·<a·id="A:139"·class="idref"·href="#A:139"><span·class="id"·title="binder">A</span></a>·(<a·id="a:140"·class="idref"·href="#a:140"><span·class="id"·title="binder">a</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:139"><span·class="id"·title="variable">A</span></a>)·<a·id="n:141"·class="idref"·href="#n:141"><span·class="id"·title="binder">n</span></a>·(<a·id="p:142"·class="idref"·href="#p:142"><span·class="id"·title="binder">p</span></a>:·<a·class="idref"·href="Coq.Vectors.Fin.html#t"><span·class="id"·title="inductive">Fin.t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:141"><span·class="id"·title="variable">n</span></a>):·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:140"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:141"><span·class="id"·title="variable">n</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#p:142"><span·class="id"·title="variable">p</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#a:140"><span·class="id"·title="variable">a</span></a>.<br/> | 187 | <span·class="id"·title="keyword">Lemma</span>·<a·id="const_nth"·class="idref"·href="#const_nth"><span·class="id"·title="lemma">const_nth</span></a>·<a·id="A:139"·class="idref"·href="#A:139"><span·class="id"·title="binder">A</span></a>·(<a·id="a:140"·class="idref"·href="#a:140"><span·class="id"·title="binder">a</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:139"><span·class="id"·title="variable">A</span></a>)·<a·id="n:141"·class="idref"·href="#n:141"><span·class="id"·title="binder">n</span></a>·(<a·id="p:142"·class="idref"·href="#p:142"><span·class="id"·title="binder">p</span></a>:·<a·class="idref"·href="Coq.Vectors.Fin.html#t"><span·class="id"·title="inductive">Fin.t</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:141"><span·class="id"·title="variable">n</span></a>):·<a·class="idref"·href="Coq.Vectors.VectorDef.html#3e2ab5a54c52b47134e5ddb66aa31ebd"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:140"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:141"><span·class="id"·title="variable">n</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#p:142"><span·class="id"·title="variable">p</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#a:140"><span·class="id"·title="variable">a</span></a>.<br/> |
188 | <br/> | 188 | <br/> |
189 | <span·class="id"·title="keyword">Lemma</span>·<a·id="append_const"·class="idref"·href="#append_const"><span·class="id"·title="lemma">append_const</span></a>·<a·id="A:143"·class="idref"·href="#A:143"><span·class="id"·title="binder">A</span></a>·(<a·id="a:144"·class="idref"·href="#a:144"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:143"><span·class="id"·title="variable">A</span></a>)·<a·id="n:145"·class="idref"·href="#n:145"><span·class="id"·title="binder">n</span></a>·<a·id="m:146"·class="idref"·href="#m:146"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:145"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:146"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><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.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:145"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:146"><span·class="id"·title="variable">m</span></a>).<br/> | 189 | <span·class="id"·title="keyword">Lemma</span>·<a·id="append_const"·class="idref"·href="#append_const"><span·class="id"·title="lemma">append_const</span></a>·<a·id="A:143"·class="idref"·href="#A:143"><span·class="id"·title="binder">A</span></a>·(<a·id="a:144"·class="idref"·href="#a:144"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:143"><span·class="id"·title="variable">A</span></a>)·<a·id="n:145"·class="idref"·href="#n:145"><span·class="id"·title="binder">n</span></a>·<a·id="m:146"·class="idref"·href="#m:146"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:145"><span·class="id"·title="variable">n</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:146"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><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.VectorDef.html#const"><span·class="id"·title="definition">const</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:144"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:145"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.Init.Peano.html#0dacc1786c5ba797d47dd85006231633"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:146"><span·class="id"·title="variable">m</span></a>).<br/> |
190 | <br/> | 190 | <br/> |
191 | </div> | 191 | </div> |
192 | <div·class="doc"> | 192 | <div·class="doc"> |
193 | <a·id="lab | 193 | <a·id="lab115"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">map</span></span></h2> |
194 | </div> | 194 | </div> |
195 | <div·class="code"> | 195 | <div·class="code"> |
196 | <br/> | 196 | <br/> |
197 | <span·class="id"·title="keyword">Lemma</span>·<a·id="map_id"·class="idref"·href="#map_id"><span·class="id"·title="lemma">map_id</span></a>·<a·id="A:147"·class="idref"·href="#A:147"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:148"·class="idref"·href="#n:148"><span·class="id"·title="binder">n</span></a>·(<a·id="v:149"·class="idref"·href="#v:149"><span·class="id"·title="binder">v</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:147"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:148"><span·class="id"·title="variable">n</span></a>),<br/> | 197 | <span·class="id"·title="keyword">Lemma</span>·<a·id="map_id"·class="idref"·href="#map_id"><span·class="id"·title="lemma">map_id</span></a>·<a·id="A:147"·class="idref"·href="#A:147"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:148"·class="idref"·href="#n:148"><span·class="id"·title="binder">n</span></a>·(<a·id="v:149"·class="idref"·href="#v:149"><span·class="id"·title="binder">v</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:147"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:148"><span·class="id"·title="variable">n</span></a>),<br/> |
198 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#map"><span·class="id"·title="definition">map</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:150"·class="idref"·href="#x:150"><span·class="id"·title="binder">x</span></a>·=>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#x:150"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:149"><span·class="id"·title="variable">v</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#v:149"><span·class="id"·title="variable">v</span></a>.<br/> | 198 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#map"><span·class="id"·title="definition">map</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:150"·class="idref"·href="#x:150"><span·class="id"·title="binder">x</span></a>·=>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#x:150"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:149"><span·class="id"·title="variable">v</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#v:149"><span·class="id"·title="variable">v</span></a>.<br/> |
Offset 234, 29 lines modified | Offset 234, 29 lines modified | ||
234 | <span·class="id"·title="keyword">Lemma</span>·<a·id="map2_ext"·class="idref"·href="#map2_ext"><span·class="id"·title="lemma">map2_ext</span></a>·<a·id="A:198"·class="idref"·href="#A:198"><span·class="id"·title="binder">A</span></a>·<a·id="B:199"·class="idref"·href="#B:199"><span·class="id"·title="binder">B</span></a>·<a·id="C:200"·class="idref"·href="#C:200"><span·class="id"·title="binder">C</span></a>:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:201"·class="idref"·href="#f:201"><span·class="id"·title="binder">f</span></a>·<a·id="g:202"·class="idref"·href="#g:202"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:198"><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.Vectors.VectorSpec.html#B:199"><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.Vectors.VectorSpec.html#C:200"><span·class="id"·title="variable">C</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">forall</span>·<a·id="a:203"·class="idref"·href="#a:203"><span·class="id"·title="binder">a</span></a>·<a·id="b:204"·class="idref"·href="#b:204"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:203"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:204"><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.Vectors.VectorSpec.html#g:202"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:203"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:204"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> | 234 | <span·class="id"·title="keyword">Lemma</span>·<a·id="map2_ext"·class="idref"·href="#map2_ext"><span·class="id"·title="lemma">map2_ext</span></a>·<a·id="A:198"·class="idref"·href="#A:198"><span·class="id"·title="binder">A</span></a>·<a·id="B:199"·class="idref"·href="#B:199"><span·class="id"·title="binder">B</span></a>·<a·id="C:200"·class="idref"·href="#C:200"><span·class="id"·title="binder">C</span></a>:·<span·class="id"·title="keyword">forall</span>·(<a·id="f:201"·class="idref"·href="#f:201"><span·class="id"·title="binder">f</span></a>·<a·id="g:202"·class="idref"·href="#g:202"><span·class="id"·title="binder">g</span></a>:<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:198"><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.Vectors.VectorSpec.html#B:199"><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.Vectors.VectorSpec.html#C:200"><span·class="id"·title="variable">C</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">forall</span>·<a·id="a:203"·class="idref"·href="#a:203"><span·class="id"·title="binder">a</span></a>·<a·id="b:204"·class="idref"·href="#b:204"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:203"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:204"><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.Vectors.VectorSpec.html#g:202"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:203"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:204"><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.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a><br/> |
235 | <span·class="id"·title="keyword">forall</span>·<a·id="n:205"·class="idref"·href="#n:205"><span·class="id"·title="binder">n</span></a>·(<a·id="v:206"·class="idref"·href="#v:206"><span·class="id"·title="binder">v</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:198"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:205"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:207"·class="idref"·href="#w:207"><span·class="id"·title="binder">w</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#B:199"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:205"><span·class="id"·title="variable">n</span></a>),·<a·class="idref"·href="Coq.Vectors.VectorDef.html#map2"><span·class="id"·title="definition">map2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:206"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:207"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#map2"><span·class="id"·title="definition">map2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#g:202"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:206"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:207"><span·class="id"·title="variable">w</span></a>.<br/> | 235 | <span·class="id"·title="keyword">forall</span>·<a·id="n:205"·class="idref"·href="#n:205"><span·class="id"·title="binder">n</span></a>·(<a·id="v:206"·class="idref"·href="#v:206"><span·class="id"·title="binder">v</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:198"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:205"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:207"·class="idref"·href="#w:207"><span·class="id"·title="binder">w</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#B:199"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:205"><span·class="id"·title="variable">n</span></a>),·<a·class="idref"·href="Coq.Vectors.VectorDef.html#map2"><span·class="id"·title="definition">map2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:201"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:206"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:207"><span·class="id"·title="variable">w</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#map2"><span·class="id"·title="definition">map2</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#g:202"><span·class="id"·title="variable">g</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:206"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:207"><span·class="id"·title="variable">w</span></a>.<br/> |
236 | <br/> | 236 | <br/> |
237 | </div> | 237 | </div> |
238 | <div·class="doc"> | 238 | <div·class="doc"> |
239 | <a·id="lab | 239 | <a·id="lab116"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">fold_left</span></span></h2> |
240 | </div> | 240 | </div> |
241 | <div·class="code"> | 241 | <div·class="code"> |
242 | <br/> | 242 | <br/> |
243 | <span·class="id"·title="keyword">Lemma</span>·<a·id="fold_left_right_assoc_eq"·class="idref"·href="#fold_left_right_assoc_eq"><span·class="id"·title="lemma">fold_left_right_assoc_eq</span></a>·{<a·id="A:214"·class="idref"·href="#A:214"><span·class="id"·title="binder">A</span></a>·<a·id="B:215"·class="idref"·href="#B:215"><span·class="id"·title="binder">B</span></a>}·{<a·id="f:216"·class="idref"·href="#f:216"><span·class="id"·title="binder">f</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:214"><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.Vectors.VectorSpec.html#B:215"><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.Vectors.VectorSpec.html#A:214"><span·class="id"·title="variable">A</span></a>}<br/> | 243 | <span·class="id"·title="keyword">Lemma</span>·<a·id="fold_left_right_assoc_eq"·class="idref"·href="#fold_left_right_assoc_eq"><span·class="id"·title="lemma">fold_left_right_assoc_eq</span></a>·{<a·id="A:214"·class="idref"·href="#A:214"><span·class="id"·title="binder">A</span></a>·<a·id="B:215"·class="idref"·href="#B:215"><span·class="id"·title="binder">B</span></a>}·{<a·id="f:216"·class="idref"·href="#f:216"><span·class="id"·title="binder">f</span></a>:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:214"><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.Vectors.VectorSpec.html#B:215"><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.Vectors.VectorSpec.html#A:214"><span·class="id"·title="variable">A</span></a>}<br/> |
244 | (<a·id="assoc:220"·class="idref"·href="#assoc:220"><span·class="id"·title="binder">assoc</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:217"·class="idref"·href="#a:217"><span·class="id"·title="binder">a</span></a>·<a·id="b:218"·class="idref"·href="#b:218"><span·class="id"·title="binder">b</span></a>·<a·id="c:219"·class="idref"·href="#c:219"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:217"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:218"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#c:219"><span·class="id"·title="variable">c</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#f:216"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:217"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#c:219"><span·class="id"·title="variable">c</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:218"><span·class="id"·title="variable">b</span></a>)<br/> | 244 | (<a·id="assoc:220"·class="idref"·href="#assoc:220"><span·class="id"·title="binder">assoc</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:217"·class="idref"·href="#a:217"><span·class="id"·title="binder">a</span></a>·<a·id="b:218"·class="idref"·href="#b:218"><span·class="id"·title="binder">b</span></a>·<a·id="c:219"·class="idref"·href="#c:219"><span·class="id"·title="binder">c</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:217"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:218"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#c:219"><span·class="id"·title="variable">c</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#f:216"><span·class="id"·title="variable">f</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:217"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#c:219"><span·class="id"·title="variable">c</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:218"><span·class="id"·title="variable">b</span></a>)<br/> |
245 | {<a·id="n:221"·class="idref"·href="#n:221"><span·class="id"·title="binder">n</span></a>}·(<a·id="v:222"·class="idref"·href="#v:222"><span·class="id"·title="binder">v</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#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:221"><span·class="id"·title="variable">n</span></a>):·<span·class="id"·title="keyword">forall</span>·<a·id="a:223"·class="idref"·href="#a:223"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorDef.html#fold_left"><span·class="id"·title="definition">fold_left</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:223"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:222"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#fold_right"><span·class="id"·title="definition">fold_right</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:224"·class="idref"·href="#x:224"><span·class="id"·title="binder">x</span></a>·<a·id="y:225"·class="idref"·href="#y:225"><span·class="id"·title="binder">y</span></a>·=>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#y:225"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#x:224"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:222"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:223"><span·class="id"·title="variable">a</span></a>.<br/> | 245 | {<a·id="n:221"·class="idref"·href="#n:221"><span·class="id"·title="binder">n</span></a>}·(<a·id="v:222"·class="idref"·href="#v:222"><span·class="id"·title="binder">v</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#B:215"><span·class="id"·title="variable">B</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:221"><span·class="id"·title="variable">n</span></a>):·<span·class="id"·title="keyword">forall</span>·<a·id="a:223"·class="idref"·href="#a:223"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorDef.html#fold_left"><span·class="id"·title="definition">fold_left</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:223"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:222"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#fold_right"><span·class="id"·title="definition">fold_right</span></a>·(<span·class="id"·title="keyword">fun</span>·<a·id="x:224"·class="idref"·href="#x:224"><span·class="id"·title="binder">x</span></a>·<a·id="y:225"·class="idref"·href="#y:225"><span·class="id"·title="binder">y</span></a>·=>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#f:216"><span·class="id"·title="variable">f</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#y:225"><span·class="id"·title="variable">y</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#x:224"><span·class="id"·title="variable">x</span></a>)·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:222"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:223"><span·class="id"·title="variable">a</span></a>.<br/> |
246 | <br/> | 246 | <br/> |
247 | </div> | 247 | </div> |
248 | <div·class="doc"> | 248 | <div·class="doc"> |
249 | <a·id="lab | 249 | <a·id="lab117"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">take</span></span></h2> |
250 | </div> | 250 | </div> |
251 | <div·class="code"> | 251 | <div·class="code"> |
252 | <br/> | 252 | <br/> |
253 | <span·class="id"·title="keyword">Lemma</span>·<a·id="take_O"·class="idref"·href="#take_O"><span·class="id"·title="lemma">take_O</span></a>·:·<span·class="id"·title="keyword">forall</span>·{<a·id="A:234"·class="idref"·href="#A:234"><span·class="id"·title="binder">A</span></a>}·{<a·id="n:235"·class="idref"·href="#n:235"><span·class="id"·title="binder">n</span></a>}·<a·id="le:236"·class="idref"·href="#le:236"><span·class="id"·title="binder">le</span></a>·(<a·id="v:237"·class="idref"·href="#v:237"><span·class="id"·title="binder">v</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:234"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:235"><span·class="id"·title="variable">n</span></a>),·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·0·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le:236"><span·class="id"·title="variable">le</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:237"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#4591d6c2b36fedc12d5b1c142546a37e"><span·class="id"·title="notation">[]</span></a>.<br/> | 253 | <span·class="id"·title="keyword">Lemma</span>·<a·id="take_O"·class="idref"·href="#take_O"><span·class="id"·title="lemma">take_O</span></a>·:·<span·class="id"·title="keyword">forall</span>·{<a·id="A:234"·class="idref"·href="#A:234"><span·class="id"·title="binder">A</span></a>}·{<a·id="n:235"·class="idref"·href="#n:235"><span·class="id"·title="binder">n</span></a>}·<a·id="le:236"·class="idref"·href="#le:236"><span·class="id"·title="binder">le</span></a>·(<a·id="v:237"·class="idref"·href="#v:237"><span·class="id"·title="binder">v</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:234"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:235"><span·class="id"·title="variable">n</span></a>),·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·0·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le:236"><span·class="id"·title="variable">le</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:237"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#4591d6c2b36fedc12d5b1c142546a37e"><span·class="id"·title="notation">[]</span></a>.<br/> |
Offset 270, 15 lines modified | Offset 270, 15 lines modified | ||
270 | <br/> | 270 | <br/> |
271 | <span·class="id"·title="keyword">Lemma</span>·<a·id="take_prf_irr"·class="idref"·href="#take_prf_irr"><span·class="id"·title="lemma">take_prf_irr</span></a>·:·<span·class="id"·title="keyword">forall</span>·{<a·id="A:250"·class="idref"·href="#A:250"><span·class="id"·title="binder">A</span></a>}·<a·id="p:251"·class="idref"·href="#p:251"><span·class="id"·title="binder">p</span></a>·{<a·id="n:252"·class="idref"·href="#n:252"><span·class="id"·title="binder">n</span></a>}·(<a·id="v:253"·class="idref"·href="#v:253"><span·class="id"·title="binder">v</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:250"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:252"><span·class="id"·title="variable">n</span></a>)·<a·id="le:254"·class="idref"·href="#le:254"><span·class="id"·title="binder">le</span></a>·<a·id="le':255"·class="idref"·href="#le':255"><span·class="id"·title="binder">le'</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:251"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le:254"><span·class="id"·title="variable">le</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:253"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:251"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le':255"><span·class="id"·title="variable">le'</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:253"><span·class="id"·title="variable">v</span></a>.<br/> | 271 | <span·class="id"·title="keyword">Lemma</span>·<a·id="take_prf_irr"·class="idref"·href="#take_prf_irr"><span·class="id"·title="lemma">take_prf_irr</span></a>·:·<span·class="id"·title="keyword">forall</span>·{<a·id="A:250"·class="idref"·href="#A:250"><span·class="id"·title="binder">A</span></a>}·<a·id="p:251"·class="idref"·href="#p:251"><span·class="id"·title="binder">p</span></a>·{<a·id="n:252"·class="idref"·href="#n:252"><span·class="id"·title="binder">n</span></a>}·(<a·id="v:253"·class="idref"·href="#v:253"><span·class="id"·title="binder">v</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:250"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:252"><span·class="id"·title="variable">n</span></a>)·<a·id="le:254"·class="idref"·href="#le:254"><span·class="id"·title="binder">le</span></a>·<a·id="le':255"·class="idref"·href="#le':255"><span·class="id"·title="binder">le'</span></a>,·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:251"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le:254"><span·class="id"·title="variable">le</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:253"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#take"><span·class="id"·title="definition">take</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#p:251"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#le':255"><span·class="id"·title="variable">le'</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:253"><span·class="id"·title="variable">v</span></a>.<br/> |
272 | <br/> | 272 | <br/> |
273 | </div> | 273 | </div> |
274 | <div·class="doc"> | 274 | <div·class="doc"> |
275 | <a·id="lab | 275 | <a·id="lab118"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">uncons</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">splitat</span></span></h2> |
276 | </div> | 276 | </div> |
277 | <div·class="code"> | 277 | <div·class="code"> |
278 | <br/> | 278 | <br/> |
279 | <span·class="id"·title="keyword">Lemma</span>·<a·id="uncons_cons"·class="idref"·href="#uncons_cons"><span·class="id"·title="lemma">uncons_cons</span></a>·{<a·id="A:256"·class="idref"·href="#A:256"><span·class="id"·title="binder">A</span></a>}·:·<span·class="id"·title="keyword">forall</span>·{<a·id="n:257"·class="idref"·href="#n:257"><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·id="a:258"·class="idref"·href="#a:258"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:256"><span·class="id"·title="variable">A</span></a>)·(<a·id="v:259"·class="idref"·href="#v:259"><span·class="id"·title="binder">v</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:256"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:257"><span·class="id"·title="variable">n</span></a>),<br/> | 279 | <span·class="id"·title="keyword">Lemma</span>·<a·id="uncons_cons"·class="idref"·href="#uncons_cons"><span·class="id"·title="lemma">uncons_cons</span></a>·{<a·id="A:256"·class="idref"·href="#A:256"><span·class="id"·title="binder">A</span></a>}·:·<span·class="id"·title="keyword">forall</span>·{<a·id="n:257"·class="idref"·href="#n:257"><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·id="a:258"·class="idref"·href="#a:258"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#A:256"><span·class="id"·title="variable">A</span></a>)·(<a·id="v:259"·class="idref"·href="#v:259"><span·class="id"·title="binder">v</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:256"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:257"><span·class="id"·title="variable">n</span></a>),<br/> |
280 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#uncons"><span·class="id"·title="definition">uncons</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:258"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#VectorNotations.::vector_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:259"><span·class="id"·title="variable">v</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#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:258"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">,</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:259"><span·class="id"·title="variable">v</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">)</span></a>.<br/> | 280 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#uncons"><span·class="id"·title="definition">uncons</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:258"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Vectors.VectorDef.html#VectorNotations.::vector_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:259"><span·class="id"·title="variable">v</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#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:258"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">,</span></a><a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:259"><span·class="id"·title="variable">v</span></a><a·class="idref"·href="Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span·class="id"·title="notation">)</span></a>.<br/> |
Offset 301, 28 lines modified | Offset 301, 28 lines modified | ||
301 | <span·class="id"·title="keyword">Lemma</span>·<a·id="append_inj"·class="idref"·href="#append_inj"><span·class="id"·title="lemma">append_inj</span></a>·{<a·id="A:277"·class="idref"·href="#A:277"><span·class="id"·title="binder">A</span></a>}·:·<span·class="id"·title="keyword">forall</span>·{<a·id="n:278"·class="idref"·href="#n:278"><span·class="id"·title="binder">n</span></a>·<a·id="m:279"·class="idref"·href="#m:279"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>}·(<a·id="v:280"·class="idref"·href="#v:280"><span·class="id"·title="binder">v</span></a>·<a·id="v':281"·class="idref"·href="#v':281"><span·class="id"·title="binder">v'</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:277"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:278"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:282"·class="idref"·href="#w:282"><span·class="id"·title="binder">w</span></a>·<a·id="w':283"·class="idref"·href="#w':283"><span·class="id"·title="binder">w'</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:277"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:279"><span·class="id"·title="variable">m</span></a>),<br/> | 301 | <span·class="id"·title="keyword">Lemma</span>·<a·id="append_inj"·class="idref"·href="#append_inj"><span·class="id"·title="lemma">append_inj</span></a>·{<a·id="A:277"·class="idref"·href="#A:277"><span·class="id"·title="binder">A</span></a>}·:·<span·class="id"·title="keyword">forall</span>·{<a·id="n:278"·class="idref"·href="#n:278"><span·class="id"·title="binder">n</span></a>·<a·id="m:279"·class="idref"·href="#m:279"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Datatypes.html#nat"><span·class="id"·title="inductive">nat</span></a>}·(<a·id="v:280"·class="idref"·href="#v:280"><span·class="id"·title="binder">v</span></a>·<a·id="v':281"·class="idref"·href="#v':281"><span·class="id"·title="binder">v'</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:277"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:278"><span·class="id"·title="variable">n</span></a>)·(<a·id="w:282"·class="idref"·href="#w:282"><span·class="id"·title="binder">w</span></a>·<a·id="w':283"·class="idref"·href="#w':283"><span·class="id"·title="binder">w'</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:277"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#m:279"><span·class="id"·title="variable">m</span></a>),<br/> |
302 | <a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:280"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:282"><span·class="id"·title="variable">w</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#v':281"><span·class="id"·title="variable">v'</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w':283"><span·class="id"·title="variable">w'</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#v:280"><span·class="id"·title="variable">v</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#v':281"><span·class="id"·title="variable">v'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:282"><span·class="id"·title="variable">w</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#w':283"><span·class="id"·title="variable">w'</span></a>.<br/> | 302 | <a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:280"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:282"><span·class="id"·title="variable">w</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#v':281"><span·class="id"·title="variable">v'</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#a87b3a8e962608c1caec424398040bdf"><span·class="id"·title="notation">++</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w':283"><span·class="id"·title="variable">w'</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#v:280"><span·class="id"·title="variable">v</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#v':281"><span·class="id"·title="variable">v'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#w:282"><span·class="id"·title="variable">w</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#w':283"><span·class="id"·title="variable">w'</span></a>.<br/> |
303 | <br/> | 303 | <br/> |
304 | </div> | 304 | </div> |
305 | <div·class="doc"> | 305 | <div·class="doc"> |
306 | <a·id="lab | 306 | <a·id="lab119"></a><h2·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">In</span></span></h2> |
307 | </div> | 307 | </div> |
308 | <div·class="code"> | 308 | <div·class="code"> |
309 | <br/> | 309 | <br/> |
310 | <span·class="id"·title="keyword">Lemma</span>·<a·id="In_cons_iff"·class="idref"·href="#In_cons_iff"><span·class="id"·title="lemma">In_cons_iff</span></a>·<a·id="A:284"·class="idref"·href="#A:284"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:285"·class="idref"·href="#n:285"><span·class="id"·title="binder">n</span></a>·<a·id="a:286"·class="idref"·href="#a:286"><span·class="id"·title="binder">a</span></a>·<a·id="b:287"·class="idref"·href="#b:287"><span·class="id"·title="binder">b</span></a>·(<a·id="v:288"·class="idref"·href="#v:288"><span·class="id"·title="binder">v</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:284"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:285"><span·class="id"·title="variable">n</span></a>),<br/> | 310 | <span·class="id"·title="keyword">Lemma</span>·<a·id="In_cons_iff"·class="idref"·href="#In_cons_iff"><span·class="id"·title="lemma">In_cons_iff</span></a>·<a·id="A:284"·class="idref"·href="#A:284"><span·class="id"·title="binder">A</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="n:285"·class="idref"·href="#n:285"><span·class="id"·title="binder">n</span></a>·<a·id="a:286"·class="idref"·href="#a:286"><span·class="id"·title="binder">a</span></a>·<a·id="b:287"·class="idref"·href="#b:287"><span·class="id"·title="binder">b</span></a>·(<a·id="v:288"·class="idref"·href="#v:288"><span·class="id"·title="binder">v</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:284"><span·class="id"·title="variable">A</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#n:285"><span·class="id"·title="variable">n</span></a>),<br/> |
311 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:287"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#VectorNotations.::vector_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:288"><span·class="id"·title="variable">v</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#b:287"><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.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:288"><span·class="id"·title="variable">v</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>.<br/> | 311 | <a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·(<a·class="idref"·href="Coq.Vectors.VectorSpec.html#b:287"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#VectorNotations.::vector_scope:x_'::'_x"><span·class="id"·title="notation">::</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:288"><span·class="id"·title="variable">v</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#b:287"><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.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Vectors.VectorDef.html#In"><span·class="id"·title="inductive">In</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#a:286"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Vectors.VectorSpec.html#v:288"><span·class="id"·title="variable">v</span></a><a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'<->'_x"><span·class="id"·title="notation">)</span></a>.<br/> |
312 | <br/> | 312 | <br/> |
313 | </div> | 313 | </div> |
Max diff block lines reached; 18458/58790 bytes (31.40%) of diff not shown. |
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="lab370"></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 86, 15 lines modified | Offset 86, 15 lines modified | ||
86 | <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> | 86 | <:·<a·class="idref"·href="Coq.Structures.Equalities.html#UsualDecidableTypeFull"><span·class="id"·title="module">UsualDecidableTypeFull</span></a><br/> |
87 | <:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>.<br/> | 87 | <:·<a·class="idref"·href="Coq.Structures.Orders.html#TotalOrder"><span·class="id"·title="module">TotalOrder</span></a>.<br/> |
88 | <br/> | 88 | <br/> |
89 | </div> | 89 | </div> |
90 | <div·class="doc"> | 90 | <div·class="doc"> |
91 | <a·id="lab | 91 | <a·id="lab371"></a><h1·class="section">Definitions·of·operations,·now·in·a·separate·file</h1> |
92 | </div> | 92 | </div> |
93 | <div·class="code"> | 93 | <div·class="code"> |
94 | <br/> | 94 | <br/> |
95 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z"><span·class="id"·title="module">BinIntDef.Z</span></a>.<br/> | 95 | <span·class="id"·title="keyword">Include</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z"><span·class="id"·title="module">BinIntDef.Z</span></a>.<br/> |
Offset 118, 15 lines modified | Offset 118, 15 lines modified | ||
118 | <br/> | 118 | <br/> |
119 | <br/> | 119 | <br/> |
120 | </div> | 120 | </div> |
121 | <div·class="doc"> | 121 | <div·class="doc"> |
122 | <a·id="lab | 122 | <a·id="lab372"></a><h1·class="section">Logic·Predicates</h1> |
123 | </div> | 123 | </div> |
124 | <div·class="code"> | 124 | <div·class="code"> |
125 | <br/> | 125 | <br/> |
126 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq"·class="idref"·href="#Z.eq"><span·class="id"·title="definition">eq</span></a>·:=·@<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 126 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq"·class="idref"·href="#Z.eq"><span·class="id"·title="definition">eq</span></a>·:=·@<a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> |
127 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq_equiv"·class="idref"·href="#Z.eq_equiv"><span·class="id"·title="definition">eq_equiv</span></a>·:=·@<a·class="idref"·href="Coq.Classes.RelationClasses.html#eq_equivalence"><span·class="id"·title="instance">eq_equivalence</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 127 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq_equiv"·class="idref"·href="#Z.eq_equiv"><span·class="id"·title="definition">eq_equiv</span></a>·:=·@<a·class="idref"·href="Coq.Classes.RelationClasses.html#eq_equivalence"><span·class="id"·title="instance">eq_equivalence</span></a>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> |
Offset 168, 27 lines modified | Offset 168, 27 lines modified | ||
168 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">gtb</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.Z.gtb</span>.<br/> | 168 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">gtb</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.Z.gtb</span>.<br/> |
169 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">eqb</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.Z.eqb</span>.<br/> | 169 | <span·class="id"·title="keyword">Register</span>·<span·class="id"·title="var">eqb</span>·<span·class="id"·title="keyword">as</span>·<span·class="id"·title="var">num.Z.eqb</span>.<br/> |
170 | <br/> | 170 | <br/> |
171 | </div> | 171 | </div> |
172 | <div·class="doc"> | 172 | <div·class="doc"> |
173 | <a·id="lab | 173 | <a·id="lab373"></a><h1·class="section">Decidability·of·equality.</h1> |
174 | </div> | 174 | </div> |
175 | <div·class="code"> | 175 | <div·class="code"> |
176 | <br/> | 176 | <br/> |
177 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq_dec"·class="idref"·href="#Z.eq_dec"><span·class="id"·title="definition">eq_dec</span></a>·(<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·<a·id="y:17"·class="idref"·href="#y:17"><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.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#x:16"><span·class="id"·title="variable">x</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#y:17"><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.ZArith.BinInt.html#x:16"><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.ZArith.BinInt.html#y:17"><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/> | 177 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.eq_dec"·class="idref"·href="#Z.eq_dec"><span·class="id"·title="definition">eq_dec</span></a>·(<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·<a·id="y:17"·class="idref"·href="#y:17"><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.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#x:16"><span·class="id"·title="variable">x</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#y:17"><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.ZArith.BinInt.html#x:16"><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.ZArith.BinInt.html#y:17"><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/> |
178 | <br/> | 178 | <br/> |
179 | </div> | 179 | </div> |
180 | <div·class="doc"> | 180 | <div·class="doc"> |
181 | <a·id="lab | 181 | <a·id="lab374"></a><h1·class="section">Proofs·of·morphisms,·obvious·since·eq·is·Leibniz</h1> |
182 | </div> | 182 | </div> |
183 | <div·class="code"> | 183 | <div·class="code"> |
184 | <br/> | 184 | <br/> |
185 | <span·class="id"·title="keyword">Local·Obligation</span>·<span·class="id"·title="keyword">Tactic</span>·:=·<span·class="id"·title="var">simpl_relation</span>.<br/> | 185 | <span·class="id"·title="keyword">Local·Obligation</span>·<span·class="id"·title="keyword">Tactic</span>·:=·<span·class="id"·title="var">simpl_relation</span>.<br/> |
186 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.succ_wd"·class="idref"·href="#Z.succ_wd"><span·class="id"·title="definition">succ_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">succ</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> | 186 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.succ_wd"·class="idref"·href="#Z.succ_wd"><span·class="id"·title="definition">succ_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">succ</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> |
Offset 205, 15 lines modified | Offset 205, 15 lines modified | ||
205 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.pow_wd"·class="idref"·href="#Z.pow_wd"><span·class="id"·title="definition">pow_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.pow"><span·class="id"·title="definition">pow</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> | 205 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.pow_wd"·class="idref"·href="#Z.pow_wd"><span·class="id"·title="definition">pow_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.pow"><span·class="id"·title="definition">pow</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> |
206 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.testbit_wd"·class="idref"·href="#Z.testbit_wd"><span·class="id"·title="definition">testbit_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.testbit"><span·class="id"·title="definition">testbit</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> | 206 | <span·class="id"·title="keyword">Program·Definition</span>·<a·id="Z.testbit_wd"·class="idref"·href="#Z.testbit_wd"><span·class="id"·title="definition">testbit_wd</span></a>·:·<a·class="idref"·href="Coq.Classes.Morphisms.html#Proper"><span·class="id"·title="class">Proper</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eq"><span·class="id"·title="definition">eq</span></a><a·class="idref"·href="Coq.Classes.Morphisms.html#8dc5652698a6e16f72dd37bd17d3b973"><span·class="id"·title="notation">==></span></a><a·class="idref"·href="Coq.Init.Logic.html#eq"><span·class="id"·title="inductive">Logic.eq</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.testbit"><span·class="id"·title="definition">testbit</span></a>·:=·<span·class="id"·title="var">_</span>.<br/> |
207 | <br/> | 207 | <br/> |
208 | </div> | 208 | </div> |
209 | <div·class="doc"> | 209 | <div·class="doc"> |
210 | <a·id="lab | 210 | <a·id="lab375"></a><h1·class="section">Properties·of·<span·class="inlinecode"><span·class="id"·title="var">pos_sub</span></span></h1> |
211 | <div·class="paragraph">·</div> | 211 | <div·class="paragraph">·</div> |
212 | ·<span·class="inlinecode"><span·class="id"·title="var">pos_sub</span></span>·can·be·written·in·term·of·positive·comparison | 212 | ·<span·class="inlinecode"><span·class="id"·title="var">pos_sub</span></span>·can·be·written·in·term·of·positive·comparison |
213 | ····and·subtraction·(cf.·earlier·definition·of·addition·of·Z)· | 213 | ····and·subtraction·(cf.·earlier·definition·of·addition·of·Z)· |
214 | </div> | 214 | </div> |
215 | <div·class="code"> | 215 | <div·class="code"> |
Offset 276, 15 lines modified | Offset 276, 15 lines modified | ||
276 | <br/> | 276 | <br/> |
277 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="Z.Private_BootStrap"·class="idref"·href="#Z.Private_BootStrap"><span·class="id"·title="module">Private_BootStrap</span></a>.<br/> | 277 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Import</span>·<a·id="Z.Private_BootStrap"·class="idref"·href="#Z.Private_BootStrap"><span·class="id"·title="module">Private_BootStrap</span></a>.<br/> |
278 | <br/> | 278 | <br/> |
279 | </div> | 279 | </div> |
280 | <div·class="doc"> | 280 | <div·class="doc"> |
281 | <a·id="lab | 281 | <a·id="lab376"></a><h2·class="section">Operations·and·constants</h2> |
282 | </div> | 282 | </div> |
283 | <div·class="code"> | 283 | <div·class="code"> |
284 | <br/> | 284 | <br/> |
285 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.add_0_r"·class="idref"·href="#Z.Private_BootStrap.add_0_r"><span·class="id"·title="lemma">add_0_r</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:29"><span·class="id"·title="variable">n</span></a>.<br/> | 285 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.add_0_r"·class="idref"·href="#Z.Private_BootStrap.add_0_r"><span·class="id"·title="lemma">add_0_r</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:29"><span·class="id"·title="variable">n</span></a>.<br/> |
Offset 294, 51 lines modified | Offset 294, 51 lines modified | ||
294 | <br/> | 294 | <br/> |
295 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.mul_1_l"·class="idref"·href="#Z.Private_BootStrap.mul_1_l"><span·class="id"·title="lemma">mul_1_l</span></a>·<a·id="n:31"·class="idref"·href="#n:31"><span·class="id"·title="binder">n</span></a>·:·1·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#6be75d73bb8cdf7491f5eca788592321"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:31"><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#n:31"><span·class="id"·title="variable">n</span></a>.<br/> | 295 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.mul_1_l"·class="idref"·href="#Z.Private_BootStrap.mul_1_l"><span·class="id"·title="lemma">mul_1_l</span></a>·<a·id="n:31"·class="idref"·href="#n:31"><span·class="id"·title="binder">n</span></a>·:·1·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#6be75d73bb8cdf7491f5eca788592321"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:31"><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#n:31"><span·class="id"·title="variable">n</span></a>.<br/> |
296 | <br/> | 296 | <br/> |
297 | </div> | 297 | </div> |
298 | <div·class="doc"> | 298 | <div·class="doc"> |
299 | <a·id="lab | 299 | <a·id="lab377"></a><h2·class="section">Addition·is·commutative</h2> |
300 | </div> | 300 | </div> |
301 | <div·class="code"> | 301 | <div·class="code"> |
302 | <br/> | 302 | <br/> |
303 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.add_comm"·class="idref"·href="#Z.Private_BootStrap.add_comm"><span·class="id"·title="lemma">add_comm</span></a>·<a·id="n:32"·class="idref"·href="#n:32"><span·class="id"·title="binder">n</span></a>·<a·id="m:33"·class="idref"·href="#m:33"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:32"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#m:33"><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.ZArith.BinInt.html#m:33"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:32"><span·class="id"·title="variable">n</span></a>.<br/> | 303 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z.Private_BootStrap.add_comm"·class="idref"·href="#Z.Private_BootStrap.add_comm"><span·class="id"·title="lemma">add_comm</span></a>·<a·id="n:32"·class="idref"·href="#n:32"><span·class="id"·title="binder">n</span></a>·<a·id="m:33"·class="idref"·href="#m:33"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:32"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#m:33"><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.ZArith.BinInt.html#m:33"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#n:32"><span·class="id"·title="variable">n</span></a>.<br/> |
304 | <br/> | 304 | <br/> |
305 | </div> | 305 | </div> |
306 | <div·class="doc"> | 306 | <div·class="doc"> |
Max diff block lines reached; 77639/90290 bytes (85.99%) of diff not shown. |
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="lab412"></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 75, 42 lines modified | Offset 75, 42 lines modified | ||
75 | <br/> | 75 | <br/> |
76 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.t"·class="idref"·href="#Z.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>.<br/> | 76 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.t"·class="idref"·href="#Z.t"><span·class="id"·title="definition">t</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</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="lab413"></a><h2·class="section">Nicer·names·<span·class="inlinecode"><span·class="id"·title="var">Z.pos</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">Z.neg</span></span>·for·constructors</h2> |
81 | </div> | 81 | </div> |
82 | <div·class="code"> | 82 | <div·class="code"> |
83 | <br/> | 83 | <br/> |
84 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.pos"·class="idref"·href="#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>.<br/> | 84 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.pos"·class="idref"·href="#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>.<br/> |
85 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.neg"·class="idref"·href="#Z.neg"><span·class="id"·title="abbreviation">neg</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zneg"><span·class="id"·title="constructor">Zneg</span></a>.<br/> | 85 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.neg"·class="idref"·href="#Z.neg"><span·class="id"·title="abbreviation">neg</span></a>·:=·<a·class="idref"·href="Coq.Numbers.BinNums.html#Zneg"><span·class="id"·title="constructor">Zneg</span></a>.<br/> |
86 | <br/> | 86 | <br/> |
87 | </div> | 87 | </div> |
88 | <div·class="doc"> | 88 | <div·class="doc"> |
89 | <a·id="lab | 89 | <a·id="lab414"></a><h2·class="section">Constants</h2> |
90 | </div> | 90 | </div> |
91 | <div·class="code"> | 91 | <div·class="code"> |
92 | <br/> | 92 | <br/> |
93 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.zero"·class="idref"·href="#Z.zero"><span·class="id"·title="definition">zero</span></a>·:=·0.<br/> | 93 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.zero"·class="idref"·href="#Z.zero"><span·class="id"·title="definition">zero</span></a>·:=·0.<br/> |
94 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.one"·class="idref"·href="#Z.one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> | 94 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.one"·class="idref"·href="#Z.one"><span·class="id"·title="definition">one</span></a>·:=·1.<br/> |
95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.two"·class="idref"·href="#Z.two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> | 95 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.two"·class="idref"·href="#Z.two"><span·class="id"·title="definition">two</span></a>·:=·2.<br/> |
96 | <br/> | 96 | <br/> |
97 | </div> | 97 | </div> |
98 | <div·class="doc"> | 98 | <div·class="doc"> |
99 | <a·id="lab | 99 | <a·id="lab415"></a><h2·class="section">Doubling·and·variants</h2> |
100 | </div> | 100 | </div> |
101 | <div·class="code"> | 101 | <div·class="code"> |
102 | <br/> | 102 | <br/> |
103 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.double"·class="idref"·href="#Z.double"><span·class="id"·title="definition">double</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> | 103 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.double"·class="idref"·href="#Z.double"><span·class="id"·title="definition">double</span></a>·<a·id="x:1"·class="idref"·href="#x:1"><span·class="id"·title="binder">x</span></a>·:=<br/> |
104 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 104 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:1"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 135, 15 lines modified | Offset 135, 15 lines modified | ||
135 | |·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">Pos.pred_double</span></a>·<span·class="id"·title="var">p</span>)<br/> | 135 | |·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·<span·class="id"·title="var">p</span>·=>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.pos"><span·class="id"·title="abbreviation">pos</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.pred_double"><span·class="id"·title="definition">Pos.pred_double</span></a>·<span·class="id"·title="var">p</span>)<br/> |
136 | <span·class="id"·title="keyword">end</span>.<br/> | 136 | <span·class="id"·title="keyword">end</span>.<br/> |
137 | <br/> | 137 | <br/> |
138 | </div> | 138 | </div> |
139 | <div·class="doc"> | 139 | <div·class="doc"> |
140 | <a·id="lab | 140 | <a·id="lab416"></a><h2·class="section">Subtraction·of·positive·into·Z</h2> |
141 | </div> | 141 | </div> |
142 | <div·class="code"> | 142 | <div·class="code"> |
143 | <br/> | 143 | <br/> |
144 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Z.pos_sub"·class="idref"·href="#Z.pos_sub"><span·class="id"·title="definition">pos_sub</span></a>·(<a·id="x:7"·class="idref"·href="#x:7"><span·class="id"·title="binder">x</span></a>·<a·id="y:8"·class="idref"·href="#y:8"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">y</span>}·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=<br/> | 144 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Z.pos_sub"·class="idref"·href="#Z.pos_sub"><span·class="id"·title="definition">pos_sub</span></a>·(<a·id="x:7"·class="idref"·href="#x:7"><span·class="id"·title="binder">x</span></a>·<a·id="y:8"·class="idref"·href="#y:8"><span·class="id"·title="binder">y</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·{<span·class="id"·title="keyword">struct</span>·<span·class="id"·title="var">y</span>}·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>·:=<br/> |
145 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:7"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#y:8"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 145 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:7"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#y:8"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 158, 15 lines modified | Offset 158, 15 lines modified | ||
158 | |·1,·1·=>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z0"><span·class="id"·title="constructor">Z0</span></a><br/> | 158 | |·1,·1·=>·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z0"><span·class="id"·title="constructor">Z0</span></a><br/> |
159 | <span·class="id"·title="keyword">end</span>%<span·class="id"·title="var">positive</span>.<br/> | 159 | <span·class="id"·title="keyword">end</span>%<span·class="id"·title="var">positive</span>.<br/> |
160 | <br/> | 160 | <br/> |
161 | </div> | 161 | </div> |
162 | <div·class="doc"> | 162 | <div·class="doc"> |
163 | <a·id="lab | 163 | <a·id="lab417"></a><h2·class="section">Addition</h2> |
164 | </div> | 164 | </div> |
165 | <div·class="code"> | 165 | <div·class="code"> |
166 | <br/> | 166 | <br/> |
167 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.add"·class="idref"·href="#Z.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>·<a·id="y:13"·class="idref"·href="#y:13"><span·class="id"·title="binder">y</span></a>·:=<br/> | 167 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.add"·class="idref"·href="#Z.add"><span·class="id"·title="definition">add</span></a>·<a·id="x:12"·class="idref"·href="#x:12"><span·class="id"·title="binder">x</span></a>·<a·id="y:13"·class="idref"·href="#y:13"><span·class="id"·title="binder">y</span></a>·:=<br/> |
168 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:12"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#y:13"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> | 168 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:12"><span·class="id"·title="variable">x</span></a>,·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#y:13"><span·class="id"·title="variable">y</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 181, 15 lines modified | Offset 181, 15 lines modified | ||
181 | <br/> | 181 | <br/> |
182 | <span·class="id"·title="keyword">Infix</span>·<a·id="227c8238350fd4cd476071826da76987"·class="idref"·href="#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.add"><span·class="id"·title="definition">add</span></a>·:·<span·class="id"·title="var">Z_scope</span>.<br/> | 182 | <span·class="id"·title="keyword">Infix</span>·<a·id="227c8238350fd4cd476071826da76987"·class="idref"·href="#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">"</span></a>+"·:=·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.add"><span·class="id"·title="definition">add</span></a>·:·<span·class="id"·title="var">Z_scope</span>.<br/> |
183 | <br/> | 183 | <br/> |
184 | </div> | 184 | </div> |
185 | <div·class="doc"> | 185 | <div·class="doc"> |
186 | <a·id="lab | 186 | <a·id="lab418"></a><h2·class="section">Opposite</h2> |
187 | </div> | 187 | </div> |
188 | <div·class="code"> | 188 | <div·class="code"> |
189 | <br/> | 189 | <br/> |
190 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.opp"·class="idref"·href="#Z.opp"><span·class="id"·title="definition">opp</span></a>·<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·:=<br/> | 190 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.opp"·class="idref"·href="#Z.opp"><span·class="id"·title="definition">opp</span></a>·<a·id="x:16"·class="idref"·href="#x:16"><span·class="id"·title="binder">x</span></a>·:=<br/> |
191 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:16"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> | 191 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:16"><span·class="id"·title="variable">x</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 201, 54 lines modified | Offset 201, 54 lines modified | ||
201 | <br/> | 201 | <br/> |
202 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.::Z_scope:'-'_x"·class="idref"·href="#Z.::Z_scope:'-'_x"><span·class="id"·title="notation">"</span></a>-·x"·:=·(<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.opp"><span·class="id"·title="definition">opp</span></a>·<span·class="id"·title="var">x</span>)·:·<span·class="id"·title="var">Z_scope</span>.<br/> | 202 | <span·class="id"·title="keyword">Notation</span>·<a·id="Z.::Z_scope:'-'_x"·class="idref"·href="#Z.::Z_scope:'-'_x"><span·class="id"·title="notation">"</span></a>-·x"·:=·(<a·class="idref"·href="Coq.ZArith.BinIntDef.html#Z.opp"><span·class="id"·title="definition">opp</span></a>·<span·class="id"·title="var">x</span>)·:·<span·class="id"·title="var">Z_scope</span>.<br/> |
203 | <br/> | 203 | <br/> |
204 | </div> | 204 | </div> |
205 | <div·class="doc"> | 205 | <div·class="doc"> |
206 | <a·id="lab | 206 | <a·id="lab419"></a><h2·class="section">Successor</h2> |
207 | </div> | 207 | </div> |
208 | <div·class="code"> | 208 | <div·class="code"> |
209 | <br/> | 209 | <br/> |
210 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.succ"·class="idref"·href="#Z.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="x:18"·class="idref"·href="#x:18"><span·class="id"·title="binder">x</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·1.<br/> | 210 | <span·class="id"·title="keyword">Definition</span>·<a·id="Z.succ"·class="idref"·href="#Z.succ"><span·class="id"·title="definition">succ</span></a>·<a·id="x:18"·class="idref"·href="#x:18"><span·class="id"·title="binder">x</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#x:18"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinIntDef.html#227c8238350fd4cd476071826da76987"><span·class="id"·title="notation">+</span></a>·1.<br/> |
211 | <br/> | 211 | <br/> |
212 | </div> | 212 | </div> |
213 | <div·class="doc"> | 213 | <div·class="doc"> |
214 | <a·id="lab | 214 | <a·id="lab420"></a><h2·class="section">Predecessor</h2> |
Max diff block lines reached; 25290/33910 bytes (74.58%) of diff not shown. |
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="lab345"></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">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">bool</span>.<br/> | 71 | <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">bool</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="lab346"></a><h1·class="section">A·specification·of·integers</h1> |
76 | </div> | 76 | </div> |
77 | <div·class="code"> | 77 | <div·class="code"> |
78 | <br/> | 78 | <br/> |
79 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Int"·class="idref"·href="#Int"><span·class="id"·title="module">Int</span></a>.<br/> | 79 | <span·class="id"·title="keyword">Module</span>·<span·class="id"·title="keyword">Type</span>·<a·id="Int"·class="idref"·href="#Int"><span·class="id"·title="module">Int</span></a>.<br/> |
Offset 206, 15 lines modified | Offset 206, 15 lines modified | ||
206 | <br/> | 206 | <br/> |
207 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>.<br/> | 207 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>.<br/> |
208 | <br/> | 208 | <br/> |
209 | </div> | 209 | </div> |
210 | <div·class="doc"> | 210 | <div·class="doc"> |
211 | <a·id="lab | 211 | <a·id="lab347"></a><h1·class="section">Facts·and··tactics·using·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span></h1> |
212 | </div> | 212 | </div> |
213 | <div·class="code"> | 213 | <div·class="code"> |
214 | <br/> | 214 | <br/> |
215 | <span·class="id"·title="keyword">Module</span>·<a·id="MoreInt"·class="idref"·href="#MoreInt"><span·class="id"·title="module">MoreInt</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">I</span>:<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>).<br/> | 215 | <span·class="id"·title="keyword">Module</span>·<a·id="MoreInt"·class="idref"·href="#MoreInt"><span·class="id"·title="module">MoreInt</span></a>·(<span·class="id"·title="keyword">Import</span>·<span·class="id"·title="var">I</span>:<a·class="idref"·href="Coq.ZArith.Int.html#Int"><span·class="id"·title="module">Int</span></a>).<br/> |
216 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="MoreInt.int"·class="idref"·href="#MoreInt.int"><span·class="id"·title="abbreviation">int</span></a>·:=·<a·class="idref"·href="Coq.ZArith.Int.html#I.t"><span·class="id"·title="axiom">I.t</span></a>.<br/> | 216 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="MoreInt.int"·class="idref"·href="#MoreInt.int"><span·class="id"·title="abbreviation">int</span></a>·:=·<a·class="idref"·href="Coq.ZArith.Int.html#I.t"><span·class="id"·title="axiom">I.t</span></a>.<br/> |
Offset 560, 15 lines modified | Offset 560, 15 lines modified | ||
560 | <br/> | 560 | <br/> |
561 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Int.html#MoreInt"><span·class="id"·title="module">MoreInt</span></a>.<br/> | 561 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Int.html#MoreInt"><span·class="id"·title="module">MoreInt</span></a>.<br/> |
562 | <br/> | 562 | <br/> |
563 | </div> | 563 | </div> |
564 | <div·class="doc"> | 564 | <div·class="doc"> |
565 | <a·id="lab | 565 | <a·id="lab348"></a><h1·class="section">An·implementation·of·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span></h1> |
566 | <div·class="paragraph">·</div> | 566 | <div·class="paragraph">·</div> |
567 | ·It's·always·nice·to·know·that·our·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span>·interface·is·realizable·:-)· | 567 | ·It's·always·nice·to·know·that·our·<span·class="inlinecode"><span·class="id"·title="var">Int</span></span>·interface·is·realizable·:-)· |
568 | </div> | 568 | </div> |
569 | <div·class="code"> | 569 | <div·class="code"> |
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="lab10 | 75 | <a·id="lab410"></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 112, 15 lines modified | Offset 112, 15 lines modified | ||
112 | <br/> | 112 | <br/> |
113 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability"><span·class="id"·title="section">decidability</span></a>.<br/> | 113 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#decidability"><span·class="id"·title="section">decidability</span></a>.<br/> |
114 | <br/> | 114 | <br/> |
115 | </div> | 115 | </div> |
116 | <div·class="doc"> | 116 | <div·class="doc"> |
117 | <a·id="lab | 117 | <a·id="lab411"></a><h1·class="section">Cotransitivity·of·order·on·binary·integers</h1> |
118 | </div> | 118 | </div> |
119 | <div·class="code"> | 119 | <div·class="code"> |
120 | <br/> | 120 | <br/> |
121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zlt_cotrans"·class="idref"·href="#Zlt_cotrans"><span·class="id"·title="lemma">Zlt_cotrans</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:12"·class="idref"·href="#n:12"><span·class="id"·title="binder">n</span></a>·<a·id="m:13"·class="idref"·href="#m:13"><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.ZArith.ZArith_dec.html#n:12"><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.ZArith_dec.html#m:13"><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>·<span·class="id"·title="keyword">forall</span>·<a·id="p:14"·class="idref"·href="#p:14"><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.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#n:12"><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.ZArith_dec.html#p:14"><span·class="id"·title="variable">p</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.ZArith_dec.html#p:14"><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>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#m:13"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">}</span></a>.<br/> | 121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zlt_cotrans"·class="idref"·href="#Zlt_cotrans"><span·class="id"·title="lemma">Zlt_cotrans</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="n:12"·class="idref"·href="#n:12"><span·class="id"·title="binder">n</span></a>·<a·id="m:13"·class="idref"·href="#m:13"><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.ZArith.ZArith_dec.html#n:12"><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.ZArith_dec.html#m:13"><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>·<span·class="id"·title="keyword">forall</span>·<a·id="p:14"·class="idref"·href="#p:14"><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.Specif.html#87727981cdc1579fef00b9d9c1d3b9da"><span·class="id"·title="notation">{</span></a><a·class="idref"·href="Coq.ZArith.ZArith_dec.html#n:12"><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.ZArith_dec.html#p:14"><span·class="id"·title="variable">p</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.ZArith_dec.html#p:14"><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>·<a·class="idref"·href="Coq.ZArith.ZArith_dec.html#m:13"><span·class="id"·title="variable">m</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="lab449"></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 88, 15 lines modified | Offset 88, 15 lines modified | ||
88 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zsgn"·class="idref"·href="#Zabs_Zsgn"><span·class="id"·title="abbreviation">Zabs_Zsgn</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_sgn"><span·class="id"·title="lemma">Z.abs_sgn</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 88 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zsgn"·class="idref"·href="#Zabs_Zsgn"><span·class="id"·title="abbreviation">Zabs_Zsgn</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_sgn"><span·class="id"·title="lemma">Z.abs_sgn</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
89 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zmult"·class="idref"·href="#Zabs_Zmult"><span·class="id"·title="abbreviation">Zabs_Zmult</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_mul"><span·class="id"·title="lemma">Z.abs_mul</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 89 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zabs_Zmult"·class="idref"·href="#Zabs_Zmult"><span·class="id"·title="abbreviation">Zabs_Zmult</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_mul"><span·class="id"·title="lemma">Z.abs_mul</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
90 | <br/> | 90 | <br/> |
91 | </div> | 91 | </div> |
92 | <div·class="doc"> | 92 | <div·class="doc"> |
93 | <a·id="lab | 93 | <a·id="lab450"></a><h1·class="section">Proving·a·property·of·the·absolute·value·by·cases</h1> |
94 | </div> | 94 | </div> |
95 | <div·class="code"> | 95 | <div·class="code"> |
96 | <br/> | 96 | <br/> |
97 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zabs_ind"·class="idref"·href="#Zabs_ind"><span·class="id"·title="lemma">Zabs_ind</span></a>·:<br/> | 97 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zabs_ind"·class="idref"·href="#Zabs_ind"><span·class="id"·title="lemma">Zabs_ind</span></a>·:<br/> |
98 | <span·class="id"·title="keyword">forall</span>·(<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#Z"><span·class="id"·title="inductive">Z</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="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>),<br/> | 98 | <span·class="id"·title="keyword">forall</span>·(<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#Z"><span·class="id"·title="inductive">Z</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="n:2"·class="idref"·href="#n:2"><span·class="id"·title="binder">n</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>),<br/> |
Offset 113, 15 lines modified | Offset 113, 15 lines modified | ||
113 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a><br/> | 113 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a><br/> |
114 | 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.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</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"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>.<br/> | 114 | 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.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</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"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.Zabs.html#x:6"><span·class="id"·title="variable">x</span></a>.<br/> |
115 | <br/> | 115 | <br/> |
116 | </div> | 116 | </div> |
117 | <div·class="doc"> | 117 | <div·class="doc"> |
118 | <a·id="lab | 118 | <a·id="lab451"></a><h1·class="section">Some·results·about·the·sign·function.</h1> |
119 | </div> | 119 | </div> |
120 | <div·class="code"> | 120 | <div·class="code"> |
121 | <br/> | 121 | <br/> |
122 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsgn_Zmult"·class="idref"·href="#Zsgn_Zmult"><span·class="id"·title="abbreviation">Zsgn_Zmult</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn_mul"><span·class="id"·title="lemma">Z.sgn_mul</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 122 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsgn_Zmult"·class="idref"·href="#Zsgn_Zmult"><span·class="id"·title="abbreviation">Zsgn_Zmult</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn_mul"><span·class="id"·title="lemma">Z.sgn_mul</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
123 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsgn_Zopp"·class="idref"·href="#Zsgn_Zopp"><span·class="id"·title="abbreviation">Zsgn_Zopp</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn_opp"><span·class="id"·title="lemma">Z.sgn_opp</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 123 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsgn_Zopp"·class="idref"·href="#Zsgn_Zopp"><span·class="id"·title="abbreviation">Zsgn_Zopp</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn_opp"><span·class="id"·title="lemma">Z.sgn_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="lab468"></a><h1·class="section">here·matches·the·bitblasting·rules·for·integers.·However,·the·vector·of</h1> |
155 | <a·id="lab | 155 | <a·id="lab469"></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="lab470"></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="lab471"></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="lab472"></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 81, 15 lines modified | Offset 81, 15 lines modified | ||
81 | <br/> | 81 | <br/> |
82 | <span·class="id"·title="keyword">Definition</span>·<a·id="Zeven_odd_bool"·class="idref"·href="#Zeven_odd_bool"><span·class="id"·title="definition">Zeven_odd_bool</span></a>·(<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</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.Zeven.html#Zeven_odd_dec"><span·class="id"·title="definition">Zeven_odd_dec</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#x:13"><span·class="id"·title="variable">x</span></a>).<br/> | 82 | <span·class="id"·title="keyword">Definition</span>·<a·id="Zeven_odd_bool"·class="idref"·href="#Zeven_odd_bool"><span·class="id"·title="definition">Zeven_odd_bool</span></a>·(<a·id="x:13"·class="idref"·href="#x:13"><span·class="id"·title="binder">x</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.Zeven.html#Zeven_odd_dec"><span·class="id"·title="definition">Zeven_odd_dec</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#x:13"><span·class="id"·title="variable">x</span></a>).<br/> |
83 | <br/> | 83 | <br/> |
84 | </div> | 84 | </div> |
85 | <div·class="doc"> | 85 | <div·class="doc"> |
86 | <a·id="lab | 86 | <a·id="lab473"></a><h1·class="section">Boolean·comparisons·of·binary·integers</h1> |
87 | </div> | 87 | </div> |
88 | <div·class="code"> | 88 | <div·class="code"> |
89 | <br/> | 89 | <br/> |
90 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zle_bool"·class="idref"·href="#Zle_bool"><span·class="id"·title="abbreviation">Zle_bool</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.leb"><span·class="id"·title="definition">Z.leb</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 90 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zle_bool"·class="idref"·href="#Zle_bool"><span·class="id"·title="abbreviation">Zle_bool</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.leb"><span·class="id"·title="definition">Z.leb</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
91 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zge_bool"·class="idref"·href="#Zge_bool"><span·class="id"·title="abbreviation">Zge_bool</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.geb"><span·class="id"·title="definition">Z.geb</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 91 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zge_bool"·class="idref"·href="#Zge_bool"><span·class="id"·title="abbreviation">Zge_bool</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.geb"><span·class="id"·title="definition">Z.geb</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<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="lab361"></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="lab362"></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 96, 39 lines modified | Offset 96, 39 lines modified | ||
96 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_trans"·class="idref"·href="#Zcompare_Gt_trans"><span·class="id"·title="lemma">Zcompare_Gt_trans</span></a>·:<br/> | 96 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_trans"·class="idref"·href="#Zcompare_Gt_trans"><span·class="id"·title="lemma">Zcompare_Gt_trans</span></a>·:<br/> |
97 | <span·class="id"·title="keyword">forall</span>·<a·id="n:8"·class="idref"·href="#n:8"><span·class="id"·title="binder">n</span></a>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>·<a·id="p:10"·class="idref"·href="#p:10"><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:8"><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:9"><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:9"><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:10"><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#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#n:8"><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:10"><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#Gt"><span·class="id"·title="constructor">Gt</span></a>.<br/> | 97 | <span·class="id"·title="keyword">forall</span>·<a·id="n:8"·class="idref"·href="#n:8"><span·class="id"·title="binder">n</span></a>·<a·id="m:9"·class="idref"·href="#m:9"><span·class="id"·title="binder">m</span></a>·<a·id="p:10"·class="idref"·href="#p:10"><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:8"><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:9"><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:9"><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:10"><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#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#n:8"><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:10"><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#Gt"><span·class="id"·title="constructor">Gt</span></a>.<br/> |
98 | <br/> | 98 | <br/> |
99 | </div> | 99 | </div> |
100 | <div·class="doc"> | 100 | <div·class="doc"> |
101 | <a·id="lab | 101 | <a·id="lab363"></a><h1·class="section">Comparison·and·opposite</h1> |
102 | </div> | 102 | </div> |
103 | <div·class="code"> | 103 | <div·class="code"> |
104 | <br/> | 104 | <br/> |
105 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_opp"·class="idref"·href="#Zcompare_opp"><span·class="id"·title="lemma">Zcompare_opp</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.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:11"><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:12"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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.Zcompare.html#m:12"><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.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:11"><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/> | 105 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_opp"·class="idref"·href="#Zcompare_opp"><span·class="id"·title="lemma">Zcompare_opp</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.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:11"><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:12"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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.Zcompare.html#m:12"><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.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:11"><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/> |
106 | <br/> | 106 | <br/> |
107 | </div> | 107 | </div> |
108 | <div·class="doc"> | 108 | <div·class="doc"> |
109 | <a·id="lab | 109 | <a·id="lab364"></a><h1·class="section">Comparison·first-order·specification</h1> |
110 | </div> | 110 | </div> |
111 | <div·class="code"> | 111 | <div·class="code"> |
112 | <br/> | 112 | <br/> |
113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_spec"·class="idref"·href="#Zcompare_Gt_spec"><span·class="id"·title="lemma">Zcompare_Gt_spec</span></a>·<a·id="n:13"·class="idref"·href="#n:13"><span·class="id"·title="binder">n</span></a>·<a·id="m:14"·class="idref"·href="#m:14"><span·class="id"·title="binder">m</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:13"><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:14"><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#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="h:15"·class="idref"·href="#h:15"><span·class="id"·title="binder">h</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:13"><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.Zcompare.html#m:14"><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.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#h:15"><span·class="id"·title="variable">h</span></a>.<br/> | 113 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_spec"·class="idref"·href="#Zcompare_Gt_spec"><span·class="id"·title="lemma">Zcompare_Gt_spec</span></a>·<a·id="n:13"·class="idref"·href="#n:13"><span·class="id"·title="binder">n</span></a>·<a·id="m:14"·class="idref"·href="#m:14"><span·class="id"·title="binder">m</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:13"><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:14"><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#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="h:15"·class="idref"·href="#h:15"><span·class="id"·title="binder">h</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:13"><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.Zcompare.html#m:14"><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.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#h:15"><span·class="id"·title="variable">h</span></a>.<br/> |
114 | <br/> | 114 | <br/> |
115 | </div> | 115 | </div> |
116 | <div·class="doc"> | 116 | <div·class="doc"> |
117 | <a·id="lab | 117 | <a·id="lab365"></a><h1·class="section">Comparison·and·addition</h1> |
118 | </div> | 118 | </div> |
119 | <div·class="code"> | 119 | <div·class="code"> |
120 | <br/> | 120 | <br/> |
121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_plus_compat"·class="idref"·href="#Zcompare_plus_compat"><span·class="id"·title="lemma">Zcompare_plus_compat</span></a>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·<a·id="p:18"·class="idref"·href="#p:18"><span·class="id"·title="binder">p</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#p:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:16"><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:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:17"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:16"><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:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 121 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_plus_compat"·class="idref"·href="#Zcompare_plus_compat"><span·class="id"·title="lemma">Zcompare_plus_compat</span></a>·<a·id="n:16"·class="idref"·href="#n:16"><span·class="id"·title="binder">n</span></a>·<a·id="m:17"·class="idref"·href="#m:17"><span·class="id"·title="binder">m</span></a>·<a·id="p:18"·class="idref"·href="#p:18"><span·class="id"·title="binder">p</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#p:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:16"><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:18"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:17"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:16"><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:17"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> |
Offset 142, 27 lines modified | Offset 142, 27 lines modified | ||
142 | <br/> | 142 | <br/> |
143 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_not_Lt"·class="idref"·href="#Zcompare_Gt_not_Lt"><span·class="id"·title="lemma">Zcompare_Gt_not_Lt</span></a>·<a·id="n:25"·class="idref"·href="#n:25"><span·class="id"·title="binder">n</span></a>·<a·id="m:26"·class="idref"·href="#m:26"><span·class="id"·title="binder">m</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:25"><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:26"><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#::type_scope:x_'<>'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:25"><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:26"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>1<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.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> | 143 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_Gt_not_Lt"·class="idref"·href="#Zcompare_Gt_not_Lt"><span·class="id"·title="lemma">Zcompare_Gt_not_Lt</span></a>·<a·id="n:25"·class="idref"·href="#n:25"><span·class="id"·title="binder">n</span></a>·<a·id="m:26"·class="idref"·href="#m:26"><span·class="id"·title="binder">m</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:25"><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:26"><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#::type_scope:x_'<>'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:25"><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:26"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>1<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.Datatypes.html#Lt"><span·class="id"·title="constructor">Lt</span></a>.<br/> |
144 | <br/> | 144 | <br/> |
145 | </div> | 145 | </div> |
146 | <div·class="doc"> | 146 | <div·class="doc"> |
147 | <a·id="lab | 147 | <a·id="lab366"></a><h1·class="section">Successor·and·comparison</h1> |
148 | </div> | 148 | </div> |
149 | <div·class="code"> | 149 | <div·class="code"> |
150 | <br/> | 150 | <br/> |
151 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_succ_compat"·class="idref"·href="#Zcompare_succ_compat"><span·class="id"·title="lemma">Zcompare_succ_compat</span></a>·<a·id="n:27"·class="idref"·href="#n:27"><span·class="id"·title="binder">n</span></a>·<a·id="m:28"·class="idref"·href="#m:28"><span·class="id"·title="binder">m</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.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:27"><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.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:28"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:27"><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:28"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 151 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_succ_compat"·class="idref"·href="#Zcompare_succ_compat"><span·class="id"·title="lemma">Zcompare_succ_compat</span></a>·<a·id="n:27"·class="idref"·href="#n:27"><span·class="id"·title="binder">n</span></a>·<a·id="m:28"·class="idref"·href="#m:28"><span·class="id"·title="binder">m</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.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:27"><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.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:28"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:27"><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:28"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> |
152 | <br/> | 152 | <br/> |
153 | </div> | 153 | </div> |
154 | <div·class="doc"> | 154 | <div·class="doc"> |
155 | <a·id="lab | 155 | <a·id="lab367"></a><h1·class="section">Multiplication·and·comparison</h1> |
156 | </div> | 156 | </div> |
157 | <div·class="code"> | 157 | <div·class="code"> |
158 | <br/> | 158 | <br/> |
159 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_mult_compat"·class="idref"·href="#Zcompare_mult_compat"><span·class="id"·title="lemma">Zcompare_mult_compat</span></a>·:<br/> | 159 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_mult_compat"·class="idref"·href="#Zcompare_mult_compat"><span·class="id"·title="lemma">Zcompare_mult_compat</span></a>·:<br/> |
160 | <span·class="id"·title="keyword">forall</span>·(<a·id="p:29"·class="idref"·href="#p:29"><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·id="n:30"·class="idref"·href="#n:30"><span·class="id"·title="binder">n</span></a>·<a·id="m:31"·class="idref"·href="#m:31"><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.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:29"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:30"><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.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:29"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:31"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:30"><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:31"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 160 | <span·class="id"·title="keyword">forall</span>·(<a·id="p:29"·class="idref"·href="#p:29"><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·id="n:30"·class="idref"·href="#n:30"><span·class="id"·title="binder">n</span></a>·<a·id="m:31"·class="idref"·href="#m:31"><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.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:29"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#n:30"><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.Numbers.BinNums.html#Zpos"><span·class="id"·title="constructor">Zpos</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:29"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#m:31"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:30"><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:31"><span·class="id"·title="variable">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> |
Offset 175, 15 lines modified | Offset 175, 15 lines modified | ||
175 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_compare_compat_r"·class="idref"·href="#Zmult_compare_compat_r"><span·class="id"·title="lemma">Zmult_compare_compat_r</span></a>·<a·id="n:35"·class="idref"·href="#n:35"><span·class="id"·title="binder">n</span></a>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·<a·id="p:37"·class="idref"·href="#p:37"><span·class="id"·title="binder">p</span></a>·:<br/> | 175 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_compare_compat_r"·class="idref"·href="#Zmult_compare_compat_r"><span·class="id"·title="lemma">Zmult_compare_compat_r</span></a>·<a·id="n:35"·class="idref"·href="#n:35"><span·class="id"·title="binder">n</span></a>·<a·id="m:36"·class="idref"·href="#m:36"><span·class="id"·title="binder">m</span></a>·<a·id="p:37"·class="idref"·href="#p:37"><span·class="id"·title="binder">p</span></a>·:<br/> |
176 | <a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><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>·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#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:35"><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:36"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</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:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 176 | <a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><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>·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#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:35"><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:36"><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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zcompare.html#n:35"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</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:36"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zcompare.html#p:37"><span·class="id"·title="variable">p</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> |
177 | <br/> | 177 | <br/> |
178 | </div> | 178 | </div> |
179 | <div·class="doc"> | 179 | <div·class="doc"> |
180 | <a·id="lab | 180 | <a·id="lab368"></a><h1·class="section">Relating·<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">?=</span>·<span·class="inlinecode"><span·class="id"·title="var">y</span></span>·to·<span·class="inlinecode">=</span>,·<span·class="inlinecode"><=</span>,·<span·class="inlinecode"><</span>,·<span·class="inlinecode">>=</span>·or·<span·class="inlinecode">></span></h1> |
181 | </div> | 181 | </div> |
182 | <div·class="code"> | 182 | <div·class="code"> |
183 | <br/> | 183 | <br/> |
184 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_elim"·class="idref"·href="#Zcompare_elim"><span·class="id"·title="lemma">Zcompare_elim</span></a>·:<br/> | 184 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zcompare_elim"·class="idref"·href="#Zcompare_elim"><span·class="id"·title="lemma">Zcompare_elim</span></a>·:<br/> |
185 | <span·class="id"·title="keyword">forall</span>·(<a·id="c1:38"·class="idref"·href="#c1:38"><span·class="id"·title="binder">c1</span></a>·<a·id="c2:39"·class="idref"·href="#c2:39"><span·class="id"·title="binder">c2</span></a>·<a·id="c3:40"·class="idref"·href="#c3:40"><span·class="id"·title="binder">c3</span></a>:<span·class="id"·title="keyword">Prop</span>)·(<a·id="n:41"·class="idref"·href="#n:41"><span·class="id"·title="binder">n</span></a>·<a·id="m:42"·class="idref"·href="#m:42"><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>),<br/> | 185 | <span·class="id"·title="keyword">forall</span>·(<a·id="c1:38"·class="idref"·href="#c1:38"><span·class="id"·title="binder">c1</span></a>·<a·id="c2:39"·class="idref"·href="#c2:39"><span·class="id"·title="binder">c2</span></a>·<a·id="c3:40"·class="idref"·href="#c3:40"><span·class="id"·title="binder">c3</span></a>:<span·class="id"·title="keyword">Prop</span>)·(<a·id="n:41"·class="idref"·href="#n:41"><span·class="id"·title="binder">n</span></a>·<a·id="m:42"·class="idref"·href="#m:42"><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>),<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="lab440"></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 85, 15 lines modified | Offset 85, 15 lines modified | ||
85 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.17",<span·class="id"·title="var">note</span>="Use·Coq.ZArith.BinInt.Z.mod_neg_bound·instead")]<br/> | 85 | #[<span·class="id"·title="var">deprecated</span>(<span·class="id"·title="var">since</span>="8.17",<span·class="id"·title="var">note</span>="Use·Coq.ZArith.BinInt.Z.mod_neg_bound·instead")]<br/> |
86 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zmod_neg_bound"·class="idref"·href="#Zmod_neg_bound"><span·class="id"·title="abbreviation">Zmod_neg_bound</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.mod_neg_bound"><span·class="id"·title="lemma">Z.mod_neg_bound</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="Zmod_neg_bound"·class="idref"·href="#Zmod_neg_bound"><span·class="id"·title="abbreviation">Zmod_neg_bound</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.mod_neg_bound"><span·class="id"·title="lemma">Z.mod_neg_bound</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
87 | <br/> | 87 | <br/> |
88 | </div> | 88 | </div> |
89 | <div·class="doc"> | 89 | <div·class="doc"> |
90 | <a·id="lab | 90 | <a·id="lab441"></a><h1·class="section">Main·division·theorems</h1> |
91 | <div·class="paragraph">·</div> | 91 | <div·class="paragraph">·</div> |
92 | ·NB:·many·things·are·stated·twice·for·compatibility·reasons· | 92 | ·NB:·many·things·are·stated·twice·for·compatibility·reasons· |
93 | </div> | 93 | </div> |
94 | <div·class="code"> | 94 | <div·class="code"> |
Offset 234, 15 lines modified | Offset 234, 15 lines modified | ||
234 | <span·class="id"·title="keyword">forall</span>·<a·id="a:60"·class="idref"·href="#a:60"><span·class="id"·title="binder">a</span></a>·<a·id="b:61"·class="idref"·href="#b:61"><span·class="id"·title="binder">b</span></a>·<a·id="q:62"·class="idref"·href="#q:62"><span·class="id"·title="binder">q</span></a>·<a·id="r:63"·class="idref"·href="#r:63"><span·class="id"·title="binder">r</span></a>,·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><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><br/> | 234 | <span·class="id"·title="keyword">forall</span>·<a·id="a:60"·class="idref"·href="#a:60"><span·class="id"·title="binder">a</span></a>·<a·id="b:61"·class="idref"·href="#b:61"><span·class="id"·title="binder">b</span></a>·<a·id="q:62"·class="idref"·href="#q:62"><span·class="id"·title="binder">q</span></a>·<a·id="r:63"·class="idref"·href="#r:63"><span·class="id"·title="binder">r</span></a>,·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><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><br/> |
235 | <a·class="idref"·href="Coq.ZArith.Zdiv.html#a:60"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#q:62"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">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.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:60"><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.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a>.<br/> | 235 | <a·class="idref"·href="Coq.ZArith.Zdiv.html#a:60"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#q:62"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">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.ZArith.Zdiv.html#r:63"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:60"><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.Zdiv.html#b:61"><span·class="id"·title="variable">b</span></a>.<br/> |
236 | · | 236 | · |
237 | <br/> | 237 | <br/> |
238 | </div> | 238 | </div> |
239 | <div·class="doc"> | 239 | <div·class="doc"> |
240 | <a·id="lab | 240 | <a·id="lab442"></a><h1·class="section">Basic·values·of·divisions·and·modulo.</h1> |
241 | </div> | 241 | </div> |
242 | <div·class="code"> | 242 | <div·class="code"> |
243 | <br/> | 243 | <br/> |
244 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmod_0_l"·class="idref"·href="#Zmod_0_l"><span·class="id"·title="lemma">Zmod_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:64"·class="idref"·href="#a:64"><span·class="id"·title="binder">a</span></a>,·0·<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.Zdiv.html#a:64"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> | 244 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmod_0_l"·class="idref"·href="#Zmod_0_l"><span·class="id"·title="lemma">Zmod_0_l</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:64"·class="idref"·href="#a:64"><span·class="id"·title="binder">a</span></a>,·0·<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.Zdiv.html#a:64"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·0.<br/> |
Offset 290, 15 lines modified | Offset 290, 15 lines modified | ||
290 | <br/> | 290 | <br/> |
291 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_div_mult_full"·class="idref"·href="#Z_div_mult_full"><span·class="id"·title="lemma">Z_div_mult_full</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:76"·class="idref"·href="#a:76"><span·class="id"·title="binder">a</span></a>·<a·id="b:77"·class="idref"·href="#b:77"><span·class="id"·title="binder">b</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.Zdiv.html#b:77"><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>·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.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:76"><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.Zdiv.html#b:77"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">)/</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:77"><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.Zdiv.html#a:76"><span·class="id"·title="variable">a</span></a>.<br/> | 291 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_div_mult_full"·class="idref"·href="#Z_div_mult_full"><span·class="id"·title="lemma">Z_div_mult_full</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:76"·class="idref"·href="#a:76"><span·class="id"·title="binder">a</span></a>·<a·id="b:77"·class="idref"·href="#b:77"><span·class="id"·title="binder">b</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.Zdiv.html#b:77"><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>·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.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:76"><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.Zdiv.html#b:77"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">)/</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:77"><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.Zdiv.html#a:76"><span·class="id"·title="variable">a</span></a>.<br/> |
292 | <br/> | 292 | <br/> |
293 | </div> | 293 | </div> |
294 | <div·class="doc"> | 294 | <div·class="doc"> |
295 | <a·id="lab | 295 | <a·id="lab443"></a><h1·class="section">Order·results·about·Z.modulo·and·Z.div</h1> |
296 | </div> | 296 | </div> |
297 | <div·class="code"> | 297 | <div·class="code"> |
298 | <br/> | 298 | <br/> |
299 | <br/> | 299 | <br/> |
Offset 448, 15 lines modified | Offset 448, 15 lines modified | ||
448 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zdiv_sgn"·class="idref"·href="#Zdiv_sgn"><span·class="id"·title="lemma">Zdiv_sgn</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:120"·class="idref"·href="#a:120"><span·class="id"·title="binder">a</span></a>·<a·id="b:121"·class="idref"·href="#b:121"><span·class="id"·title="binder">b</span></a>,<br/> | 448 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zdiv_sgn"·class="idref"·href="#Zdiv_sgn"><span·class="id"·title="lemma">Zdiv_sgn</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:120"·class="idref"·href="#a:120"><span·class="id"·title="binder">a</span></a>·<a·id="b:121"·class="idref"·href="#b:121"><span·class="id"·title="binder">b</span></a>,<br/> |
449 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·(<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:120"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:121"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:120"><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.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:121"><span·class="id"·title="variable">b</span></a>.<br/> | 449 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·(<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:120"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#d3c2652250c7a120d67ccc0e8f58ae75"><span·class="id"·title="notation">/</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#b:121"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:120"><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.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:121"><span·class="id"·title="variable">b</span></a>.<br/> |
450 | <br/> | 450 | <br/> |
451 | </div> | 451 | </div> |
452 | <div·class="doc"> | 452 | <div·class="doc"> |
453 | <a·id="lab | 453 | <a·id="lab444"></a><h1·class="section">Relations·between·usual·operations·and·Z.modulo·and·Z.div</h1> |
454 | </div> | 454 | </div> |
455 | <div·class="code"> | 455 | <div·class="code"> |
456 | <br/> | 456 | <br/> |
457 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_mod_plus_full"·class="idref"·href="#Z_mod_plus_full"><span·class="id"·title="lemma">Z_mod_plus_full</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:122"·class="idref"·href="#a:122"><span·class="id"·title="binder">a</span></a>·<a·id="b:123"·class="idref"·href="#b:123"><span·class="id"·title="binder">b</span></a>·<a·id="c:124"·class="idref"·href="#c:124"><span·class="id"·title="binder">c</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.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:122"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:123"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#c:124"><span·class="id"·title="variable">c</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.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:122"><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.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a>.<br/> | 457 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_mod_plus_full"·class="idref"·href="#Z_mod_plus_full"><span·class="id"·title="lemma">Z_mod_plus_full</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:122"·class="idref"·href="#a:122"><span·class="id"·title="binder">a</span></a>·<a·id="b:123"·class="idref"·href="#b:123"><span·class="id"·title="binder">b</span></a>·<a·id="c:124"·class="idref"·href="#c:124"><span·class="id"·title="binder">c</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.BinInt.html#::Z_scope:x_'mod'_x"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:122"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:123"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#c:124"><span·class="id"·title="variable">c</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.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:122"><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.Zdiv.html#c:124"><span·class="id"·title="variable">c</span></a>.<br/> |
458 | · | 458 | · |
Offset 687, 15 lines modified | Offset 687, 15 lines modified | ||
687 | <br/> | 687 | <br/> |
688 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zeven_mod"·class="idref"·href="#Zeven_mod"><span·class="id"·title="lemma">Zeven_mod</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:218"·class="idref"·href="#a:218"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.even"><span·class="id"·title="definition">Z.even</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:218"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#Zeq_bool"><span·class="id"·title="definition">Zeq_bool</span></a>·(<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:218"><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>·2)·0.<br/> | 688 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zeven_mod"·class="idref"·href="#Zeven_mod"><span·class="id"·title="lemma">Zeven_mod</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:218"·class="idref"·href="#a:218"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.even"><span·class="id"·title="definition">Z.even</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:218"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zbool.html#Zeq_bool"><span·class="id"·title="definition">Zeq_bool</span></a>·(<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:218"><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>·2)·0.<br/> |
689 | <br/> | 689 | <br/> |
690 | </div> | 690 | </div> |
691 | <div·class="doc"> | 691 | <div·class="doc"> |
692 | <a·id="lab | 692 | <a·id="lab445"></a><h1·class="section">Compatibility</h1> |
693 | <div·class="paragraph">·</div> | 693 | <div·class="paragraph">·</div> |
694 | ·Weaker·results·kept·only·for·compatibility· | 694 | ·Weaker·results·kept·only·for·compatibility· |
695 | </div> | 695 | </div> |
696 | <div·class="code"> | 696 | <div·class="code"> |
Offset 723, 15 lines modified | Offset 723, 15 lines modified | ||
723 | <br/> | 723 | <br/> |
724 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_mod_zero_opp"·class="idref"·href="#Z_mod_zero_opp"><span·class="id"·title="lemma">Z_mod_zero_opp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:233"·class="idref"·href="#a:233"><span·class="id"·title="binder">a</span></a>·<a·id="b:234"·class="idref"·href="#b:234"><span·class="id"·title="binder">b</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.Zdiv.html#b:234"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_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.ZArith.Zdiv.html#a:233"><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.Zdiv.html#b:234"><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·<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.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:233"><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">)</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.Zdiv.html#b:234"><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/> | 724 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Z_mod_zero_opp"·class="idref"·href="#Z_mod_zero_opp"><span·class="id"·title="lemma">Z_mod_zero_opp</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:233"·class="idref"·href="#a:233"><span·class="id"·title="binder">a</span></a>·<a·id="b:234"·class="idref"·href="#b:234"><span·class="id"·title="binder">b</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.Zdiv.html#b:234"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_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.ZArith.Zdiv.html#a:233"><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.Zdiv.html#b:234"><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·<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.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a><a·class="idref"·href="Coq.ZArith.Zdiv.html#a:233"><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">)</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.Zdiv.html#b:234"><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/> |
725 | <br/> | 725 | <br/> |
726 | </div> | 726 | </div> |
727 | <div·class="doc"> | 727 | <div·class="doc"> |
728 | <a·id="lab | 728 | <a·id="lab446"></a><h1·class="section">A·direct·way·to·compute·Z.modulo</h1> |
729 | </div> | 729 | </div> |
730 | <div·class="code"> | 730 | <div·class="code"> |
731 | <br/> | 731 | <br/> |
732 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Zmod_POS"·class="idref"·href="#Zmod_POS"><span·class="id"·title="definition">Zmod_POS</span></a>·(<a·id="a:235"·class="idref"·href="#a:235"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="b:236"·class="idref"·href="#b:236"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>··:=<br/> | 732 | <span·class="id"·title="keyword">Fixpoint</span>·<a·id="Zmod_POS"·class="idref"·href="#Zmod_POS"><span·class="id"·title="definition">Zmod_POS</span></a>·(<a·id="a:235"·class="idref"·href="#a:235"><span·class="id"·title="binder">a</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#positive"><span·class="id"·title="inductive">positive</span></a>)·(<a·id="b:236"·class="idref"·href="#b:236"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>··:=<br/> |
733 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:235"><span·class="id"·title="variable">a</span></a>·<span·class="id"·title="keyword">with</span><br/> | 733 | <span·class="id"·title="keyword">match</span>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:235"><span·class="id"·title="variable">a</span></a>·<span·class="id"·title="keyword">with</span><br/> |
Offset 775, 17 lines modified | Offset 775, 17 lines modified | ||
775 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zmod'_correct"·class="idref"·href="#Zmod'_correct"><span·class="id"·title="lemma">Zmod'_correct</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:254"·class="idref"·href="#a:254"><span·class="id"·title="binder">a</span></a>·<a·id="b:255"·class="idref"·href="#b:255"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.ZArith.Zdiv.html#Zmod'"><span·class="id"·title="definition">Zmod'</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:254"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:255"><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.Zdiv.html#a:254"><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.Zdiv.html#b:255"><span·class="id"·title="variable">b</span></a>.<br/> | 775 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zmod'_correct"·class="idref"·href="#Zmod'_correct"><span·class="id"·title="lemma">Zmod'_correct</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:254"·class="idref"·href="#a:254"><span·class="id"·title="binder">a</span></a>·<a·id="b:255"·class="idref"·href="#b:255"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.ZArith.Zdiv.html#Zmod'"><span·class="id"·title="definition">Zmod'</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#a:254"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zdiv.html#b:255"><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.Zdiv.html#a:254"><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.Zdiv.html#b:255"><span·class="id"·title="variable">b</span></a>.<br/> |
776 | <br/> | 776 | <br/> |
777 | </div> | 777 | </div> |
778 | <div·class="doc"> | 778 | <div·class="doc"> |
779 | Another·convention·is·possible·for·division·by·negative·numbers: | 779 | Another·convention·is·possible·for·division·by·negative·numbers: |
780 | <a·id="lab | 780 | <a·id="lab447"></a><h1·class="section">quotient·is·always·the·biggest·integer·smaller·than·or·equal·to·a/b</h1> |
781 | <a·id="lab | 781 | <a·id="lab448"></a><h1·class="section">remainder·is·hence·always·positive·or·null.</h1> |
782 | </div> | 782 | </div> |
783 | <div·class="code"> | 783 | <div·class="code"> |
784 | <br/> | 784 | <br/> |
Max diff block lines reached; 252/17174 bytes (1.47%) of diff not shown. |
Offset 59, 15 lines modified | Offset 59, 15 lines modified | ||
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">Z_scope</span>.<br/> | 60 | <span·class="id"·title="keyword">Local·Open</span>·<span·class="id"·title="keyword">Scope</span>·<span·class="id"·title="var">Z_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="lab360"></a><h1·class="section">Definitions·of·division·for·binary·integers,·Euclid·convention.</h1> |
65 | <div·class="paragraph">·</div> | 65 | <div·class="paragraph">·</div> |
66 | ·In·this·convention,·the·remainder·is·always·positive. | 66 | ·In·this·convention,·the·remainder·is·always·positive. |
67 | ····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>. | 67 | ····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>. |
68 | ····To·avoid·collision·with·the·other·divisions,·we·place·this·one | 68 | ····To·avoid·collision·with·the·other·divisions,·we·place·this·one |
69 | ····under·a·module. | 69 | ····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="lab475"></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="lab359"></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="lab452"></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="lab453"></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 167, 15 lines modified | Offset 167, 15 lines modified | ||
167 | <span·class="id"·title="var">Zplus_le_compat_l</span>·<br/> | 167 | <span·class="id"·title="var">Zplus_le_compat_l</span>·<br/> |
168 | <span·class="id"·title="var">Zplus_le_compat_r</span>·<br/> | 168 | <span·class="id"·title="var">Zplus_le_compat_r</span>·<br/> |
169 | <span·class="id"·title="var">Z.abs_nonneg</span>·<br/> | 169 | <span·class="id"·title="var">Z.abs_nonneg</span>·<br/> |
170 | <br/> | 170 | <br/> |
171 | </div> | 171 | </div> |
172 | <div·class="doc"> | 172 | <div·class="doc"> |
173 | <a·id="lab | 173 | <a·id="lab454"></a><h2·class="section">Irreversible·simplification·lemmas</h2> |
174 | ·Probably·to·be·declared·as·hints,·when·no·other·simplification·is·possible· | 174 | ·Probably·to·be·declared·as·hints,·when·no·other·simplification·is·possible· |
175 | <div·class="paragraph">·</div> | 175 | <div·class="paragraph">·</div> |
176 | ·Lemmas·ending·by·eq· | 176 | ·Lemmas·ending·by·eq· |
177 | </div> | 177 | </div> |
178 | <div·class="code"> | 178 | <div·class="code"> |
179 | <span·class="id"·title="var">Z_eq_mult</span>·<br/> | 179 | <span·class="id"·title="var">Z_eq_mult</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="lab356"></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 144, 15 lines modified | Offset 144, 15 lines modified | ||
144 | <br/> | 144 | <br/> |
145 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zabs_nat_N"·class="idref"·href="#Zabs_nat_N"><span·class="id"·title="lemma">Zabs_nat_N</span></a>·<a·id="n:10"·class="idref"·href="#n:10"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.NArith.BinNat.html#N.of_nat"><span·class="id"·title="definition">N.of_nat</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_nat"><span·class="id"·title="definition">Z.abs_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Znat.html#n:10"><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.abs_N"><span·class="id"·title="definition">Z.abs_N</span></a>·<a·class="idref"·href="Coq.ZArith.Znat.html#n:10"><span·class="id"·title="variable">n</span></a>.<br/> | 145 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zabs_nat_N"·class="idref"·href="#Zabs_nat_N"><span·class="id"·title="lemma">Zabs_nat_N</span></a>·<a·id="n:10"·class="idref"·href="#n:10"><span·class="id"·title="binder">n</span></a>·:·<a·class="idref"·href="Coq.NArith.BinNat.html#N.of_nat"><span·class="id"·title="definition">N.of_nat</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs_nat"><span·class="id"·title="definition">Z.abs_nat</span></a>·<a·class="idref"·href="Coq.ZArith.Znat.html#n:10"><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.abs_N"><span·class="id"·title="definition">Z.abs_N</span></a>·<a·class="idref"·href="Coq.ZArith.Znat.html#n:10"><span·class="id"·title="variable">n</span></a>.<br/> |
146 | <br/> | 146 | <br/> |
147 | </div> | 147 | </div> |
148 | <div·class="doc"> | 148 | <div·class="doc"> |
149 | <a·id="lab | 149 | <a·id="lab357"></a><h1·class="section">Conversions·between·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">N</span></span></h1> |
150 | </div> | 150 | </div> |
151 | <div·class="code"> | 151 | <div·class="code"> |
152 | <br/> | 152 | <br/> |
153 | <span·class="id"·title="keyword">Module</span>·<a·id="N2Z"·class="idref"·href="#N2Z"><span·class="id"·title="module">N2Z</span></a>.<br/> | 153 | <span·class="id"·title="keyword">Module</span>·<a·id="N2Z"·class="idref"·href="#N2Z"><span·class="id"·title="module">N2Z</span></a>.<br/> |
Offset 521, 15 lines modified | Offset 521, 15 lines modified | ||
521 | <br/> | 521 | <br/> |
522 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Znat.html#Zabs2N"><span·class="id"·title="module">Zabs2N</span></a>.<br/> | 522 | <span·class="id"·title="keyword">End</span>·<a·class="idref"·href="Coq.ZArith.Znat.html#Zabs2N"><span·class="id"·title="module">Zabs2N</span></a>.<br/> |
523 | <br/> | 523 | <br/> |
524 | </div> | 524 | </div> |
525 | <div·class="doc"> | 525 | <div·class="doc"> |
526 | <a·id="lab | 526 | <a·id="lab358"></a><h1·class="section">Conversions·between·<span·class="inlinecode"><span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span></h1> |
527 | </div> | 527 | </div> |
528 | <div·class="code"> | 528 | <div·class="code"> |
529 | <br/> | 529 | <br/> |
530 | <span·class="id"·title="keyword">Module</span>·<a·id="Nat2Z"·class="idref"·href="#Nat2Z"><span·class="id"·title="module">Nat2Z</span></a>.<br/> | 530 | <span·class="id"·title="keyword">Module</span>·<a·id="Nat2Z"·class="idref"·href="#Nat2Z"><span·class="id"·title="module">Nat2Z</span></a>.<br/> |
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="lab340"></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 303, 15 lines modified | Offset 303, 15 lines modified | ||
303 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zis_gcd_unique"·class="idref"·href="#Zis_gcd_unique"><span·class="id"·title="lemma">Zis_gcd_unique</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:68"·class="idref"·href="#a:68"><span·class="id"·title="binder">a</span></a>·<a·id="b:69"·class="idref"·href="#b:69"><span·class="id"·title="binder">b</span></a>·<a·id="c:70"·class="idref"·href="#c:70"><span·class="id"·title="binder">c</span></a>·<a·id="d:71"·class="idref"·href="#d:71"><span·class="id"·title="binder">d</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,<br/> | 303 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zis_gcd_unique"·class="idref"·href="#Zis_gcd_unique"><span·class="id"·title="lemma">Zis_gcd_unique</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:68"·class="idref"·href="#a:68"><span·class="id"·title="binder">a</span></a>·<a·id="b:69"·class="idref"·href="#b:69"><span·class="id"·title="binder">b</span></a>·<a·id="c:70"·class="idref"·href="#c:70"><span·class="id"·title="binder">c</span></a>·<a·id="d:71"·class="idref"·href="#d:71"><span·class="id"·title="binder">d</span></a>·:·<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>,<br/> |
304 | <a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</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#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</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#c:70"><span·class="id"·title="variable">c</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#d:71"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</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.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> | 304 | <a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</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#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:68"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:69"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</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#c:70"><span·class="id"·title="variable">c</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#d:71"><span·class="id"·title="variable">d</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:70"><span·class="id"·title="variable">c</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.BinInt.html#::Z_scope:'-'_x"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:71"><span·class="id"·title="variable">d</span></a><a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">)</span></a>.<br/> |
305 | <br/> | 305 | <br/> |
306 | </div> | 306 | </div> |
307 | <div·class="doc"> | 307 | <div·class="doc"> |
308 | <a·id="lab | 308 | <a·id="lab341"></a><h1·class="section">Extended·Euclid·algorithm.</h1> |
309 | </div> | 309 | </div> |
310 | <div·class="code"> | 310 | <div·class="code"> |
311 | <br/> | 311 | <br/> |
312 | <span·class="id"·title="keyword">Lemma</span>·<a·id="deprecated_Zis_gcd_for_euclid"·class="idref"·href="#deprecated_Zis_gcd_for_euclid"><span·class="id"·title="lemma">deprecated_Zis_gcd_for_euclid</span></a>·:<br/> | 312 | <span·class="id"·title="keyword">Lemma</span>·<a·id="deprecated_Zis_gcd_for_euclid"·class="idref"·href="#deprecated_Zis_gcd_for_euclid"><span·class="id"·title="lemma">deprecated_Zis_gcd_for_euclid</span></a>·:<br/> |
313 | <span·class="id"·title="keyword">forall</span>·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>·<a·id="b:73"·class="idref"·href="#b:73"><span·class="id"·title="binder">b</span></a>·<a·id="d:74"·class="idref"·href="#d:74"><span·class="id"·title="binder">d</span></a>·<a·id="q:75"·class="idref"·href="#q:75"><span·class="id"·title="binder">q</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.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:72"><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#q:75"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:74"><span·class="id"·title="variable">d</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#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:74"><span·class="id"·title="variable">d</span></a>.<br/> | 313 | <span·class="id"·title="keyword">forall</span>·<a·id="a:72"·class="idref"·href="#a:72"><span·class="id"·title="binder">a</span></a>·<a·id="b:73"·class="idref"·href="#b:73"><span·class="id"·title="binder">b</span></a>·<a·id="d:74"·class="idref"·href="#d:74"><span·class="id"·title="binder">d</span></a>·<a·id="q:75"·class="idref"·href="#q:75"><span·class="id"·title="binder">q</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.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:72"><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#q:75"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:74"><span·class="id"·title="variable">d</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#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:72"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:73"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:74"><span·class="id"·title="variable">d</span></a>.<br/> |
Offset 391, 15 lines modified | Offset 391, 15 lines modified | ||
391 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zis_gcd_uniqueness_apart_sign"·class="idref"·href="#Zis_gcd_uniqueness_apart_sign"><span·class="id"·title="lemma">Zis_gcd_uniqueness_apart_sign</span></a>·:<br/> | 391 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zis_gcd_uniqueness_apart_sign"·class="idref"·href="#Zis_gcd_uniqueness_apart_sign"><span·class="id"·title="lemma">Zis_gcd_uniqueness_apart_sign</span></a>·:<br/> |
392 | <span·class="id"·title="keyword">forall</span>·<a·id="a:138"·class="idref"·href="#a:138"><span·class="id"·title="binder">a</span></a>·<a·id="b:139"·class="idref"·href="#b:139"><span·class="id"·title="binder">b</span></a>·<a·id="d:140"·class="idref"·href="#d:140"><span·class="id"·title="binder">d</span></a>·<a·id="d':141"·class="idref"·href="#d':141"><span·class="id"·title="binder">d'</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.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:139"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</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#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:139"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</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#d:140"><span·class="id"·title="variable">d</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#d':141"><span·class="id"·title="variable">d'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</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"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</span></a>.<br/> | 392 | <span·class="id"·title="keyword">forall</span>·<a·id="a:138"·class="idref"·href="#a:138"><span·class="id"·title="binder">a</span></a>·<a·id="b:139"·class="idref"·href="#b:139"><span·class="id"·title="binder">b</span></a>·<a·id="d:140"·class="idref"·href="#d:140"><span·class="id"·title="binder">d</span></a>·<a·id="d':141"·class="idref"·href="#d':141"><span·class="id"·title="binder">d'</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.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:139"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</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#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:138"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:139"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</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#d:140"><span·class="id"·title="variable">d</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#d':141"><span·class="id"·title="variable">d'</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:140"><span·class="id"·title="variable">d</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"><span·class="id"·title="notation">-</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d':141"><span·class="id"·title="variable">d'</span></a>.<br/> |
393 | <br/> | 393 | <br/> |
394 | </div> | 394 | </div> |
395 | <div·class="doc"> | 395 | <div·class="doc"> |
396 | <a·id="lab | 396 | <a·id="lab342"></a><h1·class="section">Bezout's·coefficients</h1> |
397 | </div> | 397 | </div> |
398 | <div·class="code"> | 398 | <div·class="code"> |
399 | <br/> | 399 | <br/> |
400 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Bezout"·class="idref"·href="#Bezout"><span·class="id"·title="definition,·inductive"><span·id="Bezout_ind"·class="id"><span·id="Bezout_sind"·class="id">Bezout</span></span></span></a>·(<a·id="a:142"·class="idref"·href="#a:142"><span·class="id"·title="binder">a</span></a>·<a·id="b:143"·class="idref"·href="#b:143"><span·class="id"·title="binder">b</span></a>·<a·id="d:144"·class="idref"·href="#d:144"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 400 | <span·class="id"·title="keyword">Inductive</span>·<a·id="Bezout"·class="idref"·href="#Bezout"><span·class="id"·title="definition,·inductive"><span·id="Bezout_ind"·class="id"><span·id="Bezout_sind"·class="id">Bezout</span></span></span></a>·(<a·id="a:142"·class="idref"·href="#a:142"><span·class="id"·title="binder">a</span></a>·<a·id="b:143"·class="idref"·href="#b:143"><span·class="id"·title="binder">b</span></a>·<a·id="d:144"·class="idref"·href="#d:144"><span·class="id"·title="binder">d</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> |
401 | <a·id="Bezout_intro"·class="idref"·href="#Bezout_intro"><span·class="id"·title="constructor">Bezout_intro</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:147"·class="idref"·href="#u:147"><span·class="id"·title="binder">u</span></a>·<a·id="v:148"·class="idref"·href="#v:148"><span·class="id"·title="binder">v</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.Znumtheory.html#u:147"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:142"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#v:148"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:143"><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#d:144"><span·class="id"·title="variable">d</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#Bezout:145"><span·class="id"·title="inductive">Bezout</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:142"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:143"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:144"><span·class="id"·title="variable">d</span></a>.<br/> | 401 | <a·id="Bezout_intro"·class="idref"·href="#Bezout_intro"><span·class="id"·title="constructor">Bezout_intro</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="u:147"·class="idref"·href="#u:147"><span·class="id"·title="binder">u</span></a>·<a·id="v:148"·class="idref"·href="#v:148"><span·class="id"·title="binder">v</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.Znumtheory.html#u:147"><span·class="id"·title="variable">u</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:142"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#v:148"><span·class="id"·title="variable">v</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:143"><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#d:144"><span·class="id"·title="variable">d</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#Bezout:145"><span·class="id"·title="inductive">Bezout</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:142"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:143"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:144"><span·class="id"·title="variable">d</span></a>.<br/> |
Offset 427, 15 lines modified | Offset 427, 15 lines modified | ||
427 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zis_gcd_mult"·class="idref"·href="#Zis_gcd_mult"><span·class="id"·title="lemma">Zis_gcd_mult</span></a>·:<br/> | 427 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zis_gcd_mult"·class="idref"·href="#Zis_gcd_mult"><span·class="id"·title="lemma">Zis_gcd_mult</span></a>·:<br/> |
428 | <span·class="id"·title="keyword">forall</span>·<a·id="a:152"·class="idref"·href="#a:152"><span·class="id"·title="binder">a</span></a>·<a·id="b:153"·class="idref"·href="#b:153"><span·class="id"·title="binder">b</span></a>·<a·id="c:154"·class="idref"·href="#c:154"><span·class="id"·title="binder">c</span></a>·<a·id="d:155"·class="idref"·href="#d:155"><span·class="id"·title="binder">d</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.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:152"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:153"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:155"><span·class="id"·title="variable">d</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#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:152"><span·class="id"·title="variable">a</span></a>)·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:153"><span·class="id"·title="variable">b</span></a>)·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:155"><span·class="id"·title="variable">d</span></a>).<br/> | 428 | <span·class="id"·title="keyword">forall</span>·<a·id="a:152"·class="idref"·href="#a:152"><span·class="id"·title="binder">a</span></a>·<a·id="b:153"·class="idref"·href="#b:153"><span·class="id"·title="binder">b</span></a>·<a·id="c:154"·class="idref"·href="#c:154"><span·class="id"·title="binder">c</span></a>·<a·id="d:155"·class="idref"·href="#d:155"><span·class="id"·title="binder">d</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.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:152"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:153"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:155"><span·class="id"·title="variable">d</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#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:152"><span·class="id"·title="variable">a</span></a>)·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:153"><span·class="id"·title="variable">b</span></a>)·(<a·class="idref"·href="Coq.ZArith.Znumtheory.html#c:154"><span·class="id"·title="variable">c</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#d:155"><span·class="id"·title="variable">d</span></a>).<br/> |
429 | <br/> | 429 | <br/> |
430 | </div> | 430 | </div> |
431 | <div·class="doc"> | 431 | <div·class="doc"> |
432 | <a·id="lab | 432 | <a·id="lab343"></a><h1·class="section">Relative·primality</h1> |
433 | </div> | 433 | </div> |
434 | <div·class="code"> | 434 | <div·class="code"> |
435 | <br/> | 435 | <br/> |
436 | <span·class="id"·title="keyword">Definition</span>·<a·id="rel_prime"·class="idref"·href="#rel_prime"><span·class="id"·title="definition">rel_prime</span></a>·(<a·id="a:156"·class="idref"·href="#a:156"><span·class="id"·title="binder">a</span></a>·<a·id="b:157"·class="idref"·href="#b:157"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:156"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:157"><span·class="id"·title="variable">b</span></a>·1.<br/> | 436 | <span·class="id"·title="keyword">Definition</span>·<a·id="rel_prime"·class="idref"·href="#rel_prime"><span·class="id"·title="definition">rel_prime</span></a>·(<a·id="a:156"·class="idref"·href="#a:156"><span·class="id"·title="binder">a</span></a>·<a·id="b:157"·class="idref"·href="#b:157"><span·class="id"·title="binder">b</span></a>:<a·class="idref"·href="Coq.Numbers.BinNums.html#Z"><span·class="id"·title="inductive">Z</span></a>)·:·<span·class="id"·title="keyword">Prop</span>·:=·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#Zis_gcd"><span·class="id"·title="inductive">Zis_gcd</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:156"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:157"><span·class="id"·title="variable">b</span></a>·1.<br/> |
Offset 521, 15 lines modified | Offset 521, 15 lines modified | ||
521 | <br/> | 521 | <br/> |
522 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrel_prime_neq_mod_0"·class="idref"·href="#Zrel_prime_neq_mod_0"><span·class="id"·title="lemma">Zrel_prime_neq_mod_0</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:186"·class="idref"·href="#a:186"><span·class="id"·title="binder">a</span></a>·<a·id="b:187"·class="idref"·href="#b:187"><span·class="id"·title="binder">b</span></a>,·1·<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#b:187"><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.Znumtheory.html#rel_prime"><span·class="id"·title="definition">rel_prime</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:186"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:187"><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.Znumtheory.html#a:186"><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:187"><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>·0.<br/> | 522 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrel_prime_neq_mod_0"·class="idref"·href="#Zrel_prime_neq_mod_0"><span·class="id"·title="lemma">Zrel_prime_neq_mod_0</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:186"·class="idref"·href="#a:186"><span·class="id"·title="binder">a</span></a>·<a·id="b:187"·class="idref"·href="#b:187"><span·class="id"·title="binder">b</span></a>,·1·<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#b:187"><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.Znumtheory.html#rel_prime"><span·class="id"·title="definition">rel_prime</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#a:186"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Znumtheory.html#b:187"><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.Znumtheory.html#a:186"><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:187"><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>·0.<br/> |
523 | <br/> | 523 | <br/> |
524 | </div> | 524 | </div> |
525 | <div·class="doc"> | 525 | <div·class="doc"> |
526 | <a·id="lab | 526 | <a·id="lab344"></a><h1·class="section">Primality</h1> |
527 | </div> | 527 | </div> |
528 | <div·class="code"> | 528 | <div·class="code"> |
529 | <br/> | 529 | <br/> |
530 | <span·class="id"·title="keyword">Inductive</span>·<a·id="prime"·class="idref"·href="#prime"><span·class="id"·title="definition,·inductive"><span·id="prime_rect"·class="id"><span·id="prime_ind"·class="id"><span·id="prime_rec"·class="id"><span·id="prime_sind"·class="id">prime</span></span></span></span></span></a>·(<a·id="p:188"·class="idref"·href="#p:188"><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>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> | 530 | <span·class="id"·title="keyword">Inductive</span>·<a·id="prime"·class="idref"·href="#prime"><span·class="id"·title="definition,·inductive"><span·id="prime_rect"·class="id"><span·id="prime_ind"·class="id"><span·id="prime_rec"·class="id"><span·id="prime_sind"·class="id">prime</span></span></span></span></span></a>·(<a·id="p:188"·class="idref"·href="#p:188"><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>)·:·<span·class="id"·title="keyword">Prop</span>·:=<br/> |
531 | <a·id="prime_intro"·class="idref"·href="#prime_intro"><span·class="id"·title="constructor">prime_intro</span></a>·:<br/> | 531 | <a·id="prime_intro"·class="idref"·href="#prime_intro"><span·class="id"·title="constructor">prime_intro</span></a>·:<br/> |
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="lab455"></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="lab456"></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 108, 15 lines modified | Offset 108, 15 lines modified | ||
108 | <br/> | 108 | <br/> |
109 | <span·class="id"·title="keyword">Theorem</span>·<a·id="not_Zeq"·class="idref"·href="#not_Zeq"><span·class="id"·title="lemma">not_Zeq</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.ZArith.Zorder.html#n:11"><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.Zorder.html#m:12"><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.Zorder.html#n:11"><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:12"><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#m:12"><span·class="id"·title="variable">m</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#n:11"><span·class="id"·title="variable">n</span></a>.<br/> | 109 | <span·class="id"·title="keyword">Theorem</span>·<a·id="not_Zeq"·class="idref"·href="#not_Zeq"><span·class="id"·title="lemma">not_Zeq</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.ZArith.Zorder.html#n:11"><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.Zorder.html#m:12"><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.Zorder.html#n:11"><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:12"><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#m:12"><span·class="id"·title="variable">m</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#n:11"><span·class="id"·title="variable">n</span></a>.<br/> |
110 | <br/> | 110 | <br/> |
111 | </div> | 111 | </div> |
112 | <div·class="doc"> | 112 | <div·class="doc"> |
113 | <a·id="lab | 113 | <a·id="lab457"></a><h1·class="section">Relating·strict·and·large·orders</h1> |
114 | </div> | 114 | </div> |
115 | <div·class="code"> | 115 | <div·class="code"> |
116 | <br/> | 116 | <br/> |
117 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zgt_iff_lt"·class="idref"·href="#Zgt_iff_lt"><span·class="id"·title="abbreviation">Zgt_iff_lt</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.gt_lt_iff"><span·class="id"·title="lemma">Z.gt_lt_iff</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 117 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zgt_iff_lt"·class="idref"·href="#Zgt_iff_lt"><span·class="id"·title="abbreviation">Zgt_iff_lt</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.gt_lt_iff"><span·class="id"·title="lemma">Z.gt_lt_iff</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
118 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zge_iff_le"·class="idref"·href="#Zge_iff_le"><span·class="id"·title="abbreviation">Zge_iff_le</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.ge_le_iff"><span·class="id"·title="lemma">Z.ge_le_iff</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 118 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zge_iff_le"·class="idref"·href="#Zge_iff_le"><span·class="id"·title="abbreviation">Zge_iff_le</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.ge_le_iff"><span·class="id"·title="lemma">Z.ge_le_iff</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
Offset 148, 15 lines modified | Offset 148, 15 lines modified | ||
148 | <br/> | 148 | <br/> |
149 | <span·class="id"·title="keyword">Lemma</span>·<a·id="not_Zne"·class="idref"·href="#not_Zne"><span·class="id"·title="lemma">not_Zne</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·<a·id="m:30"·class="idref"·href="#m:30"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><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.Zorder.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:30"><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.Zorder.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.Zorder.html#m:30"><span·class="id"·title="variable">m</span></a>.<br/> | 149 | <span·class="id"·title="keyword">Lemma</span>·<a·id="not_Zne"·class="idref"·href="#not_Zne"><span·class="id"·title="lemma">not_Zne</span></a>·<a·id="n:29"·class="idref"·href="#n:29"><span·class="id"·title="binder">n</span></a>·<a·id="m:30"·class="idref"·href="#m:30"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><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.Zorder.html#n:29"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:30"><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.Zorder.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.Zorder.html#m:30"><span·class="id"·title="variable">m</span></a>.<br/> |
150 | <br/> | 150 | <br/> |
151 | </div> | 151 | </div> |
152 | <div·class="doc"> | 152 | <div·class="doc"> |
153 | <a·id="lab | 153 | <a·id="lab458"></a><h1·class="section">Equivalence·and·order·properties</h1> |
154 | <div·class="paragraph">·</div> | 154 | <div·class="paragraph">·</div> |
155 | ·Reflexivity· | 155 | ·Reflexivity· |
156 | </div> | 156 | </div> |
157 | <div·class="code"> | 157 | <div·class="code"> |
Offset 272, 19 lines modified | Offset 272, 19 lines modified | ||
272 | #[<span·class="id"·title="var">global</span>]<br/> | 272 | #[<span·class="id"·title="var">global</span>]<br/> |
273 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Z.le_trans</span>:·<span·class="id"·title="var">zarith</span>.<br/> | 273 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Resolve</span>·<span·class="id"·title="var">Z.le_trans</span>:·<span·class="id"·title="var">zarith</span>.<br/> |
274 | <br/> | 274 | <br/> |
275 | </div> | 275 | </div> |
276 | <div·class="doc"> | 276 | <div·class="doc"> |
277 | <a·id="lab | 277 | <a·id="lab459"></a><h1·class="section">Compatibility·of·order·and·operations·on·Z</h1> |
278 | <div·class="paragraph">·</div> | 278 | <div·class="paragraph">·</div> |
279 | <a·id="lab | 279 | <a·id="lab460"></a><h2·class="section">Successor</h2> |
280 | <div·class="paragraph">·</div> | 280 | <div·class="paragraph">·</div> |
281 | ·Compatibility·of·successor·wrt·to·order· | 281 | ·Compatibility·of·successor·wrt·to·order· |
282 | </div> | 282 | </div> |
283 | <div·class="code"> | 283 | <div·class="code"> |
Offset 454, 15 lines modified | Offset 454, 15 lines modified | ||
454 | <br/> | 454 | <br/> |
455 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zgt_succ_gt_or_eq"·class="idref"·href="#Zgt_succ_gt_or_eq"><span·class="id"·title="lemma">Zgt_succ_gt_or_eq</span></a>·<a·id="n:90"·class="idref"·href="#n:90"><span·class="id"·title="binder">n</span></a>·<a·id="m:91"·class="idref"·href="#m:91"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:90"><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:91"><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.Zorder.html#n:90"><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:91"><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#m:91"><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.ZArith.Zorder.html#n:90"><span·class="id"·title="variable">n</span></a>.<br/> | 455 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zgt_succ_gt_or_eq"·class="idref"·href="#Zgt_succ_gt_or_eq"><span·class="id"·title="lemma">Zgt_succ_gt_or_eq</span></a>·<a·id="n:90"·class="idref"·href="#n:90"><span·class="id"·title="binder">n</span></a>·<a·id="m:91"·class="idref"·href="#m:91"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.succ"><span·class="id"·title="definition">Z.succ</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:90"><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:91"><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.Zorder.html#n:90"><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:91"><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#m:91"><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.ZArith.Zorder.html#n:90"><span·class="id"·title="variable">n</span></a>.<br/> |
456 | <br/> | 456 | <br/> |
457 | </div> | 457 | </div> |
458 | <div·class="doc"> | 458 | <div·class="doc"> |
459 | <a·id="lab | 459 | <a·id="lab461"></a><h2·class="section">Addition</h2> |
460 | ·Compatibility·of·addition·wrt·to·order· | 460 | ·Compatibility·of·addition·wrt·to·order· |
461 | </div> | 461 | </div> |
462 | <div·class="code"> | 462 | <div·class="code"> |
463 | <br/> | 463 | <br/> |
464 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zplus_lt_le_compat"·class="idref"·href="#Zplus_lt_le_compat"><span·class="id"·title="abbreviation">Zplus_lt_le_compat</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.add_lt_le_mono"><span·class="id"·title="lemma">Z.add_lt_le_mono</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 464 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zplus_lt_le_compat"·class="idref"·href="#Zplus_lt_le_compat"><span·class="id"·title="abbreviation">Zplus_lt_le_compat</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.add_lt_le_mono"><span·class="id"·title="lemma">Z.add_lt_le_mono</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
465 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zplus_le_lt_compat"·class="idref"·href="#Zplus_le_lt_compat"><span·class="id"·title="abbreviation">Zplus_le_lt_compat</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.add_le_lt_mono"><span·class="id"·title="lemma">Z.add_le_lt_mono</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 465 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zplus_le_lt_compat"·class="idref"·href="#Zplus_le_lt_compat"><span·class="id"·title="abbreviation">Zplus_le_lt_compat</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.add_le_lt_mono"><span·class="id"·title="lemma">Z.add_le_lt_mono</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
Offset 524, 15 lines modified | Offset 524, 15 lines modified | ||
524 | <br/> | 524 | <br/> |
525 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zplus_gt_reg_r"·class="idref"·href="#Zplus_gt_reg_r"><span·class="id"·title="lemma">Zplus_gt_reg_r</span></a>·<a·id="n:125"·class="idref"·href="#n:125"><span·class="id"·title="binder">n</span></a>·<a·id="m:126"·class="idref"·href="#m:126"><span·class="id"·title="binder">m</span></a>·<a·id="p:127"·class="idref"·href="#p:127"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:125"><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.Zorder.html#p:127"><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>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:126"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:127"><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>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:125"><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:126"><span·class="id"·title="variable">m</span></a>.<br/> | 525 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zplus_gt_reg_r"·class="idref"·href="#Zplus_gt_reg_r"><span·class="id"·title="lemma">Zplus_gt_reg_r</span></a>·<a·id="n:125"·class="idref"·href="#n:125"><span·class="id"·title="binder">n</span></a>·<a·id="m:126"·class="idref"·href="#m:126"><span·class="id"·title="binder">m</span></a>·<a·id="p:127"·class="idref"·href="#p:127"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:125"><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.Zorder.html#p:127"><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>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:126"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:127"><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>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:125"><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:126"><span·class="id"·title="variable">m</span></a>.<br/> |
526 | <br/> | 526 | <br/> |
527 | </div> | 527 | </div> |
528 | <div·class="doc"> | 528 | <div·class="doc"> |
529 | <a·id="lab | 529 | <a·id="lab462"></a><h2·class="section">Multiplication</h2> |
530 | ·Compatibility·of·multiplication·by·a·positive·wrt·to·order· | 530 | ·Compatibility·of·multiplication·by·a·positive·wrt·to·order· |
531 | </div> | 531 | </div> |
532 | <div·class="code"> | 532 | <div·class="code"> |
533 | <br/> | 533 | <br/> |
534 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_le_compat_r"·class="idref"·href="#Zmult_le_compat_r"><span·class="id"·title="lemma">Zmult_le_compat_r</span></a>·<a·id="n:128"·class="idref"·href="#n:128"><span·class="id"·title="binder">n</span></a>·<a·id="m:129"·class="idref"·href="#m:129"><span·class="id"·title="binder">m</span></a>·<a·id="p:130"·class="idref"·href="#p:130"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:128"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:129"><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>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><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>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:128"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:129"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>.<br/> | 534 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_le_compat_r"·class="idref"·href="#Zmult_le_compat_r"><span·class="id"·title="lemma">Zmult_le_compat_r</span></a>·<a·id="n:128"·class="idref"·href="#n:128"><span·class="id"·title="binder">n</span></a>·<a·id="m:129"·class="idref"·href="#m:129"><span·class="id"·title="binder">m</span></a>·<a·id="p:130"·class="idref"·href="#p:130"><span·class="id"·title="binder">p</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:128"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:129"><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>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><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>·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:128"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:129"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#p:130"><span·class="id"·title="variable">p</span></a>.<br/> |
Offset 652, 30 lines modified | Offset 652, 30 lines modified | ||
652 | <br/> | 652 | <br/> |
653 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_gt_0_reg_l"·class="idref"·href="#Zmult_gt_0_reg_l"><span·class="id"·title="lemma">Zmult_gt_0_reg_l</span></a>·<a·id="n:208"·class="idref"·href="#n:208"><span·class="id"·title="binder">n</span></a>·<a·id="m:209"·class="idref"·href="#m:209"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:208"><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>·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.ZArith.Zorder.html#n:208"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:209"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_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.ZArith.Zorder.html#m:209"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> | 653 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zmult_gt_0_reg_l"·class="idref"·href="#Zmult_gt_0_reg_l"><span·class="id"·title="lemma">Zmult_gt_0_reg_l</span></a>·<a·id="n:208"·class="idref"·href="#n:208"><span·class="id"·title="binder">n</span></a>·<a·id="m:209"·class="idref"·href="#m:209"><span·class="id"·title="binder">m</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zorder.html#n:208"><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>·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.ZArith.Zorder.html#n:208"><span·class="id"·title="variable">n</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.Zorder.html#m:209"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_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.ZArith.Zorder.html#m:209"><span·class="id"·title="variable">m</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_scope:x_'>'_x"><span·class="id"·title="notation">></span></a>·0.<br/> |
654 | <br/> | 654 | <br/> |
655 | </div> | 655 | </div> |
656 | <div·class="doc"> | 656 | <div·class="doc"> |
657 | <a·id="lab | 657 | <a·id="lab463"></a><h2·class="section">Square</h2> |
658 | ·Simplification·of·square·wrt·order· | 658 | ·Simplification·of·square·wrt·order· |
659 | </div> | 659 | </div> |
660 | <div·class="code"> | 660 | <div·class="code"> |
Max diff block lines reached; 4857/23127 bytes (21.00%) of diff not shown. |
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="lab369"></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="lab354"></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 204, 15 lines modified | Offset 204, 15 lines modified | ||
204 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zdivide_power_2"·class="idref"·href="#Zdivide_power_2"><span·class="id"·title="lemma">Zdivide_power_2</span></a>·<a·id="x:61"·class="idref"·href="#x:61"><span·class="id"·title="binder">x</span></a>·<a·id="p:62"·class="idref"·href="#p:62"><span·class="id"·title="binder">p</span></a>·<a·id="n:63"·class="idref"·href="#n:63"><span·class="id"·title="binder">n</span></a>·:<br/> | 204 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zdivide_power_2"·class="idref"·href="#Zdivide_power_2"><span·class="id"·title="lemma">Zdivide_power_2</span></a>·<a·id="x:61"·class="idref"·href="#x:61"><span·class="id"·title="binder">x</span></a>·<a·id="p:62"·class="idref"·href="#p:62"><span·class="id"·title="binder">p</span></a>·<a·id="n:63"·class="idref"·href="#n:63"><span·class="id"·title="binder">n</span></a>·:<br/> |
205 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:63"><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·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><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.ZArith.Znumtheory.html#prime"><span·class="id"·title="inductive">prime</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><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>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><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#n:63"><span·class="id"·title="variable">n</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.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="m:64"·class="idref"·href="#m:64"><span·class="id"·title="binder">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><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#m:64"><span·class="id"·title="variable">m</span></a>.<br/> | 205 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#n:63"><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·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><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.ZArith.Znumtheory.html#prime"><span·class="id"·title="inductive">prime</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><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>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#5cd21895b4d5f127eb2c0acb80e8d6fc"><span·class="id"·title="notation">|</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><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#n:63"><span·class="id"·title="variable">n</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.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">exists</span></a>·<a·id="m:64"·class="idref"·href="#m:64"><span·class="id"·title="binder">m</span></a><a·class="idref"·href="Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span·class="id"·title="notation">,</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#x:61"><span·class="id"·title="variable">x</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zpow_facts.html#p:62"><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#m:64"><span·class="id"·title="variable">m</span></a>.<br/> |
206 | <br/> | 206 | <br/> |
207 | </div> | 207 | </div> |
208 | <div·class="doc"> | 208 | <div·class="doc"> |
209 | <a·id="lab | 209 | <a·id="lab355"></a><h1·class="section">Z.square:·a·direct·definition·of·<span·class="inlinecode"><span·class="id"·title="var">z</span>^2</span></h1> |
210 | </div> | 210 | </div> |
211 | <div·class="code"> | 211 | <div·class="code"> |
212 | <br/> | 212 | <br/> |
213 | <span·class="id"·title="keyword">Notation</span>·<a·id="Psquare_correct"·class="idref"·href="#Psquare_correct"><span·class="id"·title="abbreviation">Psquare_correct</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.square_spec"><span·class="id"·title="lemma">Pos.square_spec</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 213 | <span·class="id"·title="keyword">Notation</span>·<a·id="Psquare_correct"·class="idref"·href="#Psquare_correct"><span·class="id"·title="abbreviation">Psquare_correct</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.square_spec"><span·class="id"·title="lemma">Pos.square_spec</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> |
214 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsquare_correct"·class="idref"·href="#Zsquare_correct"><span·class="id"·title="abbreviation">Zsquare_correct</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.square_spec"><span·class="id"·title="lemma">Z.square_spec</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<br/> | 214 | <span·class="id"·title="keyword">Notation</span>·<a·id="Zsquare_correct"·class="idref"·href="#Zsquare_correct"><span·class="id"·title="abbreviation">Zsquare_correct</span></a>·:=·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.square_spec"><span·class="id"·title="lemma">Z.square_spec</span></a>·(<span·class="id"·title="var">only</span>·<span·class="id"·title="var">parsing</span>).<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="lab465"></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 150, 15 lines modified | Offset 150, 15 lines modified | ||
150 | <br/> | 150 | <br/> |
151 | <span·class="id"·title="keyword">Section</span>·<a·id="Powers_of_2"·class="idref"·href="#Powers_of_2"><span·class="id"·title="section">Powers_of_2</span></a>.<br/> | 151 | <span·class="id"·title="keyword">Section</span>·<a·id="Powers_of_2"·class="idref"·href="#Powers_of_2"><span·class="id"·title="section">Powers_of_2</span></a>.<br/> |
152 | <br/> | 152 | <br/> |
153 | </div> | 153 | </div> |
154 | <div·class="doc"> | 154 | <div·class="doc"> |
155 | <a·id="lab | 155 | <a·id="lab466"></a><h1·class="section">Powers·of·2</h1> |
156 | <div·class="paragraph">·</div> | 156 | <div·class="paragraph">·</div> |
157 | ·For·the·powers·of·two,·that·will·be·widely·used,·a·more·direct | 157 | ·For·the·powers·of·two,·that·will·be·widely·used,·a·more·direct |
158 | ······calculus·is·possible.·<span·class="inlinecode"><span·class="id"·title="var">shift</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·computes·<span·class="inlinecode">2^<span·class="id"·title="var">n</span></span>·<span·class="inlinecode">*</span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>,·i.e. | 158 | ······calculus·is·possible.·<span·class="inlinecode"><span·class="id"·title="var">shift</span></span>·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·computes·<span·class="inlinecode">2^<span·class="id"·title="var">n</span></span>·<span·class="inlinecode">*</span>·<span·class="inlinecode"><span·class="id"·title="var">m</span></span>,·i.e. |
159 | ······<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·shifted·by·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·positions· | 159 | ······<span·class="inlinecode"><span·class="id"·title="var">m</span></span>·shifted·by·<span·class="inlinecode"><span·class="id"·title="var">n</span></span>·positions· |
160 | </div> | 160 | </div> |
Offset 279, 15 lines modified | Offset 279, 15 lines modified | ||
279 | <br/> | 279 | <br/> |
280 | <span·class="id"·title="keyword">Section</span>·<a·id="power_div_with_rest"·class="idref"·href="#power_div_with_rest"><span·class="id"·title="section">power_div_with_rest</span></a>.<br/> | 280 | <span·class="id"·title="keyword">Section</span>·<a·id="power_div_with_rest"·class="idref"·href="#power_div_with_rest"><span·class="id"·title="section">power_div_with_rest</span></a>.<br/> |
281 | <br/> | 281 | <br/> |
282 | </div> | 282 | </div> |
283 | <div·class="doc"> | 283 | <div·class="doc"> |
284 | <a·id="lab | 284 | <a·id="lab467"></a><h1·class="section">Division·by·a·power·of·two.</h1> |
285 | <div·class="paragraph">·</div> | 285 | <div·class="paragraph">·</div> |
286 | ·To·<span·class="inlinecode"><span·class="id"·title="var">x</span>:<span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">p</span>:<span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>,<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·are·associated·such·that | 286 | ·To·<span·class="inlinecode"><span·class="id"·title="var">x</span>:<span·class="id"·title="var">Z</span></span>·and·<span·class="inlinecode"><span·class="id"·title="var">p</span>:<span·class="id"·title="var">positive</span></span>,·<span·class="inlinecode"><span·class="id"·title="var">q</span></span>,<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·are·associated·such·that |
287 | ······<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">=</span>·<span·class="inlinecode">2^<span·class="id"·title="var">p.q</span></span>·<span·class="inlinecode">+</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·and·<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">2^<span·class="id"·title="var">p</span></span>· | 287 | ······<span·class="inlinecode"><span·class="id"·title="var">x</span></span>·<span·class="inlinecode">=</span>·<span·class="inlinecode">2^<span·class="id"·title="var">p.q</span></span>·<span·class="inlinecode">+</span>·<span·class="inlinecode"><span·class="id"·title="var">r</span></span>·and·<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">2^<span·class="id"·title="var">p</span></span>· |
288 | <div·class="paragraph">·</div> | 288 | <div·class="paragraph">·</div> |
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="lab349"></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 228, 15 lines modified | Offset 228, 15 lines modified | ||
228 | <br/> | 228 | <br/> |
229 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrem_lt_neg_neg"·class="idref"·href="#Zrem_lt_neg_neg"><span·class="id"·title="lemma">Zrem_lt_neg_neg</span></a>·<a·id="a:34"·class="idref"·href="#a:34"><span·class="id"·title="binder">a</span></a>·<a·id="b:35"·class="idref"·href="#b:35"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:34"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><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.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_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.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><</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:34"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><=</span></a>·0.<br/> | 229 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrem_lt_neg_neg"·class="idref"·href="#Zrem_lt_neg_neg"><span·class="id"·title="lemma">Zrem_lt_neg_neg</span></a>·<a·id="a:34"·class="idref"·href="#a:34"><span·class="id"·title="binder">a</span></a>·<a·id="b:35"·class="idref"·href="#b:35"><span·class="id"·title="binder">b</span></a>·:·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:34"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><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.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#::Z_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.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><</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:34"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:35"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><=</span></a>·0.<br/> |
230 | <br/> | 230 | <br/> |
231 | </div> | 231 | </div> |
232 | <div·class="doc"> | 232 | <div·class="doc"> |
233 | <a·id="lab | 233 | <a·id="lab350"></a><h1·class="section">Unicity·results</h1> |
234 | </div> | 234 | </div> |
235 | <div·class="code"> | 235 | <div·class="code"> |
236 | <br/> | 236 | <br/> |
237 | <span·class="id"·title="keyword">Definition</span>·<a·id="Remainder"·class="idref"·href="#Remainder"><span·class="id"·title="definition">Remainder</span></a>·<a·id="a:36"·class="idref"·href="#a:36"><span·class="id"·title="binder">a</span></a>·<a·id="b:37"·class="idref"·href="#b:37"><span·class="id"·title="binder">b</span></a>·<a·id="r:38"·class="idref"·href="#r:38"><span·class="id"·title="binder">r</span></a>·:=<br/> | 237 | <span·class="id"·title="keyword">Definition</span>·<a·id="Remainder"·class="idref"·href="#Remainder"><span·class="id"·title="definition">Remainder</span></a>·<a·id="a:36"·class="idref"·href="#a:36"><span·class="id"·title="binder">a</span></a>·<a·id="b:37"·class="idref"·href="#b:37"><span·class="id"·title="binder">b</span></a>·<a·id="r:38"·class="idref"·href="#r:38"><span·class="id"·title="binder">r</span></a>·:=<br/> |
238 | <a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">(</span></a>0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:38"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:37"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><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.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:38"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><=</span></a>·0<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a>.<br/> | 238 | <a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">(</span></a>0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span·class="id"·title="notation">/\</span></a>·0·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:38"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#bdb3edde5f841a282ce8fc1b00e3d211"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:37"><span·class="id"·title="variable">b</span></a><a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">\/</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">(</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#a:36"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·0·<a·class="idref"·href="Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><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.BinInt.html#Z.abs"><span·class="id"·title="definition">Z.abs</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:37"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:38"><span·class="id"·title="variable">r</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#3e2cc3b784fd1c5341d23eca6b98405f"><span·class="id"·title="notation"><=</span></a>·0<a·class="idref"·href="Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span·class="id"·title="notation">)</span></a>.<br/> |
Offset 261, 15 lines modified | Offset 261, 15 lines modified | ||
261 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrem_unique_full"·class="idref"·href="#Zrem_unique_full"><span·class="id"·title="lemma">Zrem_unique_full</span></a>·<a·id="a:53"·class="idref"·href="#a:53"><span·class="id"·title="binder">a</span></a>·<a·id="b:54"·class="idref"·href="#b:54"><span·class="id"·title="binder">b</span></a>·<a·id="q:55"·class="idref"·href="#q:55"><span·class="id"·title="binder">q</span></a>·<a·id="r:56"·class="idref"·href="#r:56"><span·class="id"·title="binder">r</span></a>·:<br/> | 261 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zrem_unique_full"·class="idref"·href="#Zrem_unique_full"><span·class="id"·title="lemma">Zrem_unique_full</span></a>·<a·id="a:53"·class="idref"·href="#a:53"><span·class="id"·title="binder">a</span></a>·<a·id="b:54"·class="idref"·href="#b:54"><span·class="id"·title="binder">b</span></a>·<a·id="q:55"·class="idref"·href="#q:55"><span·class="id"·title="binder">q</span></a>·<a·id="r:56"·class="idref"·href="#r:56"><span·class="id"·title="binder">r</span></a>·:<br/> |
262 | <a·class="idref"·href="Coq.ZArith.Zquot.html#Remainder"><span·class="id"·title="definition">Remainder</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">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.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</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#q:55"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">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.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">r</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.rem"><span·class="id"·title="definition">Z.rem</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a>.<br/> | 262 | <a·class="idref"·href="Coq.ZArith.Zquot.html#Remainder"><span·class="id"·title="definition">Remainder</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">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.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</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#q:55"><span·class="id"·title="variable">q</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">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.ZArith.Zquot.html#r:56"><span·class="id"·title="variable">r</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.rem"><span·class="id"·title="definition">Z.rem</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:53"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:54"><span·class="id"·title="variable">b</span></a>.<br/> |
263 | <br/> | 263 | <br/> |
264 | </div> | 264 | </div> |
265 | <div·class="doc"> | 265 | <div·class="doc"> |
266 | <a·id="lab | 266 | <a·id="lab351"></a><h1·class="section">Order·results·about·Zrem·and·Zquot</h1> |
267 | </div> | 267 | </div> |
268 | <div·class="code"> | 268 | <div·class="code"> |
269 | <br/> | 269 | <br/> |
270 | <br/> | 270 | <br/> |
Offset 359, 15 lines modified | Offset 359, 15 lines modified | ||
359 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zquot_sgn"·class="idref"·href="#Zquot_sgn"><span·class="id"·title="lemma">Zquot_sgn</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:81"·class="idref"·href="#a:81"><span·class="id"·title="binder">a</span></a>·<a·id="b:82"·class="idref"·href="#b:82"><span·class="id"·title="binder">b</span></a>,<br/> | 359 | <span·class="id"·title="keyword">Theorem</span>·<a·id="Zquot_sgn"·class="idref"·href="#Zquot_sgn"><span·class="id"·title="lemma">Zquot_sgn</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:81"·class="idref"·href="#a:81"><span·class="id"·title="binder">a</span></a>·<a·id="b:82"·class="idref"·href="#b:82"><span·class="id"·title="binder">b</span></a>,<br/> |
360 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·(<a·class="idref"·href="Coq.ZArith.Zquot.html#a:81"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#576dd7a0f6e53f28cb92f8a06f69a45e"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#b:82"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:81"><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.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:82"><span·class="id"·title="variable">b</span></a>.<br/> | 360 | 0·<a·class="idref"·href="Coq.ZArith.BinInt.html#306329b0eca7a2b86c198702f594ad8e"><span·class="id"·title="notation"><=</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·(<a·class="idref"·href="Coq.ZArith.Zquot.html#a:81"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.ZArith.BinInt.html#576dd7a0f6e53f28cb92f8a06f69a45e"><span·class="id"·title="notation">÷</span></a><a·class="idref"·href="Coq.ZArith.Zquot.html#b:82"><span·class="id"·title="variable">b</span></a>)·<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:81"><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.BinInt.html#Z.sgn"><span·class="id"·title="definition">Z.sgn</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#b:82"><span·class="id"·title="variable">b</span></a>.<br/> |
361 | <br/> | 361 | <br/> |
362 | </div> | 362 | </div> |
363 | <div·class="doc"> | 363 | <div·class="doc"> |
364 | <a·id="lab | 364 | <a·id="lab352"></a><h1·class="section">Relations·between·usual·operations·and·Z.modulo·and·Z.div</h1> |
365 | <div·class="paragraph">·</div> | 365 | <div·class="paragraph">·</div> |
366 | ·First,·a·result·that·used·to·be·always·valid·with·Zdiv, | 366 | ·First,·a·result·that·used·to·be·always·valid·with·Zdiv, |
367 | ····but·must·be·restricted·here. | 367 | ····but·must·be·restricted·here. |
368 | ····For·instance,·now·(9+(-5)*2)·rem·2·=·-1·<>·1·=·9·rem·2· | 368 | ····For·instance,·now·(9+(-5)*2)·rem·2·=·-1·<>·1·=·9·rem·2· |
369 | </div> | 369 | </div> |
Offset 523, 15 lines modified | Offset 523, 15 lines modified | ||
523 | <br/> | 523 | <br/> |
524 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zodd_rem"·class="idref"·href="#Zodd_rem"><span·class="id"·title="lemma">Zodd_rem</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:137"·class="idref"·href="#a:137"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd"><span·class="id"·title="definition">Z.odd</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:137"><span·class="id"·title="variable">a</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#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eqb"><span·class="id"·title="definition">Z.eqb</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:137"><span·class="id"·title="variable">a</span></a>·2)·0).<br/> | 524 | <span·class="id"·title="keyword">Lemma</span>·<a·id="Zodd_rem"·class="idref"·href="#Zodd_rem"><span·class="id"·title="lemma">Zodd_rem</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="a:137"·class="idref"·href="#a:137"><span·class="id"·title="binder">a</span></a>,·<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.odd"><span·class="id"·title="definition">Z.odd</span></a>·<a·class="idref"·href="Coq.ZArith.Zquot.html#a:137"><span·class="id"·title="variable">a</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#negb"><span·class="id"·title="definition">negb</span></a>·(<a·class="idref"·href="Coq.ZArith.BinInt.html#Z.eqb"><span·class="id"·title="definition">Z.eqb</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:137"><span·class="id"·title="variable">a</span></a>·2)·0).<br/> |
525 | <br/> | 525 | <br/> |
526 | </div> | 526 | </div> |
527 | <div·class="doc"> | 527 | <div·class="doc"> |
528 | <a·id="lab | 528 | <a·id="lab353"></a><h1·class="section">Interaction·with·"historic"·Zdiv</h1> |
529 | <div·class="paragraph">·</div> | 529 | <div·class="paragraph">·</div> |
530 | ·They·agree·at·least·on·positive·numbers:· | 530 | ·They·agree·at·least·on·positive·numbers:· |
531 | </div> | 531 | </div> |
532 | <div·class="code"> | 532 | <div·class="code"> |
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="lab474"></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="lab | 145 | <a·id="lab1192"></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 213, 15 lines modified | Offset 213, 15 lines modified | ||
213 | <span·class="id"·title="keyword">Program·Instance</span>·<a·id="Decidable_PosLe"·class="idref"·href="#Decidable_PosLe"><span·class="id"·title="instance">Decidable_PosLe</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="p:33"·class="idref"·href="#p:33"><span·class="id"·title="binder">p</span></a>·<a·id="q:34"·class="idref"·href="#q:34"><span·class="id"·title="binder">q</span></a>,·<a·class="idref"·href="Coq.Classes.DecidableClass.html#Decidable"><span·class="id"·title="class">Decidable</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.le"><span·class="id"·title="definition">Pos.le</span></a>·<a·class="idref"·href="Coq.btauto.Algebra.html#p:33"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.btauto.Algebra.html#q:34"><span·class="id"·title="variable">q</span></a>)·:=<br/> | 213 | <span·class="id"·title="keyword">Program·Instance</span>·<a·id="Decidable_PosLe"·class="idref"·href="#Decidable_PosLe"><span·class="id"·title="instance">Decidable_PosLe</span></a>·:·<span·class="id"·title="keyword">forall</span>·<a·id="p:33"·class="idref"·href="#p:33"><span·class="id"·title="binder">p</span></a>·<a·id="q:34"·class="idref"·href="#q:34"><span·class="id"·title="binder">q</span></a>,·<a·class="idref"·href="Coq.Classes.DecidableClass.html#Decidable"><span·class="id"·title="class">Decidable</span></a>·(<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.le"><span·class="id"·title="definition">Pos.le</span></a>·<a·class="idref"·href="Coq.btauto.Algebra.html#p:33"><span·class="id"·title="variable">p</span></a>·<a·class="idref"·href="Coq.btauto.Algebra.html#q:34"><span·class="id"·title="variable">q</span></a>)·:=<br/> |
214 | {·<a·class="idref"·href="Coq.Classes.DecidableClass.html#Decidable_witness"><span·class="id"·title="method">Decidable_witness</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.leb"><span·class="id"·title="definition">Pos.leb</span></a>·<span·class="id"·title="var">p</span>·<span·class="id"·title="var">q</span>·}.<br/> | 214 | {·<a·class="idref"·href="Coq.Classes.DecidableClass.html#Decidable_witness"><span·class="id"·title="method">Decidable_witness</span></a>·:=·<a·class="idref"·href="Coq.PArith.BinPos.html#Pos.leb"><span·class="id"·title="definition">Pos.leb</span></a>·<span·class="id"·title="var">p</span>·<span·class="id"·title="var">q</span>·}.<br/> |
215 | <br/> | 215 | <br/> |
216 | </div> | 216 | </div> |
217 | <div·class="doc"> | 217 | <div·class="doc"> |
218 | <a·id="lab | 218 | <a·id="lab1193"></a><h1·class="section">The·core·reflexive·part.</h1> |
219 | </div> | 219 | </div> |
220 | <div·class="code"> | 220 | <div·class="code"> |
221 | <br/> | 221 | <br/> |
222 | #[<span·class="id"·title="var">local</span>]<br/> | 222 | #[<span·class="id"·title="var">local</span>]<br/> |
223 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Constructors</span>·<a·class="idref"·href="Coq.btauto.Algebra.html#valid"><span·class="id"·title="inductive">valid</span></a>·:·<span·class="id"·title="var">core</span>.<br/> | 223 | <span·class="id"·title="keyword">Hint</span>·<span·class="id"·title="keyword">Constructors</span>·<a·class="idref"·href="Coq.btauto.Algebra.html#valid"><span·class="id"·title="inductive">valid</span></a>·:·<span·class="id"·title="var">core</span>.<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="lab493"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> |
64 | <a·id="lab | 64 | <a·id="lab494"></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="lab495"></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="lab476"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> |
64 | <a·id="lab | 64 | <a·id="lab477"></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="lab478"></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="lab496"></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="lab497"></a><h1·class="section">into·equivalent·versions·in·Haskell's·Prelude·that·are·defined</h1> |
49 | <a·id="lab | 49 | <a·id="lab498"></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="lab499"></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="lab500"></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="lab487"></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 64, 24 lines modified | Offset 64, 24 lines modified | ||
64 | <br/> | 64 | <br/> |
65 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellBasic.html#"><span·class="id"·title="library">ExtrHaskellBasic</span></a>.<br/> | 65 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.extraction.ExtrHaskellBasic.html#"><span·class="id"·title="library">ExtrHaskellBasic</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="lab488"></a><h1·class="section">At·the·moment,·Coq's·extraction·has·no·way·to·add·extra·import</h1> |
70 | <a·id="lab | 70 | <a·id="lab489"></a><h1·class="section">statements·to·the·extracted·Haskell·code.··You·will·have·to</h1> |
71 | <a·id="lab | 71 | <a·id="lab490"></a><h1·class="section">manually·add:</h1> |
72 | ·* | 72 | ·* |
73 | <a·id="lab | 73 | <a·id="lab491"></a><h1·class="section">import·qualified·Data.Bits</h1> |
74 | <a·id="lab | 74 | <a·id="lab492"></a><h1·class="section">import·qualified·Data.Char</h1> |
75 | · | 75 | · |
76 | </div> | 76 | </div> |
77 | <div·class="code"> | 77 | <div·class="code"> |
78 | <br/> | 78 | <br/> |
79 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#ascii"><span·class="id"·title="inductive">ascii</span></a>·=>·"Prelude.Char"<br/> | 79 | <span·class="id"·title="keyword">Extract</span>·<span·class="id"·title="keyword">Inductive</span>·<a·class="idref"·href="Coq.Strings.Ascii.html#ascii"><span·class="id"·title="inductive">ascii</span></a>·=>·"Prelude.Char"<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="lab484"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> |
64 | <a·id="lab | 64 | <a·id="lab485"></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="lab486"></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="lab479"></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="lab480"></a><h1·class="section">into·equivalent·versions·in·Haskell's·Prelude·that·are·defined</h1> |
49 | <a·id="lab | 49 | <a·id="lab481"></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="lab482"></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="lab483"></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="lab12 | 56 | <a·id="lab1253"></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 525, 16 lines modified | Offset 525, 16 lines modified | ||
525 | </table> | 525 | </table> |
526 | <hr/><a·id="global_T"></a><h2>T·</h2> | 526 | <hr/><a·id="global_T"></a><h2>T·</h2> |
527 | <a·href="Coq.Init.Nat.html#t">t</a>·[definition,·in·<a·href="Coq.Init.Nat.html">Coq.Init.Nat</a>]<br/> | 527 | <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.Vectors.Fin.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.Fin.html">Coq.Vectors.Fin</a>]<br/> | 528 | <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.micromega.VarMap.html#t">t</a>·[abbreviation,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> | 529 | <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>·[inductive,·in·<a·href="Coq.micromega.VarMap.html">Coq.micromega.VarMap</a>]<br/> | 530 | <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.Vectors.VectorDef.html#t">t</a>·[inductive,·in·<a·href="Coq.Vectors.VectorDef.html">Coq.Vectors.VectorDef</a>]<br/> | 531 | <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.Init.Tactics.html">Tactics</a>·[library]<br/> | ||
533 | <a·href="Coq.Program.Tactics.html">Tactics</a>·[library]<br/> | 532 | <a·href="Coq.Program.Tactics.html">Tactics</a>·[library]<br/> |
533 | <a·href="Coq.Init.Tactics.html">Tactics</a>·[library]<br/> | ||
534 | <a·href="Coq.ssr.ssreflect.html#tactic_view">tactic_view</a>·[constructor,·in·<a·href="Coq.ssr.ssreflect.html">Coq.ssr.ssreflect</a>]<br/> | 534 | <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.rtauto.Bintree.html#Tadd">Tadd</a>·[definition,·in·<a·href="Coq.rtauto.Bintree.html">Coq.rtauto.Bintree</a>]<br/> | 535 | <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.ssr.ssrfun.html#tag">tag</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 536 | <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>·[section,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 537 | <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#Tagged">Tagged</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 538 | <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/> | 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#Tagged2">Tagged2</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> | 540 | <a·href="Coq.ssr.ssrfun.html#Tagged2">Tagged2</a>·[definition,·in·<a·href="Coq.ssr.ssrfun.html">Coq.ssr.ssrfun</a>]<br/> |
Offset 954, 16 lines modified | Offset 954, 16 lines modified | ||
954 | <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/> | 954 | <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/> |
955 | <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/> | 955 | <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/> |
956 | <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/> | 956 | <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/> |
957 | <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/> | 957 | <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/> |
958 | <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/> | 958 | <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/> |
959 | <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/> | 959 | <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/> |
960 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun">WEqProperties_fun</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> | 960 | <a·href="Coq.FSets.FSetEqProperties.html#WEqProperties_fun">WEqProperties_fun</a>·[module,·in·<a·href="Coq.FSets.FSetEqProperties.html">Coq.FSets.FSetEqProperties</a>]<br/> |
961 | <a·href="Coq.Init.Wf.html">Wf</a>·[library]<br/> | ||
962 | <a·href="Coq.Program.Wf.html">Wf</a>·[library]<br/> | 961 | <a·href="Coq.Program.Wf.html">Wf</a>·[library]<br/> |
962 | <a·href="Coq.Init.Wf.html">Wf</a>·[library]<br/> | ||
963 | <a·href="Coq.FSets.FMapFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FMapFacts.html">Coq.FSets.FMapFacts</a>]<br/> | 963 | <a·href="Coq.FSets.FMapFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FMapFacts.html">Coq.FSets.FMapFacts</a>]<br/> |
964 | <a·href="Coq.MSets.MSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 964 | <a·href="Coq.MSets.MSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> |
965 | <a·href="Coq.FSets.FSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FSetFacts.html">Coq.FSets.FSetFacts</a>]<br/> | 965 | <a·href="Coq.FSets.FSetFacts.html#WFacts">WFacts</a>·[module,·in·<a·href="Coq.FSets.FSetFacts.html">Coq.FSets.FSetFacts</a>]<br/> |
966 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn">WFactsOn</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> | 966 | <a·href="Coq.MSets.MSetFacts.html#WFactsOn">WFactsOn</a>·[module,·in·<a·href="Coq.MSets.MSetFacts.html">Coq.MSets.MSetFacts</a>]<br/> |
967 | <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/> | 967 | <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/> |
968 | <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/> | 968 | <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/> |
969 | <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/> | 969 | <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, 16 lines modified | Offset 520, 16 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.Init.Tactics.html">Tactics</a>·<br/> | ||
528 | <a·href="Coq.Program.Tactics.html">Tactics</a>·<br/> | 527 | <a·href="Coq.Program.Tactics.html">Tactics</a>·<br/> |
528 | <a·href="Coq.Init.Tactics.html">Tactics</a>·<br/> | ||
529 | <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/> | 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 | <a·href="Ltac2.TransparentState.html">TransparentState</a>·<br/> | 532 | <a·href="Ltac2.TransparentState.html">TransparentState</a>·<br/> |
533 | <br/><br/>····<div·id="sidebarWrapper"> | 533 | <br/><br/>····<div·id="sidebarWrapper"> |
534 | ······<div·id="sidebar"> | 534 | ······<div·id="sidebar"> |
535 | ········<div·class="block"> | 535 | ········<div·class="block"> |
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.Init.Wf.html">Wf</a>·<br/> | ||
531 | <a·href="Coq.Program.Wf.html">Wf</a>·<br/> | 530 | <a·href="Coq.Program.Wf.html">Wf</a>·<br/> |
531 | <a·href="Coq.Init.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> |