Offset 1, 9 lines modified | Offset 1, 9 lines modified | ||
1 | ·441585d5c987dd0a7039dd301315c48d·8467932·debug·optional·coq-dbgsym_8.20.1+dfsg-1_amd64.deb | 1 | ·441585d5c987dd0a7039dd301315c48d·8467932·debug·optional·coq-dbgsym_8.20.1+dfsg-1_amd64.deb |
2 | ·8444dd0b9d6db778584f93d653641416·70215392·math·optional·coq_8.20.1+dfsg-1_amd64.deb | 2 | ·8444dd0b9d6db778584f93d653641416·70215392·math·optional·coq_8.20.1+dfsg-1_amd64.deb |
3 | ·5b07bebfc520e6cde53b336e427cfc64·640240·debug·optional·coqide-dbgsym_8.20.1+dfsg-1_amd64.deb | 3 | ·5b07bebfc520e6cde53b336e427cfc64·640240·debug·optional·coqide-dbgsym_8.20.1+dfsg-1_amd64.deb |
4 | ·3590a9207c782c4deb4bd14831e840d3·1929044·math·optional·coqide_8.20.1+dfsg-1_amd64.deb | 4 | ·3590a9207c782c4deb4bd14831e840d3·1929044·math·optional·coqide_8.20.1+dfsg-1_amd64.deb |
5 | ·91cfa6167767ae48f0479b618edfe1b1·2515460·debug·optional·libcoq-core-ocaml-dbgsym_8.20.1+dfsg-1_amd64.deb | 5 | ·91cfa6167767ae48f0479b618edfe1b1·2515460·debug·optional·libcoq-core-ocaml-dbgsym_8.20.1+dfsg-1_amd64.deb |
6 | · | 6 | ·96a6c9fe14e7cf35642c5f4ac1366819·68701924·ocaml·optional·libcoq-core-ocaml-dev_8.20.1+dfsg-1_amd64.deb |
7 | ·ed9a2372d6eb9c2806fc91e50b10c94b·25953516·ocaml·optional·libcoq-core-ocaml_8.20.1+dfsg-1_amd64.deb | 7 | ·ed9a2372d6eb9c2806fc91e50b10c94b·25953516·ocaml·optional·libcoq-core-ocaml_8.20.1+dfsg-1_amd64.deb |
8 | · | 8 | ·6aec667d291a6932b61187fbc4e763a9·23527252·math·optional·libcoq-stdlib_8.20.1+dfsg-1_amd64.deb |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2025-02-15·14:19:14.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2025-02-15·14:19:14.000000·debian-binary |
2 | -rw-r--r--···0········0········0····701 | 2 | -rw-r--r--···0········0········0····70144·2025-02-15·14:19:14.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·68631 | 3 | -rw-r--r--···0········0········0·68631588·2025-02-15·14:19:14.000000·data.tar.xz |
Offset 263, 51 lines modified | Offset 263, 51 lines modified | ||
263 | -rw-r--r--···0·root·········(0)·root·········(0)····13967·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.cmt | 263 | -rw-r--r--···0·root·········(0)·root·········(0)····13967·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.cmt |
264 | -rw-r--r--···0·root·········(0)·root·········(0)·····7252·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.cmti | 264 | -rw-r--r--···0·root·········(0)·root·········(0)·····7252·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.cmti |
265 | -rw-r--r--···0·root·········(0)·root·········(0)·····1382·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.cmx | 265 | -rw-r--r--···0·root·········(0)·root·········(0)·····1382·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.cmx |
266 | -rw-r--r--···0·root·········(0)·root·········(0)·····2367·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.ml | 266 | -rw-r--r--···0·root·········(0)·root·········(0)·····2367·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.ml |
267 | -rw-r--r--···0·root·········(0)·root·········(0)·····1740·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.mli | 267 | -rw-r--r--···0·root·········(0)·root·········(0)·····1740·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/polyMap.mli |
268 | -rw-r--r--···0·root·········(0)·root·········(0)·····1493·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.cmi | 268 | -rw-r--r--···0·root·········(0)·root·········(0)·····1493·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.cmi |
269 | -rw-r--r--···0·root·········(0)·root·········(0)····19875·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.cmt | 269 | -rw-r--r--···0·root·········(0)·root·········(0)····19875·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.cmt |
270 | -rw-r--r--···0·root·········(0)·root·········(0)·····852 | 270 | -rw-r--r--···0·root·········(0)·root·········(0)·····8525·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.cmti |
271 | -rw-r--r--···0·root·········(0)·root·········(0)·····1998·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.cmx | 271 | -rw-r--r--···0·root·········(0)·root·········(0)·····1998·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.cmx |
272 | -rw-r--r--···0·root·········(0)·root·········(0)·····3830·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.ml | 272 | -rw-r--r--···0·root·········(0)·root·········(0)·····3830·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.ml |
273 | -rw-r--r--···0·root·········(0)·root·········(0)·····2744·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.mli | 273 | -rw-r--r--···0·root·········(0)·root·········(0)·····2744·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/predicate.mli |
274 | -rw-r--r--···0·root·········(0)·root·········(0)······796·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.cmi | 274 | -rw-r--r--···0·root·········(0)·root·········(0)······796·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.cmi |
275 | -rw-r--r--···0·root·········(0)·root·········(0)····16851·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.cmt | 275 | -rw-r--r--···0·root·········(0)·root·········(0)····16851·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.cmt |
276 | -rw-r--r--···0·root·········(0)·root·········(0)·····4807·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.cmti | 276 | -rw-r--r--···0·root·········(0)·root·········(0)·····4807·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.cmti |
277 | -rw-r--r--···0·root·········(0)·root·········(0)·····1273·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.cmx | 277 | -rw-r--r--···0·root·········(0)·root·········(0)·····1273·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.cmx |
278 | -rw-r--r--···0·root·········(0)·root·········(0)·····2663·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.ml | 278 | -rw-r--r--···0·root·········(0)·root·········(0)·····2663·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.ml |
279 | -rw-r--r--···0·root·········(0)·root·········(0)·····1306·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.mli | 279 | -rw-r--r--···0·root·········(0)·root·········(0)·····1306·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/range.mli |
280 | -rw-r--r--···0·root·········(0)·root·········(0)·····1443·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.cmi | 280 | -rw-r--r--···0·root·········(0)·root·········(0)·····1443·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.cmi |
281 | -rw-r--r--···0·root·········(0)·root·········(0)····22648·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.cmt | 281 | -rw-r--r--···0·root·········(0)·root·········(0)····22648·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.cmt |
282 | -rw-r--r--···0·root·········(0)·root·········(0)·····84 | 282 | -rw-r--r--···0·root·········(0)·root·········(0)·····8498·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.cmti |
283 | -rw-r--r--···0·root·········(0)·root·········(0)·····1466·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.cmx | 283 | -rw-r--r--···0·root·········(0)·root·········(0)·····1466·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.cmx |
284 | -rw-r--r--···0·root·········(0)·root·········(0)·····3442·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.ml | 284 | -rw-r--r--···0·root·········(0)·root·········(0)·····3442·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.ml |
285 | -rw-r--r--···0·root·········(0)·root·········(0)·····2141·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.mli | 285 | -rw-r--r--···0·root·········(0)·root·········(0)·····2141·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/sList.mli |
286 | -rw-r--r--···0·root·········(0)·root·········(0)······438·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.cmi | 286 | -rw-r--r--···0·root·········(0)·root·········(0)······438·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.cmi |
287 | -rw-r--r--···0·root·········(0)·root·········(0)····19751·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.cmt | 287 | -rw-r--r--···0·root·········(0)·root·········(0)····19751·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.cmt |
288 | -rw-r--r--···0·root·········(0)·root·········(0)·····32 | 288 | -rw-r--r--···0·root·········(0)·root·········(0)·····3229·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.cmti |
289 | -rw-r--r--···0·root·········(0)·root·········(0)·····1002·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.cmx | 289 | -rw-r--r--···0·root·········(0)·root·········(0)·····1002·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.cmx |
290 | -rw-r--r--···0·root·········(0)·root·········(0)·····5268·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.ml | 290 | -rw-r--r--···0·root·········(0)·root·········(0)·····5268·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.ml |
291 | -rw-r--r--···0·root·········(0)·root·········(0)·····1379·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.mli | 291 | -rw-r--r--···0·root·········(0)·root·········(0)·····1379·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/segmenttree.mli |
292 | -rw-r--r--···0·root·········(0)·root·········(0)······652·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.cmi | 292 | -rw-r--r--···0·root·········(0)·root·········(0)······652·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.cmi |
293 | -rw-r--r--···0·root·········(0)·root·········(0)·····8874·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.cmt | 293 | -rw-r--r--···0·root·········(0)·root·········(0)·····8874·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.cmt |
294 | -rw-r--r--···0·root·········(0)·root·········(0)·····444 | 294 | -rw-r--r--···0·root·········(0)·root·········(0)·····4449·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.cmti |
295 | -rw-r--r--···0·root·········(0)·root·········(0)·····1104·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.cmx | 295 | -rw-r--r--···0·root·········(0)·root·········(0)·····1104·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.cmx |
296 | -rw-r--r--···0·root·········(0)·root·········(0)·····1658·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.ml | 296 | -rw-r--r--···0·root·········(0)·root·········(0)·····1658·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.ml |
297 | -rw-r--r--···0·root·········(0)·root·········(0)·····1421·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.mli | 297 | -rw-r--r--···0·root·········(0)·root·········(0)·····1421·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/store.mli |
298 | -rw-r--r--···0·root·········(0)·root·········(0)·····1368·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.cmi | 298 | -rw-r--r--···0·root·········(0)·root·········(0)·····1368·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.cmi |
299 | -rw-r--r--···0·root·········(0)·root·········(0)····41773·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.cmt | 299 | -rw-r--r--···0·root·········(0)·root·········(0)····41773·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.cmt |
300 | -rw-r--r--···0·root·········(0)·root·········(0)·····725 | 300 | -rw-r--r--···0·root·········(0)·root·········(0)·····7252·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.cmti |
301 | -rw-r--r--···0·root·········(0)·root·········(0)·····1676·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.cmx | 301 | -rw-r--r--···0·root·········(0)·root·········(0)·····1676·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.cmx |
302 | -rw-r--r--···0·root·········(0)·root·········(0)·····8102·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.ml | 302 | -rw-r--r--···0·root·········(0)·root·········(0)·····8102·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.ml |
303 | -rw-r--r--···0·root·········(0)·root·········(0)·····2305·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.mli | 303 | -rw-r--r--···0·root·········(0)·root·········(0)·····2305·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/terminal.mli |
304 | -rw-r--r--···0·root·········(0)·root·········(0)·····1312·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmi | 304 | -rw-r--r--···0·root·········(0)·root·········(0)·····1312·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmi |
305 | -rw-r--r--···0·root·········(0)·root·········(0)····19480·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmt | 305 | -rw-r--r--···0·root·········(0)·root·········(0)····19480·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmt |
306 | -rw-r--r--···0·root·········(0)·root·········(0)·····7 | 306 | -rw-r--r--···0·root·········(0)·root·········(0)·····7216·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmti |
307 | -rw-r--r--···0·root·········(0)·root·········(0)······904·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmx | 307 | -rw-r--r--···0·root·········(0)·root·········(0)······904·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.cmx |
308 | -rw-r--r--···0·root·········(0)·root·········(0)·····2531·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.ml | 308 | -rw-r--r--···0·root·········(0)·root·········(0)·····2531·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.ml |
309 | -rw-r--r--···0·root·········(0)·root·········(0)·····2058·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.mli | 309 | -rw-r--r--···0·root·········(0)·root·········(0)·····2058·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/trie.mli |
310 | -rw-r--r--···0·root·········(0)·root·········(0)······905·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmi | 310 | -rw-r--r--···0·root·········(0)·root·········(0)······905·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmi |
311 | -rw-r--r--···0·root·········(0)·root·········(0)····77211·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmt | 311 | -rw-r--r--···0·root·········(0)·root·········(0)····77211·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmt |
312 | -rw-r--r--···0·root·········(0)·root·········(0)·····6024·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmti | 312 | -rw-r--r--···0·root·········(0)·root·········(0)·····6024·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmti |
313 | -rw-r--r--···0·root·········(0)·root·········(0)·····2185·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmx | 313 | -rw-r--r--···0·root·········(0)·root·········(0)·····2185·2025-02-15·14:19:14.000000·./usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq-core/clib/unicode.cmx |
Offset 88, 446 lines modified | Offset 88, 446 lines modified | ||
00000570:·081c·a78a·a0a0·2653·7464·6c69·6290·306a··......&Stdlib.0j | 00000570:·081c·a78a·a0a0·2653·7464·6c69·6290·306a··......&Stdlib.0j | ||
00000580:·82e8·3554·ad79·7b37·ccbd·fb68·21c2·b7a0··..5T.y{7...h!... | 00000580:·82e8·3554·ad79·7b37·ccbd·fb68·21c2·b7a0··..5T.y{7...h!... | ||
00000590:·a038·4361·6d6c·696e·7465·726e·616c·466f··.8CamlinternalFo | 00000590:·a038·4361·6d6c·696e·7465·726e·616c·466f··.8CamlinternalFo | ||
000005a0:·726d·6174·4261·7369·6373·9030·aa55·0bda··rmatBasics.0.U.. | 000005a0:·726d·6174·4261·7369·6373·9030·aa55·0bda··rmatBasics.0.U.. | ||
000005b0:·b521·d60e·769a·9ad4·3a67·7e65·4084·95a6··.!..v...:g~e@... | 000005b0:·b521·d60e·769a·9ad4·3a67·7e65·4084·95a6··.!..v...:g~e@... | ||
000005c0:·be00·0000·0400·0000·0200·0000·0500·0000··................ | 000005c0:·be00·0000·0400·0000·0200·0000·0500·0000··................ | Diff chunk too large, falling back to line-by-line diff (439 lines added, 439 lines removed) | |
000005d0:·05a0·9040·4043·616d·6c31·3939·3954·3033··...@@Caml1999T03 | 000005d0:·05a0·9040·4043·616d·6c31·3939·3954·3033··...@@Caml1999T03 | ||
000005e0:·3584·95a6·bd10·b65 | 000005e0:·3584·95a6·bd10·b65c·818c·0096·00dc·00d7··5......\........ | ||
000005f0:·1 | 000005f0:·1e28·b52f·fd00·589d·da00·4a5e·5549·5a20··.(./..X...J^UIZ· | ||
00000600:· | 00000600:·0ec2·da74·2565·4de1·8265·2df3·f579·3997··...t%eM..e-..y9. | ||
00000610:· | 00000610:·f6f4·5b3a·d672·72d8·f262·5c99·5b32·5f6d··..[:.rr..b\.[2_m | ||
00000620:· | 00000620:·f6ea·1fb7·af20·a84b·596b·1f8c·683a·4f99··.....·.KYk..h:O. | ||
00000630:· | 00000630:·a28d·d02a·3edd·d4d9·dc49·5feb·4766·c2b9··...*>....I_.Gf.. | ||
00000640:· | 00000640:·0cab·7e08·f51c·8da0·cedd·634f·c151·4bfd··..~.......cO.QK. | ||
00000650:· | 00000650:·a90d·f3d4·482e·6969·0396·0474·046f·0432··....H.ii...t.o.2 | ||
00000660:· | 00000660:·3083·9f76·b3b8·d6dc·b8e1·bbe1·7783·e198··0..v........w... | ||
00000670:· | 00000670:·021c·1fe5·549b·15e6·23e6·a29c·6a4b·81ce··....T...#...jK.. | ||
00000680:· | 00000680:·5094·2d8d·66e9·4486·4ca7·9589·b158·d864··P.-.f.D.L....X.d | ||
00000690:· | 00000690:·5a73·848d·7649·24ad·54ec·748d·b2d3·0c12··Zs..vI$.T.t..... | ||
000006a0:· | 000006a0:·0b67·2f88·4945·4424·fb22·439b·4444·441a··.g/.IED$."C.DDD. | ||
000006b0:· | 000006b0:·6d29·1361·b0e6·6893·8a88·9688·6861·48f6··m).a..h.....haH. | ||
000006c0:· | 000006c0:·47c9·1932·9d96·c935·336d·120c·e9a7·843a··G..2...53m.....: | ||
000006d0:· | 000006d0:·6d68·cdd1·9a23·1059·8ea7·8b9c·c1ec·1239··mh...#.Y.......9 | ||
000006e0:· | 000006e0:·cac4·97ac·b4b1·f02c·4fcb·b24d·58a5·c271··.......,O..MX..q | ||
000006f0:· | 000006f0:·003f·bd0d·063f·841e·837f·4bf3·250c·be9a··.?...?....K.%... | ||
00000700:·b | 00000700:·7b02·be08·f88d·c6d6·0d06·7fcd·105e·1845··{............^.E | ||
00000710:· | 00000710:·21c7·1df4·e250·d132·b7ee·2cf8·58f0·5329··!....P.2..,.X.S) | ||
00000720:· | 00000720:·f842·5471·8209·fd04·3f4d·0ffc·1cf8·3a6a··.BTq....?M....:j | ||
00000730:· | 00000730:·cdcb·b909·7e19·5bb7·93a1·5307·bd39·f0d1··....~.[...S..9.. | ||
00000740:·3 | 00000740:·32b7·aedd·7ac9·08cc·41cc·5072·aa2d·35c3··2...z...A.Pr.-5. | ||
00000750:· | 00000750:·bf00·6016·65a1·5353·e9f2·71cf·4051·7eca··..`.e.SS..q.@Q~. | ||
00000760:· | 00000760:·6a1d·b5bd·f01f·c0bf·e9fd·81df·acee·6eae··j.............n. | ||
00000770:· | 00000770:·b56e·21f8·42f0·bb8b·3077·cc27·e454·1b17··.n!.B...0w.'.T.. | ||
00000780:·2 | 00000780:·2a16·818a·9fe4·545b·6a81·b48c·5654·b2a7··*.....T[j...VT.. | ||
00000790:· | 00000790:·396b·b24a·31d8·a4d3·5a7b·8a26·395a·f324··9k.J1...Z{.&9Z.$ | ||
000007a0:· | 000007a0:·c526·3126·5a91·e9b4·b0d2·8a4e·52a7·1599··.&1&Z......NR... | ||
000007b0:· | 000007b0:·8eec·114e·7595·af9e·9bde·dec2·af02·edce··...Nu........... | ||
000007c0:· | 000007c0:·020b·157f·40c5·4439·d596·eac0·bfac·0e98··....@.D9........ | ||
000007d0:· | 000007d0:·4f9d·9a0a·884a·055e·d697·f4a6·5c6e·680b··O....J.^....\nh. | ||
000007e0:·7 | 000007e0:·71ad·359a·2454·1c46·c54e·72aa·2d8d·e25f··q.5.$T.F.Nr.-.._ | ||
000007f0:· | 000007f0:·211b·cc40·6a6b·2690·de1b·95d5·453d·a64e··!..@jk&.....E=.N | ||
00000800:· | 00000800:·9268·674a·698c·bd4e·a31e·53a8·d802·2962··.hgJi..N..S...)b | ||
00000810:· | 00000810:·09cf·96d4·2b14·65b1·b0b5·4409·ad0a·ac25··....+.e...D....% | ||
00000820:· | 00000820:·c666·afb2·a925·3e8d·a66c·e612·65ad·9748··.f...%>..l..e..H | ||
00000830:·8 | 00000830:·8e30·f145·4e51·4283·7245·56ca·6462·0f6d··.0.ENQB.rEV.db.m | ||
00000840:· | 00000840:·28a9·1c5b·2f11·8bab·8c29·b54c·2923·205a··(..[/....).L)#·Z | ||
00000850:·2 | 00000850:·0256·802a·6330·99f8·54b6·b0b8·c2d3·0888··.V.*c0..T....... | ||
00000860:· | 00000860:·8664·8a94·ac6c·129b·5ab0·b275·ce8a·7e68··.d...l..Z..u..~h | ||
00000870:· | 00000870:·4056·5ee4·ac84·b5ce·124a·0fcd·f25b·2ea8··@V^......J...[.. | ||
00000880:· | 00000880:·d78c·7aa7·6c47·4cae·3344·e187·f601·9593··..z.lGL.3D...... | ||
00000890:· | 00000890:·149b·664b·b2b0·f51a·63e1·1349·3484·d601··..fK....c..I4... | ||
000008a0:·7ad1· | 000008a0:·df8c·7ad1·6653·ab0c·f9a0·797c·15c4·d808··..z.fS....y|.... | ||
000008b0:· | 000008b0:·6bc1·cad6·8b6c·0284·96c6·9b8a·369b·8a54··k....l......6..T | ||
000008c0:· | 000008c0:·ca44·185a·524a·e3d3·c864·082d·8c26·15a7··.D.ZRJ...d.-.&.. | ||
000008d0:· | 000008d0:·9232·f13c·43a7·562c·9489·e718·6b91·658b··.2.<C.V,....k.e. | ||
000008e0:· | 000008e0:·9485·5024·dcf4·e254·56f7·1517·d4db·383c··..P$...TV.....8< | ||
000008f0:·c | 000008f0:·b962·ca76·d166·a1a2·aa1d·950a·6441·94cd··.b.v.f......dA.. | ||
00000900:· | 00000900:·6263·086b·9d32·d134·5940·342f·c070·f5fc··bc.k.2.4Y@4/.p.. | ||
00000910:· | 00000910:·d831·748e·e48c·074d·8b25·a678·4a29·f1d0··.1t....M.%.xJ).. | ||
00000920:· | 00000920:·b048·6189·1c65·a7d9·83c6·0408·9ca8·175d··.Ha..e.........] | ||
00000930:· | 00000930:·129b·4a23·1eb4·3517·0a98·4896·5078·5039··..J#..5...H.PxP9 | ||
00000940:· | 00000940:·812c·c7d3·a9ec·4153·0285·931c·c91e·1a05··.,....AS........ | ||
00000950:· | 00000950:·bac3·d4a9·a316·a2de·202a·5ac6·7685·a817··........·*Z.v... | ||
00000960:·1 | 00000960:·1595·28d9·415b·732b·f04a·42da·415b·73c1··..(.A[s+.JB.A[s. | ||
00000970:· | 00000970:·b0da·c884·d31c·633c·6853·5758·2d25·cad9··......c<hSWX-%.. | ||
00000980:· | 00000980:·9282·218c·f5a0·f950·1484·6407·2845·8c9c··..!....P..d.(E.. | ||
00000990:· | 00000990:·e4c8·4363·409d·6a16·eb24·c71d·9a0d·75aa··..Cc@.j..$....u. | ||
000009a0:· | 000009a0:·dbc8·8726·0393·332c·6330·1e1a·0c75·aa5b··...&..3,c0...u.[ | ||
000009b0:· | 000009b0:·8aac·3c5d·33d9·6992·a5ab·4596·a349·8a67··..<]3.i...E..I.g | ||
000009c0:· | 000009c0:·9478·8416·13ba·42b7·af5c·f236·ab49·15ea··.x....B..\.6.I.. | ||
000009d0:· | 000009d0:·14a2·10cd·c8f1·244b·5710·9a8b·d545·25c0··......$KW....E%. | ||
000009e0:· | 000009e0:·60e2·0ead·55a7·ba9d·9051·e20e·0da9·4915··`...U....Q....I. | ||
000009f0:· | 000009f0:·9285·4c2e·1eb4·2775·aa59·cdea·a6a2·24ce··..L...'u.Y....$. | ||
00000a00:·6 | 00000a00:·6427·0fda·9a1b·a54e·a1a1·68c6·4218·0f6d··d'.....N..h.B..m | ||
00000a10:·dd | 00000a10:·cd05·d3dd·2456·964a·3c68·5da7·ba1b·a776··....$V.J<h]....v | ||
00000a20:· | 00000a20:·77df·9ee1·36ab·5156·a3d0·2a30·5e70·ae51··w...6.QV..*0^p.Q | ||
00000a30:· | 00000a30:·db55·89a0·5281·4fa4·4299·2ce4·a175·ad46··.U..R.O.B.,..u.F | ||
00000a40:·0c | 00000a40:·860c·068c·30a2·73d4·eeab·32a2·5281·376a··....0.s...2.R.7j | ||
00000a50:· | 00000a50:·dfa8·dd7d·a3de·a8dd·30a8·a054·4c72·aaad··...}....0..TLr.. | ||
00000a60:· | 00000a60:·9b35·c69a·809c·8428·8d31·5711·5b6a·7180··.5.....(.1W.[jq. | ||
00000a70:· | 00000a70:·7acc·d325·c260·e28f·f81a·4d5b·923f·acf8··z..%.`....M[.?.. | ||
00000a80:· | 00000a80:·349e·a16b·8c39·3985·562a·26ca·664e·5694··4..k.99.V*&.fNV. | ||
00000a90:· | 00000a90:·8564·399e·a14c·742a·6d2c·c6b2·d65a·1c1c··.d9..Lt*m,...Z.. | ||
00000aa0:· | 00000aa0:·a024·d149·eae8·25ca·c497·ac08·c992·a259··.$.I..%........Y | ||
00000ab0:· | 00000ab0:·32b9·6c68·65e2·5369·cd53·34ad·788e·e408··2.lhe.Si.S4.x... | ||
00000ac0:·2 | 00000ac0:·2389·ec6c·45e6·72b1·dd7b·5156·8d5a·0355··#..lE.r..{QV.Z.U | ||
00000ad0:· | 00000ad0:·774b·244b·b2d5·c396·9e51·e209·146b·0a5d··wK$K.....Q...k.] | ||
00000ae0:· | 00000ae0:·a5cf·4d85·486f·3a25·9ea1·6b7c·89b2·283d··..M.Ho:%..k|..(= | ||
00000af0:· | 00000af0:·aa25·2a15·1841·7a7e·2c4d·e4bf·e1d8·80fe··.%*..Az~,M...... | ||
00000b00:· | 00000b00:·0d9c·f0f9·4178·cfff·8303·3b35·d0a0·e3cf··....Ax....;5.... | ||
00000b10:· | 00000b10:·f1a7·00f8·9bb8·9125·861a·3fce·b9a8·bff5··.......%..?..... | ||
00000b20:· | 00000b20:·4830·f143·3d9d·a5c7·4b1e·4be5·545b·3a83··H0.C=...K.K.T[:. | ||
00000b30:· | 00000b30:·fa9b·8399·2c47·72c6·d345·bd99·fa30·bc38··....,Gr..E...0.8 | ||
00000b40:· | 00000b40:·418c·fa16·438c·7a31·448f·3df0·182a·a7da··A...C.z1D.=..*.. | ||
00000b50:· | 00000b50:·4470·a6e2·fc74·96e4·e924·baa2·446b·ad45··Dp...t...$..Dk.E | ||
00000b60:· | 00000b60:·b23c·5451·5fa6·4750·7f1b·b304·16f5·b50d··.<TQ_.GP........ | ||
00000b70:· | 00000b70:·5851·9fa6·8a7a·2a34·d081·2940·80a6·de56··XQ...z*4..)@...V | ||
00000b80:· | 00000b80:·9f9a·a957·6209·29a2·48eb·c7c8·50df·a45e··...Wb.).H...P..^ | ||
00000b90:· | 00000b90:·8533·61d2·38d1·c499·f398·f32c·a7da·d22f··.3a.8......,.../ | ||
00000ba0:· | 00000ba0:·f517·07b3·f854·3689·b21e·33d4·5fa9·e7a1··.....T6...3._... | ||
00000bb0:· | 00000bb0:·d250·4dd8·52df·5bea·96fa·2df5·dd47·9c59··.PM.R.[...-..G.Y | ||
00000bc0:· | 00000bc0:·389b·39d5·b6e3·6c80·b3ec·252e·9121·938b··8.9...l...%..!.. | ||
00000bd0:· | 00000bd0:·9cd9·9768·8e56·643a·2d39·5a6b·8650·3022··...h.Vd:-9Zk.P0" | ||
00000be0:· | 00000be0:·7316·7332·912c·ac0c·5faf·10c9·32c0·acff··s.s2.,.._...2... | ||
00000bf0:· | 00000bf0:·3a86·fadb·5112·51f5·5490·38eb·97cc·7a99··:...Q.Q.T.8...z. | ||
00000c00:· | 00000c00:·9926·1074·c0ea·c5fa·f44a·7d99·1672·3e98··.&.t.....J}..r>. | ||
00000c10:· | 00000c10:·527f·b453·3f83·ee01·a864·8a06·60a3·831a··R..S?....d..`... | ||
00000c20:· | 00000c20:·e7ee·fc42·4eb5·a543·f5b7·00cc·af57·b8c3··...BN..C.....W.. | ||
00000c30:·3 | 00000c30:·a3de·46fd·90ca·539f·763f·e15a·6b22·f5dd··..F...S.v?.Zk".. | ||
00000c40:· | 00000c40:·44ea·89d4·77f3·99a8·ac44·e532·0ac9·4ac5··D...w....D.2..J. | ||
00000c50:· | 00000c50:·c8d2·2e91·e38f·4896·b2d9·29ca·6c52·9445··......H...).lR.E | ||
00000c60:·a | 00000c60:·b29d·a3fe·b6ad·bfd5·a8e9·a8e7·a0e6·a8c7··................ | ||
00000c70:· | 00000c70:·519f·daa8·4f09·7026·89de·a0be·46ed·a2fb··Q...O.p&....F... | ||
00000c80:· | 00000c80:·97ee·498c·f12a·9931·4754·a072·97ca·644e··..I..*.1GT.r..dN | ||
00000c90:· | 00000c90:·b5a5·34e8·7e73·98c9·f214·634b·e468·f678··..4.~s....cK.h.x | ||
00000ca0:· | 00000ca0:·d11d·89ee·6290·8088·6b8d·0d9b·ee6c·ba77··....b...k....l.w | ||
00000cb0:· | 00000cb0:·07d1·42e5·152a·c74c·245b·9ed6·5c22·cb98··..B..*.L$[..\".. | ||
00000cc0:· | 00000cc0:·a864·93a2·90cc·d314·4f9b·64da·28db·2436··.d......O.d.(.$6 | ||
00000cd0:· | 00000cd0:·21d9·2356·7417·6a2d·badf·5231·5974·2773··!.#Vt.j-..R1Yt's | ||
00000ce0:· | 00000ce0:·c4ad·fb13·5674·af22·031e·40aa·92a6·3b9a··....Vt."..@...;. | ||
00000cf0:· | 00000cf0:·ee29·12dd·8d60·a293·52eb·9ece·d0dd·4af7··.)...`..R.....J. | ||
00000d00:· | 00000d00:·a630·4640·31e1·8c89·3be8·1581·68a8·7202··.0F@1...;...h.r. | ||
00000d10:· | 00000d10:·2a63·e97e·3f60·6e12·9b76·68e8·1eeb·bea5··*c.~?`n..vh..... | ||
00000d20:· | 00000d20:·8612·b8d6·7ae8·a17b·0fdd·bb47·e82a·d7a0··....z..{...G.*.. | ||
00000d30:· | 00000d30:·e331·5632·4199·e418·9e64·e90a·82ea·ce26··.1V2A....d.....& | ||
00000d40:· | 00000d40:·4bf7·db52·1151·dd47·a8ee·4fdd·d358·7722··K..R.Q.G..O..Xw" | ||
Max diff block lines reached; -1/61076 bytes (-0.00%) of diff not shown. |
Offset 45, 257 lines modified | Offset 45, 257 lines modified | ||
000002c0:·646c·6962·9030·6a82·e835·54ad·797b·37cc··dlib.0j..5T.y{7. | 000002c0:·646c·6962·9030·6a82·e835·54ad·797b·37cc··dlib.0j..5T.y{7. | ||
000002d0:·bdfb·6821·c2b7·a0a0·3843·616d·6c69·6e74··..h!....8Camlint | 000002d0:·bdfb·6821·c2b7·a0a0·3843·616d·6c69·6e74··..h!....8Camlint | ||
000002e0:·6572·6e61·6c46·6f72·6d61·7442·6173·6963··ernalFormatBasic | 000002e0:·6572·6e61·6c46·6f72·6d61·7442·6173·6963··ernalFormatBasic | ||
000002f0:·7390·30aa·550b·dab5·21d6·0e76·9a9a·d43a··s.0.U...!..v...: | 000002f0:·7390·30aa·550b·dab5·21d6·0e76·9a9a·d43a··s.0.U...!..v...: | ||
00000300:·677e·6540·8495·a6be·0000·0004·0000·0002··g~e@............ | 00000300:·677e·6540·8495·a6be·0000·0004·0000·0002··g~e@............ | ||
00000310:·0000·0005·0000·0005·a090·4040·4361·6d6c··..........@@Caml | 00000310:·0000·0005·0000·0005·a090·4040·4361·6d6c··..........@@Caml | ||
00000320:·3139·3939·5430·3335·8495·a6bd·0f9f·10c7··1999T035........ | 00000320:·3139·3939·5430·3335·8495·a6bd·0f9f·10c7··1999T035........ | ||
00000330:·2 | 00000330:·298b·72b1·55af·5228·b52f·fd00·583d·7c00··).r.U.R(./..X=|. | ||
00000340:·caca·782b·4a20·5cd6·e606·0303·8321·a29d··..x+J·\......!.. | |||
00000350:·832d·e441·c1de·0fd6·bbf0·3192·57ee·2cc3··.-.A......1.W.,. | |||
00000360:·0145·28d1·53ac·a5f4·6ffb·9671·6174·fab6··.E(.S...o..qat.. | |||
00000370:·666e·96a9·2a71·5725·ae81·e78f·98a1·21aa··fn..*qW%......!. | |||
00000380:·e91a·efdf·2d9c·8087·0e73·9e92·9464·03aa··....-....s...d.. | |||
00000390:·0293·029d·0236·9939·5241·4221·6097·a9d1··.....6.9RAB!`... | |||
000003a0:·b78c·be5b·bb2c·5434·f39b·0243·7d6c·3145··...[.,T4...C}l1E | |||
000003b0:·d02a·3745·7eb2·5a78·fbae·c428·2674·077b··.*7E~.Zx...(&t.{ | |||
000003c0:·197d·cf07·a3b9·3419·823a·fb17·f016·da64··.}....4..:.....d | |||
000003d0:·b651·5613·9914·41eb·90a3·cf07·a335·1849··.QV...A......5.I | |||
000003e0:·b003·99d6·2cbc·0aa1·9850·2fa0·7aa8·4512··....,....P/.z.E. | |||
000003f0:·34cd·0f27·bb7d·2468·8637·9938·ca44·f2c3··4..'.}$h.7.8.D.. | |||
00000400:·bae0·a677·a863·ff5e·d4e8·fb22·4081·626b··...w.c.^..."@.bk | |||
00000410:·77cf·0fd3·e7cb·e8f5·0ada·0024·73b7·f0b3··w..........$s... | |||
00000420:·c94c·122c·cb98·12aa·a70f·0d89·4851·1333··.L.,........HQ.3 | |||
00000430:·1473·41d0·2a9e·4ad0·d49a·1da1·515c·9912··.sA.*.J.....Q\.. | |||
00000440:·43d2·2c85·a041·2831·44df·730a·b41a·a582··C.,..A(1D.s..... | |||
00000450:·a07d·2e1e·1b28·8e54·826c·9122·8ea1·891b··.}...(.T.l.".... | |||
00000460:·85a0·3d4c·31c5·10bc·0acd·4f44·425d·f8b7··..=L1.....ODB].. | |||
00000470:·a1b7·b2bc·9bbe·6dfa·b4b3·bb6e·fa9e·a012··......m....n.... | |||
00000480:·2545·689f·8bd6·c268·5084·f6b9·32c4·5e2a··%Eh....hP...2.^* | |||
00000490:·8a59·86b7·20e8·1a2f·b1c7·62c5·9469·75f0··.Y..·../..b..iu. | |||
000004a0:·dd84·a028·5441·9284·042a·1134·9962·7884··...(TA...*.4.bx. | |||
000004b0:·a2e9·ad8f·c54c·3134·42cf·f4d6·bf54·125a··.....L14B....T.Z | |||
000004c0:·06ca·fcc6·9bed·08d5·eaad·7f2c·e428·8e34··...........,.(.4 | |||
000004d0:·9938·86a5·089a·59a0·135a·b5e4·2eb9·efe5··.8....Y..Z...... | |||
000004e0:·8af7·6350·bde4·af58·89ca·89a1·298e·3423··..cP...X....).4# | |||
000004f0:·e82c·f655·9ed8·6ca0·11ba·416f·fd3b·11b3··.,.U..l...Ao.;.. | |||
00000500:·4023·f40b·542f·213f·2a5a·1034·aab7·3ef6··@#..T/!?*Z.4..>. | |||
00000510:·b17f·2d33·3047·9a41·d03e·b74a·6f9d·1f58··..-30G.A.>.Jo..X | |||
00000520:·de3e·db11·dae7·caf0·cfe4·368e·b320·6806··.>........6..·h. | |||
00000530:·bdf5·ff43·fdff·7fff·83fb·b13f·633f·e55f··...C.......?c?._ | |||
00000540:·5cb4·e1f5·cfdd·7d55·f07a·0541·d1fa·48f2··\.....}U.z.A..H. | |||
00000550:·3b42·5fa7·ab53·8706·39cf·40ff·df57·d3eb··;B_..S..9.@..W.. | |||
00000560:·15e4·a3df·47ff·bf8f·f6d1·ff5f·2c77·b16c··....G......_,w.l | |||
00000570:·85a8·7770·2ac3·a91c·25bc·5929·8153·e247··..wp*...%.Y).S.G | |||
00000580:·2ecd·c21b·4d69·970e·0d29·8963·687e·2488··....Mi...).ch~$. | |||
00000590:·1bbd·521c·691e·d211·2255·3c90·caf4·a6c4··..R.i..."U<..... | |||
000005a0:·f08a·044b·90c4·79e0·2da4·c2f2·70b9·aa71··...K..y.-...p..q | |||
000005b0:·bc79·48a2·3735·de88·54f1·3eaf·04c9·9cf9··.yH.75..T.>..... | |||
000005c0:·8136·cf0c·3df3·a332·4d1c·48cb·023d·23b7··.6..=..2M.H..=#. | |||
000005d0:·2f57·e6bc·d1f4·6821·158e·1cad·c632·f440··/W....h!.....2.@ | |||
000005e0:·3267·d272·a459·7ee6·57f3·6e9f·3886·264d··2g.r.Y~.W.n.8.&M | |||
000005f0:·ccd9·3cad·1b48·e670·dee7·95a1·5786·5459··..<..H.p....W.TY | |||
00000600:·3ccf·f386·864a·b30c·6f5e·0dc4·02ab·a43c··<....J..o^.....< | |||
00000610:·9d50·9dbb·6677·ef3d·6302·74a0·d7bf·0c14··.P..fw.=c.t..... | |||
00000620:·4751·2664·979a·59a0·a974·b3fa·6863·d24d··GQ&d..Y..t..hc.M | |||
00000630:·6148·6fba·054e·891f·96a3·d7d3·eb15·14ce··aHo..N.......... | |||
00000640:·55fd·6ed1·c00f·aeea·0f38·4045·f524·aaa7··U.n......8@E.$.. | |||
00000650:·79aa·13e1·4475·ae1e·3cf2·541f·2289·26ea··y...Du..<.T.".&. | |||
00000660:·0cc8·d9f5·5fc0·0e39·d5b1·aa6f·d53b·48ec··...._..9...o.;H. | |||
00000670:·aa10·00cd·b539·0c51·efd2·1daa·5f1e·ccb8··.....9.Q...._... | |||
00000680:·cfca·0887·ea6b·aae7·00c5·adfb·5303·0a04··.....k......S... | |||
00000690:·9cea·6cd0·ea32·fce0·861b·9029·8646·e715··..l..2.....).F.. | |||
000006a0:·6184·ea2a·544f·d754·f7e1·84ea·f70c·1c6e··a..*TO.T.......n | |||
000006b0:·88d5·2da8·2e41·e541·0813·e488·638d·322c··..-..A.A....c.2, | |||
000006c0:·ffb1·0c86·a877·6956·f58b·0033·9539·2582··.....wiV...3.9%. | |||
000006d0:·3721·63f5·24d5·714f·dcba·26be·aa7a·d7bf··7!c.$.qO..&..z.. | |||
000006e0:·cdce·5475·2fd5·561d·ac23·260c·3fe7·7dd2··..Tu/.V..#&.?.}. | |||
000006f0:·52aa·73a9·9e26·a9ae·bb52·fd36·a97b·b448··R.s..&...R.6.{.H | |||
00000700:·9354·a7b3·8395·da87·0f16·5058·6ec2·b206··.T........PXn... | |||
00000710:·1754·bf07·c8ca·9048·53f5·d87b·d5b1·6017··.T.....HS..{..`. | |||
00000720:·833d·6daa·fedf·54bd·a9fa·ff12·3acb·3acb··.=m...T.....:.:. | |||
00000730:·5ecc·3294·e204·a4fa·1ff6·a2ea·e9ff·126e··^.2............n | |||
00000740:·ddd6·3b50·bd8b·0c1c·7e54·f7c3·727a·547f··..;P....~T..rzT. | |||
00000750:·557f·aedd·ff8e·ea3c·ea0d·01d4·1ce4·d099··U......<........ | |||
00000760:·f370·b003·624f·ffb0·d7e0·87fd·aa31·03fa··.p..bO.......1.. | |||
00000770:·87dd·0f3b·0d71·fe8d·9b2e·f639·ec48·b0a7··...;.q.....9.H.. | |||
00000780:·71e6·74f1·baae·7781·8de5·2dcb·5c88·7a97··q.t...w...-.\.z. | |||
00000790:·ea61·bf06·3097·e248·0b02·057b·1ef6·28d8··.a..0..H...{..(. | |||
000007a0:·d3ff·18b7·eecc·2fc1·def5·2f04·7b12·ec69··....../.../.{..i | |||
000007b0:·1e76·d499·8bfd·f2c0·6e67·f7ff·6a50·80c3··.v......ng..jP.. | |||
000007c0:·1e83·f32f·9961·c7e6·d79c·2690·f3a6·613f··.../.a....&...a? | |||
000007d0:·ed74·7d09·682c·9fb1·bc85·a877·291d·f65b··.t}.h,.....w)..[ | |||
000007e0:·00b3·9689·b302·8f2e·1a67·7adf·0476·18d8··.........gz..v.. | |||
000007f0:·d31f·1dfb·7fe3·863d·b686·fd63·7fff·cb90··.......=...c.... | |||
00000800:·89fd·3fb7·eeff·df04·f6dc·3b71·e39c·86bd··..?.......;q.... | |||
00000810:·81d6·3d0c·ce27·fb79·ee3e·2067·d7bd·ff81··..=..'.y.>·g.... | |||
00000820:·19cb·39cb·5988·7a97·8ec0·7e63·0430·9b40··..9.Y.z...~c.0.@ | |||
00000830:·74af·22af·57d0·8dc5·905e·33ec·3fda·0cfb··t.".W....^3.?... | |||
00000840:·bf19·7633·ecff·2518·cb60·2c63·21ea·5dea··..v3..%..`,c!.]. | |||
00000850:·9529·9f3c·2732·5e04·432d·d43e·3af6·a618··.).<'2^.C-.>:... | |||
00000860:·65b4·350b·6f35·534a·c8d6·5913·2382·559f··e.5.o5SJ..Y.#.U. | |||
00000870:·29d3·aa7d·2079·fb64·4f4a·d02d·3619·78cb··)..}·y.dOJ.-6.x. | |||
00000880:·d546·2b19·7815·9664·8e06·92b2·1a28·8636··.F+.x..d.....(.6 | |||
00000890:·b026·6a51·824e·f142·8e24·0922·a14c·c28c··.&jQ.N.B.$.".L.. | |||
000008a0:·a1ac·0656·d1c6·db4c·566a·4929·a117·80c1··...V...LVjI).... | |||
000008b0:·1a6f·3612·bc1a·6555·b4cf·9452·429d·b468··.o6...eU...RB..h | |||
000008c0:·91a3·1568·25b3·8d32·3357·0586·c2ba·d4c4··...h%..23W...... | |||
000008d0:·dc18·1e98·e441·79fd·c788·7a97·2635·11ba··.....Ay...z.&5.. | |||
000008e0:·f763·47fc·07e0·ae44·7b7a·d39b·def4·a637··.cG....D{z.....7 | |||
000008f0:·bde9·4d6f·7ad3·9bde·8fc1·614f·c3ce·753f··..Moz.....aO..u? | |||
00000900:·c81d·4fbb·907b·fa1f·855b·07a8·bfdd·bbbc··..O..{...[...... | |||
00000910:·6076·07e3·e52f·00f8·b4bf·b180·027c·da8d··`v.../.......|.. | |||
00000920:·f636·02a1·c1c3·003d·ed5e·b4a7·78da·01f1··.6.....=.^..x... | |||
00000930:·69bf·530c·05e1·69a7·c302·b067·0001·bc3a··i.S...i....g...: | |||
00000940:·036a·9e22·ea5d·ba44·fb5d·80d9·04a7·8cb8··.j.".].D.]...... | |||
00000950:·da63·3fa7·5d4c·7b8e·abfd·9fab·9dab·fd9f··.c?.]L{......... | |||
00000960:·8e3d·cd7b·9ac1·2931·cc02·6b62·1405·74da··.=.{..)1..kb..t. | |||
00000970:·cdf6·140a·b7ee·cecb·69ef·1ae3·a8a1·9d03··........i....... | |||
00000980:·38d0·f614·5e68·8fe1·8d15·f45c·91a6·5d8b··8...^h.....\..]. | |||
00000990:·2cce·b49f·d09e·9aed·6da4·69bf·64a2·e832··,.......m.i.d..2 | |||
000009a0:·dbd7·9803·cd14·52f8·d89e·c69e·4b3b·03ed··......R.....K;.. | |||
000009b0:·495a·8d31·cd44·1279·b89a·ef34·d388·7a97··IZ.1.D.y...4..z. | |||
000009c0:·7eed·9788·59c4·8555·e551·9776·a776·2f51··~...Y..U.Q.v.v/Q | |||
000009d0:·dcba·3859·9c9c·51a5·5d89·93f6·2966·c47e··..8Y..Q.]...)f.~ | |||
000009e0:·e821·756a·676a·0f02·8822·ed13·b4a7·4eed··.!ujgj..."....N. | |||
000009f0:·6430·b5df·a3d6·d141·a0dd·0beb·af16·238d··d0.....A......#. | |||
00000a00:·a5b6·5307·871b·9ae3·347f·0db4·5f05·986f··..S.....4..._..o | |||
00000a10:·268f·f640·d613·684f·ff9f·70eb·b6be·80f6··&..@..hO..p..... | |||
00000a20:·ae7f·021a·0c39·ac77·cf80·06b2·2e47·1bd6··.....9.w.....G.. | |||
00000a30:·6b7b·1ac8·fa17·7258·bf67·b879·410b·eb65··k{....rX.g.yA..e | |||
00000a40:·ac9f·d6cf·9f38·ec1b·185a·60d3·bcd5·2c86··.....8...Z`...,. | |||
00000a50:·a877·e917·d6af·0fe6·1a55·d116·d6d5·58df··.w.......U....X. | |||
00000a60:·e384·5b07·e6af·b0de·65c5·870a·eb37·dcd9··..[.....e....7.. | |||
00000a70:·1385·7522·a0b0·aec4·166b·d498·4042·0fd6··..u".....k..@B.. | |||
00000a80:·ef68·5182·f5ab·0be1·4c09·d63f·3422·6ce9··.hQ.....L..?4"l. | |||
00000a90:·a1c1·7a09·71ac·bfb1·9eaa·b18e·451b·eb6d··..z.q.......E..m | |||
00000aa0:·3ce8·a08d·f5d9·95a9·c6fa·155d·b480·134d··<..........]...M | |||
Max diff block lines reached; 10056/34918 bytes (28.80%) of diff not shown. |
Offset 85, 447 lines modified | Offset 85, 448 lines modified | ||
00000540:·cbde·a0a0·2653·7464·6c69·6290·306a·82e8··....&Stdlib.0j.. | 00000540:·cbde·a0a0·2653·7464·6c69·6290·306a·82e8··....&Stdlib.0j.. | ||
00000550:·3554·ad79·7b37·ccbd·fb68·21c2·b7a0·a038··5T.y{7...h!....8 | 00000550:·3554·ad79·7b37·ccbd·fb68·21c2·b7a0·a038··5T.y{7...h!....8 | ||
00000560:·4361·6d6c·696e·7465·726e·616c·466f·726d··CamlinternalForm | 00000560:·4361·6d6c·696e·7465·726e·616c·466f·726d··CamlinternalForm | ||
00000570:·6174·4261·7369·6373·9030·aa55·0bda·b521··atBasics.0.U...! | 00000570:·6174·4261·7369·6373·9030·aa55·0bda·b521··atBasics.0.U...! | ||
00000580:·d60e·769a·9ad4·3a67·7e65·4084·95a6·be00··..v...:g~e@..... | 00000580:·d60e·769a·9ad4·3a67·7e65·4084·95a6·be00··..v...:g~e@..... | ||
00000590:·0000·0400·0000·0200·0000·0500·0000·05a0··................ | 00000590:·0000·0400·0000·0200·0000·0500·0000·05a0··................ | Diff chunk too large, falling back to line-by-line diff (441 lines added, 440 lines removed) | |
000005a0:·9040·4043·616d·6c31·3939·3954·3033·3584··.@@Caml1999T035. | 000005a0:·9040·4043·616d·6c31·3939·3954·3033·3584··.@@Caml1999T035. | ||
000005b0:·95a6·bd10·b6 | 000005b0:·95a6·bd10·b673·8186·7797·7ce0·40dd·6028··.....s..w.|.@.`( | ||
000005c0:·b52f·fd00·58 | 000005c0:·b52f·fd00·5855·db00·4a54·6548·5610·282a··./..XU..JTeHV.(* | ||
000005d0:· | 000005d0:·6bd3·0101·73b8·fd2f·c712·888a·9a23·55d5··k...s../.....#U. | ||
000005e0:· | 000005e0:·cc8f·48e4·5c9f·6e37·ae6b·1076·9c39·1d87··..H.\.n7.k.v.9.. | ||
000005f0:· | 000005f0:·a0c6·2902·70f3·5026·1b8b·461b·a38d·5be2··..).p.P&..F...[. | ||
00000600:· | 00000600:·4e32·3b8b·8e28·0100·509f·0022·1d20·3ab6··N2;..(..P..".·:. | ||
00000610:· | 00000610:·39ad·d246·925a·c96d·be47·f46f·8d9a·905c··9..F.Z.m.G.o...\ | ||
00000620:· | 00000620:·d2db·0673·044e·0487·04df·73df·bb4f·48c1··...s.N....s..OH. | ||
00000630:· | 00000630:·9b82·f749·795e·3529·2fc8·73df·e6a6·fa4e··...Iy^5)/.s....N | ||
00000640:· | 00000640:·a5ab·bef7·baa9·be5b·f9de·52f9·de26·caf7··.......[..R..&.. | ||
00000650:· | 00000650:·7ce4·fb1a·5e77·6741·d3dc·fbf0·db4e·6ea0··|...^wgA.....Nn. | ||
00000660:· | 00000660:·7c67·59de·181e·96ad·d735·13bc·54c0·eb24··|gY......5..T..$ | ||
00000670:· | 00000670:·8679·2d91·ef19·827b·b7ac·5958·a751·06c4··.y-....{..YX.Q.. | ||
00000680:· | 00000680:·b633·dcb7·3670·77ee·73ff·c47d·6e73·1368··.3..6pw.s..}ns.h | ||
00000690:· | 00000690:·ee31·9833·8104·7662·7488·be0f·c5b9·ef86··.1.3..vbt....... | ||
000006a0:· | 000006a0:·c081·1425·6273·8f6d·2aee·fb05·46e2·3e1f··...%bs.m*...F.>. | ||
000006b0:· | 000006b0:·1144·0f71·3fe3·7b4b·e6be·4d17·1b78·d343··.D.q?.{K..M..x.C | ||
000006c0:· | 000006c0:·dcbf·c055·079b·dddc·afe9·e5ee·415f·06c8··...U........A_.. | ||
000006d0:· | 000006d0:·dcf7·70cf·3611·f78d·c507·4887·fbfc·806e··..p.6.....H....n | ||
000006e0:· | 000006e0:·efbb·d95e·73df·38dc·57a0·01f7·9901·f799··...^s.8.W....... | ||
000006f0:· | 000006f0:·6d5d·be7f·ba78·e7c7·cfbd·9ffb·ee29·36c0··m]...x.......)6. | ||
00000700:· | 00000700:·6b03·bc54·314c·a5a6·966b·7ae2·ce5b·d679··k..T1L...kz..[.y | ||
00000710:·2b | 00000710:·2bd7·f444·6968·ad76·96a9·59e2·d092·ca5a··+..Dih.v..Y....Z | ||
00000720:· | 00000720:·9a3b·a694·4148·9a6a·8594·dbdc·68ee·bf34··.;..AH.j....h..4 | ||
00000730:· | 00000730:·3524·e097·9d71·ef6a·cb99·b513·6a87·d305··5$...q.j....j... | ||
00000740:· | 00000740:·ff7c·f7cf·7797·e87e·6750·e19e·5dc3·cb67··.|..w..~gP..]..g | ||
00000750:·ed | 00000750:·7edb·e985·fb31·bccc·3e70·2f2e·559f·8ab2··~....1..>p/.U... | ||
00000760:· | 00000760:·9edc·b22a·fa7c·b7cf·7795·b00e·dc6b·4391··...*.|..w....kC. | ||
00000770:· | 00000770:·10e5·17ee·5bd6·b9fb·0e13·b2ee·be78·d7dd··....[........x.. | ||
00000780:· | 00000780:·5d03·bc1f·7899·c430·6f4e·7b90·bb9b·9535··]...x..0oN{....5 | ||
00000790:·0 | 00000790:·027e·55b8·c781·776d·e657·cc3d·cbf2·4c1d··.~U...wm.W.=..L. | ||
000007a0:· | 000007a0:·6c2f·e776·02cf·77e7·7c37·490c·f3da·15ee··l/.v..w.|7I..... | ||
000007b0:· | 000007b0:·b34c·c6bd·ab8e·dd8b·c7eb·3566·d90c·6dfe··.L........5f..m. | ||
000007c0:·037 | 000007c0:·726f·037f·b9ef·fe72·ffe5·be5b·4e0f·dfed··ro.....r...[N... | ||
000007d0:· | 000007d0:·e1bb·4762·98d7·965d·704f·a50f·ae12·0318··..Gb...]pO...... | ||
000007e0:· | 000007e0:·26b1·1096·7592·a3ae·3595·22ea·aa42·6d56··&...u...5."..BmV | ||
000007f0:· | 000007f0:·2bd5·5117·7b5a·49cf·2ce6·3adb·6265·9e37··+.Q.{ZI.,.:.be.7 | ||
00000800:· | 00000800:·9b39·7b02·a283·529b·9db6·9c95·8a35·3bb5··.9{...R......5;. | ||
00000810:·5 | 00000810:·50dc·2d47·3b6f·33ab·3345·6ba7·55ea·0488··P.-G;o3.3Ek.U... | ||
00000820:· | 00000820:·0e89·949b·7abb·9d48·3a22·5454·7466·7566··....z..H:"TTtfuf | ||
00000830:· | 00000830:·a1a9·b6aa·196e·0bd5·926e·4808·5a54·5bed··.....n...nH.ZT[. | ||
00000840:· | 00000840:·766a·a9b3·2c34·73a5·5ad2·fd70·b2e5·a662··vj..,4s.Z..p...b | ||
00000850:· | 00000850:·9d58·b39a·3a5b·7349·9474·4b51·acd2·9c5a··.X..:[sI.tKQ...Z | ||
00000860:· | 00000860:·9bad·2a12·245d·793f·1384·f31f·9cbb·784d··..*.$]y?......xM | ||
00000870:· | 00000870:·ae68·ab79·4449·37c1·9335·3db1·7257·6ee6··.h.yDI7..5=.rWn. | ||
00000880:· | 00000880:·cc0a·b599·5aa9·5493·4ec6·fd1f·9cd9·ee83··....Z.T.N....... | ||
00000890:· | 00000890:·a110·d9a1·0bef·4138·6d68·6d56·5367·5669··......A8mhmVSgVi | ||
000008a0:· | 000008a0:·140f·1d17·1ac0·6cf7·c153·d4db·c965·b6a5··......l..S...e.. | ||
000008b0:· | 000008b0:·0ad5·42a1·9a74·5244·6118·4e6f·e7ba·9a59··..B..tRDa.No...Y | ||
000008c0:· | 000008c0:·339b·793b·57d4·364b·d559·7a33·b508·c96d··3.y;W.6K.Yz3...m | ||
000008d0:· | 000008d0:·8661·59b7·1441·3837·0a53·13e8·e265·b6ab··.aY..A87.S...e.. | ||
000008e0:· | 000008e0:·60f6·45f4·7a8d·55ce·5bce·869a·b5d9·7a3b··`.E.z.U.[.....z; | ||
000008f0:· | 000008f0:·7138·d992·eece·1e1a·9205·4344·5634·cd15··q8........CDV4.. | ||
00000900:· | 00000900:·e9ec·3ce1·ce75·4b95·916e·ce92·2b29·7a5b··..<..uK..n..+)z[ | ||
00000910:· | 00000910:·7147·3a08·20e1·0667·f6ca·89a5·5215·e9f4··qG:.·..g....R... | ||
00000920:· | 00000920:·6421·6a67·aa22·297a·6224·55d1·354b·3dd2··d!jg.")zb$U.5K=. | ||
00000930:· | 00000930:·ed70·644d·d153·0b5d·cd14·4977·806e·35b8··.pdM.S.]..Iw.n5. | ||
00000940:· | 00000940:·ab49·9bc1·3906·ccae·e165·3338·b327·1020··.I..9....e38.'.· | ||
00000950:· | 00000950:·433a·3d99·062b·2a53·8674·7a32·1a59·5315··C:=..+*S.tz2.YS. | ||
00000960:·5 | 00000960:·5971·a8ad·48d7·2545·d64c·94ac·b32d·5c4c··Yq..H.%E.L...-\L | ||
00000970:· | 00000970:·db91·ae00·4934·f8b1·0212·0c32·5853·d448··....I4.....2XS.H | ||
00000980:· | 00000980:·0706·77b5·4cb6·a628·91ae·04dc·d54d·95a4··..w.L..(.....M.. | ||
00000990:· | 00000990:·f302·b59a·aaad·66a4·e382·bbba·99dc·d495··......f......... | ||
000009a0:· | 000009a0:·96bb·adb8·54a5·cd52·15c5·a5e7·ba75·fad0··....T..R.....u.. | ||
000009b0:· | 000009b0:·d99c·b253·6e29·39cd·2d8b·c24e·bd44·8954··...Sn)9.-..N.D.T | ||
000009c0:· | 000009c0:·aaa2·ab99·4bd1·3555·693d·7434·5927·f9a0··....K.5Ui=t4Y'.. | ||
000009d0:·5 | 000009d0:·563b·8974·33dc·d5ed·41ba·7512·e9a6·4461··V;.t3...A.u...Da | ||
000009e0:· | 000009e0:·a79b·7945·2bd2·4de1·ae96·b5ac·fb49·d599··..yE+.M......I.. | ||
000009f0:· | 000009f0:·bbad·453a·3d59·09ee·62cd·1367·336b·463a··..E:=Y..b..g3kF: | ||
00000a00:· | 00000a00:·3d19·4d77·944d·55ab·8a74·8dbb·ba1b·86bb··=.Mw.MU..t...... | ||
00000a10:· | 00000a10:·bb73·9390·5bd6·acac·8ff4·6bcf·05fe·35cb··.s..[.....k...5. | ||
00000a20:· | 00000a20:·cbaf·00bc·5ee3·d416·f376·338d·74bd·dbe1··....^....v3.t... | ||
00000a30:· | 00000a30:·8083·0d0b·5840·dfc0·ddf9·95c1·eb35·0ae1··....X@.......5.. | ||
00000a40:· | 00000a40:·16c2·dd2d·8485·70f7·0e31·cca3·e1bb·347c··...-..p..1....4| | ||
00000a50:· | 00000a50:·b708·6ac3·5a5a·71a8·111c·5315·6aa3·2df1··..j.ZZq...S.j.-. | ||
00000a60:·a | 00000a60:·da72·09b7·e250·5b79·e26e·6616·55c9·8443··.r...P[y.nf.U..C | ||
00000a70:· | 00000a70:·0ec3·cb39·b3b2·17b8·8b57·f7ec·4cd5·7476··...9.....W..L.tv | ||
00000a80:· | 00000a80:·c46b·d7ad·735d·b261·9934·3529·b766·dadc··.k..s].a.45).f.. | ||
00000a90:· | 00000a90:·76ad·38d4·0895·d1eb·e9f5·1a03·4737·c20b··v.8.........G7.. | ||
00000aa0:· | 00000aa0:·c20b·854d·e199·c2b7·37c2·db08·93c2·3711··...M....7.....7. | ||
00000ab0:·86 | 00000ab0:·e861·871b·e185·c29b·6c70·7885·3fe1·2753··.a......lpx.?.'S | ||
00000ac0:· | 00000ac0:·e348·82b0·0136·fcea·7e6f·31cc·6b61·e133··.H...6..~o1.ka.3 | ||
00000ad0:· | 00000ad0:·8e7b·cf9b·9985·a5d2·76dc·f063·fe2f·7cdb··.{......v..c./|. | ||
00000ae0:·96 | 00000ae0:·7de4·e25d·96de·e2ef·6989·408b·7f07·2468··}..]....i.@...$h | ||
00000af0:· | 00000af0:·60e0·4f02·0a08·02fd·515c·f103·9a61·8119··`.O.....Q\...a.. | ||
00000b00:· | 00000b00:·1080·e787·e281·fce7·3a64·60c8·7f55·1903··........:d`..U.. | ||
00000b10:·0 | 00000b10:·08f1·2321·23cc·9fdd·b8d0·4298·3f0c·5b06··..#!#.....B.?.[. | ||
00000b20:· | 00000b20:·460e·7f98·1a5e·ecfe·dcfe·0ef8·db31·3f4c··F....^.......1?L | ||
00000b30:·0 | 00000b30:·4d0a·2708·c0cb·989f·0c6f·3bc5·c233·afd2··M.'......o;..3.. | ||
00000b40:·2 | 00000b40:·c172·d9e2·faa5·7ea8·8fe1·6d27·a190·fdaa··.r....~...m'.... | ||
00000b50:·f | 00000b50:·fe66·f9cd·8a61·5e8b·c29f·6fdc·6b33·7322··.f...a^...o.k3s" | ||
00000b60:· | 00000b60:·9c46·23fc·4f7f·1723·17ef·966c·e11e·ae7f··.F#.O..#...l.... | ||
00000b70:· | 00000b70:·0df7·df70·8885·d6a4·fc56·7ffb·f483·6195··...p.....V....a. | ||
00000b80:· | 00000b80:·3f53·59a9·f2f4·dff0·b693·48a5·ca9c·e2e4··?SY.......H..... | ||
00000b90:· | 00000b90:·77c9·6f1a·c3bc·76ea·cf36·eebd·5aaf·a4a7··w.o...v..6..Z... | ||
00000ba0:· | 00000ba0:·eda8·7f59·2bfd·5ae0·47f0·fffd·7727·e1f1··...Y+.Z.G...w'.. | ||
00000bb0:· | 00000bb0:·cbe3·d766·dece·2cb5·3cb3·a036·259b·99c3··...f..,.<..6%... | ||
00000bc0:· | 00000bc0:·39e9·60e9·a7f1·33fd·6d77·918b·7730·92fe··9.`...3.mw..w0.. | ||
00000bd0:· | 00000bd0:·5eb7·1117·477f·ec46·7fd1·0672·1cc9·88fc··^...G..F...r.... | ||
00000be0:· | 00000be0:·85fe·96c6·bf85·8c3f·83cf·4101·207c·08e0··.......?..A.·|.. | ||
00000bf0:· | 00000bf0:·db19·f40a·635c·4769·e381·5f18·bf58·06e1··....c\Gi.._..X.. | ||
00000c00:· | 00000c00:·e71a·331c·9a74·057e·1dfc·4053·17ef·aca8··..3..t.~..@S.... | ||
00000c10:· | 00000c10:·a24f·167e·f0ef·f4c1·9f02·0350·c0c2·b359··.O.~.......P...Y | ||
00000c20:· | 00000c20:·0a0e·3e13·f86d·1dfc·0bc8·c1cf·43bc·b8c0··..>..m......C... | ||
00000c30:·6 | 00000c30:·6bf0·8be0·13c1·82b4·e87d·bfd7·8020·7cad··k........}...·|. | ||
00000c40:· | 00000c40:·c0f7·aa0d·7e8e·dd3b·c3a1·16b0·c18f·c2cf··....~..;........ | ||
00000c50:· | 00000c50:·41ea·e2dd·9b6e·f17b·dd39·406a·f0af·700e··A....n.{.9@j..p. | ||
00000c60:· | 00000c60:·5f09·2b12·809f·55fc·3555·e0e7·15f0·7317··_.+...U.5U....s. | ||
00000c70:· | 00000c70:·afbb·0d80·6f86·8a2e·3e7b·2810·4509·f829··....o...>{(.E..) | ||
00000c80:· | 00000c80:·5460·043b·74ac·e0e7·5922·77f5·7257·31c5··T`.;t...Y"w.rW1. | ||
00000c90:· | 00000c90:·14fc·1a7e·1b85·dfc7·0a7e·7682·e3c0·89c2··...~.....~v..... | ||
00000ca0:·9 | 00000ca0:·9722·d00c·f724·6084·10f8·bec1·b716·c3bc··."...$`......... | ||
00000cb0:· | 00000cb0:·d608·7e9e·e05e·2d27·aa55·e484·2f6b·21fc··..~..^-'.U../k!. | ||
00000cc0:· | 00000cc0:·22c0·3be1·84df·4e4e·f84e·f8dd·6ed4·e0ab··".;...NN.N..n... | ||
00000cd0:· | 00000cd0:·065f·ab13·aa69·027c·3ce0·8970·0cbf·edfe··._...i.|<..p.... | ||
00000ce0:· | 00000ce0:·e0e2·5d17·e177·17e1·17e1·77a7·3101·5f13··..]..w....w.1._. | ||
00000cf0:· | 00000cf0:·f0ad·5a53·13bd·995a·a5d5·b99a·b773·952a··..ZS...Z.....s.* | ||
00000d00:· | 00000d00:·4b10·df4a·d3c0·efd9·e1f3·003e·1350·bcc0··K..J.......>.P.. | ||
00000d10:· | 00000d10:·c700·884f·e23d·1b10·8097·3fe0·4bf8·e207··...O.=....?.K... | ||
Max diff block lines reached; -1/61270 bytes (-0.00%) of diff not shown. |
Offset 22, 181 lines modified | Offset 22, 181 lines modified | ||
00000150:·04e2·71e6·70a0·a026·5374·646c·6962·9030··..q.p..&Stdlib.0 | 00000150:·04e2·71e6·70a0·a026·5374·646c·6962·9030··..q.p..&Stdlib.0 | ||
00000160:·6a82·e835·54ad·797b·37cc·bdfb·6821·c2b7··j..5T.y{7...h!.. | 00000160:·6a82·e835·54ad·797b·37cc·bdfb·6821·c2b7··j..5T.y{7...h!.. | ||
00000170:·a0a0·3843·616d·6c69·6e74·6572·6e61·6c46··..8CamlinternalF | 00000170:·a0a0·3843·616d·6c69·6e74·6572·6e61·6c46··..8CamlinternalF | ||
00000180:·6f72·6d61·7442·6173·6963·7390·30aa·550b··ormatBasics.0.U. | 00000180:·6f72·6d61·7442·6173·6963·7390·30aa·550b··ormatBasics.0.U. | ||
00000190:·dab5·21d6·0e76·9a9a·d43a·677e·6540·8495··..!..v...:g~e@.. | 00000190:·dab5·21d6·0e76·9a9a·d43a·677e·6540·8495··..!..v...:g~e@.. | ||
000001a0:·a6be·0000·0004·0000·0002·0000·0005·0000··................ | 000001a0:·a6be·0000·0004·0000·0002·0000·0005·0000··................ | ||
000001b0:·0005·a090·4040·4361·6d6c·3139·3939·5430··....@@Caml1999T0 | 000001b0:·0005·a090·4040·4361·6d6c·3139·3939·5430··....@@Caml1999T0 | ||
000001c0:·3335·8495·a6bd·0f95·4 | 000001c0:·3335·8495·a6bd·0f95·4caf·1e86·2f9c·7b9a··35......L.../.{. | ||
000001d0:·1d28·b52f·fd00·58cd·5500·0a96·e01f·5460··.(./..X.U.....T` | |||
000001e0:·5ed5·74cd·2173·4ce0·413d·920d·7272·ccf2··^.t.!sL.A=..rr.. | |||
000001f0:·aeaa·0605·d52f·8dd6·6669·ad8f·ca89·5fa2··...../..fi...._. | |||
00000200:·0607·8689·4388·7c43·13d9·c5eb·6d4b·dab6··....C.|C....mK.. | |||
00000210:·d5a0·feda·718a·a768·d219·363e·f354·9af6··....q..h..6>.T.. | |||
00000220:·792a·33a3·2c2d·ad1a·22d3·8e44·0e04·1449··y*3.,-.."..D...I | |||
00000230:·2be5·0eda·01ea·01df·013a·22e6·3356·0dd2··+........:".3V.. | |||
00000240:·4a92·219d·432e·da20·7d28·2288·dac7·21fc··J.!.C..·}("...!. | |||
00000250:·da40·33e4·521f·c285·f5f6·9959·5244·efcc··.@3.R......YRD.. | |||
00000260:·61db·06a9·8311·ae33·9665·ee69·1af2·c9bf··a......3.e.i.... | |||
00000270:·0c95·16f4·2cd4·ae42·1da7·d43a·0bb5·8ff8··....,..B...:.... | |||
00000280:·c70f·13b9·d4c9·d64a·6522·977a·14ee·8188··.......Je".z.... | |||
00000290:·7031·8333·2412·13ee·7f90·f06e·7681·07da··p1.3$......nv... | |||
000002a0:·204b·38c2·c3c7·083e·383b·b8ce·3548·112a···K8....>8;..5H.* | |||
000002b0:·ed39·8eeb·2c43·7a50·69ff·4035·a406·3bdc··.9..,CzPi.@5..;. | |||
000002c0:·dba0·ab06·39ab·b4ff·9f70·f32f·1672·51ef··....9....p./.rQ. | |||
000002d0:·afd3·3b8b·1af3·23dc·8334·cae9·39fd·9974··..;...#..4..9..t | |||
000002e0:·dd9f·dba9·399f·0449·4f4c·67ae·f767·43b2··....9..IOLg..gC. | |||
000002f0:·b83f·1281·cb85·6548·0a2a·ed5f·883e·c232··.?....eH.*._.>.2 | |||
00000300:·6493·9d9a·137a·44df·0cd9·5369·cf3d·f7af··d....zD...Si.=.. | |||
00000310:·8485·6321·9f21·97fa·914a·1b3d·2c82·9eab··..c!.!...J.=,... | |||
00000320:·06b9·d4a3·fcf3·807b·b366·4808·2aed·ff5f··.......{.fH.*.._ | |||
00000330:·eaff·7f7f·0efa·733f·726f·e4b7·2b5f·58fa··......s?ro..+_X. | |||
00000340:·63ad·6f0d·6c5b·cb90·9917·865e·0df2·9392··c.o.l[.....^.... | |||
00000350:·a448·8981·8647·a0fe·f76d·c7b6·b5c0·d487··.H...G...m...... | |||
00000360:·a9ff·0f53·61ea·ffc7·323d·9679·24a6·d65c··...Sa...2=.y$..\ | |||
00000370:·a0d3·053a·8964·f085·1253·ac0c·7e3c·6ae5··...:.d...S..~<j. | |||
00000380:·0bca·bb21·e218·e8c9·2e7e·6df1·6e7e·45ae··...!.....~m.n~E. | |||
00000390:·f32e·1273·4bc7·ae77·5f3b·74dd·219d·6130··...sK..w_;t.!.a0 | |||
000003a0:·ef75·bd2b·728d·451c·c270·7857·fc7a·3754··.u.+r.E..pxW.z7T | |||
000003b0:·17c3·66fc·baf6·bddc·bdf7·bebc·a04c·22c6··..f..........L". | |||
000003c0:·21bf·a2e9·baf6·d53b·738f·6bfc·ba18·84bd··!......;s.k..... | |||
000003d0:·b278·6721·965d·ef8a·f962·30d6·daaf·2b66··.xg!.]...b0...+f | |||
000003e0:·a2a0·db83·8b94·8e54·ebbd·8f1c·00f5·8ced··.......T........ | |||
000003f0:·bfc3·7aeb·ce46·ade4·4798·a3c0·97f7·ed9a··..z..F..G....... | |||
00000400:·5e42·297b·49c3·38e4·5ce3·d710·06ca·b1e9··^B){I.8.\....... | |||
00000410:·6c5b·4bd3·4a79·018c·69fb·1655·6a52·4ceb··l[K.Jy..i..UjRL. | |||
00000420:·829d·9f53·c317·2934·4166·316d·7f62·da4e··...S..)4Af1m.b.N | |||
00000430:·abfd·3f16·d35e·316d·29c5·b451·a8f8·8187··..?..^1m)..Q.... | |||
00000440:·7f27·a66d·62da·927b·72da·16ec·b432·ed94··.'.mb..{r....2.. | |||
00000450:·da7f·0e53·7496·197b·0875·9c42·53ea·4fc4··...St..{.u.BS.O. | |||
00000460:·10a3·d227·29fd·0d33·d409·439d·4231·b556··...')..3..C.B1.V | |||
00000470:·f230·6d27·604e·6ce4·bd66·3a17·6309·d396··.0m'`Nl..f:.c... | |||
00000480:·07d4·27d3·224d·dbcb·4ec2·b4cf·fd43·99f6··..'."M..N....C.. | |||
00000490:·df84·6949·98b6·8369·9fcb·e9ff·3ff4·c0fd··..iI...i....?... | |||
000004a0:·ffac·49ff·2b4c·bbc2·b4ff·3860·9689·5966··..I.+L....8`..Yf | |||
000004b0:·9298·5a2b·2f6a·e5dd·5071·77c8·4bfd·768b··..Z+/j..Pqw.K.v. | |||
000004c0:·a697·fd2f·9896·ca0b·61c1·ced8·b409·d4a4··.../....a....... | |||
000004d0:·8762·2707·d38e·63cd·a331·2af5·fe41·00c1··.b'...c..1*..A.. | |||
000004e0:·32a9·b0cc·9f98·5a2b·65d3·766e·8039·398d··2.....Z+e.vn.99. | |||
000004f0:·a42d·c7b6·b574·ae85·b2c3·54ee·b9ee·91a1··.-...t....T..... | |||
00000500:·b132·d8e2·4036·6863·ab02·8d8d·3cde·cd5a··.2..@6hc....<..Z | |||
00000510:·1e0e·41af·d3f9·412e·7175·1d96·6531·8c7d··..A...A.qu..e1.} | |||
00000520:·38ec·5a58·6717·6e69·253f·4823·4cc2·1d86··8.ZXg.ni%?H#L... | |||
00000530:·9886·e459·eddc·b5b0·d1b7·4156·27ce·8050··...Y......AV'..P | |||
00000540:·2490·099c·6cd0·1562·d9ee·8c3e·8f03·a1c8··$...l..b...>.... | |||
00000550:·1e4a·66e1·7ee1·57e7·da1d·8f1d·3991·27a1··.Jf.~.W.....9.'. | |||
00000560:·968e·6d57·c7b7·0f0d·a9c0·b45d·17b5·6f51··..mW.......]..oQ | |||
00000570:·3bad·1644·f471·cfc8·8984·59c2·357e·c586··;..D.q....Y.5~.. | |||
00000580:·42af·6b65·d093·e99e·1b52·8069·b7a8·7dfc··B.ke.....R.i..}. | |||
00000590:·2baa·0441·6e90·76da·2618·ccae·ceb5·bb96··+..An.v.&....... | |||
000005a0:·e6c9·4196·3146·1dff·8aaa·da21·bea0·9bb1··..A.1F.....!.... | |||
000005b0:·b22c·efdc·9055·ecd4·97aa·43cc·b907·eb40··.,...U....C....@ | |||
000005c0:·2fc4·3c83·9dde·9d0e·3d27·407a·d95f·2af7··/.<.....='@z._*. | |||
000005d0:·cfa4·8bda·3f84·214a·d06a·7dfc·551d·3799··....?.!J.j}.U.7. | |||
000005e0:·6d6b·a100·8731·307b·ae8e·8758·1439·1409··mk...10{...X.9.. | |||
000005f0:·c5d2·4783·c314·8467·1d9b·2199·0862·b879··..G....g..!..b.y | |||
00000600:·8c95·43ae·f707·f4e3·a373·6db8·9e1f·9f9e··..C......sm..... | |||
00000610:·cb89·8672·3883·6d9d·7b65·286c·93c8·4664··...r8.m.{e(l..Fd | |||
00000620:·cb79·7938·08b6·412c·c33b·a9cb·b5c7·c52c··.yy8..A,.;....., | |||
00000630:·8adc·75ed·1d22·b916·6c9d·8b89·82ee·bd35··..u.."..l......5 | |||
00000640:·77c8·f6cf·c5d4·5a59·13c4·a5f7·e798·d07f··w.....ZY........ | |||
00000650:·10a8·dda1·b6ec·1c39·6d6c·5a21·fa87·40ad··.......9mlZ!..@. | |||
00000660:·10b5·a308·3948·d43e·1212·b548·9c9d·09d8··....9H.>...H.... | |||
00000670:·a98a·a935·2b75·5aa9·b389·0866·cf75·7956··...5+uZ....f.uyV | |||
00000680:·5d2c·66ef·67c5·5517·f464·21e6·3aeb·7c57··],f.g.U..d!.:.|W | |||
00000690:·46aa·3bc3·4678·c87b·e5ab·bd1b·6ed7·158d··F.;.Fx.{....n... | |||
000006a0:·f606·ef8a·5fa3·abba·4519·509b·f31d·50ab··...._...E.P...P. | |||
000006b0:·0424·4503·6a95·6490·5444·6d58·0105·45f4··.$E.j.d.TDmX..E. | |||
000006c0:·1f53·0ba3·b614·a2b6·2ca2·b677·424b·84a8··.S......,..wBK.. | |||
000006d0:·bd01·874c·9b30·f920·6a81·a82d·b937·51bb··...L.0.·j..-.7Q. | |||
000006e0:·c3b4·534c·5bda·e043·7f8e·1409·6267·8e9d··..SL[..C....bg.. | |||
000006f0:·13c4·d45a·c943·6d2f·604e·58cc·686f·d046··...Z.Cm/`NX.ho.F | |||
00000700:·e762·2cbb·0cb5·524c·9ba2·33d4·96ff·dcac··.b,...RL..3..... | |||
00000710:·497f·43ed·dfd0·1b6a·6fa8·fd7f·a14e·5ea7··I.C....jo....N^. | |||
00000720:·0431·b556·6399·3596·19d4·c23c·dce2·c5ac··.1.Vc.5....<.... | |||
00000730:·cbc5·d8eb·87de·99e7·96de·1f0e·91a0·b0de··................ | |||
00000740:·778b·b7a5·bd6b·b3c2·c1c1·91a9·6c56·3a8a··w....k......lV:. | |||
00000750:·2e10·07ee·d105·e2c0·d591·55d7·95ef·4a87··..........U...J. | |||
00000760:·4c75·89f8·5d1d·a96e·8887·30d7·19df·cdf3··Lu..]..n..0..... | |||
00000770:·b745·d1e3·1e11·c7dc·c3e1·7757·2b14·0a75··.E........wW+..u | |||
00000780:·1bc0·915d·1b1a·9ca2·6b83·9371·dc06·74c8··...]....k..q..t. | |||
00000790:·ae0d·8d8e·a26b·a323·e350·5d6c·e4bd·5477··.....k.#.P]l..Tw | |||
000007a0:·c965·9cb6·ec6f·00b5·30bc·02d4·2ab9·503b··.e...o..0...*.P; | |||
000007b0:·c301·d456·6a5f·88da·bf01·d4c6·502b·4300··...Vj_......P+C. | |||
000007c0:·1409·23c0·9856·2909·1a63·8f4d·3b4e·51fa··..#..V)..c.M;NQ. | |||
000007d0:·2762·daa4·18cc·98b6·57f9·3202·0f65·dab1··'b......W.2..e.. | |||
000007e0:·006a·0780·32ed·f851·eb51·db7b·7f24·ffaf··.j..2..Q.Q.{.$.. | |||
000007f0:·c3b4·e30e·6a4b·1d6a·c713·a82d·9f4f·4b83··....jK.j...-.OK. | |||
00000800:·326d·f9ff·9bce·b6b5·e8d4·b8d7·a10a·0d22··2m............." | |||
00000810:·3280·3062·010c·6636·04f5·c0e2·83a2·9bf1··2.0b..f6........ | |||
00000820:·356d·ef30·2b2c·a0a2·1e41·2641·304b·e204··5m.0+,...A&A0K.. | |||
00000830:·0008·a01e·b819·67ed·1d6f·30f4·6389·274f··......g..o0.c.'O | |||
00000840:·6403·3041·830a·1400·2899·e166·14bf·2c7a··d.0A....(..f..,z | |||
00000850:·39dc·7b85·3b08·e869·f0e5·e930·d0fb·7f02··9.{.;..i...0.... | |||
00000860:·7515·4551·3540·8103·b2a0·d284·165b·5081··u.EQ5@.......[P. | |||
00000870:·c54a·7533·fed7·70e9·6250·dbc3·a0b6·7f41··.Ju3..p.bP.....A | |||
00000880:·6df7·82da·7e7b·e77b·871d·fe3c·9868·146e··m...~{.{...<.h.n | |||
00000890:·27a9·544c·1d63·aa8b·eb7c·aaf1·9d4c·f9f5··'.TL.c...|...L.. | |||
000008a0:·cdb8·ec93·4984·e1d6·49f4·32e8·9db6·3ea1··....I...I.2...>. | |||
000008b0:·8eb2·8ed5·b8f4·9c4c·62cb·c321·113f·b9f4··.......Lb..!.?.. | |||
000008c0:·9c4c·2117·5337·a81d·a81e·a998·1e3a·1dc5··.L!.S7.......:.. | |||
000008d0:·7406·4f3c·7c74·3e18·384a·b132·48e3·d273··t.O<|t>.8J.2H..s | |||
000008e0:·3261·3e63·a5c4·22d6·46b1·32f8·a17a·4e26··2a>c..".F.2..zN& | |||
000008f0:·117f·1a87·61ec·fbf6·c907·df5a·7b27·9d59··....a......Z{'.Y | |||
00000900:·a79a·a193·e986·c749·c6c9·c9c4·611b·f5a5··.......I....a... | |||
00000910:·7466·a542·3196·dab1·016d·5bcb·2351·5b63··tf.B1....m[.#Q[c | |||
00000920:·e4d2·fb0d·b535·575c·7a5f·61da·1a22·2ebd··.....5W\z_a..".. | |||
00000930:·c3d4·1a1f·5c7a·ff28·4274·0ad1·d923·8100··....\z.(Bt...#.. | |||
Max diff block lines reached; -1/24501 bytes (-0.00%) of diff not shown. |
Offset 35, 244 lines modified | Offset 35, 245 lines modified | ||
00000220:·58f7·6ab7·62c2·9560·da2a·efa0·a026·5374··X.j.b..`.*...&St | 00000220:·58f7·6ab7·62c2·9560·da2a·efa0·a026·5374··X.j.b..`.*...&St | ||
00000230:·646c·6962·9030·6a82·e835·54ad·797b·37cc··dlib.0j..5T.y{7. | 00000230:·646c·6962·9030·6a82·e835·54ad·797b·37cc··dlib.0j..5T.y{7. | ||
00000240:·bdfb·6821·c2b7·a0a0·3843·616d·6c69·6e74··..h!....8Camlint | 00000240:·bdfb·6821·c2b7·a0a0·3843·616d·6c69·6e74··..h!....8Camlint | ||
00000250:·6572·6e61·6c46·6f72·6d61·7442·6173·6963··ernalFormatBasic | 00000250:·6572·6e61·6c46·6f72·6d61·7442·6173·6963··ernalFormatBasic | ||
00000260:·7390·30aa·550b·dab5·21d6·0e76·9a9a·d43a··s.0.U...!..v...: | 00000260:·7390·30aa·550b·dab5·21d6·0e76·9a9a·d43a··s.0.U...!..v...: | ||
00000270:·677e·6540·8495·a6be·0000·0004·0000·0002··g~e@............ | 00000270:·677e·6540·8495·a6be·0000·0004·0000·0002··g~e@............ | ||
00000280:·0000·0005·0000·0005·a090·4040·4361·6d6c··..........@@Caml | 00000280:·0000·0005·0000·0005·a090·4040·4361·6d6c··..........@@Caml | ||
00000290:·3139·3939·5430·3335·8495·a6bd·0f9d·3 | 00000290:·3139·3939·5430·3335·8495·a6bd·0f9d·3ac0··1999T035......:. | ||
000002a0:· | 000002a0:·118a·5cac·38aa·1628·b52f·fd00·588d·7500··..\.8..(./..X.u. | ||
000002b0:·1ac4·7c29·4d30·1ed6·74af·20d2·0785·9d8d··..|)M0..t.·..... | |||
000002c0:·ef82·1b10·f405·9f1a·3465·6626·6136·9812··........4ef&a6.. | |||
000002d0:·3d10·f1d7·a39e·4087·076a·fb85·bfbb·d50d··=.....@..j...... | |||
000002e0:·3f09·9b15·695f·3ef2·2d8b·6486·c50a·350f··?...i_>.-.d...5. | |||
000002f0:·487b·ac28·ec7b·4c28·559b·7720·875d·9252··H{.(.{L(U.w·.].R | |||
00000300:·520b·8d02·7902·7902·53ac·46f1·866f·339b··R...y.y.S.F..o3. | |||
00000310:·382b·714c·b0dc·942a·b510·27da·66a5·0825··8+qL...*..'.f..% | |||
00000320:·484e·69e6·407b·f6d1·9eaf·764e·52b4·d27b··HNi.@{....vNR..{ | |||
00000330:·02cb·29a1·5286·f886·8b1a·bd59·ed03·3daa··..).R......Y..=. | |||
00000340:·7089·2867·c447·7bde·8009·500e·c601·063f··p.(g.G{...P....? | |||
00000350:·dbcc·26ce·6a61·d204·399f·57bb·f93c·daad··..&.ja..9.W..<.. | |||
00000360:·8823·0661·6605·f551·7d48·4439·57fb·d503··.#.af..Q}HD9W... | |||
00000370:·59d0·02d9·70c4·65e9·4dcd·406f·c4e5·07ce··Y...p.e.M.@o.... | |||
00000380:·4271·168e·5ed5·05f9·cc40·56f6·ffe4·407b··Bq..^....@V...@{ | |||
00000390:·fe20·3290·e36a·97cd·4fc1·9aad·9e56·4ba7··.·2..j..O....VK. | |||
000003a0:·033c·e2c0·cfb3·cdca·1193·a42c·96a3·ed3a··.<.........,...: | |||
000003b0:·edb4·2040·5e4c·ca2f·c4fd·c8dd·7144·e2d2··..·@^L./....qD.. | |||
000003c0:·0aca·2737·8706·51e1·3796·e44f·4e0c·37ca··..'7..Q.7..ON.7. | |||
000003d0:·b0d9·8cc2·37b1·e947·2e2b·ab61·c3a1·08e5··....7..G.+.a.... | |||
000003e0:·0715·27a1·f895·53e2·4f0e·8c27·65f8·61aa··..'...S.O..'e.a. | |||
000003f0:·aff4·c220·b935·ff56·38fd·1336·abb1·e699··...·.5.V8..6.... | |||
00000400:·5d7e·c266·131f·39f2·ca65·e529·6a58·acbc··]~.f..9..e.)jX.. | |||
00000410:·7259·798c·ec9b·9a94·e407·fec8·1df1·247b··rYy...........${ | |||
00000420:·2951·ca99·1508·1ef8·932b·82a9·4891·0eca··)Q.......+..H... | |||
00000430:·1022·65f8·f9e4·84b0·572f·9395·e1d7·93f3··."e.....W/...... | |||
00000440:·c15e·fd37·05e5·7440·2a3d·11b4·f9e4·72b0··.^.7..t@*=....r. | |||
00000450:·57ff·5246·b1a4·e1c6·920c·45da·2c14·3f32··W.RF......E.,.?2 | |||
00000460:·c4e5·166c·2407·c628·1be5·7fca·617e·1968··...l$..(....a~.h | |||
00000470:·8d5e·8328·4ba1·f895·1e2e·fcca·50a4·09e5··.^.(K.......P... | |||
00000480:·bcc8·9e09·039b·0df7·e454·b057·ff4a·e116··.........T.W.J.. | |||
00000490:·dc93·3301·b446·a327·45fb·91fb·c05e·bdec··..3..F.'E....^.. | |||
000004a0:·81ec·8b00·8571·63f9·2397·95ab·ec95·e961··.....qc.#......a | |||
000004b0:·12f4·6c3e·b9ac·3ce6·3f09·1445·a81f·b928··..l>..<.?..E...( | |||
000004c0:·7bf5·ff40·f6ff·3fff·08f9·656f·cafe·c9b7··{..@..?...eo.... | |||
000004d0:·e0c0·e1f4·cd5d·cec0·ca1b·47cf·27f7·3a9d··.....]....G.'.:. | |||
000004e0:·1933·3c00·f147·f63f·b788·b45a·3a43·2c90··.3<..G.?...Z:C,. | |||
000004f0:·fdb1·f9cc·3cf6·65ff·ff6d·754f·c4fe·3f11··....<.e..muO..?. | |||
00000500:·4bc4·fe93·1dd4·be52·5b03·97dd·9d97·bc36··K......R[......6 | |||
00000510:·f1e2·292b·a74b·6426·c3b0·cb39·9b32·2076··..)+.Kd&...9.2·v | |||
00000520:·4eeb·7f86·4331·9cfd·ec4e·9a58·8b81·378f··N...C1...N.X..7. | |||
00000530:·2606·c967·fe08·ec94·ffff·97bd·f9df·42d2··&..g..........B. | |||
00000540:·6ae9·fc5b·e1a0·7653·ed28·2ebb·3b1d·b059··j..[..vS.(..;..Y | |||
00000550:·5640·77c9·a36b·4dd0·6ae9·6459·0e67·3e61··V@w..kM.j.dY.g>a | |||
00000560:·c032·1f83·b6ba·77e2·b2bb·26b5·97d4·86f2··.2....w...&..... | |||
00000570:·81b7·181e·c592·1c82·fa40·5a6c·77ee·d87c··.........@Zlw..| | |||
00000580:·a440·7713·8f2e·4b86·339f·5778·14cb·269f··.@w...K.3.Wx..&. | |||
00000590:·d651·aba5·13d5·b1e2·5024·8054·6f83·1ed1··.Q......P$.To... | |||
000005a0:·53bd·80fa·4075·9e34·3eaa·0924·0050·bd85··S...@u.4>..$.P.. | |||
000005b0:·13cc·1c46·5727·a0fa·2987·ba11·0054·cf74··...FW'..)....T.t | |||
000005c0:·5095·72a8·13a1·8457·2e55·6c50·8fc3·04f5··P.r....W.UlP.... | |||
000005d0:·1b75·13e8·1934·a644·f0b3·4db3·3d83·433d··.u...4.D..M.=.C= | |||
000005e0:·2310·d504·f512·a84f·b143·6aab·7bf3·86fa··#......O.Cj.{... | |||
000005f0:·1bea·ff1e·93ed·27b6·b178·b7c4·4d27·f5a0··......'..x..M'.. | |||
00000600:·4f82·3a16·9733·0df5·2e33·0c51·04f5·1a76··O.:..3...3.Q...v | |||
00000610:·28a3·a30e·869e·d487·10e2·0727·4d5e·2909··(..........'M^). | |||
00000620:·0c75·8fc7·7c81·fa0c·d4cf·12a8·0701·867a··.u..|..........z | |||
00000630:·6681·22b1·a004·ea3f·98b9·9225·7911·a873··f."....?...%y..s | |||
00000640:·6942·bd88·fa12·f5a1·ca48·1121·31db·406c··iB.......H.!1.@l | |||
00000650:·5f71·d9dd·1952·cf07·7497·98ec·7142·1d03··_q...R..t...qB.. | |||
00000660:·ea55·9e1c·b5d5·3d3d·517f·a2fe·ff93·80ed··.U....==Q....... | |||
00000670:·036c·7360·554e·dd92·2e0c·89ba·4d42·a27e··.ls`UN......MB.~ | |||
00000680:·4413·a09e·d50e·47fb·d983·12da·c380·b3e4··D.....G......... | |||
00000690:·3173·032e·1ddb·d4f6·1305·d473·8f6e·ab72··1s.........s.n.r | |||
000006a0:·ea86·7d50·97d3·ce43·15a0·7efe·1bb5·d5fd··..}P...C..~..... | |||
000006b0:·8bfa·ff8b·fa8b·fa7f·cb56·519b·8ada·1bc4··.........VQ..... | |||
000006c0:·b0d0·62a1·1592·952b·92a0·7731·6eba·b12a··..b....+..w1n..* | |||
000006d0:·1c5e·efe2·d2c3·e3d1·15da·99d3·5ee6·7b50··.^..........^.{P | |||
000006e0:·c7fa·9fa3·0301·d4db·687f·35bb·ff39·ed02··........h.5..9.. | |||
000006f0:·503f·e5b4·93b1·d4b3·1cdf·c609·39ed·63bc··P?..........9.c. | |||
00000700:·ff88·874a·dd34·7762·fe8d·1b33·dfd0·6e9e··...J.4wb...3..n. | |||
00000710:·c1fa·67a3·3dce·14ed·37b4·9769·d7e5·e08d··..g.=...7..i.... | |||
00000720:·46fb·99dd·ff0e·0933·cb61·cd33·58af·c37a··F......3.a.3X..z | |||
00000730:·3466·6a07·519b·8acb·ee4e·38ed·d980·cc86··4fj.Q....N8..... | |||
00000740:·89a6·fd94·7d99·f635·ed46·b4bf·ecbf·4dfb··....}..5.F....M. | |||
00000750:·7f9a·7623·daaf·95bd·0fed·5966·94ff·bb70··..v#......Yf...p | |||
00000760:·91fd·cbda·eafe·d9b4·b369·ffff·6185·da29··.........i..a..) | |||
00000770:·d476·92a2·e194·f8d8·337f·aebd·ea95·6cf0··.v......3.....l. | |||
00000780:·bea1·5d02·db80·45b2·3add·dfe0·dd43·bb69··..]...E.:....C.i | |||
00000790:·ee3c·1e13·2be7·4761·84da·b8da·4d2e·bb3b··.<..+.Ga....M..; | |||
000007a0:·7168·cf46·3cba·6b20·fe6c·3e2f·7bca·be0c··qh.F<.k·.l>/{... | |||
000007b0:·977a·aea0·3eb0·5636·fd5c·995f·3c08·b116··.z..>.V6.\._<... | |||
000007c0:·af9c·59d5·3c3c·82de·ece8·48ae·8b6d·8641··..Y.<<....H..m.A | |||
000007d0:·5c4d·bccd·30d5·478e·381a·1e67·351c·7e36··\M..0.G.8..g5.~6 | |||
000007e0:·5c0b·a71c·c9e1·9e46·711c·7190·dc0d·8bf8··\......Fq.q..... | |||
000007f0:·cd6a·580b·4d04·a166·a455·532c·87af·5489··.jX.M..f.US,..T. | |||
00000800:·a06d·c454·e24c·0bcd·2b9b·6239·2c01·2dd4··.m.T.L..+.b9,.-. | |||
00000810:·9d74·ef10·152a·5726·6838·ad86·d36a·a420··.t...*W&h8...j.· | |||
00000820:·242e·bdda·fdb9·e428·4a95·38ef·8ea2·ed62··$......(J.8....b | |||
00000830:·f0b3·dd26·a725·a424·2947·a018·8a1f·3962··...&.%.$)G....9b | |||
00000840:·aa8b·3109·e406·5d21·a1d9·6cc6·9424·4b4c··..1...]!..l..$KL | |||
00000850:·abc5·b4fa·c865·7727·398a·250e·ea1b·cb50··.....ew'9.%....P | |||
00000860:·a4dd·5ae8·dd26·2950·8eae·906c·490a·94a5··..Z..&)P...lI... | |||
00000870:·5b4a·457d·a3d5·9478·742f·5598·5637·6935··[JE}...xt/U.V7i5 | |||
00000880:·6919·dd3c·ec74·cb10·dfa6·4410·5361·a4a1··i..<.t....D.Sa.. | |||
00000890:·5b86·5e49·7e24·29bb·3651·1ca3·dc0f·c4a3··[.^I~$).6Q...... | |||
000008a0:·8ba5·9cee·bd41·3783·d6bf·cc65·7767·1093··.....A7....ewg.. | |||
000008b0:·9d9c·5f56·5a1f·8364·9dcd·1759·cf62·dd66··.._VZ..d...Y.b.f | |||
000008c0:·fdc9·faee·87ac·5f91·79ac·9b3b·1d4b·8496··......_.y..;.K.. | |||
000008d0:·9759·b7f2·51d6·ffa3·ac47·59ff·ff72·f3be··.Y..Q....GY..r.. | |||
000008e0:·7967·c153·56e5·3d62·c4fa·7964·ddc8·fa8f··yg.SV.=b..yd.... | |||
000008f0:·f997·597f·1ef6·c7fa·c360·ee74·2c92·2502··..Y......`.t,.%. | |||
00000900:·8975·f341·2d4d·3c66·d6b1·66c6·fa31·58ff··.u.A-M<f..f..1X. | |||
00000910:·4b6d·756f·83f2·b6e2·fdb9·ecee·24b2·6e66··Kmuo........$.nf | |||
00000920:·a405·bab1·16ef·c90f·9dc9·4698·33bf·8f75··..........F.3..u | |||
00000930:·20eb·3ed6·973c·7953·f18e·72d9·1d53·6da6···.>..<yS..r..Sm. | |||
00000940:·da4c·4896·8775·1864·5454·3fdb·a89e·a6fa··.LH..u.dTT?..... | |||
00000950:·99cf·7ce6·339f·f9cc·2f53·935f·2681·6dc0··..|.3.../S._&.m. | |||
00000960:·aac9·ef46·f537·d5ef·7843·a9ad·6ece·9cea··...F.7..xC..n... | |||
00000970:·73aa·ff4f·71c0·9b01·6fdb·10d2·ca15·cbf0··s..Oq...o....... | |||
00000980:·bb58·8490·56ae·4dbc·2408·7a97·acd5·bc8b··.X..V.M.$.z..... | |||
00000990:·6508·7985·90d7·ca2d·da29·a37a·ebd7·a88e··e.y....-.).z.... | |||
000009a0:·e546·8a34·aa47·1185·19d5·bd28·a33a·1950··.F.4.G.....(.:.P | |||
000009b0:·642d·a040·17d5·b9a8·7ebe·a9ee·e68a·037a··d-.@....~......z | |||
000009c0:·4051·dd4d·1553·3d4a·755c·dbac·7111·b063··@Q.M.S=Ju\..q..c | |||
000009d0:·bdef·b08d·5d76·771e·513d·fbe8·c651·23be··....]vw.Q=...Q#. | |||
000009e0:·f9c4·50bd·563d·2703·93b6·3a32·64aa·93a9··..P.V='...:2d... | |||
000009f0:·fe5f·4717·b6b7·b04d·c352·2519·4eb9·4a5c··._G....M.R%.N.J\ | |||
00000a00:·a88e·e6c1·54c7·9ab1·31ab·7b6b·be54·efe2··....T...1.{k.T.. | |||
Max diff block lines reached; -1/33258 bytes (-0.00%) of diff not shown. |
Offset 80, 375 lines modified | Offset 80, 375 lines modified | ||
000004f0:·071a·ace2·089c·7da0·a026·5374·646c·6962··......}..&Stdlib | 000004f0:·071a·ace2·089c·7da0·a026·5374·646c·6962··......}..&Stdlib | ||
00000500:·9030·6a82·e835·54ad·797b·37cc·bdfb·6821··.0j..5T.y{7...h! | 00000500:·9030·6a82·e835·54ad·797b·37cc·bdfb·6821··.0j..5T.y{7...h! | ||
00000510:·c2b7·a0a0·3843·616d·6c69·6e74·6572·6e61··....8Camlinterna | 00000510:·c2b7·a0a0·3843·616d·6c69·6e74·6572·6e61··....8Camlinterna | ||
00000520:·6c46·6f72·6d61·7442·6173·6963·7390·30aa··lFormatBasics.0. | 00000520:·6c46·6f72·6d61·7442·6173·6963·7390·30aa··lFormatBasics.0. | ||
00000530:·550b·dab5·21d6·0e76·9a9a·d43a·677e·6540··U...!..v...:g~e@ | 00000530:·550b·dab5·21d6·0e76·9a9a·d43a·677e·6540··U...!..v...:g~e@ | ||
00000540:·8495·a6be·0000·0004·0000·0002·0000·0005··................ | 00000540:·8495·a6be·0000·0004·0000·0002·0000·0005··................ | ||
00000550:·0000·0005·a090·4040·4361·6d6c·3139·3939··......@@Caml1999 | 00000550:·0000·0005·a090·4040·4361·6d6c·3139·3939··......@@Caml1999 | ||
00000560:·5430·3335·8495·a6bd·0fad·6 | 00000560:·5430·3335·8495·a6bd·0fad·61ec·2d91·6ac9··T035......a.-.j. | ||
00000570:·1 | 00000570:·19c5·4f28·b52f·fd00·58c5·b600·1a23·793e··..O(./..X....#y> | ||
00000580:·5710·30cc·6ad3·01f9·c01d·77d8·e5f3·9995··W.0.j.....w..... | |||
00000590:·7dd7·335f·2179·f04b·0c97·46f9·ffc5·0e1c··}.3_!y.K..F..... | |||
000005a0:·dfaf·dd47·43e8·f1f9·6294·7258·9737·44c6··...GC...b.rX.7D. | |||
000005b0:·648c·dfbf·2d27·d671·02f8·9e86·9e82·ae63··d...-'.q.......c | |||
000005c0:·e799·c06b·02c1·380c·780c·6385·82ed·d900··...k..8.x.c..... | |||
000005d0:·d470·94b4·5cd2·db06·e703·d003·af03·4449··.p..\.........DI | |||
000005e0:·6e30·5a0c·93b6·9959·8b61·a911·3d6d·327c··n0Z....Y.a..=m2| | |||
000005f0:·c666·b81c·6978·564e·4972·eb2a·a779·9e78··.f..ixVNIr.*.y.x | |||
00000600:·e726·74c5·1c63·339c·4566·924e·3174·8ac9··.&t..c3.Ef.N1t.. | |||
00000610:·e706·64c2·1693·a49d·58ca·8c65·9189·2993··..d.....X..e..). | |||
00000620:·cf2d·c894·a9d3·ace1·5a8c·66c6·521b·14d7··.-......Z.f.R... | |||
00000630:·2d2c·6156·da4c·5a2c·3595·766e·1a74·3135··-,aV.LZ,5.vn.t15 | |||
00000640:·ec73·19fb·4c85·6b82·92a5·6292·eb56·4342··.s..L.k...b..VCB | |||
00000650:·5ae2·9aed·e914·63b3·9114·a54a·18d0·8dd5··Z.....c....J.... | |||
00000660:·95b1·cf54·8c80·dce4·3800·2647·5a8c·66c6··...T....8.&GZ.f. | |||
00000670:·6665·9190·db19·37ec·d52e·c3de·8a79·e214··fe....7......y.. | |||
00000680:·6253·4ea3·d4c8·04e8·36c6·117b·24f6·e589··bSN.....6..{$... | |||
00000690:·d354·8c8a·91e2·89d3·918c·9566·ac3c·c52d··.T.........f.<.- | |||
000006a0:·3e64·4d94·994b·f29a·91d8·bfba·aba8·619f··>dM..K........a. | |||
000006b0:·dbc9·15f6·59ed·257b·9575·c362·d160·c1a7··....Y.%{.u.b.`.. | |||
000006c0:·8d1c·455a·2c3d·318a·be7c·6e5d·7c21·db09··..EZ,=1..|n]|!.. | |||
000006d0:·6263·948e·a50d·e736·8608·c5e9·9453·ce0d··bc.....6.....S.. | |||
000006e0:·0b29·4fe5·78a6·a8ce·0d89·3056·f659·7dc2··.)O.x.....0V.Y}. | |||
000006f0:·3593·09e7·5626·3741·c3a5·a984·4302·5269··5...V&7A....C.Ri | |||
00000700:·8e69·94a9·7323·2229·2d47·2c35·a662·b973··.i..s#")-G,5.b.s | |||
00000710:·aba1·9b87·26d5·3ed3·60af·5ee1·b26a·9f55··....&.>.`.^..j.U | |||
00000720:·9c24·89cd·ad4c·fe32·bb62·c5e6·5626·fbf0··.$...L.2.b..V&.. | |||
00000730:·6aa6·2729·3a92·3837·18aa·e457·2f45·4963··j.'):.87...W/EIc | |||
00000740:·5329·88a4·cecd·0528·458e·a8a0·3484·485a··S).....(E...4.HZ | |||
00000750:·8e39·b79b·4bd5·2f9b·2bd5·4c3c·b793·492a··.9..K./.+.L<..I* | |||
00000760:·9a24·2de7·56f6·d269·a632·db99·a2a5·298b··.$-.V..i.2....). | |||
00000770:·95e6·8896·38e5·828d·dc4e·18ca·43b9·abe4··....8....N..C... | |||
00000780:·320f·b594·28b0·d21c·53d1·568e·6969·ca7a··2...(...S.V.ii.z | |||
00000790:·6e54·5e0d·a509·8d86·6f6e·4c7d·5472·c137··nT^.....onL}Tr.7 | |||
000007a0:·3728·47ec·874e·114a·8673·13c1·9eaa·5fdd··7(G..N.J.s...._. | |||
000007b0:·fdea·76e2·846d·678a·732b·9399·d853·3512··..v..mg.s+...S5. | |||
000007c0:·fb6e·55c4·2829·d272·6e65·b20f·dd45·a469··.nU.().rne...E.i | |||
000007d0:·3ae1·dc82·eca9·bafb·95c4·7e05·acee·182e··:.........~..... | |||
000007e0:·cd32·a693·bb85·dcaf·565f·9d84·cb4e·a6c4··.2......V_...N.. | |||
000007f0:·f314·736e·6d95·4410·4558·f505·f6dd·9945··..snm.D.EX.....E | |||
00000800:·84c5·a231·c0ed·9e41·8635·2dc7·1b35·ffb8··...1...A.5-..5.. | |||
00000810:·57b9·dc0d·030b·9e55·c1b3·573a·40c1·95a3··W......U..W:@... | |||
00000820:·8be9·d99a·674d·78f2·c63d·438a·9e8d·79d6··....gMx..=C...y. | |||
00000830:·0a01·3e70·d9c0·12c5·b34a·9e3d·4093·995b··..>p.....J.=@..[ | |||
00000840:·2669·c8b3·edd9·2a3c·64dc·3146·18e2·5920··&i....*<d.1F..Y· | |||
00000850:·cf96·3002·066e·eee7·c6b3·3f3c·4b25·8431··..0..n....?<K%.1 | |||
00000860:·578b·b087·6779·7896·8422·2a2e·6e07·e8d9··W...gyx.."*.n... | |||
00000870:·7b76·0a91·27ae·13d7·aba3·b329·e86c·d311··{v..'......).l.. | |||
00000880:·abbb·d261·82ce·92a0·b34c·4343·5c21·e268··...a.....LCC\!.h | |||
00000890:·a3b3·1fe8·ec12·1030·37b3·9146·67cd·7456··.......07..Fg.tV | |||
000008a0:·4a13·08dc·1cca·90d1·5931·3a1b·45e9·86ab··J.......Y1:.E... | |||
000008b0:·92c9·75d6·8bce·4241·c280·2b43·1763·3a9b··..u...BA..+C.c:. | |||
000008c0:·4567·95a4·20e0·ba50·015c·67c5·7436·09a8··Eg..·..P.\g.t6.. | |||
000008d0:·7bea·72b9·6bbf·3acc·129d·bdea·2c52·ebe2··{.r.k.:.....,R.. | |||
000008e0:·56d7·cdeb·9a9b·c8a9·afee·6e7b·adba·bb87··V.........n{.... | |||
000008f0:·f0ac·109e·8db5·2eee·87b5·bb1b·887e·fd80··.............~.. | |||
00000900:·6b1f·c064·09d8·5cf5·0a97·a970·aa3a·74b4··k..d..\....p.:t. | |||
00000910:·74e3·bad1·6152·b4b4·f3aa·4284·93b3·8f4b··t...aR....B....K | |||
00000920:·050a·1252·5195·1ea5·a2a2·a5a3·9c26·5813··...RQ........&X. | |||
00000930:·2a39·4272·f671·9f10·bd90·8672·72f6·719b··*9Br.q.....rr.q. | |||
00000940:·90a6·bc8c·8a98·00c9·d9c7·2d9a·8234·e4e3··..........-..4.. | |||
00000950:·be9a·948a·8e5e·4940·728e·c06d·b3cc·94e0··.....^I@r..m.... | |||
00000960:·5dab·fd4a·cbf1·e6a6·5ee1·54b5·8422·264a··]..J....^.T.."&J | |||
00000970:·b09c·9c5b·557a·5521·8a35·3539·8221·f1e4··...[UzU!.559.!.. | |||
00000980:·9ccb·01a7·be5a·ed66·2961·b168·ba91·685d··.....Z.f)a.h..h] | |||
00000990:·dc10·9dfd·a1b3·4f46·b2e6·93fe·388d·a42c··......OF....8.., | |||
000009a0:·08b7·02e0·e657·cbda·d324·4d59·8e15·4b08··.....W...$MY..K. | |||
000009b0:·8b45·935f·60d6·bc52·9162·39d6·4edc·1484··.E._`..R.b9.N... | |||
000009c0:·45c4·62d1·04a1·0f6d·0cc3·2b56·c230·0c01··E.b....m..+V.0.. | |||
000009d0:·408a·332c·359e·7816·a263·98c2·421f·f449··@.3,5.x..c..B..I | |||
000009e0:·2469·6189·a5c6·a710·43a5·61cd·3c69·6128··$ia.....C.a.<ia( | |||
000009f0:·8638·15f1·4914·e29a·24f2·0db8·9cb3·8ac4··.8..I...$....... | |||
00000a00:·5e66·ce76·f29a·bb8c·7b2f·7df3·e7aa·4028··^f.v....{/}...@( | |||
00000a10:·c07f·c408·8f10·4676·fc45·9a2c·0943·c482··......Fv.E.,.C.. | |||
00000a20:·7f48·15a5·2d82·bc1f·0885·9806·7ee8·b8f7··.H..-.......~... | |||
00000a30:·e912·75e6·bae2·b8ef·a101·01dd·85b4·71cf··..u...........q. | |||
00000a40:·d303·158f·1d34·ee83·2071·9f3d·707f·85bb··.....4..·q.=p... | |||
00000a50:·e908·dd03·39e3·5e67·8a7b·25ee·7334·70ef··....9.^g.{%.s4p. | |||
00000a60:·c57d·5381·eb2e·e39e·0c1c·308a·babb·8b7b··.}S.......0....{ | |||
00000a70:·2e6e·b208·4168·5533·172d·e63e·8c8d·1345··.n..AhU3.-.>...E | |||
00000a80:·7c8e·b837·e247·1036·1ddc·6a70·6b5e·c1c3··|..7.G.6..jpk^.. | |||
00000a90:·fd0e·e197·56cd·5735·fbd0·5dbd·cacd·70ef··....V.W5..]...p. | |||
00000aa0:·c500·31d4·31c7·b522·b8b6·4ce1·7eea·8314··..1.1.."..L.~... | |||
00000ab0:·041e·18ef·a13c·9089·f145·09f7·543a·58ca··.....<...E..T:X. | |||
00000ac0:·c28a·6ba3·b8b6·b6c4·5ebd·ca1d·dd1b·ddaf··..k.....^....... | |||
00000ad0:·42f7·0578·3591·8453·17b9·2772·bfbe·5a88··B..x5..S..'r..Z. | |||
00000ae0:·ee3e·7497·e2dd·8a83·cfe7·fe0a·d7fd·8304··.>t............. | |||
00000af0:·6aae·7a95·bbc1·2ad7·5436·5ceb·e55a·b275··j.z...*.T6\..Z.u | |||
00000b00:·71eb·cd7d·2680·b538·8b58·c3c9·67d4·3577··q..}&..8.X..g.5w | |||
00000b10:·11ef·44a4·787f·75fb·786f·1f17·8d9c·d67d··..D.x.u.xo.....} | |||
00000b20:·8f9b·3380·fb1e·77c7·7b37·0b5c·84c4·d002··..3...w.{7.\.... | |||
00000b30:·9020·ef6d·fbf1·bee2·78cf·371e·786f·156c··.·.m....x.7.xo.l | |||
00000b40:·8007·1cde·e7e0·4187·f739·08e0·bd7b·8665··......A..9...{.e | |||
00000b50:·5533·0759·708f·d07b·5bf9·c0fb·bac3·7bd6··U3.Yp..{[.....{. | |||
00000b60:·e002·ef6d·660c·cf23·e39d·039e·7786·770e··...mf..#....w.w. | |||
00000b70:·80de·bb9d·18d5·7852·9edc·c3c0·7b13·05c0··......xR....{... | |||
00000b80:·fbda·79cf·d6a3·a37b·63f1·051c·5078·af02··..y....{c...Px.. | |||
00000b90:·0e2b·bc57·6182·eedd·403d·7280·1044·823a··.+.Wa...@=r..D.: | |||
00000ba0:·baf7·4e0a·baaf·6f74·cf67·40d0·bd87·f0c2··..N...ot.g@..... | |||
00000bb0:·4c04·cc74·ff04·d4e8·debd·4106·6b74·d023··L..t......A.kt.# | |||
00000bc0:·0d37·ba77·eb6b·99ee·f90c·32ba·770d·6372··.7.w.k....2.w.cr | |||
00000bd0:·2f78·f792·9bc1·bb17·30ba·77ab·c043·819a··/x......0.w..C.. | |||
00000be0:·c9dc·3a32·6046·f736·8157·46f7·f502·ddb3··..:2`F.6.WF..... | |||
00000bf0:·175a·746f·2d57·4c41·f35e·4e61·7a2f·ade8··.Zto-WLA.^Naz/.. | |||
00000c00:·debd·061a·5888·800d·2ab6·e8de·677c·15d3··....X...*...g|.. | |||
00000c10:·3d87·e97e·2677·13dd·7b8a·7728·dea7·40a2··=..~&w..{.w(..@. | |||
00000c20:·3b11·b8ee·2228·de91·e8de·dd4a·de93·bcaf··;..."(.....J.... | |||
00000c30:·af36·32c4·bb0f·dd05·706b·6ecb·deca·2a89··.62.....pkn...*. | |||
00000c40:·eedd·5c64·a166·25ba·5fe5·727f·d185·9ad7··..\d.f%._.r..... | |||
00000c50:·ee57·b916·22d7·5074·ef2b·9ce8·be1e·d13d··.W..".Pt.+.....= | |||
00000c60:·1bd1·fd4c·bea1·fb25·c3b5·0bb8·1685·d6c5··...L...%........ | |||
00000c70:·1501·5380·796d·edda·d1cc·1903·a0d9·d026··..S.ym.........& | |||
00000c80:·e494·6b99·ae85·32a3·8c2b·7a58·cb65·a4e1··..k...2..+zX.e.. | |||
00000c90:·334a·e768·49c9·b548·ae7d·1223·8c0d·ac7d··3J.hI..H.}.#...} | |||
00000ca0:·c265·1023·a1f0·da0f·aea5·6520·c7c3·5a5c··.e.#......e·..Z\ | |||
00000cb0:·8ee4·8967·a56d·a7c8·039a·6bbf·6b71·175b··...g.m....k.kq.[ | |||
00000cc0:·ecb0·5636·9262·3aea·30f9·85c3·b367·3c3b··..V6.b:.0....g<; | |||
00000cd0:·6b5d·dcaa·4505·96d8·6b60·ed8c·349d·7088··k]..E...k`..4.p. | |||
Max diff block lines reached; -1/51264 bytes (-0.00%) of diff not shown. |
Offset 77, 374 lines modified | Offset 77, 375 lines modified | ||
000004c0:·a026·5374·646c·6962·9030·6a82·e835·54ad··.&Stdlib.0j..5T. | 000004c0:·a026·5374·646c·6962·9030·6a82·e835·54ad··.&Stdlib.0j..5T. | ||
000004d0:·797b·37cc·bdfb·6821·c2b7·a0a0·3843·616d··y{7...h!....8Cam | 000004d0:·797b·37cc·bdfb·6821·c2b7·a0a0·3843·616d··y{7...h!....8Cam | ||
000004e0:·6c69·6e74·6572·6e61·6c46·6f72·6d61·7442··linternalFormatB | 000004e0:·6c69·6e74·6572·6e61·6c46·6f72·6d61·7442··linternalFormatB | ||
000004f0:·6173·6963·7390·30aa·550b·dab5·21d6·0e76··asics.0.U...!..v | 000004f0:·6173·6963·7390·30aa·550b·dab5·21d6·0e76··asics.0.U...!..v | ||
00000500:·9a9a·d43a·677e·6540·8495·a6be·0000·0004··...:g~e@........ | 00000500:·9a9a·d43a·677e·6540·8495·a6be·0000·0004··...:g~e@........ | ||
00000510:·0000·0002·0000·0005·0000·0005·a090·4040··..............@@ | 00000510:·0000·0002·0000·0005·0000·0005·a090·4040··..............@@ | ||
00000520:·4361·6d6c·3139·3939·5430·3335·8495·a6bd··Caml1999T035.... | 00000520:·4361·6d6c·3139·3939·5430·3335·8495·a6bd··Caml1999T035.... | ||
00000530:·0fad· | 00000530:·0fad·75ec·3791·7eca·2fc7·0a28·b52f·fd00··..u.7.~./..(./.. | ||
00000540:·58d5·b600·ba2b·f53e·5a20·4e42·da74·b519··X....+.>Z·NB.t.. | |||
00000550:·ab77·e7cd·9fb5·9f76·c29d·7ff5·ed99·d587··.w.....v........ | |||
00000560:·a933·253e·2c48·44e4·9fbd·4844·ff88·2521··.3%>,HD...HD..%! | |||
00000570:·19bb·56a6·22c7·d4ef·c8d1·6d22·11c3·faed··..V.".....m".... | |||
00000580:·bd0d·f5f6·5772·861c·8190·8ecb·f0d7·e181··....Wr.......... | |||
00000590:·2282·d9c5·9116·e8c6·6ecc·acec·4264·772e··".......n...Bdw. | |||
000005a0:·6969·03e8·03d1·03ae·03ab·8a4b·4bc0·bf42··ii.........KK..B | |||
000005b0:·1c30·9f39·aee0·a7ad·8e00·7f0b·1f47·bd7d··.0.9.........G.} | |||
000005c0:·6145·2b4d·1a7e·1a7e·f707·c278·6cf3·f809··aE+M.~.~...xl... | |||
000005d0:·7882·b1a4·3334·bff0·1447·51f6·8562·19c6··x...34...GQ..b.. | |||
000005e0:·c8f1·1bc9·0f3c·c1a1·ef84·9c2f·fcf4·3615··.....<...../..6. | |||
000005f0:·fc1f·bad5·85ff·4508·8fb9·78ec·6455·7129··......E...x.dUq) | |||
00000600:·1afe·25b2·0133·7882·311e·09f0·5394·9f04··..%..3x.1...S... | |||
00000610:·dfc6·bfe9·1582·dfad·ee6e·aeb7·6e25·94e0··.........n..n%.. | |||
00000620:·2bc1·efd6·f2f2·788a·c747·4a49·5f58·829f··+.....x..GJI_X.. | |||
00000630:·0915·1ef9·7e60·646c·c74d·6f07·c177·8276··....~`dl.Mo..w.v | |||
00000640:·bba2·787c·e471·9355·c5a5·5cf8·b7a5·01f3··..x|.q.U..\..... | |||
00000650:·2c7c·8133·1db7·148f·540a·e7b6·bca4·9707··,|.3....T....... | |||
00000660:·7eab·71d4·e681·dfcd·039f·077e·3713·8f51··~.q........~7..Q | |||
00000670:·f078·c9aa·e246·d071·083a·365a·555c·fafd··.x...F.q.:6ZU\.. | |||
00000680:·98a7·29ce·3e33·7c9a·8526·2d64·3a3f·1b61··..).>3|..&-d:?.a | |||
00000690:·097e·2654·d814·9621·1395·cf09·a47d·21d3··.~&T...!.....}!. | |||
000006a0:·f9c9·c8cf·8a38·03cb·700c·973e·f033·c5d6··.....8..p..>.3.. | |||
000006b0:·07da·a839·354b·0e6d·17b8·de1a·046d·3afe··...95K.m.....m:. | |||
000006c0:·a2e3·24ab·8a4b·6bfc·3bb4·623e·ca71·63e3··..$..Kk.;.b>.qc. | |||
000006d0:·437a·6fd4·569f·63d1·4ed4·4b9c·c5ce·a39e··Czo.V.c.N.K..... | |||
000006e0:·2834·3665·0c9b·c0d3·0515·03c3·7206·ba84··(46e........r... | |||
000006f0:·84d8·9ec8·5ce1·ac16·2369·aef0·4934·cb1a··....\...#i..I4.. | |||
00000700:·2c2c·5db1·7014·6561·6c74·22c4·9604·4a49··,,].p.ealt"...JI | |||
00000710:·9665·b8c3·46a4·448a·ae58·d804·2367·2f97··.e..F.D..X..#g/. | |||
00000720:·0975·f463·1b12·0315·7226·2bc3·27d2·d504··.u.c....r&+.'... | |||
00000730:·03cf·a31f·1b10·2750·2549·0b69·2e19·e93a··......'P%I.i...: | |||
00000740:·6b46·2c1b·0b86·d858·2365·ae93·54b2·c336··kF,....X#e..T..6 | |||
00000750:·02df·8546·bd66·d41b·8543·6282·9d60·1296··...F.f...Cb..`.. | |||
00000760:·edc6·9373·0c69·b5a5·1274·c5c4·19f8·3416··...s.i...t....4. | |||
00000770:·05d9·32e0·9b51·2fda·64d4·178a·9060·3b3f··..2..Q/.d....`;? | |||
00000780:·4a38·1365·2e19·e98a·8d44·3c6c·2e58·4145··J8.e.....D<l.XAE | |||
00000790:·9b8c·9a44·96a1·1517·d44b·7c12·8782·6c6e··...D.....K|...ln | |||
000007a0:·86aa·8d3a·96e1·7982·4eae·1958·86a7·3873··...:..y.N..X..8s | |||
000007b0:·8da4·6b2c·412a·436e·7a6d·d456·3714·34ea··..k,A*Cnzm.V7.4. | |||
000007c0:·ed1b·5cd8·220a·77d1·56aa·686a·2795·c291··..\.".w.V.hj'... | |||
000007d0:·1296·b599·08ca·5c67·199a·66eb·c7d6·0136··......\g..f....6 | |||
000007e0:·b01d·25e8·1439·c5b1·c663·4b23·6486·27d4··..%..9...cK#d.'. | |||
000007f0:·4b87·8d0b·264b·a358·9e66·8fad·0257·5ca0··K...&K.X.f...W\. | |||
00000800:·5e74·29a4·9147·3c36·3637·0a59·3892·4a78··^t)..G<667.Y8.Jx | |||
00000810:·9e20·1949·f174·227b·6c65·929c·a318·3e89··.·.I.t"{le....>. | |||
00000820:·2738·eeb0·01d1·6d44·8d42·ea2e·f5fe·50d1··'8....mD.B....P. | |||
00000830:·31b8·dba5·5e34·1422·44c7·c6e6·da62·4a49··1...^4."D....bJI | |||
00000840:·3a36·36f7·4bab·8f8e·9ca6·38e3·b165·81d2··:66.K.....8..e.. | |||
00000850:·ea26·4b4e·1794·1570·d663·e3c1·e847·101d··.&KN...p.c...G.. | |||
00000860:·9498·70c2·398a·3a6c·38d4·a86e·b5ce·51dc··..p.9.:l8..n..Q. | |||
00000870:·b1d9·50a3·ba8f·7c6c·340c·9d20·3993·e9b0··..P...|l4..·9... | |||
00000880:·41d5·a8ee·2625·3992·30d7·488a·e618·9e55··A...&%9.0.H....U | |||
00000890:·4220·b626·2297·c86d·2877·bcdd·1aaa·449a··B·.&"..m(w....D. | |||
000008a0:·c992·a291·144f·b036·8ae7·48c2·7ad8·5ead··.....O.6..H.z.^. | |||
000008b0:·366a·4126·0b77·6c52·6a54·b791·b14a·b863··6jA&.wlRjT...J.c | |||
000008c0:·8b32·5489·9420·138c·c756·54a3·bad5·ad6e··.2T..·...VT....n | |||
000008d0:·27af·b056·9e3c·3636·d7a8·46a1·6068·ce40··'..V.<66..F.`h.@ | |||
000008e0:·990e·1b9b·fba5·9b68·4692·2f1e·db01·6a54··.......hF./...jT | |||
000008f0:·77db·a8dd·ddb7·6bb8·dd6a·b4d5·493a·d5e6··w.....k..j..I:.. | |||
00000900:·cdbb·4671·37b5·422a·85e3·0214·5896·a00e··..Fq7.B*....X... | |||
00000910:·5bdf·6e62·c410·8144·8b50·bb6f·ea84·540a··[.nb...D.P.o..T. | |||
00000920:·e746·ed1b·b5bb·6fd4·1bb5·bb8b·55c5·81e9··.F....o.....U... | |||
00000930:·184c·c747·c419·ed27·14cb·13e8·25ce·602c··.L.G...'....%.`, | |||
00000940:·5cfa·fd84·65ed·84d5·cad3·fcc0·138c·7da1··\...e.........}. | |||
00000950:·589e·5f2c·b422·96e4·091b·6bb2·0f26·96e1··X._,."....k..&.. | |||
00000960:·181a·f97c·72c4·dc2c·b87b·2fda·c2a0·ae91··...|r..,.{/..... | |||
00000970:·ea76·8523·39ba·7a70·e959·253c·7f66·3410··.v.#9.zp.Y%<.f4. | |||
00000980:·46fa·dc54·88f4·a651·a158·22f1·a484·5229··F..T...Q.X"...R) | |||
00000990:·9c37·bde9·4d6f·7abb·9506·df8c·2af8·675a··.7..Moz.....*.gZ | |||
000009a0:·666e·a7f5·af7a·0bdc·8ab8·dea0·80a2·1e8a··fn...z.......... | |||
000009b0:·faee·354d·5826·63d9·6936·033f·f2fc·4652··..5MX&c.i6.?..FR | |||
000009c0:·3c61·63cd·c9a9·f5ed·d8ea·6b68·24ea·730d··<ac.......kh$.s. | |||
000009d0:·a0a2·887a·1db4·4c01·a69e·8bad·fe8b·145d··...z..L........] | |||
000009e0:·c630·b1a5·5e4b·1428·1247·28a1·c152·1f9e··.0..^K.(.G(..R.. | |||
000009f0:·5940·7dcd·867a·0598·9921·8c17·f4aa·a967··Y@}..z...!.....g | |||
00000a00:·bd89·1bbb·fc80·f4aa·c780·abfe·2aa9·52ea··............*.R. | |||
00000a10:·95ea·573f·8577·371e·1415·dd41·4b96·1cae··..W?.w7....AK... | |||
00000a20:·58a6·c132·b9aa·b854·a8fe·82c0·5c86·a7c8··X..2...T....\... | |||
00000a30:·93a3·5e0c·efac·aa53·9f76·b7c0·f5d6·3ff5··..^....S.v....?. | |||
00000a40:·dd3f·f53f·f5dd·3318·c032·0b96·6934·b294··.?.?..3..2..i4.. | |||
00000a50:·257d·2978·50ef·4113·a03e·0786·0542·a827··%})xP.A..>...B.' | |||
00000a60:·e38d·5701·10ea·d5f0·28f0·41bd·ad1e·d477··..W.....(.A....w | |||
00000a70:·f004·00ea·0a42·5e5f·ab13·6b04·0192·02ef··.....B^_..k..... | |||
00000a80:·6fca·9ce1·8395·c63b·18de·5331·bc37·d1c6··o......;..S1.7.. | |||
00000a90:·fbcd·b1f1·0e06·18ef·2e78·17c9·7480·6784··.........x..t.g. | |||
00000aa0:·1d3a·70dc·b0cc·81e5·d9aa·e252·2abc·df1b··.:p........R*... | |||
00000ab0:·cce1·1349·0bcb·9e30·de99·bcdf·8630·c2f5··...I...0.....0.. | |||
00000ac0:·2646·8c77·31de·bb35·b06a·ce1b·38cb·90f4··&F.w1..5.j..8... | |||
00000ad0:·8de2·a7c4·7482·4e49·e0a7·f494·f499·b118··....t.NI........ | |||
00000ae0:·f829·3d7d·4c27·e8f4·9d5f·2c06·267d·415b··.)=}L'..._,.&}A[ | |||
00000af0:·bca7·edc5·7b0e·3646·08ef·4d50·6282·f03e··....{.6F..MPb..> | |||
00000b00:·c38d·8bf7·066c·f1ae·2545·d37c·a183·7706··.....l..%E.|..w. | |||
00000b10:·3071·658b·9c15·ef50·4b9c·5954·11c5·3bcc··0qe....PK.YT..;. | |||
00000b20:·7bca·e45d·89d0·fb45·8a79·8795·e01d·8dee··{..]...E.y...... | |||
00000b30:·2a0f·0929·18a0·4014·b832·64ce·4b9c·c555··*..)..@..2d.K..U | |||
00000b40:·c5a5·47bc·5f01·30c7·62e0·ce0e·efd6·3b10··..G._.0.b.....;. | |||
00000b50:·cfc7·7bda·5d84·ebad·8378·ef0e·e23d·88f7··..{.]....x...=.. | |||
00000b60:·ee24·cab3·d379·e9fb·64e4·779a·e20c·4807··.$...y..d.w...H. | |||
00000b70:·de8f·5a87·f71c·1ff1·79f7·bc0e·8cc0·e1fd··..Z.....y....... | |||
00000b80:·62e0·b508·de43·f09e·5aef·4408·c093·21bc··b....C..Z.D...!. | |||
00000b90:·4d36·a5e8·fda1·76de·d9cb·75e7·d23d·8921··M6....v...u..=.! | |||
00000ba0:·5a00·4e51·7ae1·cce4·2c4b·a3fb·0d00·b3d9··Z.NQz...,K...... | |||
00000bb0:·b345·7724·ba7f·800b·a235·dd7b·cd9a·ee6b··.Ew$.....5.{...k | |||
00000bc0:·8cce·3ce7·d8aa·e2c6·a82c·4665·d848·8e9f··..<......,Fe.H.. | |||
00000bd0:·297e·6129·7e5f·688a·60d9·3f4a·b3d7·2ce9··)~a)~_h.`.?J..,. | |||
00000be0:·837a·7db1·f01c·45d2·e953·3a93·3e19·f9aa··.z}...E..S:.>... | |||
00000bf0:·99e6·58d6·ceb0·fc94·66af·d977·7e67·9570··..X.....f..w~g.p | |||
00000c00:·4cfa·6252·74b7·a2b5·e89e·1b22·cc15·dd8b··L.bRt......".... | |||
00000c10:·0033·45f7·27a4·e81e·850d·0361·80a0·9de8··.3E.'......a.... | |||
00000c20:·5ea6·7b8a·44f7·2f62·d6a8·41ef·9626·a2fb··^.{.D./b..A..&.. | |||
00000c30:·10b5·ee4a·bac3·baa7·5ebc·7ce1·c516·5a54··...J....^.|...ZT | |||
00000c40:·a6a2·f26b·5571·a90f·ddef·07cc·6795·70e4··...kUq......g.p. | |||
00000c50:·79ea·feea·be00·2a43·5c6f·57ae·74bf·d2bd··y.....*C\oW.t... | |||
00000c60:·5b8a·2e95·83a8·3ce5·1cc3·b2ac·c1c0·3334··[.....<.......34 | |||
00000c70:·f2ed·e4d0·bae7·d065·f79c·d21d·bbbb·bab7··.......e........ | |||
00000c80:·195c·37ad·fbac·7bfa·ea2e·8125·20b6·a0f7··.\7...{....%·... | |||
00000c90:·4c4b·e9ae·d4a3·3b08·dd7d·baa7·42c0·1095··LK....;..}..B... | |||
00000ca0:·e596·eb1e·76a8·8c43·65d7·aae2·52a3·eed7··....v..Ce...R... | |||
Max diff block lines reached; -1/51218 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·2025-02-15·14:19:14.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2025-02-15·14:19:14.000000·debian-binary |
2 | -rw-r--r--···0········0········0····63 | 2 | -rw-r--r--···0········0········0····63012·2025-02-15·14:19:14.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·234640 | 3 | -rw-r--r--···0········0········0·23464048·2025-02-15·14:19:14.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.1+dfsg-1 | 3 | Version:·8.20.1+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:·14616 | 6 | Installed-Size:·146164 |
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.1+dfsg-1),·libcoq-stdlib-8ndp2 | 10 | Provides:·coq-theories·(=·8.20.1+dfsg-1),·libcoq-stdlib-8ndp2 |
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 2440, 53 lines modified | Offset 2440, 53 lines modified | ||
2440 | -rw-r--r--···0·root·········(0)·root·········(0)····16144·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolEq.html | 2440 | -rw-r--r--···0·root·········(0)·root·········(0)····16144·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolEq.html |
2441 | -rw-r--r--···0·root·········(0)·root·········(0)····28687·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolOrder.html | 2441 | -rw-r--r--···0·root·········(0)·root·········(0)····28687·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.BoolOrder.html |
2442 | -rw-r--r--···0·root·········(0)·root·········(0)····34692·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bvector.html | 2442 | -rw-r--r--···0·root·········(0)·root·········(0)····34692·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Bvector.html |
2443 | -rw-r--r--···0·root·········(0)·root·········(0)····10524·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.DecBool.html | 2443 | -rw-r--r--···0·root·········(0)·root·········(0)····10524·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.DecBool.html |
2444 | -rw-r--r--···0·root·········(0)·root·········(0)····14176·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.IfProp.html | 2444 | -rw-r--r--···0·root·········(0)·root·········(0)····14176·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.IfProp.html |
2445 | -rw-r--r--···0·root·········(0)·root·········(0)····22507·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Sumbool.html | 2445 | -rw-r--r--···0·root·········(0)·root·········(0)····22507·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Sumbool.html |
2446 | -rw-r--r--···0·root·········(0)·root·········(0)·····9445·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Bool.Zerob.html | 2446 | -rw-r--r--···0·root·········(0)·root·········(0)·····9445·2025-02-15·14:19:14.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)····33295·2025-02-15·14:19:14.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)···153001·2025-02-15·14:19:14.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)····95251·2025-02-15·14:19:14.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)····14694·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.DecidableClass.html |
2451 | -rw-r--r--···0·root·········(0)·root·········(0)····41 | 2451 | -rw-r--r--···0·root·········(0)·root·········(0)····41299·2025-02-15·14:19:14.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)····33253·2025-02-15·14:19:14.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)·····6904·2025-02-15·14:19:14.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)···161743·2025-02-15·14:19:14.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)····26015·2025-02-15·14:19:14.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)····15022·2025-02-15·14:19:14.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)···129664·2025-02-15·14:19:14.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)····61886·2025-02-15·14:19:14.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)····27484·2025-02-15·14:19:14.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)····32902·2025-02-15·14:19:14.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)····33424·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Classes.SetoidTactics.html |
2462 | -rw-r--r--···0·root·········(0)·root·········(0)·····3600·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.AdmitAxiom.html | 2462 | -rw-r--r--···0·root·········(0)·root·········(0)·····3600·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.AdmitAxiom.html |
2463 | -rw-r--r--···0·root·········(0)·root·········(0)····36191·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq818.html | 2463 | -rw-r--r--···0·root·········(0)·root·········(0)····36191·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq818.html |
2464 | -rw-r--r--···0·root·········(0)·root·········(0)·····2919·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq819.html | 2464 | -rw-r--r--···0·root·········(0)·root·········(0)·····2919·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq819.html |
2465 | -rw-r--r--···0·root·········(0)·root·········(0)·····2701·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq820.html | 2465 | -rw-r--r--···0·root·········(0)·root·········(0)·····2701·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Compat.Coq820.html |
2466 | -rw-r--r--···0·root·········(0)·root·········(0)···6388 | 2466 | -rw-r--r--···0·root·········(0)·root·········(0)···638817·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapAVL.html |
2467 | -rw-r--r--···0·root·········(0)·root·········(0)···491 | 2467 | -rw-r--r--···0·root·········(0)·root·········(0)···491484·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapFacts.html |
2468 | -rw-r--r--···0·root·········(0)·root·········(0)···2495 | 2468 | -rw-r--r--···0·root·········(0)·root·········(0)···249549·2025-02-15·14:19:14.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·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapInterface.html |
2470 | -rw-r--r--···0·root·········(0)·root·········(0)···3125 | 2470 | -rw-r--r--···0·root·········(0)·root·········(0)···312563·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapList.html |
2471 | -rw-r--r--···0·root·········(0)·root·········(0)···272480·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapPositive.html | 2471 | -rw-r--r--···0·root·········(0)·root·········(0)···272480·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapPositive.html |
2472 | -rw-r--r--···0·root·········(0)·root·········(0)···273119·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapWeakList.html | 2472 | -rw-r--r--···0·root·········(0)·root·········(0)···273119·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMapWeakList.html |
2473 | -rw-r--r--···0·root·········(0)·root·········(0)·····4419·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMaps.html | 2473 | -rw-r--r--···0·root·········(0)·root·········(0)·····4419·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FMaps.html |
2474 | -rw-r--r--···0·root·········(0)·root·········(0)·····898 | 2474 | -rw-r--r--···0·root·········(0)·root·········(0)·····8980·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetAVL.html |
2475 | -rw-r--r--···0·root·········(0)·root·········(0)···2411 | 2475 | -rw-r--r--···0·root·········(0)·root·········(0)···241118·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetBridge.html |
2476 | -rw-r--r--···0·root·········(0)·root·········(0)···2417 | 2476 | -rw-r--r--···0·root·········(0)·root·········(0)···241705·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetCompat.html |
2477 | -rw-r--r--···0·root·········(0)·root·········(0)···2537 | 2477 | -rw-r--r--···0·root·········(0)·root·········(0)···253708·2025-02-15·14:19:14.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·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetEqProperties.html |
2479 | -rw-r--r--···0·root·········(0)·root·········(0)····983 | 2479 | -rw-r--r--···0·root·········(0)·root·········(0)····98369·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetFacts.html |
2480 | -rw-r--r--···0·root·········(0)·root·········(0)···22959 | 2480 | -rw-r--r--···0·root·········(0)·root·········(0)···229591·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetInterface.html |
2481 | -rw-r--r--···0·root·········(0)·root·········(0)·····584 | 2481 | -rw-r--r--···0·root·········(0)·root·········(0)·····5845·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetList.html |
2482 | -rw-r--r--···0·root·········(0)·root·········(0)···284090·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetPositive.html | 2482 | -rw-r--r--···0·root·········(0)·root·········(0)···284090·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetPositive.html |
2483 | -rw-r--r--···0·root·········(0)·root·········(0)···330840·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetProperties.html | 2483 | -rw-r--r--···0·root·········(0)·root·········(0)···330840·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetProperties.html |
2484 | -rw-r--r--···0·root·········(0)·root·········(0)····3050 | 2484 | -rw-r--r--···0·root·········(0)·root·········(0)····30502·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetToFiniteSet.html |
2485 | -rw-r--r--···0·root·········(0)·root·········(0)·····605 | 2485 | -rw-r--r--···0·root·········(0)·root·········(0)·····6058·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSetWeakList.html |
2486 | -rw-r--r--···0·root·········(0)·root·········(0)·····5771·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSets.html | 2486 | -rw-r--r--···0·root·········(0)·root·········(0)·····5771·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.FSets.FSets.html |
2487 | -rw-r--r--···0·root·········(0)·root·········(0)····43972·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatAxioms.html | 2487 | -rw-r--r--···0·root·········(0)·root·········(0)····43972·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatAxioms.html |
2488 | -rw-r--r--···0·root·········(0)·root·········(0)·····3707·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatClass.html | 2488 | -rw-r--r--···0·root·········(0)·root·········(0)·····3707·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatClass.html |
2489 | -rw-r--r--···0·root·········(0)·root·········(0)·····8314·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatLemmas.html | 2489 | -rw-r--r--···0·root·········(0)·root·········(0)·····8314·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatLemmas.html |
2490 | -rw-r--r--···0·root·········(0)·root·········(0)····21337·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatOps.html | 2490 | -rw-r--r--···0·root·········(0)·root·········(0)····21337·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.FloatOps.html |
2491 | -rw-r--r--···0·root·········(0)·root·········(0)·····5273·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.Floats.html | 2491 | -rw-r--r--···0·root·········(0)·root·········(0)·····5273·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.Floats.html |
2492 | -rw-r--r--···0·root·········(0)·root·········(0)····29739·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.PrimFloat.html | 2492 | -rw-r--r--···0·root·········(0)·root·········(0)····29739·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Floats.PrimFloat.html |
Offset 2502, 21 lines modified | Offset 2502, 21 lines modified | ||
2502 | -rw-r--r--···0·root·········(0)·root·········(0)·····9933·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Number.html | 2502 | -rw-r--r--···0·root·········(0)·root·········(0)·····9933·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Number.html |
2503 | -rw-r--r--···0·root·········(0)·root·········(0)····64638·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Peano.html | 2503 | -rw-r--r--···0·root·········(0)·root·········(0)····64638·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Peano.html |
2504 | -rw-r--r--···0·root·········(0)·root·········(0)····12568·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Prelude.html | 2504 | -rw-r--r--···0·root·········(0)·root·········(0)····12568·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Prelude.html |
2505 | -rw-r--r--···0·root·········(0)·root·········(0)···588062·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Specif.html | 2505 | -rw-r--r--···0·root·········(0)·root·········(0)···588062·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Specif.html |
2506 | -rw-r--r--···0·root·········(0)·root·········(0)····69736·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Tactics.html | 2506 | -rw-r--r--···0·root·········(0)·root·········(0)····69736·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Tactics.html |
2507 | -rw-r--r--···0·root·········(0)·root·········(0)····24852·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Tauto.html | 2507 | -rw-r--r--···0·root·········(0)·root·········(0)····24852·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Tauto.html |
2508 | -rw-r--r--···0·root·········(0)·root·········(0)····56558·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Wf.html | 2508 | -rw-r--r--···0·root·········(0)·root·········(0)····56558·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Init.Wf.html |
2509 | -rw-r--r--···0·root·········(0)·root·········(0)··1005 | 2509 | -rw-r--r--···0·root·········(0)·root·········(0)··1005723·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.List.html |
2510 | -rw-r--r--···0·root·········(0)·root·········(0)····23118·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListDec.html | 2510 | -rw-r--r--···0·root·········(0)·root·········(0)····23118·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListDec.html |
2511 | -rw-r--r--···0·root·········(0)·root·········(0)···113626·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListSet.html | 2511 | -rw-r--r--···0·root·········(0)·root·········(0)···113626·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListSet.html |
2512 | -rw-r--r--···0·root·········(0)·root·········(0)····15205·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListTactics.html | 2512 | -rw-r--r--···0·root·········(0)·root·········(0)····15205·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.ListTactics.html |
2513 | -rw-r--r--···0·root·········(0)·root·········(0)···23638 | 2513 | -rw-r--r--···0·root·········(0)·root·········(0)···236381·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.SetoidList.html |
2514 | -rw-r--r--···0·root·········(0)·root·········(0)····44917·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.SetoidPermutation.html | 2514 | -rw-r--r--···0·root·········(0)·root·········(0)····44917·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.SetoidPermutation.html |
2515 | -rw-r--r--···0·root·········(0)·root·········(0)····3755 | 2515 | -rw-r--r--···0·root·········(0)·root·········(0)····37551·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.StreamMemo.html |
2516 | -rw-r--r--···0·root·········(0)·root·········(0)····57012·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.Streams.html | 2516 | -rw-r--r--···0·root·········(0)·root·········(0)····57012·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Lists.Streams.html |
2517 | -rw-r--r--···0·root·········(0)·root·········(0)····54223·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Adjointification.html | 2517 | -rw-r--r--···0·root·········(0)·root·········(0)····54223·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Adjointification.html |
2518 | -rw-r--r--···0·root·········(0)·root·········(0)····28317·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Berardi.html | 2518 | -rw-r--r--···0·root·········(0)·root·········(0)····28317·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Berardi.html |
2519 | -rw-r--r--···0·root·········(0)·root·········(0)···238047·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ChoiceFacts.html | 2519 | -rw-r--r--···0·root·········(0)·root·········(0)···238047·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ChoiceFacts.html |
2520 | -rw-r--r--···0·root·········(0)·root·········(0)·····3121·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Classical.html | 2520 | -rw-r--r--···0·root·········(0)·root·········(0)·····3121·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.Classical.html |
2521 | -rw-r--r--···0·root·········(0)·root·········(0)····13475·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ClassicalChoice.html | 2521 | -rw-r--r--···0·root·········(0)·root·········(0)····13475·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ClassicalChoice.html |
2522 | -rw-r--r--···0·root·········(0)·root·········(0)····23909·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ClassicalDescription.html | 2522 | -rw-r--r--···0·root·········(0)·root·········(0)····23909·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.ClassicalDescription.html |
Offset 2548, 122 lines modified | Offset 2548, 122 lines modified | ||
2548 | -rw-r--r--···0·root·········(0)·root·········(0)·····7490·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.PropFacts.html | 2548 | -rw-r--r--···0·root·········(0)·root·········(0)·····7490·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.PropFacts.html |
2549 | -rw-r--r--···0·root·········(0)·root·········(0)·····7646·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.RelationalChoice.html | 2549 | -rw-r--r--···0·root·········(0)·root·········(0)·····7646·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.RelationalChoice.html |
2550 | -rw-r--r--···0·root·········(0)·root·········(0)·····3397·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.SetIsType.html | 2550 | -rw-r--r--···0·root·········(0)·root·········(0)·····3397·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.SetIsType.html |
2551 | -rw-r--r--···0·root·········(0)·root·········(0)····17187·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.SetoidChoice.html | 2551 | -rw-r--r--···0·root·········(0)·root·········(0)····17187·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.SetoidChoice.html |
2552 | -rw-r--r--···0·root·········(0)·root·········(0)·····9458·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.StrictProp.html | 2552 | -rw-r--r--···0·root·········(0)·root·········(0)·····9458·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.StrictProp.html |
2553 | -rw-r--r--···0·root·········(0)·root·········(0)····57550·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.WKL.html | 2553 | -rw-r--r--···0·root·········(0)·root·········(0)····57550·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.WKL.html |
2554 | -rw-r--r--···0·root·········(0)·root·········(0)····23285·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Logic.WeakFan.html | 2554 | -rw-r--r--···0·root·········(0)·root·········(0)····23285·2025-02-15·14:19:14.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·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetAVL.html |
2556 | -rw-r--r--···0·root·········(0)·root·········(0)···253 | 2556 | -rw-r--r--···0·root·········(0)·root·········(0)···253522·2025-02-15·14:19:14.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·2025-02-15·14:19:14.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·2025-02-15·14:19:14.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·2025-02-15·14:19:14.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·2025-02-15·14:19:14.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·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetList.html |
2562 | -rw-r--r--···0·root·········(0)·root·········(0)···233427·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetPositive.html | 2562 | -rw-r--r--···0·root·········(0)·root·········(0)···233427·2025-02-15·14:19:14.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·2025-02-15·14:19:14.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·2025-02-15·14:19:14.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·2025-02-15·14:19:14.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·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSetWeakList.html |
2567 | -rw-r--r--···0·root·········(0)·root·········(0)·····5306·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSets.html | 2567 | -rw-r--r--···0·root·········(0)·root·········(0)·····5306·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.MSets.MSets.html |
2568 | -rw-r--r--···0·root·········(0)·root·········(0)···28109 | 2568 | -rw-r--r--···0·root·········(0)·root·········(0)···281097·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.BinNat.html |
2569 | -rw-r--r--···0·root·········(0)·root·········(0)····990 | 2569 | -rw-r--r--···0·root·········(0)·root·········(0)····99073·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.BinNatDef.html |
2570 | -rw-r--r--···0·root·········(0)·root·········(0)·····7411·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.NArith.html | 2570 | -rw-r--r--···0·root·········(0)·root·········(0)·····7411·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.NArith.html |
2571 | -rw-r--r--···0·root·········(0)·root·········(0)····88281·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndec.html | 2571 | -rw-r--r--···0·root·········(0)·root·········(0)····88281·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndec.html |
2572 | -rw-r--r--···0·root·········(0)·root·········(0)·····8571·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndiv_def.html | 2572 | -rw-r--r--···0·root·········(0)·root·········(0)·····8571·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ndiv_def.html |
2573 | -rw-r--r--···0·root·········(0)·root·········(0)·····6254·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ngcd_def.html | 2573 | -rw-r--r--···0·root·········(0)·root·········(0)·····6254·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Ngcd_def.html |
2574 | -rw-r--r--···0·root·········(0)·root·········(0)····6914 | 2574 | -rw-r--r--···0·root·········(0)·root·········(0)····69145·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Nnat.html |
2575 | -rw-r--r--···0·root·········(0)·root·········(0)·····3820·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.NArith.Nsqrt_def.html | 2575 | -rw-r--r--···0·root·········(0)·root·········(0)·····3820·2025-02-15·14:19:14.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)····11733·2025-02-15·14:19:14.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)····15561·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.BinNums.html |
2578 | -rw-r--r--···0·root·········(0)·root·········(0)·····4226·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.CarryType.html | 2578 | -rw-r--r--···0·root·········(0)·root·········(0)·····4226·2025-02-15·14:19:14.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)···210248·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.CyclicAxioms.html |
2580 | -rw-r--r--···0·root·········(0)·root·········(0)····14968·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Abstract.DoubleType.html | 2580 | -rw-r--r--···0·root·········(0)·root·········(0)····14968·2025-02-15·14:19:14.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)····54727·2025-02-15·14:19:14.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)····77296·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Cyclic63.html |
2583 | -rw-r--r--···0·root·········(0)·root·········(0)····18492·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.PrimInt63.html | 2583 | -rw-r--r--···0·root·········(0)·root·········(0)····18492·2025-02-15·14:19:14.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)····19222·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Ring63.html |
2585 | -rw-r--r--···0·root·········(0)·root·········(0)···103930·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Sint63.html | 2585 | -rw-r--r--···0·root·········(0)·root·········(0)···103930·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Sint63.html |
2586 | -rw-r--r--···0·root·········(0)·root·········(0)···476321·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.Cyclic.Int63.Uint63.html | 2586 | -rw-r--r--···0·root·········(0)·root·········(0)···476321·2025-02-15·14:19:14.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)···151918·2025-02-15·14:19:14.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)····20858·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalN.html |
2589 | -rw-r--r--···0·root·········(0)·root·········(0)····6011 | 2589 | -rw-r--r--···0·root·········(0)·root·········(0)····60110·2025-02-15·14:19:14.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)····78256·2025-02-15·14:19:14.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)····52837·2025-02-15·14:19:14.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)····16563·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalR.html |
2593 | -rw-r--r--···0·root·········(0)·root·········(0)····569 | 2593 | -rw-r--r--···0·root·········(0)·root·········(0)····56969·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalString.html |
2594 | -rw-r--r--···0·root·········(0)·root·········(0)····1729 | 2594 | -rw-r--r--···0·root·········(0)·root·········(0)····17290·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.DecimalZ.html |
2595 | -rw-r--r--···0·root·········(0)·root·········(0)···16447 | 2595 | -rw-r--r--···0·root·········(0)·root·········(0)···164470·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalFacts.html |
2596 | -rw-r--r--···0·root·········(0)·root·········(0)····2132 | 2596 | -rw-r--r--···0·root·········(0)·root·········(0)····21324·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalN.html |
2597 | -rw-r--r--···0·root·········(0)·root·········(0)····721 | 2597 | -rw-r--r--···0·root·········(0)·root·········(0)····72169·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalNat.html |
2598 | -rw-r--r--···0·root·········(0)·root·········(0)····9474 | 2598 | -rw-r--r--···0·root·········(0)·root·········(0)····94746·2025-02-15·14:19:14.000000·./usr/share/doc/libcoq-stdlib/html/Coq.Numbers.HexadecimalPos.html |
Max diff block lines reached; 34826/64537 bytes (53.96%) 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="lab29 | 59 | <a·id="lab294"></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="lab29 | 81 | <a·id="lab295"></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="lab2 | 57 | <a·id="lab278"></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="lab27 | 150 | <a·id="lab279"></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="lab2 | 168 | <a·id="lab280"></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="lab2 | 210 | <a·id="lab281"></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="lab2 | 242 | <a·id="lab282"></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="lab28 | 250 | <a·id="lab283"></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="lab28 | 284 | <a·id="lab284"></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="lab28 | 334 | <a·id="lab285"></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="lab28 | 352 | <a·id="lab286"></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/45221 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="lab228"></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="lab229"></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="lab230"></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="lab231"></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="lab232"></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="lab233"></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="lab234"></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="lab235"></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="lab243"></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="lab244"></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="lab245"></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="lab21"></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="lab5"></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="lab6"></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="lab2"></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="lab3"></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="lab4"></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="lab1 | 49 | <a·id="lab14"></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="lab20"></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="lab1 | 49 | <a·id="lab10"></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="lab1 | 49 | <a·id="lab15"></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="lab11 | 49 | <a·id="lab11"></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="lab1 | 75 | <a·id="lab12"></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="lab1 | 49 | <a·id="lab1"></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="lab9"></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, 8002 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 (7825 lines added, 7825 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·6231·3 | 000006d0:·6c61·6231·3722·3e3c·2f61·3e3c·6831·2063··lab17"></a><h1·c | ||
000006e0:· | 000006e0:·6c61·7373·3d22·7365·6374·696f·6e22·3e54··lass="section">T | ||
000006f0:· | 000006f0:·7970·6563·6c61·7373·2d62·6173·6564·2072··ypeclass-based·r | ||
00000700:· | 00000700:·656c·6174·696f·6e73·2c20·7461·6374·6963··elations,·tactic | ||
00000710:· | 00000710:·7320·616e·6420·7374·616e·6461·7264·2069··s·and·standard·i | ||
00000720:· | 00000720:·6e73·7461·6e63·6573·3c2f·6831·3e0a·0a0a··nstances</h1>... | ||
00000730:· | 00000730:·3c64·6976·2063·6c61·7373·3d22·7061·7261··<div·class="para | ||
00000740:· | 00000740:·6772·6170·6822·3e20·3c2f·6469·763e·0a0a··graph">·</div>.. | ||
00000750:· | 00000750:·2020·2054·6869·7320·6973·2074·6865·2062·····This·is·the·b | ||
00000760:· | 00000760:·6173·6963·2074·6865·6f72·7920·6e65·6564··asic·theory·need | ||
00000770:·6564· | 00000770:·6564·2074·6f20·666f·726d·616c·697a·6520··ed·to·formalize· | ||
00000780:·6 | 00000780:·6d6f·7270·6869·736d·7320·616e·6420·7365··morphisms·and·se | ||
00000790:·7 | 00000790:·746f·6964·732e·0a0a·3c64·6976·2063·6c61··toids...<div·cla | ||
000007a0:· | 000007a0:·7373·3d22·7061·7261·6772·6170·6822·3e20··ss="paragraph">· | ||
000007b0:·3 | 000007b0:·3c2f·6469·763e·0a0a·2020·2041·7574·686f··</div>..···Autho | ||
000007c0:· | 000007c0:·723a·204d·6174·7468·6965·7520·536f·7a65··r:·Matthieu·Soze | ||
000007d0:· | 000007d0:·6175·0a20·2020·496e·7374·6974·7574·696f··au.···Institutio | ||
000007e0:·6 | 000007e0:·6e3a·204c·5249·2c20·434e·5253·2055·4d52··n:·LRI,·CNRS·UMR | ||
000007f0:· | 000007f0:·2038·3632·3320·2d20·556e·6976·6572·7369···8623·-·Universi | ||
00000800:·7 | 00000800:·7479·2050·6172·6973·2053·7564·0a0a·3c2f··ty·Paris·Sud..</ | ||
00000810:· | 00000810:·6469·763e·0a3c·6469·7620·636c·6173·733d··div>.<div·class= | ||
00000820:· | 00000820:·2263·6f64·6522·3e0a·0a3c·6272·2f3e·0a3c··"code">..<br/>.< | ||
00000830:· | 00000830:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00000840:· | 00000840:·7469·746c·653d·226b·6579·776f·7264·223e··title="keyword"> | ||
00000850:· | 00000850:·5265·7175·6972·653c·2f73·7061·6e3e·203c··Require</span>·< | ||
00000860:· | 00000860:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00000870:· | 00000870:·7469·746c·653d·226b·6579·776f·7264·223e··title="keyword"> | ||
00000880:· | 00000880:·4578·706f·7274·3c2f·7370·616e·3e20·3c61··Export</span>·<a | ||
00000890:· | 00000890:·2063·6c61·7373·3d22·6964·7265·6622·2068···class="idref"·h | ||
000008a0:· | 000008a0:·7265·663d·2243·6f71·2e43·6c61·7373·6573··ref="Coq.Classes | ||
000008b0:· | 000008b0:·2e49·6e69·742e·6874·6d6c·2322·3e3c·7370··.Init.html#"><sp | ||
000008c0:· | 000008c0:·616e·2063·6c61·7373·3d22·6964·2220·7469··an·class="id"·ti | ||
000008d0:·746 | 000008d0:·746c·653d·226c·6962·7261·7279·223e·436f··tle="library">Co | ||
000008e0:· | 000008e0:·712e·436c·6173·7365·732e·496e·6974·3c2f··q.Classes.Init</ | ||
000008f0:· | 000008f0:·7370·616e·3e3c·2f61·3e2e·3c62·722f·3e0a··span></a>.<br/>. | ||
00000900:·3 | 00000900:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
00000910:· | 00000910:·2074·6974·6c65·3d22·6b65·7977·6f72·6422···title="keyword" | ||
00000920:· | 00000920:·3e52·6571·7569·7265·3c2f·7370·616e·3e20··>Require</span>· | ||
00000930:·3 | 00000930:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
00000940:· | 00000940:·2074·6974·6c65·3d22·6b65·7977·6f72·6422···title="keyword" | ||
00000950:· | 00000950:·3e49·6d70·6f72·743c·2f73·7061·6e3e·203c··>Import</span>·< | ||
00000960:· | 00000960:·6120·636c·6173·733d·2269·6472·6566·2220··a·class="idref"· | ||
00000970:· | 00000970:·6872·6566·3d22·436f·712e·5072·6f67·7261··href="Coq.Progra | ||
00000980:· | 00000980:·6d2e·4261·7369·6373·2e68·746d·6c23·223e··m.Basics.html#"> | ||
00000990:· | 00000990:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
000009a0:· | 000009a0:·2074·6974·6c65·3d22·6c69·6272·6172·7922···title="library" | ||
000009b0:· | 000009b0:·3e43·6f71·2e50·726f·6772·616d·2e42·6173··>Coq.Program.Bas | ||
000009c0:·6 | 000009c0:·6963·733c·2f73·7061·6e3e·3c2f·613e·2e3c··ics</span></a>.< | ||
000009d0:· | 000009d0:·6272·2f3e·0a3c·7370·616e·2063·6c61·7373··br/>.<span·class | ||
000009e0:· | 000009e0:·3d22·6964·2220·7469·746c·653d·226b·6579··="id"·title="key | ||
000009f0:· | 000009f0:·776f·7264·223e·5265·7175·6972·653c·2f73··word">Require</s | ||
00000a00:· | 00000a00:·7061·6e3e·203c·7370·616e·2063·6c61·7373··pan>·<span·class | ||
00000a10:· | 00000a10:·3d22·6964·2220·7469·746c·653d·226b·6579··="id"·title="key | ||
00000a20:· | 00000a20:·776f·7264·223e·496d·706f·7274·3c2f·7370··word">Import</sp | ||
00000a30:· | 00000a30:·616e·3e20·3c61·2063·6c61·7373·3d22·6964··an>·<a·class="id | ||
00000a40:· | 00000a40:·7265·6622·2068·7265·663d·2243·6f71·2e50··ref"·href="Coq.P | ||
00000a50:· | 00000a50:·726f·6772·616d·2e54·6163·7469·6373·2e68··rogram.Tactics.h | ||
00000a60:· | 00000a60:·746d·6c23·223e·3c73·7061·6e20·636c·6173··tml#"><span·clas | ||
00000a70:· | 00000a70:·733d·2269·6422·2074·6974·6c65·3d22·6c69··s="id"·title="li | ||
00000a80:·6 | 00000a80:·6272·6172·7922·3e43·6f71·2e50·726f·6772··brary">Coq.Progr | ||
00000a90:·6 | 00000a90:·616d·2e54·6163·7469·6373·3c2f·7370·616e··am.Tactics</span | ||
00000aa0:· | 00000aa0:·3e3c·2f61·3e2e·3c62·722f·3e0a·3c73·7061··></a>.<br/>.<spa | ||
00000ab0:· | 00000ab0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00000ac0:·6 | 00000ac0:·6c65·3d22·6b65·7977·6f72·6422·3e52·6571··le="keyword">Req | ||
00000ad0:· | 00000ad0:·7569·7265·3c2f·7370·616e·3e20·3c73·7061··uire</span>·<spa | ||
00000ae0:· | 00000ae0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00000af0:·6 | 00000af0:·6c65·3d22·6b65·7977·6f72·6422·3e49·6d70··le="keyword">Imp | ||
00000b00:·6 | 00000b00:·6f72·743c·2f73·7061·6e3e·203c·6120·636c··ort</span>·<a·cl | ||
00000b10:·6 | 00000b10:·6173·733d·2269·6472·6566·2220·6872·6566··ass="idref"·href | ||
00000b20:· | 00000b20:·3d22·436f·712e·5265·6c61·7469·6f6e·732e··="Coq.Relations. | ||
00000b30:· | 00000b30:·5265·6c61·7469·6f6e·5f44·6566·696e·6974··Relation_Definit | ||
00000b40:·69 | 00000b40:·696f·6e73·2e68·746d·6c23·223e·3c73·7061··ions.html#"><spa | ||
00000b50:· | 00000b50:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00000b60:·6 | 00000b60:·6c65·3d22·6c69·6272·6172·7922·3e43·6f71··le="library">Coq | ||
00000b70:· | 00000b70:·2e52·656c·6174·696f·6e73·2e52·656c·6174··.Relations.Relat | ||
00000b80:·6 | 00000b80:·696f·6e5f·4465·6669·6e69·7469·6f6e·733c··ion_Definitions< | ||
00000b90:· | 00000b90:·2f73·7061·6e3e·3c2f·613e·2e3c·6272·2f3e··/span></a>.<br/> | ||
00000ba0:· | 00000ba0:·0a0a·3c62·722f·3e0a·3c73·7061·6e20·636c··..<br/>.<span·cl | ||
00000bb0:·6 | 00000bb0:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
00000bc0:· | 00000bc0:·6b65·7977·6f72·6422·3e47·656e·6572·616c··keyword">General | ||
00000bd0:·6 | 00000bd0:·697a·6162·6c65·2056·6172·6961·626c·6573··izable·Variables | ||
00000be0:· | 00000be0:·3c2f·7370·616e·3e20·3c73·7061·6e20·636c··</span>·<span·cl | ||
00000bf0:·6 | 00000bf0:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
00000c00:· | 00000c00:·7661·7222·3e41·3c2f·7370·616e·3e20·3c73··var">A</span>·<s | ||
00000c10:· | 00000c10:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
00000c20:· | 00000c20:·6974·6c65·3d22·7661·7222·3e42·3c2f·7370··itle="var">B</sp | ||
00000c30:· | 00000c30:·616e·3e20·3c73·7061·6e20·636c·6173·733d··an>·<span·class= | ||
00000c40:· | 00000c40:·2269·6422·2074·6974·6c65·3d22·7661·7222··"id"·title="var" | ||
00000c50:· | 00000c50:·3e43·3c2f·7370·616e·3e20·3c73·7061·6e20··>C</span>·<span· | ||
00000c60:·6 | 00000c60:·636c·6173·733d·2269·6422·2074·6974·6c65··class="id"·title | ||
00000c70:· | 00000c70:·3d22·7661·7222·3e44·3c2f·7370·616e·3e20··="var">D</span>· | ||
00000c80:·3 | 00000c80:·3c73·7061·6e20·636c·6173·733d·2269·6422··<span·class="id" | ||
00000c90:· | 00000c90:·2074·6974·6c65·3d22·7661·7222·3e52·3c2f···title="var">R</ | ||
00000ca0:· | 00000ca0:·7370·616e·3e20·3c73·7061·6e20·636c·6173··span>·<span·clas | ||
00000cb0:· | 00000cb0:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | ||
00000cc0:·7 | 00000cc0:·7222·3e53·3c2f·7370·616e·3e20·3c73·7061··r">S</span>·<spa | ||
00000cd0:· | 00000cd0:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00000ce0:·6 | 00000ce0:·6c65·3d22·7661·7222·3e54·3c2f·7370·616e··le="var">T</span | ||
00000cf0:· | 00000cf0:·3e20·3c73·7061·6e20·636c·6173·733d·2269··>·<span·class="i | ||
00000d00:· | 00000d00:·6422·2074·6974·6c65·3d22·7661·7222·3e55··d"·title="var">U | ||
00000d10:·3 | 00000d10:·3c2f·7370·616e·3e20·3c73·7061·6e20·636c··</span>·<span·cl | ||
00000d20:·6 | 00000d20:·6173·733d·2269·6422·2074·6974·6c65·3d22··ass="id"·title=" | ||
00000d30:· | 00000d30:·7661·7222·3e6c·3c2f·7370·616e·3e20·3c73··var">l</span>·<s | ||
00000d40:· | 00000d40:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
00000d50:· | 00000d50:·6974·6c65·3d22·7661·7222·3e65·7141·3c2f··itle="var">eqA</ | ||
00000d60:· | 00000d60:·7370·616e·3e20·3c73·7061·6e20·636c·6173··span>·<span·clas | ||
00000d70:· | 00000d70:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | ||
00000d80:·7 | 00000d80:·7222·3e65·7142·3c2f·7370·616e·3e20·3c73··r">eqB</span>·<s | ||
00000d90:· | 00000d90:·7061·6e20·636c·6173·733d·2269·6422·2074··pan·class="id"·t | ||
00000da0:· | 00000da0:·6974·6c65·3d22·7661·7222·3e65·7143·3c2f··itle="var">eqC</ | ||
00000db0:· | 00000db0:·7370·616e·3e20·3c73·7061·6e20·636c·6173··span>·<span·clas | ||
00000dc0:· | 00000dc0:·733d·2269·6422·2074·6974·6c65·3d22·7661··s="id"·title="va | ||
00000dd0:·7 | 00000dd0:·7222·3e65·7144·3c2f·7370·616e·3e2e·3c62··r">eqD</span>.<b | ||
00000de0:· | 00000de0:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | ||
00000df0:· | 00000df0:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | ||
00000e00:· | 00000e00:·6f63·223e·0a57·6520·616c·6c6f·7720·746f··oc">.We·allow·to | ||
00000e10:· | 00000e10:·2075·6e66·6f6c·6420·7468·6520·3c73·7061···unfold·the·<spa | ||
00000e20:· | 00000e20:·6e20·636c·6173·733d·2269·6e6c·696e·6563··n·class="inlinec | ||
00000e30:·6 | 00000e30:·6f64·6522·3e3c·7370·616e·2063·6c61·7373··ode"><span·class | ||
Max diff block lines reached; 23243/1103671 bytes (2.11%) 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="lab13"></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="lab8"></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="lab1 | 49 | <a·id="lab16"></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="lab7"></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="lab580"></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="lab581"></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="lab582"></a><h1·class="section">Trees</h1> |
116 | <div·class="paragraph">·</div> | 116 | <div·class="paragraph">·</div> |
117 | <a·id="lab | 117 | <a·id="lab583"></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="lab584"></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="lab585"></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="lab586"></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="lab587"></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="lab588"></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; 88583/97350 bytes (90.99%) 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="lab560"></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="lab | 77 | <a·id="lab561"></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="lab | 104 | <a·id="lab562"></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="lab | 261 | <a·id="lab563"></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="lab | 400 | <a·id="lab564"></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="lab | 462 | <a·id="lab565"></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="lab566"></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="lab567"></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; 24544/39413 bytes (62.27%) 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="lab664"></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="lab665"></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="lab666"></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="lab667"></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="lab668"></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="lab669"></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="lab670"></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="lab671"></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; 12255/32746 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="lab655"></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="lab656"></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="lab657"></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="lab658"></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="lab | 603 | <a·id="lab659"></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="lab | 614 | <a·id="lab660"></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="lab | 49 | <a·id="lab519"></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="lab | 94 | <a·id="lab520"></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="lab | 117 | <a·id="lab521"></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="lab | 135 | <a·id="lab522"></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="lab | 162 | <a·id="lab523"></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="lab | 189 | <a·id="lab524"></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="lab | 230 | <a·id="lab525"></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="lab | 271 | <a·id="lab526"></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; 12899/30850 bytes (41.81%) 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="lab662"></a><h1·class="section">FMapPositive·:·an·implementation·of·FMapInterface·for·<span·class="inlinecode"><span·class="id"·title="var">positive</span></span>·keys.</h1> |
50 | </div> | 50 | </div> |
51 | <div·class="code"> | 51 | <div·class="code"> |
52 | <br/> | 52 | <br/> |
53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#"><span·class="id"·title="library">FMapInterface</span></a>.<br/> | 53 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Bool.Bool.html#"><span·class="id"·title="library">Bool</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Structures.OrderedType.html#"><span·class="id"·title="library">OrderedType</span></a>·<a·class="idref"·href="Coq.Structures.OrderedTypeEx.html#"><span·class="id"·title="library">OrderedTypeEx</span></a>·<a·class="idref"·href="Coq.FSets.FMapInterface.html#"><span·class="id"·title="library">FMapInterface</span></a>.<br/> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab641"></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="lab | 92 | <a·id="lab642"></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="lab | 117 | <a·id="lab643"></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="lab | 135 | <a·id="lab644"></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="lab | 157 | <a·id="lab645"></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="lab | 186 | <a·id="lab646"></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="lab | 230 | <a·id="lab647"></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="lab | 264 | <a·id="lab648"></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="lab | 49 | <a·id="lab558"></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="lab652"></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="lab653"></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="lab | 245 | <a·id="lab654"></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="lab | 49 | <a·id="lab545"></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="lab | 66 | <a·id="lab546"></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="lab | 229 | <a·id="lab547"></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="lab | 287 | <a·id="lab548"></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="lab | 430 | <a·id="lab549"></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="lab | 76 | <a·id="lab625"></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="lab626"></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="lab | 193 | <a·id="lab627"></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="lab628"></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="lab629"></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="lab | 459 | <a·id="lab630"></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="lab | 469 | <a·id="lab631"></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="lab632"></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="lab | 669 | <a·id="lab633"></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="lab | 695 | <a·id="lab634"></a><h2·class="section">Decidability·of·FSet·Propositions</h2> |
Max diff block lines reached; 7282/15010 bytes (48.51%) 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="lab661"></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="lab515"></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="lab516"></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="lab517"></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="lab518"></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="lab | 49 | <a·id="lab550"></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="lab | 106 | <a·id="lab551"></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="lab | 111 | <a·id="lab552"></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="lab | 620 | <a·id="lab553"></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="lab | 640 | <a·id="lab554"></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="lab | 767 | <a·id="lab555"></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="lab | 787 | <a·id="lab556"></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="lab | 804 | <a·id="lab557"></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="lab559"></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="lab531"></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="lab532"></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="lab533"></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="lab534"></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="lab535"></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="lab536"></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="lab537"></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="lab538"></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; 11505/28370 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="lab | 49 | <a·id="lab578"></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="lab | 58 | <a·id="lab579"></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="lab | 49 | <a·id="lab663"></a><h1·class="section">Finite·sets·library</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·This·file·proposes·an·implementation·of·the·non-dependent | 51 | ·This·file·proposes·an·implementation·of·the·non-dependent |
52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.WS</span></span>·using·lists·without·redundancy.· | 52 | ····interface·<span·class="inlinecode"><span·class="id"·title="var">FSetInterface.WS</span></span>·using·lists·without·redundancy.· |
53 | </div> | 53 | </div> |
54 | <div·class="code"> | 54 | <div·class="code"> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab406"></a><h1·class="section">Properties·of·the·primitive·operators·for·the·Binary64·format</h1> |
54 | </div> | 54 | </div> |
55 | <div·class="code"> | 55 | <div·class="code"> |
56 | <br/> | 56 | <br/> |
57 | <span·class="id"·title="keyword">Notation</span>·<a·id="valid_binary"·class="idref"·href="#valid_binary"><span·class="id"·title="abbreviation">valid_binary</span></a>·:=·(<a·class="idref"·href="Coq.Floats.SpecFloat.html#valid_binary"><span·class="id"·title="definition">valid_binary</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>).<br/> | 57 | <span·class="id"·title="keyword">Notation</span>·<a·id="valid_binary"·class="idref"·href="#valid_binary"><span·class="id"·title="abbreviation">valid_binary</span></a>·:=·(<a·class="idref"·href="Coq.Floats.SpecFloat.html#valid_binary"><span·class="id"·title="definition">valid_binary</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>).<br/> |
Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>·<a·class="idref"·href="Coq.Floats.FloatAxioms.html#"><span·class="id"·title="library">FloatAxioms</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#"><span·class="id"·title="library">FloatOps</span></a>·<a·class="idref"·href="Coq.Floats.FloatAxioms.html#"><span·class="id"·title="library">FloatAxioms</span></a>.<br/> |
50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Psatz.html#"><span·class="id"·title="library">Psatz</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.micromega.Psatz.html#"><span·class="id"·title="library">Psatz</span></a>.<br/> |
51 | <br/> | 51 | <br/> |
52 | </div> | 52 | </div> |
53 | <div·class="doc"> | 53 | <div·class="doc"> |
54 | <a·id="lab | 54 | <a·id="lab407"></a><h1·class="section">Support·results·involving·frexp·and·ldexp</h1> |
55 | </div> | 55 | </div> |
56 | <div·class="code"> | 56 | <div·class="code"> |
57 | <br/> | 57 | <br/> |
58 | <span·class="id"·title="keyword">Lemma</span>·<a·id="shift_value"·class="idref"·href="#shift_value"><span·class="id"·title="lemma">shift_value</span></a>·:·<a·class="idref"·href="Coq.Floats.FloatOps.html#shift"><span·class="id"·title="definition">shift</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(2<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>)%<span·class="id"·title="var">Z</span>.<br/> | 58 | <span·class="id"·title="keyword">Lemma</span>·<a·id="shift_value"·class="idref"·href="#shift_value"><span·class="id"·title="lemma">shift_value</span></a>·:·<a·class="idref"·href="Coq.Floats.FloatOps.html#shift"><span·class="id"·title="definition">shift</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span·class="id"·title="notation">=</span></a>·(2<a·class="idref"·href="Coq.ZArith.BinInt.html#d3ea1afb7d81263dc23c4eb0da2a3c4e"><span·class="id"·title="notation">*</span></a><a·class="idref"·href="Coq.Floats.FloatOps.html#emax"><span·class="id"·title="definition">emax</span></a>·<a·class="idref"·href="Coq.ZArith.BinInt.html#46584eddd5fdb16176a10a2843177d3a"><span·class="id"·title="notation">+</span></a>·<a·class="idref"·href="Coq.Floats.FloatOps.html#prec"><span·class="id"·title="definition">prec</span></a>)%<span·class="id"·title="var">Z</span>.<br/> |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.ZArith.ZArith.html#"><span·class="id"·title="library">ZArith</span></a>·<a·class="idref"·href="Coq.Numbers.Cyclic.Int63.Uint63.html#"><span·class="id"·title="library">Uint63</span></a>·<a·class="idref"·href="Coq.Floats.SpecFloat.html#"><span·class="id"·title="library">SpecFloat</span></a>·<a·class="idref"·href="Coq.Floats.PrimFloat.html#"><span·class="id"·title="library">PrimFloat</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab408"></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="lab409"></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="lab410"></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="lab411"></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="lab412"></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="lab413"></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="lab414"></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="lab415"></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="lab416"></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/14566 bytes (35.39%) 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="lab | 53 | <a·id="lab420"></a><h1·class="section">Specification·of·floating-point·arithmetic</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | This·specification·is·mostly·borrowed·from·the·<span·class="inlinecode"><span·class="id"·title="var">IEEE754.Binary</span></span>·module | 55 | This·specification·is·mostly·borrowed·from·the·<span·class="inlinecode"><span·class="id"·title="var">IEEE754.Binary</span></span>·module |
56 | of·the·Flocq·library·(see·<a·href="http://flocq.gforge.inria.fr/">http://flocq.gforge.inria.fr/</a>)· | 56 | of·the·Flocq·library·(see·<a·href="http://flocq.gforge.inria.fr/">http://flocq.gforge.inria.fr/</a>)· |
57 | <div·class="paragraph">·</div> | 57 | <div·class="paragraph">·</div> |
58 | <a·id="lab | 58 | <a·id="lab421"></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="lab | 80 | <a·id="lab422"></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="lab | 243 | <a·id="lab423"></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="lab2 | 49 | <a·id="lab266"></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="lab2 | 58 | <a·id="lab246"></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="lab2 | 92 | <a·id="lab247"></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="lab2 | 263 | <a·id="lab248"></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="lab2 | 298 | <a·id="lab249"></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="lab2 | 502 | <a·id="lab250"></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="lab2 | 622 | <a·id="lab251"></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="lab2 | 49 | <a·id="lab271"></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="lab2 | 49 | <a·id="lab270"></a><h1·class="section">Hexadecimal·numbers</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·These·numbers·coded·in·base·16·will·be·used·for·parsing·and·printing | 51 | ·These·numbers·coded·in·base·16·will·be·used·for·parsing·and·printing |
52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. | 52 | ····other·Coq·numeral·datatypes·in·an·human-readable·way. |
53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. | 53 | ····See·the·<span·class="inlinecode"><span·class="id"·title="var">Number</span></span>·<span·class="inlinecode"><span·class="id"·title="keyword">Notation</span></span>·command. |
54 | ····We·represent·numbers·in·base·16·as·lists·of·hexadecimal·digits, | 54 | ····We·represent·numbers·in·base·16·as·lists·of·hexadecimal·digits, |
Offset 159, 15 lines modified | Offset 159, 15 lines modified | ||
000009e0:·7222·3e42·3c2f·7370·616e·3e29·203a·203c··r">B</span>)·:·< | 000009e0:·7222·3e42·3c2f·7370·616e·3e29·203a·203c··r">B</span>)·:·< | ||
000009f0:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | 000009f0:·7370·616e·2063·6c61·7373·3d22·6964·2220··span·class="id"· | ||
00000a00:·7469·746c·653d·2276·6172·223e·7479·7065··title="var">type | 00000a00:·7469·746c·653d·2276·6172·223e·7479·7065··title="var">type | ||
00000a10:·5f73·636f·7065·3c2f·7370·616e·3e2e·3c62··_scope</span>.<b | 00000a10:·5f73·636f·7065·3c2f·7370·616e·3e2e·3c62··_scope</span>.<b | ||
00000a20:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | 00000a20:·722f·3e0a·0a3c·6272·2f3e·0a3c·2f64·6976··r/>..<br/>.</div | ||
00000a30:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | 00000a30:·3e0a·0a3c·6469·7620·636c·6173·733d·2264··>..<div·class="d | ||
00000a40:·6f63·223e·0a3c·6120·6964·3d22·6c61·6232··oc">.<a·id="lab2 | 00000a40:·6f63·223e·0a3c·6120·6964·3d22·6c61·6232··oc">.<a·id="lab2 | ||
00000a50:·3 | 00000a50:·3734·223e·3c2f·613e·3c68·3120·636c·6173··74"></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·323 | 00011600:·643d·226c·6162·3237·3522·3e3c·2f61·3e3c··d="lab275"></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:·6232·3 | 000192e0:·6232·3736·223e·3c2f·613e·3c68·3120·636c··b276"></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·6232·3 | 000417f0:·6120·6964·3d22·6c61·6232·3737·223e·3c2f··a·id="lab277"></ | ||
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="lab2 | 55 | <a·id="lab252"></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="lab2 | 72 | <a·id="lab253"></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="lab2 | 91 | <a·id="lab254"></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="lab25 | 160 | <a·id="lab255"></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="lab25 | 206 | <a·id="lab256"></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="lab25 | 231 | <a·id="lab257"></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="lab25 | 251 | <a·id="lab258"></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="lab25 | 269 | <a·id="lab259"></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="lab2 | 49 | <a·id="lab267"></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="lab26 | 56 | <a·id="lab268"></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="lab26 | 377 | <a·id="lab269"></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="lab2 | 49 | <a·id="lab273"></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="lab27 | 49 | <a·id="lab272"></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="lab1036"></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="lab1037"></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="lab1038"></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="lab1039"></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="lab1040"></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="lab1041"></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="lab1042"></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="lab1043"></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; 29558/46812 bytes (63.14%) 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="lab1068"></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="lab1035"></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="lab962"></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="lab963"></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="lab964"></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="lab965"></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="lab966"></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="lab967"></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="lab968"></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="lab969"></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="lab961"></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="lab904"></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="lab905"></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="lab906"></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="lab907"></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="lab908"></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="lab909"></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="lab910"></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="lab911"></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="lab912"></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="lab918"></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="lab919"></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="lab920"></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="lab889"></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="lab890"></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="lab891"></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="lab897"></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="lab898"></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="lab899"></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="lab900"></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="lab901"></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="lab902"></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="lab903"></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="lab959"></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="lab921"></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="lab922"></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="lab923"></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="lab924"></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="lab925"></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="lab926"></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="lab927"></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="lab928"></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="lab929"></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="lab892"></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="lab893"></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="lab894"></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="lab895"></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="lab896"></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="lab888"></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="lab960"></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="lab1"></a><h1·class="section">MSetAVL·:·Implementation·of·MSetInterface·via·AVL·trees</h1> | 49 | <a·id="lab1110"></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="lab1111"></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="lab1112"></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="lab1113"></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="lab1114"></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="lab1115"></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="lab1116"></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="lab1117"></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; 64209/72815 bytes (88.18%) 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="lab1211"></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="lab1212"></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="lab1213"></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="lab1214"></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="lab1215"></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="lab1216"></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="lab1217"></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="lab1218"></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="lab1219"></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="lab1220"></a><h2·class="section">Decidability·of·MSet·Propositions</h2> |
Max diff block lines reached; 7264/14955 bytes (48.57%) 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="lab10 | 49 | <a·id="lab1203"></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="lab1 | 49 | <a·id="lab1193"></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="lab1 | 89 | <a·id="lab1194"></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="lab1 | 206 | <a·id="lab1195"></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="lab1 | 295 | <a·id="lab1196"></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="lab1 | 359 | <a·id="lab1197"></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="lab1083"></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="lab1084"></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="lab1085"></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="lab1086"></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="lab1087"></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="lab1088"></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="lab1089"></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="lab1090"></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; 51520/61977 bytes (83.13%) 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="lab1144"></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="lab1 | 319 | <a·id="lab1145"></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="lab1 | 433 | <a·id="lab1146"></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="lab1 | 453 | <a·id="lab1147"></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="lab1 | 565 | <a·id="lab1148"></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="lab1 | 588 | <a·id="lab1149"></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="lab15 | 605 | <a·id="lab1150"></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="lab1206"></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="lab1207"></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="lab1208"></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="lab1209"></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="lab1210"></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="lab1069"></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="lab1070"></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="lab1071"></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="lab1072"></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="lab1073"></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="lab1074"></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="lab1075"></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="lab1076"></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; 11473/30057 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="lab1 | 49 | <a·id="lab1151"></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="lab1 | 154 | <a·id="lab1152"></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="lab11 | 162 | <a·id="lab1153"></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="lab11 | 188 | <a·id="lab1154"></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="lab11 | 196 | <a·id="lab1155"></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="lab11 | 223 | <a·id="lab1156"></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="lab11 | 304 | <a·id="lab1157"></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="lab115"></a><h2·class="section">Deletion</h2> | 336 | <a·id="lab1158"></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="lab1 | 49 | <a·id="lab1204"></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="lab1 | 58 | <a·id="lab1205"></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="lab9 | 49 | <a·id="lab1198"></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="lab9 | 70 | <a·id="lab1199"></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="lab1200"></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="lab10 | 195 | <a·id="lab1201"></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="lab10 | 427 | <a·id="lab1202"></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="lab1241"></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="lab1242"></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="lab1243"></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="lab1244"></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="lab1245"></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="lab1246"></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="lab1247"></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="lab1248"></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="lab1249"></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="lab1250"></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; 785/10403 bytes (7.55%) 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="lab1252"></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="lab1253"></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="lab | 49 | <a·id="lab678"></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="lab680"></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="lab740"></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="lab739"></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="lab738"></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="lab737"></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="lab716"></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="lab710"></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="lab679"></a><h1·class="section">DecimalNat</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> | 51 | ····Proofs·that·conversions·between·decimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">nat</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab747"></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="lab677"></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="lab749"></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="lab714"></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="lab709"></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="lab735"></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="lab748"></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="lab736"></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="lab717"></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="lab734"></a><h1·class="section">HexadecimalQ</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> | 51 | ····Proofs·that·conversions·between·hexadecimal·numbers·and·<span·class="inlinecode"><span·class="id"·title="var">Q</span></span> |
52 | ····are·bijections.· | 52 | ····are·bijections.· |
53 | </div> | 53 | </div> |
Offset 45, 15 lines modified | Offset 45, 15 lines modified | ||
45 | <div·class="code"> | 45 | <div·class="code"> |
46 | <br/> | 46 | <br/> |
47 | </div> | 47 | </div> |
48 | <div·class="doc"> | 48 | <div·class="doc"> |
49 | <a·id="lab | 49 | <a·id="lab711"></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="lab715"></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="lab | 49 | <a·id="lab713"></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="lab718"></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="lab728"></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="lab729"></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="lab730"></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="lab731"></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="lab724"></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="lab725"></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="lab726"></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="lab727"></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="lab720"></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="lab721"></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="lab722"></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="lab723"></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="lab732"></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="lab719"></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="lab733"></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="lab712"></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="lab697"></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="lab698"></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="lab683"></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="lab684"></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="lab685"></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="lab686"></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="lab687"></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="lab688"></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="lab693"></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="lab694"></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="lab695"></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="lab690"></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="lab691"></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="lab692"></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="lab689"></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="lab681"></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="lab696"></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="lab699"></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="lab700"></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="lab701"></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="lab702"></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="lab703"></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="lab704"></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="lab705"></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="lab706"></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="lab707"></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; 2101/20112 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="lab682"></a><h1·class="section"><span·class="inlinecode"><span·class="id"·title="var">sqrt_up</span></span>·:·a·square·root·that·rounds·up·instead·of·down</h1> |
350 | </div> | 350 | </div> |
351 | <div·class="code"> | 351 | <div·class="code"> |
352 | <br/> | 352 | <br/> |
353 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="81ce257586db1a446e3fc4dfd8f6874e"·class="idref"·href="#81ce257586db1a446e3fc4dfd8f6874e"><span·class="id"·title="notation">"</span></a>a·²"·:=·(<span·class="id"·title="var">a</span><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><span·class="id"·title="var">a</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·5,·<span·class="id"·title="keyword">no</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="var">format</span>·"a·²").<br/> | 353 | <span·class="id"·title="keyword">Local·Notation</span>·<a·id="81ce257586db1a446e3fc4dfd8f6874e"·class="idref"·href="#81ce257586db1a446e3fc4dfd8f6874e"><span·class="id"·title="notation">"</span></a>a·²"·:=·(<span·class="id"·title="var">a</span><a·class="idref"·href="Coq.Numbers.NatInt.NZAxioms.html#797430c1791311f6dff109b908d9a13c"><span·class="id"·title="notation">*</span></a><span·class="id"·title="var">a</span>)·(<span·class="id"·title="tactic">at</span>·<span·class="id"·title="keyword">level</span>·5,·<span·class="id"·title="keyword">no</span>·<span·class="id"·title="keyword">associativity</span>,·<span·class="id"·title="var">format</span>·"a·²").<br/> |
Offset 154, 15 lines modified | Offset 154, 15 lines modified | ||
154 | <br/> | 154 | <br/> |
155 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NDivProp.mod_small"·class="idref"·href="#NDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:25"·class="idref"·href="#a:25"><span·class="id"·title="binder">a</span></a>·<a·id="b:26"·class="idref"·href="#b:26"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>.<br/> | 155 | <span·class="id"·title="keyword">Theorem</span>·<a·id="NDivProp.mod_small"·class="idref"·href="#NDivProp.mod_small"><span·class="id"·title="lemma">mod_small</span></a>:·<span·class="id"·title="keyword">forall</span>·<a·id="a:25"·class="idref"·href="#a:25"><span·class="id"·title="binder">a</span></a>·<a·id="b:26"·class="idref"·href="#b:26"><span·class="id"·title="binder">b</span></a>,·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a><a·class="idref"·href="Coq.Structures.Orders.html#LtNotation.:::x_'<'_x"><span·class="id"·title="notation"><</span></a><a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Init.Logic.html#::type_scope:x_'->'_x"><span·class="id"·title="notation">-></span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>·<a·class="idref"·href="Coq.Numbers.NatInt.NZDiv.html#DivModNotation.:::x_'mod'_x"><span·class="id"·title="notation">mod</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#b:26"><span·class="id"·title="variable">b</span></a>·<a·class="idref"·href="Coq.Structures.Equalities.html#a3a0575149632d194e420f6edb9b2362"><span·class="id"·title="notation">==</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NDiv.html#a:25"><span·class="id"·title="variable">a</span></a>.<br/> |
156 | · | 156 | · |
157 | <br/> | 157 | <br/> |
158 | </div> | 158 | </div> |
159 | <div·class="doc"> | 159 | <div·class="doc"> |
160 | <a·id="lab | 160 | <a·id="lab743"></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="lab | 193 | <a·id="lab744"></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="lab | 291 | <a·id="lab745"></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="lab742"></a><h1·class="section">Least·Common·Multiple</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of | 55 | ·Unlike·other·functions·around,·we·will·define·lcm·below·instead·of |
56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the | 56 | ··axiomatizing·it.·Indeed,·there·is·no·"prior·art"·about·lcm·in·the |
57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition | 57 | ··standard·library·to·be·compliant·with,·and·the·generic·definition |
58 | ··of·lcm·via·gcd·is·quite·reasonable. | 58 | ··of·lcm·via·gcd·is·quite·reasonable. |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | <br/> | 48 | <br/> |
49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> | 49 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NAxioms.html#"><span·class="id"·title="library">NAxioms</span></a>·<a·class="idref"·href="Coq.Numbers.Natural.Abstract.NSub.html#"><span·class="id"·title="library">NSub</span></a>·<a·class="idref"·href="Coq.Structures.GenericMinMax.html#"><span·class="id"·title="library">GenericMinMax</span></a>.<br/> |
50 | <br/> | 50 | <br/> |
51 | </div> | 51 | </div> |
52 | <div·class="doc"> | 52 | <div·class="doc"> |
53 | <a·id="lab | 53 | <a·id="lab741"></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="lab746"></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="lab326"></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="lab327"></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="lab328"></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="lab329"></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="lab330"></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="lab331"></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="lab332"></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="lab333"></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="lab334"></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="lab335"></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="lab299"></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="lab300"></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="lab301"></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="lab302"></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="lab303"></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="lab304"></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="lab305"></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="lab306"></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="lab307"></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="lab | 56 | <a·id="lab296"></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="lab | 72 | <a·id="lab297"></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="lab | 88 | <a·id="lab298"></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="lab750"></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="lab | 56 | <a·id="lab998"></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="lab | 199 | <a·id="lab999"></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="lab | 291 | <a·id="lab1000"></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="lab | 558 | <a·id="lab1001"></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="lab | 632 | <a·id="lab1002"></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="lab | 672 | <a·id="lab1003"></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="lab | 703 | <a·id="lab1004"></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="lab | 785 | <a·id="lab1005"></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; 32475/48888 bytes (66.43%) 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="lab | 56 | <a·id="lab995"></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="lab | 94 | <a·id="lab996"></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="lab | 125 | <a·id="lab997"></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="lab | 49 | <a·id="lab991"></a><h1·class="section">An·absolute·value·for·normalized·rational·numbers.</h1> |
50 | <div·class="paragraph">·</div> | 50 | <div·class="paragraph">·</div> |
51 | ·Contributed·by·Cédric·Auger· | 51 | ·Contributed·by·Cédric·Auger· |
52 | </div> | 52 | </div> |
53 | <div·class="code"> | 53 | <div·class="code"> |
Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>.<br/> | 50 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Export</span>·<a·class="idref"·href="Coq.QArith.QArith_base.html#"><span·class="id"·title="library">QArith_base</span></a>.<br/> |
51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.setoid_ring.NArithRing.html#"><span·class="id"·title="library">NArithRing</span></a>.<br/> | 51 | <span·class="id"·title="keyword">Require</span>·<span·class="id"·title="keyword">Import</span>·<a·class="idref"·href="Coq.setoid_ring.NArithRing.html#"><span·class="id"·title="library">NArithRing</span></a>.<br/> |
52 | <br/> | 52 | <br/> |
53 | </div> | 53 | </div> |
54 | <div·class="doc"> | 54 | <div·class="doc"> |
55 | <a·id="lab | 55 | <a·id="lab994"></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="lab | 53 | <a·id="lab992"></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="lab | 102 | <a·id="lab993"></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="lab | 53 | <a·id="lab1016"></a><h1·class="section">Properties·of·Qpower_positive</h1> |
54 | <div·class="paragraph">·</div> | 54 | <div·class="paragraph">·</div> |
55 | <a·id="lab | 55 | <a·id="lab1017"></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="lab | 65 | <a·id="lab1018"></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="lab | 75 | <a·id="lab1019"></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="lab | 85 | <a·id="lab1020"></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="lab | 119 | <a·id="lab1021"></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="lab | 128 | <a·id="lab1022"></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="lab | 148 | <a·id="lab1023"></a><h1·class="section">Properties·of·Qpower</h1> |
149 | <div·class="paragraph">·</div> | 149 | <div·class="paragraph">·</div> |
150 | <a·id="lab | 150 | <a·id="lab1024"></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="lab | 175 | <a·id="lab1025"></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; 37421/59703 bytes (62.68%) 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="lab225"></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="lab226"></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="lab227"></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="lab166"></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·6231··oc">.<a·id="lab1 | ||
00015bb0:·3 | 00015bb0:·3732·223e·3c2f·613e·3c68·3120·636c·6173··72"></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="lab167"></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="lab168"></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="lab169"></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="lab170"></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="lab171"></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="lab8 | 64 | <a·id="lab83"></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="lab8 | 87 | <a·id="lab84"></a><h1·class="section">Dedekind·cuts</h1> |
88 | <div·class="paragraph">·</div> | 88 | <div·class="paragraph">·</div> |
89 | <a·id="lab8 | 89 | <a·id="lab85"></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="lab8 | 133 | <a·id="lab86"></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="lab8 | 165 | <a·id="lab87"></a><h1·class="section">Classical·Dedekind·reals</h1> |
166 | <div·class="paragraph">·</div> | 166 | <div·class="paragraph">·</div> |
167 | <a·id="lab88 | 167 | <a·id="lab88"></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="lab8 | 176 | <a·id="lab89"></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="lab90"></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="lab91"></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="lab92"></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="lab93"></a><h2·class="section">Order·for·DReal</h2> |
Max diff block lines reached; 1992/23106 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="lab112"></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="lab113"></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="lab114"></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="lab115"></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="lab116"></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="lab117"></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="lab118"></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="lab119"></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="lab120"></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="lab54"></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="lab55"></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="lab56"></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="lab193"></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="lab194"></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="lab223"></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="lab224"></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="lab60"></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="lab61"></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="lab62"></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="lab63"></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="lab64"></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="lab65"></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="lab66"></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="lab67"></a><h1·class="section">Main·rules</h1> |
378 | <div·class="paragraph">·</div> | 378 | <div·class="paragraph">·</div> |
379 | <a·id="lab | 379 | <a·id="lab68"></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; 16645/52958 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="lab178"></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="lab179"></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="lab180"></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="lab81 | 172 | <a·id="lab181"></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="lab182"></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="lab183"></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·3139·3522··>.<a·id="lab195" | ||
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·6231·3936·223e·3c2f·613e··id="lab196"></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·6231··oc">.<a·id="lab1 | ||
00006530:·3 | 00006530:·3937·223e·3c2f·613e·3c68·3220·636c·6173··97"></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·3139·3822·3e3c·2f61·3e3c·6833·2063··ab198"></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:·3139·3922·3e3c·2f61·3e3c·6833·2063·6c61··199"></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·3230··c">.<a·id="lab20 | ||
0000cc30:·3 | 0000cc30:·3022·3e3c·2f61·3e3c·6831·2063·6c61·7373··0"></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·3230·3122·3e3c·2f61·3e3c·6832··"lab201"></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·3230··c">.<a·id="lab20 | ||
00012510:·3 | 00012510:·3222·3e3c·2f61·3e3c·6832·2063·6c61·7373··2"></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·3230·3322·3e3c·2f61·3e3c·6832·2063··ab203"></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·3230·3422·3e3c·2f61·3e3c··d="lab204"></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="lab45"></a><h1·class="section">Field·operations</h1> |
71 | <div·class="paragraph">·</div> | 71 | <div·class="paragraph">·</div> |
72 | <a·id="lab | 72 | <a·id="lab46"></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="lab47"></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="lab48"></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="lab49"></a><h1·class="section">Order</h1> |
194 | <div·class="paragraph">·</div> | 194 | <div·class="paragraph">·</div> |
195 | <a·id="lab | 195 | <a·id="lab50"></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="lab51"></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="lab52"></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="lab | 270 | <a·id="lab53"></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="lab107"></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="lab108"></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="lab109"></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="lab110"></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="lab111"></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="lab159"></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="lab160"></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="lab161"></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="lab162"></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="lab163"></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="lab164"></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="lab165"></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="lab | 58 | <a·id="lab189"></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="lab190"></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="lab191"></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="lab192"></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="lab184"></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="lab185"></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="lab186"></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="lab187"></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="lab188"></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="lab94"></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="lab95"></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="lab96"></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="lab97"></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="lab98"></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="lab57"></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="lab58"></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="lab59"></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="lab173"></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="lab174"></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="lab99"></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="lab100"></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="lab101"></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="lab102"></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="lab103"></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="lab75"></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="lab76"></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="lab220"></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="lab221"></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="lab222"></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="lab104"></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="lab | 259 | <a·id="lab105"></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="lab106"></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="lab175"></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="lab176"></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="lab177"></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="lab77"></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="lab78"></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="lab79"></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="lab80"></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="lab81"></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="lab82"></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="lab22"></a><h1·class="section">Some·properties·of·the·operators·on·relations</h1> |
50 | <a·id="lab | 50 | <a·id="lab23"></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="lab24"></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="lab25"></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="lab26"></a><h1·class="section">Some·operators·on·relations</h1> |
50 | <a·id="lab | 50 | <a·id="lab27"></a><h1·class="section">Initial·authors:·Bruno·Barras,·Cristina·Cornes</h1> |
51 | <a·id="lab28"></a><h1·class="section">···································································</h1> | ||
52 | <a·id="lab29"></a><h1·class="section">Some·of·the·initial·definitions·were·taken·from·:</h1> | ||
53 | <a·id="lab30"></a><h1·class="section">Constructing·Recursion·Operators·in·Type·Theory</h1> | ||
54 | <a·id="lab31"></a><h1·class="section">L.·Paulson··JSC·(1986)·2,·325-355</h1> | ||
51 | <a·id="lab3 | 55 | <a·id="lab32"></a><h1·class="section">···································································</h1> |
52 | <a·id="lab342"></a><h1·class="section">Some·of·the·initial·definitions·were·taken·from·:</h1> | ||
53 | <a·id="lab343"></a><h1·class="section">Constructing·Recursion·Operators·in·Type·Theory</h1> | ||
54 | <a·id="lab344"></a><h1·class="section">L.·Paulson··JSC·(1986)·2,·325-355</h1> | ||
55 | <a·id="lab345"></a><h1·class="section">···································································</h1> | ||
56 | <a·id="lab3 | 56 | <a·id="lab33"></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="lab34 | 64 | <a·id="lab34"></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="lab3 | 125 | <a·id="lab35"></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="lab3 | 155 | <a·id="lab36"></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="lab3 | 215 | <a·id="lab37"></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="lab3 | 277 | <a·id="lab38"></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="lab3 | 295 | <a·id="lab39"></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="lab40"></a><h2·class="section">Disjoint·union·of·relations</h2> |
Max diff block lines reached; 3523/12802 bytes (27.52%) 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="lab424"></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="lab | 75 | <a·id="lab429"></a><h1·class="section">Trees·and·heap·trees</h1> |
76 | <div·class="paragraph">·</div> | 76 | <div·class="paragraph">·</div> |
77 | <a·id="lab | 77 | <a·id="lab430"></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="lab | 144 | <a·id="lab431"></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="lab32 | 196 | <a·id="lab432"></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="lab | 228 | <a·id="lab433"></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="lab | 264 | <a·id="lab434"></a><h1·class="section">From·lists·to·sorted·lists</h1> |
265 | <div·class="paragraph">·</div> | 265 | <div·class="paragraph">·</div> |
266 | <a·id="lab | 266 | <a·id="lab435"></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="lab | 290 | <a·id="lab436"></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="lab | 310 | <a·id="lab437"></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/18177 bytes (2.10%) 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="lab | 90 | <a·id="lab426"></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="lab | 129 | <a·id="lab427"></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="lab | 203 | <a·id="lab428"></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="lab | 49 | <a·id="lab425"></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="lab493"></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="lab494"></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="lab495"></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="lab498"></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="lab499"></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="lab500"></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="lab501"></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="lab502"></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="lab503"></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="lab504"></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="lab496"></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="lab497"></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="lab505"></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="lab506"></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="lab507"></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="lab508"></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="lab509"></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="lab510"></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="lab511"></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="lab512"></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="lab479"></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="lab480"></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="lab481"></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="lab472"></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="lab462"></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="lab463"></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="lab464"></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="lab465"></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="lab466"></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="lab67 | 155 | <a·id="lab467"></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="lab468"></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="lab469"></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; 351/15533 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="lab482"></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="lab483"></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="lab484"></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="lab485"></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="lab486"></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="lab487"></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="lab488"></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="lab489"></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="lab490"></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="lab491"></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="lab492"></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/19494 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="lab460"></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="lab461"></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="lab444"></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="lab471"></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="lab445"></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="lab446"></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="lab447"></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="lab448"></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="lab449"></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="lab450"></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="lab451"></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="lab454"></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="lab455"></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="lab456"></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="lab457"></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="lab458"></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="lab459"></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="lab443"></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="lab473"></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="lab474"></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="lab475"></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="lab476"></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="lab477"></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="lab478"></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="lab452"></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="lab453"></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="lab439"></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="lab440"></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="lab441"></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="lab | 239 | <a·id="lab442"></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·6231·3 | 00016f80:·6964·3d22·6c61·6231·3232·3722·3e3c·2f61··id="lab1227"></a | ||
00016f90:·3e3c·6831·2063·6c61·7373·3d22·7365·6374··><h1·class="sect | 00016f90:·3e3c·6831·2063·6c61·7373·3d22·7365·6374··><h1·class="sect | ||
00016fa0:·696f·6e22·3e48·6572·6520·6172·6520·7370··ion">Here·are·sp | 00016fa0:·696f·6e22·3e48·6572·6520·6172·6520·7370··ion">Here·are·sp | ||
00016fb0:·6563·6961·6c20·6e6f·6e20·6465·7065·6e64··ecial·non·depend | 00016fb0:·6563·6961·6c20·6e6f·6e20·6465·7065·6e64··ecial·non·depend | ||
00016fc0:·656e·7420·7573·6566·756c·2069·6e73·7461··ent·useful·insta | 00016fc0:·656e·7420·7573·6566·756c·2069·6e73·7461··ent·useful·insta | ||
00016fd0:·6e74·6961·7469·6f6e·206f·6620·696e·6475··ntiation·of·indu | 00016fd0:·6e74·6961·7469·6f6e·206f·6620·696e·6475··ntiation·of·indu | ||
00016fe0:·6374·696f·6e20·7363·6865·6d65·733c·2f68··ction·schemes</h | 00016fe0:·6374·696f·6e20·7363·6865·6d65·733c·2f68··ction·schemes</h | ||
00016ff0:·313e·0a0a·3c64·6976·2063·6c61·7373·3d22··1>..<div·class=" | 00016ff0:·313e·0a0a·3c64·6976·2063·6c61·7373·3d22··1>..<div·class=" | ||
Offset 9280, 16 lines modified | Offset 9280, 16 lines modified | ||
000243f0:·3d22·6964·7265·6622·2068·7265·663d·2223··="idref"·href="# | 000243f0:·3d22·6964·7265·6622·2068·7265·663d·2223··="idref"·href="# | ||
00024400:·5645·4354·4f52·4c49·5354·223e·3c73·7061··VECTORLIST"><spa | 00024400:·5645·4354·4f52·4c49·5354·223e·3c73·7061··VECTORLIST"><spa | ||
00024410:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | 00024410:·6e20·636c·6173·733d·2269·6422·2074·6974··n·class="id"·tit | ||
00024420:·6c65·3d22·7365·6374·696f·6e22·3e56·4543··le="section">VEC | 00024420:·6c65·3d22·7365·6374·696f·6e22·3e56·4543··le="section">VEC | ||
00024430:·544f·524c·4953·543c·2f73·7061·6e3e·3c2f··TORLIST</span></ | 00024430:·544f·524c·4953·543c·2f73·7061·6e3e·3c2f··TORLIST</span></ | ||
00024440:·613e·2e3c·6272·2f3e·0a3c·2f64·6976·3e0a··a>.<br/>.</div>. | 00024440:·613e·2e3c·6272·2f3e·0a3c·2f64·6976·3e0a··a>.<br/>.</div>. | ||
00024450:·0a3c·6469·7620·636c·6173·733d·2264·6f63··.<div·class="doc | 00024450:·0a3c·6469·7620·636c·6173·733d·2264·6f63··.<div·class="doc | ||
00024460:·223e·0a3c·6120·6964·3d22·6c61·6231·3 | 00024460:·223e·0a3c·6120·6964·3d22·6c61·6231·3232··">.<a·id="lab122 | ||
00024470:·3 | 00024470:·3822·3e3c·2f61·3e3c·6831·2063·6c61·7373··8"></a><h1·class | ||
00024480:·3d22·7365·6374·696f·6e22·3e76·6563·746f··="section">vecto | 00024480:·3d22·7365·6374·696f·6e22·3e76·6563·746f··="section">vecto | ||
00024490:·7220·266c·743b·3d26·6774·3b20·6c69·7374··r·<=>·list | 00024490:·7220·266c·743b·3d26·6774·3b20·6c69·7374··r·<=>·list | ||
000244a0:·2066·756e·6374·696f·6e73·3c2f·6831·3e0a···functions</h1>. | 000244a0:·2066·756e·6374·696f·6e73·3c2f·6831·3e0a···functions</h1>. | ||
000244b0:·0a3c·2f64·6976·3e0a·3c64·6976·2063·6c61··.</div>.<div·cla | 000244b0:·0a3c·2f64·6976·3e0a·3c64·6976·2063·6c61··.</div>.<div·cla | ||
000244c0:·7373·3d22·636f·6465·223e·0a0a·3c62·722f··ss="code">..<br/ | 000244c0:·7373·3d22·636f·6465·223e·0a0a·3c62·722f··ss="code">..<br/ | ||
000244d0:·3e0a·3c73·7061·6e20·636c·6173·733d·2269··>.<span·class="i | 000244d0:·3e0a·3c73·7061·6e20·636c·6173·733d·2269··>.<span·class="i | ||
000244e0:·6422·2074·6974·6c65·3d22·6b65·7977·6f72··d"·title="keywor | 000244e0:·6422·2074·6974·6c65·3d22·6b65·7977·6f72··d"·title="keywor |
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="lab1 | 96 | <a·id="lab1229"></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="lab1 | 137 | <a·id="lab1230"></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="lab1 | 183 | <a·id="lab1231"></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="lab1 | 193 | <a·id="lab1232"></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="lab1 | 239 | <a·id="lab1233"></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="lab1 | 249 | <a·id="lab1234"></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="lab1 | 275 | <a·id="lab1235"></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="lab1 | 306 | <a·id="lab1236"></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; 18466/58814 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="lab756"></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="lab757"></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="lab758"></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="lab759"></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="lab760"></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="lab761"></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="lab762"></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="lab763"></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; 77621/90272 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="lab838"></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="lab39 | 80 | <a·id="lab839"></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="lab840"></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="lab841"></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="lab842"></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="lab843"></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="lab844"></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="lab845"></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="lab846"></a><h2·class="section">Predecessor</h2> |
Max diff block lines reached; 25271/33882 bytes (74.59%) 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="lab801"></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="lab802"></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="lab803"></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="lab804"></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="lab | 75 | <a·id="lab753"></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="lab754"></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="lab815"></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="lab816"></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="lab817"></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="lab796"></a><h1·class="section">here·matches·the·bitblasting·rules·for·integers.·However,·the·vector·of</h1> |
155 | <a·id="lab | 155 | <a·id="lab797"></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="lab798"></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="lab799"></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="lab836"></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="lab837"></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="lab828"></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="lab829"></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="lab830"></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="lab831"></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="lab832"></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="lab833"></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="lab834"></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="lab835"></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="lab818"></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="lab819"></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="lab820"></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="lab821"></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="lab822"></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="lab823"></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="lab824"></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="lab825"></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="lab826"></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/17165 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="lab800"></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="lab805"></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="lab876"></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="lab806"></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="lab807"></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="lab808"></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="lab809"></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="lab810"></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="lab811"></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="lab877"></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="lab878"></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="lab879"></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="lab880"></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="lab881"></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="lab866"></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="lab867"></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="lab868"></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="lab869"></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="lab870"></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="lab871"></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="lab872"></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="lab873"></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="lab874"></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; 4856/23117 bytes (21.01%) 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="lab755"></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="lab751"></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="lab752"></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="lab812"></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="lab813"></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="lab814"></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="lab882"></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="lab883"></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="lab884"></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="lab885"></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="lab886"></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="lab827"></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="lab5 | 145 | <a·id="lab513"></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="lab5 | 218 | <a·id="lab514"></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="lab387"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> |
64 | <a·id="lab | 64 | <a·id="lab388"></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="lab389"></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="lab384"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> |
64 | <a·id="lab | 64 | <a·id="lab385"></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="lab386"></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="lab3 | 47 | <a·id="lab390"></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="lab3 | 48 | <a·id="lab391"></a><h1·class="section">into·equivalent·versions·in·Haskell's·Prelude·that·are·defined</h1> |
49 | <a·id="lab3 | 49 | <a·id="lab392"></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="lab3 | 50 | <a·id="lab393"></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="lab3 | 51 | <a·id="lab394"></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="lab400"></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="lab401"></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="lab402"></a><h1·class="section">statements·to·the·extracted·Haskell·code.··You·will·have·to</h1> |
71 | <a·id="lab | 71 | <a·id="lab403"></a><h1·class="section">manually·add:</h1> |
72 | ·* | 72 | ·* |
73 | <a·id="lab | 73 | <a·id="lab404"></a><h1·class="section">import·qualified·Data.Bits</h1> |
74 | <a·id="lab | 74 | <a·id="lab405"></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="lab3 | 63 | <a·id="lab381"></a><h1·class="section">Disclaimer:·trying·to·obtain·efficient·certified·programs</h1> |
64 | <a·id="lab3 | 64 | <a·id="lab382"></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="lab3 | 65 | <a·id="lab383"></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="lab3 | 47 | <a·id="lab395"></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="lab3 | 48 | <a·id="lab396"></a><h1·class="section">into·equivalent·versions·in·Haskell's·Prelude·that·are·defined</h1> |
49 | <a·id="lab3 | 49 | <a·id="lab397"></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="lab3 | 50 | <a·id="lab398"></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="lab3 | 51 | <a·id="lab399"></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="lab | 56 | <a·id="lab887"></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 |